Static plugins allow custom (non-osgi) development to happen in dotCMS without modifying core dotCMS code. This enables users to run a stable release/version of dotCMS and still be able to add/modify custom logic without breaking the upgrade path.
Static plugins provide a way of deploying new functionality on top of an existing dotCMS instance without touching the code base. This means new functionality is more modular and portable to other dotCMS installs or version upgrades.
Plugins can be used for everything from configuring dotCMS to overriding functionality and even creating your own custom web applications/tooling.
How do They Work?
Static plugins allow for:
- dotCMS config files to be manipulated
- For any dotCMS file to be overwritten
- for new static files to be deployed
- For custom code that modifies and extends the core dotCMS .
Override and Configure
Typically static plugins are used to override the default configuration of dotCMS. For example when you set a property in a plugin dotCMS will use your value for that property even if the value is set in the dotCMS core files. This is also true for Java code. Your plugin Java code will come first in the classloader which means that if your plugin provides the same classes as dotCMS your classes will be picked up first. This provides great power and flexibility.