module documentation

Plugin manager to manage plugins.

Instructions to add a new service or runtime plugin

Currently, there is a bit of a manual process to add a new service or runtime plugin. The following steps are required to add a new plugin:

  • Add the plugin to the acmecse/plugins/runtime or acmecse/plugins/services directory.
  • Add the plugin to the acmecse/runtime/PluginManager.py file in the _pluginChecks dictionary with a lambda function that checks whether the plugin should be enabled or not.
  • Add the plugin to the acmecse/init/acme.ini.default file with a configuration entry for the plugin, e.g. [cse.service.myPlugin] and a setting enable=true.
  • Also add the plugin enable setting reference to the special configuration under the [cse.operation.plugins] section in the acmecse/init/acme.ini.default file.
  • If the plugin has any configuration settings, add a configuration module in acmecse/runtime/configurations for the plugin.
    • Add entries for the settings in the Configuration class in acmecse/runtime/Configuration.py to store the settings from the configuration file, e.g. Configuration.cse_service_myPlugin_enable.
    • At the end of the Configuration class, add the import of the configuration module to the list of configuration modules to be imported and, further down, initialized.
Class PluginManager PluginManager class to manage plugins.
Variable pluginManager The global plugin manager instance. This is a singleton instance.

The global plugin manager instance. This is a singleton instance.