Locking Objects in Customization Bundles

A bundle author can lock some of the objects in a customization bundle on the Step 4 Set Preferences page of the Bundle Builder. When an administrator installs a bundle containing locked objects, these locked objects cannot be edited. Sometimes editing objects in a bundle can break a solution or make future upgrades impossible without data loss. Locking prevents this and allows customization in a controlled and safe manner.

Object locking provides bundle authors and independent software vendors (ISVs) the ability to control which aspects of their solution can be extended and customized to avoid upgrade issues. In addition, locking can ensure compatibility when bundle updates are rolled out.

Before a NetSuite account administrator installs or updates a bundle, the administrator can view which components in the bundle are locked, on the Preview Bundle Install Page. When an installed bundle includes locked objects, these objects' NetSuite pages do not have buttons that allow changes to the object, such as Edit, Delete, and Change ID. Also, all list and view pages display a lock icon to provide complete visibility of locked objects in installed bundles.

You can lock bundle objects as part of bundle creation or editing. To lock a bundle object, check the Lock on Install box on the Step 4 Set Preferences page of the Bundle Builder.

Warning:

You should not lock bundle objects to be included in a bundle developed in sandbox. Locking objects in the source sandbox account for the bundle can eventually lead to the objects being locked in that account. After the bundle is installed in production and the sandbox account is later refreshed, the production account settings for locked objects are copied to the sandbox account. This copy causes the objects to be locked in the source sandbox account, with their lock options disabled, preventing bundle developers from editing these objects.

The installation of a bundle that contains locked objects requires the same steps as installing a bundle with no locked objects. For a detailed description of the procedure used to install a bundle, see Installing a Bundle. Also, see Review Locked Bundle Objects.

The Objects Available in Customization Bundles table includes a column indicating which object types are lockable.

Effects of locking vary according to object type. See Effects of Locking Different Object Types.

Note:

If you bundle a component that is already locked in another installed bundle, the component stays locked in the new bundle as well.

Precautions about Locking Bundled Objects

Locking an object does not prevent target account users from seeing it, only from editing it. For details about how to hide bundle objects in target accounts, see Hiding Bundle Components in Target Accounts. For details about how to prevent target account users from seeing code in bundled server SuiteScripts, see Protecting Your Bundled Server SuiteScripts.

Warning:

Bundle locking functionality is not a tool for Intellectual Property management and should not be treated as such. The intention of this functionality is to discourage end users from making changes to locked bundle objects. Locking an object does not prevent a user from installing another third party bundle with an object of the same name that is unlocked, and that can be used to replace the locked object. However, the resulting replacement object is locked.

When you copy (rather than install) a bundle that includes locked objects, the objects are not locked in the account where the bundle is copied. However, their locked settings are maintained on the Step 4 Set Preferences page of the copied bundle, and are enforced in target accounts where the copied bundle is installed. See Copying a Bundle to Other Accounts.

Effects of Locking Different Object Types

The following list summarizes the effects of locking bundle objects for target accounts:

Related Topics

General Notices