Difference between revisions of "Packages"
imported>Aeric |
imported>Aeric |
||
Line 76: | Line 76: | ||
{{Note | It is possible for there to be package data that is not part of an object. When object-data is included, it is also possible that the target-object is expected to exist on the Package Installer's system. What happens is up to the Data Handler, so object definitions are not automatically included along with object data.}} | {{Note | It is possible for there to be package data that is not part of an object. When object-data is included, it is also possible that the target-object is expected to exist on the Package Installer's system. What happens is up to the Data Handler, so object definitions are not automatically included along with object data.}} | ||
==== | ====Reviewing Item Dependencies==== | ||
As items are added, the Item Dependencies section is populated with | As items are added, the ''Item Dependencies'' section is populated with the specified package items, along with the items they caused to be included. | ||
 | |||
For example, if a report is added to a package, the Object that is used as the basis for that report is added to the package as an item dependency. | |||
 | |||
 | |||
:;Special cases:When the following elements are added to a package, the listed items are added as dependencies: | :;Special cases:When the following elements are added to a package, the listed items are added as dependencies: | ||
::;Opportunity: Price Book and Product are added as dependencies | ::;Opportunity: Price Book and Product are added as dependencies |
Revision as of 22:56, 28 July 2011
Designer > Global Resources > Packages
A package is a collection of objects, applications, and other platform resources.
1 About Packages
Packaging provides the ability to deploy fully-featured solutions with seamless distribution to platform Tenants. (Tenants who have installed such a package are deemed to be Package Subscribers. The user who does the installation is called the Package Installer.)
Publishers can bundle all elements of the AgileApps Cloud platform into custom Packages, which deliver customized business solutions to Package Subscribers.
Tenants can create and publish packages for internal use, or for wider distribution.
- How it Works
- Platform elements and applications are Packaged and Published.
- They can then be submitted for approval
- Approved packages become part of the Application Catalog
- Tenants can then install the published package.
Alternatively:
- A publisher can give tenants a link they can use to install the package, without having to put it into the catalog first.
2 Working with Packages
Users that have the Manage Packages permission can create, modify or delete Packages
2.1 Package Attributes
When you open a package, some sections always appear. Others only appear when the package is published:
- Package Information
- Basic information about the package, including:
- Package ID - This ID is the package record ID. It's used when downloading a package, and in APIs that manipulate package contents.
- Subscription Details
- This section appears only when the package has been published. It contains:
- Installation Link - The link subscribers can use to install the package.
- Related Information
-
- Items - The list of package items. (The contents of the package).
- Package Dependencies - Other packages that are required for this package to run.
2.2 Create a Package
- Go to Designer > Global Resources > Packages
- Click [New Package] and enter the following information:
- Name
- Name of the Package (this name appears in the Catalog)
- Description
- Description of the Package
- Locked
- To Lock the package, click the checkbox icon
- Learn more About Locked Packages
- Click [Save]
2.3 Add Items to a Package
- 1. In the Related Information section, click [Add Item] to select items for the package
- 2. Choose the Item Type from the list of things you can include
If Package Data has been configured, that the Data Handlers for configured objects will also appear in this list. (More on that subject in a moment.)
- Learn more: About Package Items
- 3. Click the checkbox icon for each item you want to include in the package
- 4. Click [Add to Package]
Continue adding until the package contains the desired items.
Note: For any object that has a Workflow, any designated "Specific User" decision makers will be removed from the package, since those users will not exist in the Package Installer's system. Ideally then, ensure that no state in the Workflow has only "Specific User" decision makers. (Use roles instead.) If any states do designate specific users, warn installers that they will need to specify an owner for that state.
2.3.1 Adding Package Data Items
To add Package Data:
- Choose Add Item > Item Type, and choose the item that corresponds to the data in that object.
For example, Zip Map Data.
A pane appears that lets you specify the data elements to include. - When the data-item selection appears, select All at the top left of the pane to add everything, or else select and deselect individual data items.
- Click [Add to Package]
Note: It is possible for there to be package data that is not part of an object. When object-data is included, it is also possible that the target-object is expected to exist on the Package Installer's system. What happens is up to the Data Handler, so object definitions are not automatically included along with object data.
2.3.2 Reviewing Item Dependencies
As items are added, the Item Dependencies section is populated with the specified package items, along with the items they caused to be included.
For example, if a report is added to a package, the Object that is used as the basis for that report is added to the package as an item dependency.
- Special cases
- When the following elements are added to a package, the listed items are added as dependencies:
- Opportunity
- Price Book and Product are added as dependencies
- Product
- Price Book is added as dependency
- Price Book
- Product is added as a dependency
- Campaign
- List and List member are added as dependencies
- Lists
- List member is added as a dependency
- Data Sharing Policies
- Roles and Teams included as dependencies
- If the Include Child Teams checkbox is enabled, the child teams of the selected teams in the Data Sharing Policy are added as dependencies
- Objects in a Master-Detail relationship
Note:
The "Master-Detail relationship" option on a Lookup field has been deprecated. This section is provided for legacy objects that have a Lookup field for which that option has been selected.
Learn more: Master-Detail relationships
- If a Detail object is added to a Package, the Master object is added (automatically) as a dependent object
- If a Master object is added to a Package and if that Master object includes any Rollup Summary Fields, then the Detail object is added (automatically) as a dependent object
- When a Tenant installs a Package, the Rollup Summary Fields limit defined in Manage Tenant Capabilities is honored
- If the limit is exceeded, the installation process will stop and cannot proceed
- In order to complete the installation, delete existing Rollup Summary Fields to reduce the total number to within the defined limit
- After packaging, do not add or remove any Master-Detail relationships; doing so may cause unexpected results and/or loss of data
2.3.3 Specify Package Dependencies
A package can be dependent on specific versions of other packages.
Click the [Add Package Dependencies] button to add a dependency, and select the package version:
- If the specified package is published in the current tenancy, the list of versions for that package is displayed.
- If the specified package was installed, the currently installed version is displayed.
Considerations:
- If package B is listed as a dependency for package A, then package B cannot be deleted as long as package A is installed.
- Objects are only added to a package if they are not already present in a package that is listed as a dependency.
2.4 Remove an Item from a Package
- In the Related Information section of a Package, navigate to the item of interest
- Click the Remove link to delete an item
- When an item is deleted, it is automatically removed from the package along with its dependencies, for example:
- If the report is deleted, the report and the dependencies are removed from the package as well
- When an item is deleted, it is automatically removed from the package along with its dependencies, for example:
2.5 Publish a Package
2.6 Download a Package
A package you create can also be downloaded from the platform to your system as a zip file. Others can then use the file to install the package.
To download a package:
- Publish the package, if it has not already been published.
The Installation Details section appears. - In the Installation Details section, click [Download Package].
- Save the file to your system from the browser.
2.7 Deploy a Package
Deploying a package automatically upgrades local Package Subscribers (tenants in the same platform instance who have installed the package).
- The Mass Deployment of Packages to Tenants option is enabled by your Service Provider.
- The default single sign-on setting on on-premises installation is Off .
- The default single sign-on setting on the cloud is Off . (Contact Support to make changes.)
When you deploy a package, you can chose to automatically upgrade:
- All (local) tenants who have installed the package
- Selected (local) tenants who have installed the package
To deploy a Package:
- Create a Package, and add items to it.
- Click [Publish]
The zip file and Installation Link are created. - Click [Deploy].
- Specify which tenants to upgrade.
- Specify a deployment time, or chose Immediate.
- Click [Deploy] again to act on your selections.
- Learn more: Package Approval or Rejection
2.8 Distribute a Package to Remote Tenants
When a Package is Published, it can be downloaded from a browser. An Installation Link is automatically created that can be used to distribute the package.
To Give the Download URL to Remote Tenants:
- Click Designer > Global Resources > Packages
- Click the link of the package of interest
- In the Installation Details section, find the Installation Link
- Copy the Installation Link URL and paste it a web page or send it in an email.
Users with valid accounts can then download the package and install the application by following this procedure, which should be provided in the installation instructions:
- Paste the Installation Link URL into a web browser to visit the installation page.
- Click the [Install] button to install the package.
(A valid user account is required to Login.)
2.9 Delete a Package
When a Package is deleted, the Teams and Roles are not deleted
- To remove the Teams or Roles from an installed Package, delete the Teams or Roles manually
To delete a package:
- Click Designer > Global Resources > Packages
- Click the package name to open the package of interest
- Click the [Delete] button to delete the package
If a Package is deleted and that package has been installed, or if the package is being used by any other package, then any items or dependent items in the package are retained, and are not deleted.
3 About Package Items
3.1 About Package Installation
During installation, these actions are taken by the platform:
- A list of available package items is displayed
- Names of Custom Objects, System Objects, Fields, Classes, and Pages are validated for uniqueness
- If the Package Subscriber has created an item with the same name as an item in the package, the installation will fail. In order for package installation to succeed, the Package Subscriber must change the name of the Field or Object that is in conflict.
- Role and Team names are not validated for uniqueness
- If the Role/Team names match the Default Roles or My Team (default), then duplicate roles/teams are created; To avoid confusion, it is recommended that the roles/teams be renamed
- If a child team is included in the package, it will be attached to the first top-level team in the installer's instance
3.2 About Locked Packages
In an Unlocked package, objects and data can be modified and deleted by the Package Subscriber.
In a Locked package, in contrast:
- Data can be modified and deleted, but objects (including global picklists) can only be modified to the extent that permission to do so has been granted by their respective Object Packaging Options.
- Any classes, components, data policies, pages, and any other form of executable java code contained in the package cannot be viewed, edited, or deleted by the Package Subscriber.
- Exception
-
- A subscriber to a locked package can still modify Custom Access Criteria. Those settings are retained during an upgrade.
- Considerations
-
- All packages created before the January 2009 release are identified as Unlocked packages
- The Publisher can change an Unlocked package to a Locked package
- A Locked package cannot be changed to an Unlocked package
- The Object Packaging Options apply only to Locked packages
- Notes
-
- Roles control the user's ability to customize the platform
- Consider modifying roles to support best practices
3.3 What Happens to Modified Objects when a Package is Re-Installed?
The short answer is, "the platform does the right thing". So data is never lost without warning. The longer answer depends on the case at hand:
- Publisher has added a field
- The new field is added during package installation. The field value is empty in all existing records. Additional programming or manual updates are required to populate those fields with values.
- Publisher has removed a field
- In general, the field is not removed during package installation. It remains in the Subscriber's object. Record data stored in that field is unaffected.
- Exception: If the package was locked and the publisher has chosen to overwrite the previous version when re-publishing, then the field is removed during package installation.
- Subscriber has added a field
- The field remains in the object, and stored data is unaffected.
- Subscriber has removed a field
- The field is added back when the package is reinstalled.
4 Information for Package Installers
- Considerations
- When installing a package upgrade, new items are added and existing items are either Merged or Overwritten, based on the Overwrite Previous Package configuration defined by the Publisher
- Package Subscribers can repackage or republish items based on the Package System-Generated Objects configuration
- Available actions for Locked Packages
- Users cannot Edit or Delete package items, however:
- After installation, Package Subscribers can choose to Enable or Disable the following items, if the publisher has granted that permission in the Object Packaging Options:
- Available actions for Unlocked Packages
Users can Edit or Delete package items
- Considerations
-
- When an unlocked package is upgraded by the Publisher, local customizations made by the Package Subscriber may be overwritten.
- To signal that fact, a warning message is displayed before the upgrade: Customizations are over-written with a package upgrade
5 Packaging Sites
- Considerations
- Pages used in Sites will be added as dependencies
- Learn more: Sites
- When installing a Package that includes Sites, these fields are automatically populated:
- Login As User for Unauthenticated Access field is populated as the user who is logged in
- User Web Adress is BLANK