Using One Code Base for Multiple Plugins
A developer can use one codebase for handling different plugin types.
The main difference between plugin types and plugin abilities is the fact a single plugin can implement multiple abilities but can be of one type.
The key idea for managing such a scenario is "separation of concerns". Each plugin type should be implemented on a different class.
To achieve this please follow these steps:
- Create a separate manifest for each plugin type.
- publish the manifests to Zapp while making sure the dependency versions match between the manifests.
The differences between these manifests would be:
- Plugin type.
- Plugin ID.
- Name and description.
- Class name used as an entry point.
- Custom parameters.
Note:
- There might be more differences, but these represent the minimal differences that would exist to offer this functionality.
- It would be beneficial to use a similar / identical versioning scheme between the plugins and mention the relationship in the plugins description.