SuiteCloud Project Structure and File Components
In SuiteCloud Development Framework (SDF), all SuiteCloud components are stored in a file system SuiteCloud project instead of the target NetSuite account. This file storage facilitates the use of standard software development processes during project development, including team-based development, standard quality assurance and integration testing processes, and the use of third-party revision control systems.
SuiteCloud projects consist of the following hierarchy of files used to represent schema, logic, project properties, and deployment directives:
-
Manifest File – contains the project metadata. This metadata includes the project name, framework version, and any dependencies on features, records, or files. The manifest filename is
manifest.xml
and located at the root of the SuiteCloud project folder. For additional information about using the manifest file, see the following topics: -
Deploy File – references the file paths used in the project. This file specifies the order in which files are uploaded to the File Cabinet, and in which objects are created in the account. The deploy filename is
deploy.xml
and located at the root of the SuiteCloud project folder. For more information, see SuiteCloud Project Deployment Preparation. -
Object Files – are the XML definitions of SDF custom objects, such as custom records, custom forms, and workflows. These files contain all of the properties that are needed to create or modify objects in the target NetSuite account. The object files are stored in the
Objects
folder, located at the root of the SuiteCloud project folder. For more information about defining supported SDF custom objects in your SuiteCloud project, see the following topics: -
File Cabinet Files – are the files and SuiteScripts to be deployed to the File Cabinet in the target NetSuite account. File links are not supported by SDF. For information about the attributes that are available for file cabinet files in your SuiteCloud project, see Modifying SuiteCloud Project File and Folder Attributes in an XML Definition.
For account customization projects, all files must be physically stored in one or more of the following folders of your SuiteCloud project workspace:
-
FileCabinet/SuiteScripts/
-
FileCabinet/Templates/E-mail Templates/
-
FileCabinet/Templates/Marketing Templates/
-
FileCabinet/Templates/Web Site Hosting Files/
-
FileCabinet/Web Site Hosting Files/*/SSP Applications/<app id>/
Note:You must enable the Customer Relationship Management feature to access the E-mail Templates record. To enable the feature, go to Setup > Company > Enable Feature. Click the CRM subtab and check Customer Relationship Management.
For SuiteApp projects, all files must be physically stored in the
FileCabinet/SuiteApps/<appid>
folder of your SuiteCloud project workspace:-
FileCabinet/SuiteApps/<app id>/
-
FileCabinet/Web Site Hosting Files/*/SSP Applications/<app id>/
-
-
Translations Files — are the XLIFF files referenced in
translationcollection
objects. These files contain the translated strings for a target language. For more information, see Translation Collections as XML Definitions. -
Account Configuration Files (Account customization projects only) – are XML definitions of account configuration settings that can be modified in an account customization project. Account features can be enabled or disabled in the
AccountConfiguration/features.xml
file. For more information, see Account Configuration from an Account Customization Project. -
Installation Preferences Files (SuiteApp projects only) – are XML definitions of installation preference settings that can be modified in a SuiteApp project. Installation preferences are specified in the
InstallationPreferences
folder. They are enabled or disabled using the Apply Installation Preferences box that appears when you deploy, validate, or preview a SuiteApp project. For more information, see Installation Preferences in the SuiteApp of SuiteCloud Project.