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 Actions canDisable can subscriber disable this action No Validations canDisable can subscriber disable this validation No Data Policies canDisable can subscriber disable this data policy No Print Templates canDisable can subscriber disable this print template No Workflows canDisable can subscriber disable this workflow 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:
- Designer > Objects
- Select the object you want to package
- Select the tab for the attribute you want to customize
- Click [Edit]
- In the Workflows tab, the Workflow Designer is launched.
The attribute is near the bottom of the navigation pane. - In other tabs, selections are specified in the Locked Package Options section.
- In the Workflows tab, the Workflow Designer is launched.
To specify permissions for a global picklist:
- Settings > Administration > Global Resources > 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 an object 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.