ApplicationId

Differences between revisions 16 and 17
Revision 16 as of 2015-01-16 18:03:54
Size: 2441
Editor: jdstrand
Comment:
Revision 17 as of 2016-06-10 18:07:29
Size: 2823
Editor: localhost
Comment: Document where click package and application entries come from.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

'''click_package''' is the dotted name of the click package; a package com.ubuntu.foo_0.5_all.click would have '''click_package''' of "com.ubuntu.foo".

'''application''' is the case-sensitive basename of the desktop file for the application; if your application is launched from FooApp.desktop, '''application''' is "FooApp".

'''version''' is the installed version number.

The Application ID is the string "$(click_package)_$(application)_$(version)" (without the quotes and with the obvious substitutions made).

click_package is the dotted name of the click package; a package com.ubuntu.foo_0.5_all.click would have click_package of "com.ubuntu.foo".

application is the case-sensitive basename of the desktop file for the application; if your application is launched from FooApp.desktop, application is "FooApp".

version is the installed version number.

This ID is used for identifying the application throughout the system:

  • Click
  • Mir
  • HUD
  • AppArmorProfile

  • Content Hub
  • Download manager
  • Infographic (libusermetrics)
  • etc

The following restrictions to the components apply, from various parts of the system:

filesystem

store1

apparmor2

deb3,4

intersection

click_package

[^\0/]+

[a-zA-Z0-9.-]+

[a-zA-Z0-9+.:]+

[a-z0-9][a-z0-9+.-]+

[a-z0-9][a-z0-9.-]+

application

[^\0/]+

[a-zA-Z0-9+.:~-]+

[a-zA-Z0-9+.-]+

[a-zA-Z0-9+.:~-]+

version

[^\0/]+

[0-9.]+

[a-zA-Z0-9+.:~-]+

[0-9][a-zA-Z0-9.+:~-]*

[0-9][0-9.]*

  1. The store supports debian versioning (ie, same as the 'deb' entry) but the AppStore interface uses a reduced scheme to keep it simple for users

  2. security manifest definition

  3. click file-format definition

  4. click hooks definition

Additionally, version should be structured more or less as you would expect, and be strictly monotonically increasing (new versions should always be greater than old versions).

Alternate nomenclatures:

  • 'APP_ID' and '${id}' (from click documentation) are synomymous with 'ApplicationId'. The full regex for a valid APP_ID is:

    [a-z0-9][a-z0-9+.-]+_[a-zA-Z0-9+.-]+_[0-9][a-zA-Z0-9.+:~-]*
  • 'click package name' ("name" in the click manifest) and 'APP_PKGNAME' are synonymous with $(click_package)
  • 'application name' and 'appname' are synonymous with $(application)
  • 'APP_VERSION' is synonymous with $(version)

Note: as of 2013-09-18 only one $(application) is allowed per click package. Future versions will support specifying multiple $(application)s per click package (this is already supported in the click manifest and click-apparmor, where the keys to the click manifest's hooks dictionary define the values for each $(application)).

AppStore/Interfaces/ApplicationId (last edited 2016-06-10 18:13:43 by localhost)