General note on extensibility
This topic describes the guidelines that you need to follow while customizing the Sterling Store Engagement screens developed using AngularJS
- The minification process would happen as part of building the WAR or EAR. With this enhancement, a separate minification step to get the final minified file containing the default and custom code is not required. It will be handled automatically while building the application WAR or EAR. The minification occurs only for HTML, JS, and CSS files. The Node.js, gulp and associated modules are part of the image generated. The minification task picks up the custom and default files and generates the minified JS and CSS files.
- You can skip the minification process while building the WAR/EAR by passing parameters as
-Dskipangularminification=true. Not passing the parameter or passing the parameter asfalse, which is the default setting ensures that AngularJS minification occurs. For instance, if you want to use custom minification scripts, you can skip the default minification that happens during the build process.Note: Minification is configured to run on docker images. However, for your current development environment, you are advised to continue with your minification setup and pass the-Dskipangularminification=trueduringbuildear/war.To set up minification for your extensions, refer to the information in Prerequisites
- Documentation generation is not a part of minification as it significantly increases the time to build EAR/WAR.
- Any future upgrade made to third-party components such as AngularJS, Bootstrap CSS might require manual reconcile or effort to make the existing customizations compatible with the new version.
- By following the recommended approach for UI and JSP extensibility in the following sections,
you can ensure easy adoption of updates on the cloud environment.Note: The UI customizations to a feature requires a reconcile effort to absorb any new capabilities of that feature. Therefore, if you are planning to implement a feature released in a higher version, then it is recommend that you minimally customize the screens related to that feature until you implement the future version.
- The application provides a backward compatibility flag to allow using monolithic home page and old specification portlets only with the intention to help you upgrade. However, you are encouraged to adopt the new specifications. Old specifications will work only for a limited time and you will be notified prior to their eventual deprecation.