Package Ontology
An application is stored in a package, created by a publisher. The package is hosted on the publisher's instance of the platform.
When a tenants install a package using the package URL, they are deemed to be a Package Subscribers. A local subscriber is a tenant on the same instance of the platform. A remote subscriber is a tenant on different instance, who can install a package by downloading the zip file and installing from that.
The mass deploy option allows a publisher to upgrade all (or selected) subscribers on the current platform instance. For subscribers on other platform instances, the publisher can send an Installation Link which points to a zip file containing the package.
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.