Why use SDF?

Why should you use SDF?

Struggling to manage the deployment of your NetSuite Customizations? The SuiteCloud Development Framework (SDF) is an immensely helpful tool which streamlines the organization and deployment of all your NetSuite projects.

Here are my thoughts on why your team should invest in learning and adopting SDF.

Version Control of Customizations

The primary function of SDF is deploying NetSuite customizations to any account to which you have access. SDF stores an XML representation of any custom object you’ve created. Because this is simply an XML file, it has all the properties of any other ordinary text file. For instance, it can be stored on your local hard drive, it can be backed up to your cloud storage device, and most importantly, it can be version controlled with something like git or any other source control tool.

This means you can track individual changes to and maintain multiple versions of your custom objects.

Nearly all of NetSuite’s custom objects, such as Custom Fields; Custom Records; Custom Lists; Saved Searches; etc. all have an XML representation, though you should be aware that not 100% of objects and settings are covered yet. Hopefully this gap will close in the near future.

Ease of Migration

Need to distribute your customizations across multiple accounts? That’s no issue with SDF. Whether you’re leveraging SDF’s command-line interface or one of its IDE plugins, it’s dead simple to switch accounts and deploy select customizations. With just a few clicks or a simple command switch, you are able to distribute your customizations easily between accounts.

A simple XML configuration file manages exactly which files, objects, and settings get deployed to the account, so you have fine-grained control over exactly what gets deployed without having to create and manage multiple bundle versions.

SDF can also take advantage of Token-Based Authentication, so you don’t need to worry about storing passwords on your local machine.

Ease of Customization

Because SDF represents custom objects as XML files, there’s no need to log in to the NetSuite UI in order to create or edit your custom objects. Open an Object’s XML file, make the appropriate modifications, save and deploy.

Need to make several similar custom fields? Make the first one in the UI, download its XML file, and now you have a template you can copy and paste to make your other fields.

Enables Automation

Plenty of development teams leverage build tools and systems for automating a lot of their work, and SDF allows such systems to interact with your custom objects. Once again, SDF turns your NetSuite custom objects into XML files, so anything your build pipeline can do with an XML file, it can do with a NetSuite custom object.

Some simple ideas off the top:

  • automatically deploy your application when new changes are merged to your master branch
  • validate that all your custom objects have an appropriate Script ID before deployment
  • automatically generate and publish a User Guide document based on the Help text and other details from your custom fields
  • monitor your local project for changes to files and automatically deploy them when they change