Object Packaging Options
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:
- > Customization > Objects
- Select the object you want to package
- Select the tab for the attribute you want to customize
- Click [Edit]
- Selections are specified in the Locked Package Options section.
To specify permissions for a global picklist:
- > Customization > Global Picklists
- Select the global picklist
- Click [Edit]
- 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.