SuiteBundler allows NetSuite SuiteCloud Platform Developers to package together groups of objects for distribution to other NetSuite Accounts. These packages are called bundles or SuiteApps. SuiteApps can be packaged using the SuiteBundler or the SuiteCloud Development Framework (SDF) and because we are using the SuiteBundler for this article we will call the SuiteApp, bundles. Bundles are usually used by internal developers to move/install customization objects created from NetSuite Sandbox Accounts to their NetSuite Production Accounts, Independent Software Vendors (ISVs) to distribute their solution to their customers and can be made publicly available or shared to a select list of NetSuite Accounts through a deployment account.
It is best practice for SDN Partners to deploy a copy or snapshot of their bundles to a deployment account. This is so continuous development of their Solutions, bundles or SuiteApps can be done without negatively affecting the bundle deployed to other accounts. There will be times that the bundle will undergo a major update, or the bundle authors would like to keep a snapshot of their bundle for backup to rollback changes in case the updates would have unforeseen outcomes in their install base.
Another use case will be for bundles deployed on leading accounts with an install base. It is best practice to deploy bundles in trailing accounts to not cause unfavorable circumstances during NetSuite’s Phased Release.
For this example, I will use the SuiteTalk (SOAP) UI bundle with Id 40833.
When a bundle is copied to another account, the target account has a bundle with a different bundle id.
When a bundle is installed the instance in the target account has the same bundle id as the source.
To copy a bundle to another account hover over the actions menu and click copy.
You will then be presented a list of Accounts where you can copy your bundle into. Please note that only accounts where you have Administrator role access will appear in this list.
Check the checkbox under the Copy/Update column and then click the Copy button.
You will be redirected to the Copy Bundle Status page
When the Copy Bundle process has completed you will see a new bundle id as per screenshot below:
The new Bundle Id is 500260 where the source is 500259.
Deprecating a bundle will move the install base from the old bundle(40834) to the copy of the bundle(500260) in another NetSuite Account and when the install base updates the installed instance of their bundle the source of the bundle will now point to the new bundle(500260).
To deprecate the bundle head to the current NetSuite Deployment Account and head to the list of saved bundles. Customization > SuiteBundler > Create Bundle > List.
Click the actions menu and click Set Availabilty
Scroll to the Deprecate Bundle section and choose the new bundle(500260 for this example) in the drop down list.
Then hit Save.
Please note that deprecating a bundle can be undone by selecting the blank and saving it.
The copy-deprecate function of the SuiteBundler is a powerful tool to somewhat version control your bundles in NetSuite and move your bundle with their install base to another NetSuite Account. This is especially useful when the deployment account is set to be purged soon and the bundle needs a new place to stay.
With 15+ years of experience in web development, IT consulting, and 2+ years as an educator.