NetSuite SuiteCloud Development Framework (SDF)
NetSuite SDF stands for SuiteCloud Development Framework. It is a development framework and deployment mechanism that is used for adding customizations to NetSuite accounts. Developers can use SDF to deliver customizations to NetSuite accounts or to create SDF SuiteApps using an IDE. SDF enables you to build, validate, and deploy SDF projects from your local computer to a NetSuite account. You can also create and modify custom objects in the NetSuite UI, and then use SDF to import those objects into SDF projects.
Why do we need SDF?
If you have been working on developing customizations for NetSuite, either for SuiteCommerce or SuiteScripts, you are probably already familiar with the fact that you can work on customizations without SDF. So why would we need SDF in that case?
The answer is simple. SDF makes it easier to customize NetSuite code, while simultaneously allowing developers to follow the software development lifecycle process thus enabling a more secure development environment. SDF supports the complete SDLC, including source code control, team development etc. It helps us handle the different phases of SDLC, right from development to testing and deployment with ease.
How is SDF helpful to developers?
- Developers can use SDF to access all SuiteCloud customization objects and SuiteScript APIs during development, testing, and rollout. This makes it very easy to work on NetSuite customizations.
- SDF creates seamless team collaboration and also helps developers with versioning and revision control
- Developers do not need to be connected to a NetSuite account when developing SuiteCloud projects. By decoupling the development process from NetSuite accounts, SDF improves code portability and provides a streamlined deployment process across various NetSuite account types like Production, Sandbox or Release Preview accounts
- SDF represents NetSuite objects as XML, which makes it possible for development to be decoupled from NetSuite. Developers can use SDF to download their NetSuite objects as XML definitions, work on them using a development environment outside of NetSuite, validate them against target NetSuite accounts, then deploy them to the development, sandbox, or production accounts. Upon deployment to the target account, the XML definitions are converted to custom NetSuite objects by SDF
Deployment process with SDF
Using SDF, SuiteCloud projects can be deployed directly to development, sandbox, or production accounts where developers have access to create NetSuite objects.
SDF provides on-demand validation of your SuiteCloud projects during the development process against NetSuite accounts without requiring deployment.
Benefits of SDF
- Firstly, you can deploy scripts directly to the target account.
- XML definition of all custom objects allows for uncoupled development, as we discussed earlier
- SDF provides the ability to perform complete code validation of projects without needing to deploy it first
- It enables collaboration and team development through integration with external source control systems
- Finally, it provides a more robust developer experience including dependency management, better logs and audit trails and on-demand validation against target NetSuite accounts