Package Ontology

From AgileApps Support Wiki
Revision as of 21:43, 16 June 2011 by imported>Aeric

An application is stored in a package, created by a publisher. The package is hosted on the publisher's instance of the platform.

When tenants installs a package using the package URL, they automatically become subscribers. A local subscriber is a tenant on the same instance of the platform. A remote subscriber is a tenant on different instance. On they other hand, if they download the zip file and install that ...tbd...

A tenant on that instance can then subscribe to that package. The tenant (subscriber) can also choose to automatically upgrade to later versions of the package, as they are published. A package can also be exported to a zip file, and downloaded to other platforms.

A package contains package items. Each package item contains an object (class), or data. Each package item contains one or more data items.

A locked package cannot be modified by the subscriber. In an unlocked package, data can be modified, but not classes.

Classes can never be repackaged by the subscriber.

Package Data can also be included in a package. The publisher is in effect an organization with respect to package data, because several roles combine to pull it off:

  • Developer - Creates a data handler class
  • Admin - Configures a Package Data item for the data, so it can be selected for inclusion in a package.
  • Packager - Who selects the objects to include in the package, selects Package Data items for data that is to be included, and who selects the data to include from the list of data elements provided by the Data Handler class.

A package has two kinds of identifiers, that are used in different circumstances:

  • Installation ID - The value given in the id= part of the package's installation link
  • Record ID - The value given at the top of the Package page.