Object Packaging Options

From AgileApps Support Wiki

When creating a Locked Package, you can give subscribers limited control over Objects and Global Picklists.

Permissions

Using the settings below, you can give users permission to disable, modify, or extend the following attributes of an object.

Object Attribute Permission Description Default
Allow subscribers to extend canExtend can subscriber add new fields and inherit from this object Yes
Custom Form Actions canDisable can subscriber disable this action No
Validations canDisable can subscriber disable this validation No
Document Templates canDisable can subscriber disable this Document Template No

You can also specify permissions for a Global Picklist:

Object Attribute Permission Description Default
Global Picklists

canAdd

canDelete

canModify

can subscriber add new items to this global picklist

can subscriber delete items from this global picklist

can subscriber modify items inside this global picklist

No

Specifying Permissions

To specify permissions for an object:

  1. GearIcon.png > Customization > Objects
  2. Select the object you want to package
  3. Select the tab for the attribute you want to customize
  4. Click [Edit]
    • Selections are specified in the Locked Package Options section.

To specify permissions for a global picklist:

  1. GearIcon.png > Customization > Global Picklists
  2. Select the global picklist
  3. Click [Edit]
  4. Under Locked Package Options, make your selections.

Effect of Package Overwrite and Merge on Object Packaging Options

When you republish a package, you can either overwrite the previous version, or merge your changes into it. If you choose to overwrite the previous version, then subscribers' choices are discarded, as shown in the table below.

Publishing Option Permissions Granted by Publisher? Subscriber's Setting Retained?
Overwrite Yes No
Merge Yes Yes

For example, suppose that a Custom Form Action allows canDisable, and that a subscriber had chosen to disable it. If the package is overwritten when republished, the subscriber's setting is erased, and the action is once again enabled.

The moral is:

When you overwrite a package, warn subscribers to record the settings for any object attributes over which they have control, so they are prepared to reestablish non-default settings after upgrading.