The module framework
The module framework allows extensions to contribute to different areas of a page to provide flexibility, enhance the user experience, and maximize performance.
The modularization framework decouples feature enablement from the theme code itself. Logical points are provided where modules can contribute data into a theme at run time, and then optimize those contributions by combining them where possible. Multiple disparate remote sources can be combined into one request for greater performance.
The features of a theme can be enabled and disabled using a profile. We can turn off features that are not needed in one environment that might be used in another environment. For example, disable editing capabilities in a production portal environment. The same theme code can be used across such environments where the only variable is the module inclusion profile.
Modules are registered extensions used by a module profile. Each module is enumerated by unique identifiers. A module might require other modules to allow the automatic inclusion of necessary code required to make a particular feature work. For example, we can use the Dojo Toolkit within a module to build custom widgets. The module requires certain Dojo modules to ensure the code is loaded in the correct sequence.
See
- Basic artifacts and their relation
- Contribution types
- Deferred and nondeferred modules
- Response rendering for themes
- Writing modules
- Theme Optimization Analyzer
- Troubleshoot modular themes
- Specify profiles
- Ready to use modules
- Modules that add features to a theme
- Add or remove a module from a profile
- Module dependencies in portlets
- ConfigEngine tasks for creating a new profile based on a template and an existing profile in the system
Parent Develop themes and skins