PKP Bugzilla – Bug 5531
Add runtime environment check to plug-ins
Last modified: 2012-09-21 13:12:36 PDT
An automatic runtime environment definition and validation has been implemented for filters (see the Filter class, search for runtime). We should do the same for plug-ins. The advantages are:
- dependencies on installation requirements are well documented within the plug-in
- dependencies can be checked while installing/enabling the plug-in and meaningful error messages can be produced when the runtime environment is not sufficient
- we can avoid loading plug-ins which have unmet dependencies and issue a meaningful error message
- The version.xml file can be used to document runtime dependencies, they can be retrieved from there and saved in the plugin-settings table during installation (see FilterDAO for the Filter-specific persistence layer of runtime requirements)
- The RuntimeEnvironment class has been implemented in a way that it can also be used to very easily check dependencies for plug-ins.
And of course this can be done in a backwards compatible way by assuming "no runtime requirements" if the corresponding settings are absent.