Using SuiteBundler Copy and Deprecate to move a bundle deployment to a different NetSuite Account

October 25, 2023 | 4 minute read
Jonathan Homer Alcon
Principal Applications Developer for SDN Solutions Engineering at Oracle NetSuite
Text Size 100%:

SuiteBundler

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.

Context

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.

Copying vs Installing

For this example, I will use the SuiteTalk (SOAP) UI bundle with Id 40833.

suitetalk bundle

When a bundle is copied to another account, the target account has a bundle with a different bundle id.

suitetalk 2

When a bundle is installed the instance in the target account has the same bundle id as the source.

suitetalk 3

Copying a Bundle to another NetSuite Account

To copy a bundle to another account hover over the actions menu and click copy.

action

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.

copy bundles

You will be redirected to the Copy Bundle Status page

status

When the Copy Bundle process has completed you will see a new bundle id as per screenshot below:

status complete

The new Bundle Id is 500260 where the source is 500259.

Deprecating a bundle

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
 

availability

Scroll to the Deprecate Bundle section and choose the new bundle(500260 for this example) in the drop down list.

deprecate

Then hit Save.

Please note that deprecating a bundle can be undone by selecting the blank and saving it.

Final Thoughts

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.
 

Jonathan Homer Alcon

Principal Applications Developer for SDN Solutions Engineering at Oracle NetSuite

With 15+ years of experience in web development, IT consulting, and 2+ years as an educator.


Previous Post

Performance Monitoring for In-Database JavaScript in Oracle Database 23c

Martin Bach | 17 min read

Next Post


3 Announcements from Oracle at KubeCon

Mahesh Thiagarajan | 4 min read