Inheritance

Inheritance lets plugins created using your module use CSS, frameworks, JavaScript and/or plugin settings from another module that you specify.

Uses of Inheritance

The main idea behind inheritance is to allow you to easily take one module and extend it with a small change to its functionality, without needing to duplicate then maintain large amounts of CSS, HTML, JavaScript or YAML code.

This also means that if a designer styles a module that you've extended, those styles can also work with your module without the designer even being aware that your module exists.

Allowing Upgrades

If your module extends another module but includes a small change in functionality, you may wish to offer administrators the ability to convert plugins that are being handled by that module into plugins that are being handled by your Module.

Currently the only functionality offered is a mass-upgrade; i.e. an administrator presses a button and then every plugin that can be handled by your module will be converted.

Reference for inheritance: