AgileApps Support Wiki Pre Release

Difference between revisions of "Packages"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 128: Line 128:
During installation, these actions are taken by the platform:
During installation, these actions are taken by the platform:
*A list of available package items is displayed
*A list of available package items is displayed
*{{Type|}}s, {{Type}}s, [[Fields]], [[Classes]], [[Pages]], [[Functions]] names are validated for uniqueness
*Names of {{Type|}}s, {{Type}}s, [[Fields]], [[Classes]], and [[Pages]] are validated for uniqueness
:*If a Subscriber has created an item with a name that is not unique, i.e., the item name matches a package item, the installation will fail. In order for package installation to succeed in this case, the Subscriber must change the name of the Field or Object
:*If a Subscriber has created an item with a name that is not unique, i.e., the item name matches a package item, the installation will fail. In order for package installation to succeed in this case, the Subscriber must change the name of the Field or Object
*Role and Team names are not validated for uniqueness  
*Role and Team names are not validated for uniqueness  
Line 137: Line 137:
In an ''Unlocked'' package, objects and data can be modified and deleted by the subscriber. In a ''Locked'' package:
In an ''Unlocked'' package, objects and data can be modified and deleted by the subscriber. In a ''Locked'' package:
:* 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]].
:* 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, functions, pages, or any other form of executable java code contained in the package cannot be viewed, edited, or deleted by the subscriber.  
:* 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 subscriber.  


;Exception:
;Exception:

Revision as of 17:51, 6 June 2011

Designer > Global Resources > Packages

Packaging provides the ability to deploy fully-featured solutions with seamless distribution to Tenants.

Publishers can bundle all elements of the AgileApps Cloud platform into custom Packages, which deliver customized business needs to Subscribers.

How it Works
  1. Platform elements are Packaged, then submitted for approval
  2. Approved packages are Published
  3. Tenants can then subscribe to the published package.
    Alternatively:
    • A publisher can give tenants a link they can use to Subscribe to the package, without putting it in the catalog.


Tenants can also create and publish packages for internal use.

Lock-tiny.gif

Users that have the Manage Packages permission can create, modify or delete Packages 

1 Create a Package

  1. Go to Designer > Global Resources > Packages
  2. Click [New Package] and enter the following information:
    Name
    Name of the Package (this name appears in the Catalog)
    Description
    Description of the Package (the description appears in the Catalog)
    Locked
    To Lock the package, click the checkbox Checkboxicon.gif icon
    Learn more About Locked Packages
  3. Click [Save]

1.1 Add an Item 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
    Learn more: About Package Items
  3. Click the checkbox Checkboxicon.gif 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.

Notepad.png

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 subscriber's system. Ideally then, ensure that no state in the Workflow has only "Specific User" decision makers. If any states do, warn subscribers that they will need to specify an owner for that state.

1.2 Add a Package Data Item

To add Package Data:

  1. 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.
  2. 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.
  3. Click [Add to Package]

Notepad.png

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 subscriber's system. What happens is up to the Data Handler, so object definitions are not automatically included along with object data.

1.3 About Dependencies

As items are added, the Package Dependencies section is populated with included package items. When an item is added to the package, dependent items are included, for example, if a report is added to a package, the Custom Object for that report is added as a dependency in the package.

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

Notepad.png

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

1.4 Delete an Item from a Package

  1. In the Related Information section of a Package, navigate to the item of interest
  2. 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


2 Publish a Package

Publish

3 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 subscribe to the package.

To download a package:

  1. Publish the package, if it has not already been published.
    The Subscription Details section appears.
  2. In the Subscription Details section, click [Download Package].
  3. Save the file to your system from the browser.

Warn.png

Warning: Do not rename the zip file, once it has been created. For subscribe-from-file to work, the name of the file must be validated against the file's contents.

4 Deploy a Package

Deploying a package automatically upgrades local Package Subscribers (tenants in the same platform instance who have installed the package).

Lock-tiny.gif

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:

  1. Create a Package, and add items to it.
  2. Click [Publish]
    The zip file and Installation Link are created.
  3. Click [Deploy].
  4. Specify which tenants to upgrade.
  5. Specify a deployment time, or chose Immediate.
  6. Click [Deploy] again to act on your selections.

5 Add Test Drive Data

Add Test Drive Data

Learn more: Package Approval or Rejection

6 Distribute a Package to Remote Tenants

When a Package is Published, it can be downloaded from a browser. A Subscribe link is automatically created that can be used to distribute the package.

To Give the Download URL to Remote Tenants:

  1. Click Designer > Global Resources > Packages
  2. Click the link of the package of interest
  3. In the Subscription Details section, find the Subscribe Link
  4. Copy the Subscribe Link URL and paste it a web page or send it in an email.

6.1 Install a Package

The following information is for package Subscribers. Subscribers are defined as users in a tenancy that periodically download new packages containing updated features.

Users with valid accounts can download the package and install the application.

  1. Paste the Subscribe Link URL into a web browser
  2. Optionally, click [Test Drive] to try out the application
  3. To install the application, click the [Install] button (a valid user account is required to Login)

Learn more:

7 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:

  1. Click Designer > Global Resources > Packages
  2. Click the package name to open the package of interest
  3. Click the [Delete] button to delete the package

If a Package has Subscribers (users who have installed the package), and the package is deleted, and if the package is being used by any other package, then any item or dependent item in the package remains (and is not deleted).

8 About Package Items

About Package Items

8.1 About Package Installation

During installation, these actions are taken by the platform:

  • If a Subscriber has created an item with a name that is not unique, i.e., the item name matches a package item, the installation will fail. In order for package installation to succeed in this case, the Subscriber must change the name of the Field or Object
  • 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 a the package, it will be attached to the first top-level team in the subscriber instance

8.2 About Locked Packages

In an Unlocked package, objects and data can be modified and deleted by the subscriber. In a Locked package:

  • 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 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
Note
  • Roles control the user's ability to customize the platform
  • Consider modifying roles to support best practices

9 Information for Package Subscribers

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
  • Subscribers are notified before local items are overwritten (no subscriber data is lost when overwriting a package, only Package Items are changed, i.e., objects and platform elements that contain and manage subscriber data)
  • The deleted items in the Publisher database are not deleted from the Subscriber database (i.e. If a Package is deleted, fields created by the Subscriber remain in the tenancy database, and can be deleted individually)
About Locked or Unlocked Packages

The following actions are available to Subscribers when Installing Packages, depending if the Package is Locked or Unlocked:

Locked
Users cannot Edit or Delete package items, however:
  • At installation, Subscribers can choose to Enable or Disable the following items:
Note: These choices apply only to the initial installation. The choices are used in future package upgrade(s).
Unlocked
Users can Edit or Delete package items
Considerations
  • When an unlocked packages is upgraded by the Publisher, Subscriber customizations may be overwritten
  • A warning message is displayed: Customizations are over-written with a package upgrade

10 Packaging Sites

Lock-tiny.gif

Users that have the Manage Sites permission can package sites 
Considerations
  • Pages used in packaging will be added as dependencies
Learn more: Packages
  • 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