If you want to implement a patch that corrects an issue by overriding a method, follow the steps in this procedure. Remember to use override mode for patches only when you need to modify a file in a way that cannot be accomplished using extend mode. You can access the instructions for each patch from a list provided in Patches.
Step 1: Create the Override File
Open the Modules directory in your local development environment.
Create an extensions directory to store your custom module. Depending on your implementation, this directory might already exist.
Within the extensions directory, create a subdirectory with a name similar to the module you need to patch.
A good pattern to follow is:
For example, if you need to patch the CMSadapter module, name your subdirectory:
Open the custom module subdirectory from the preceding step and create a new subdirectory with a name that reflects the type of file you need to override. Possible types include:
For example, to override the MSadapter.Component.js file, you would:
Copy This File:
Place the Copy Here:
In this example, X.Y.Z represents the version of the module in your implementation of SuiteCommerce Advanced.
Paste the code provided in your patch instructions into your copy of the source file that you want to override. Make sure you replace the specific blocks or lines of code as instructed.
Save the file.
Step 2: Prepare the Developer Tools For Your Patch
Open the custom module directory you created in the first part of this procedure. For example, if you are patching the CMSadapter module, open the CMSadapterExtension@1.0.0 directory.
Create a file in the custom module directory named ns.package.json.
Paste the code provided in your patch instructions into the new ns.package.json file.
The code provided for the ns.package.json file is specific to the file that you want to override.
In the top level of the SuiteCommerce Advanced directory, open the distro.json file.
Add your custom module to the
modules object in the distro.json file.
Add your custom module to the list of existing values that follow the
“modules”: key as shown in the following example.
Values for other keys in the
modules object are release-specific and so the following example may not look exactly like the object in your distro.json file.
"name": "SuiteCommerce Advanced Kilimanjaro",
This step ensures that the Gulp tasks include your module when you deploy. In the preceding example, custom modules have been added at the beginning of the list of modules. However, you can add your custom module anywhere in the list of existing values. The order of precedence in this list does not matter.
Save the distro.json file.
Step 3: Test and Deploy Your Patch
How you test and deploy depends on your patch.
If your patch overrides a SuiteScript file, deploy the source code to NetSuite to test the functionality. See Deploy to NetSuite for details. SuiteScript files run on the server and must be deployed to NetSuite to take effect.