COmanage Registry supports several types of plugins in order to easily customize and extend Registry functionality. (For information on writing your own Plugins, see Writing Registry Plugins.) There are a few different ways to make Plugins available for use within Registry, according to how the Plugin is distributed. Once a Plugin is installed and enabled for use, how it is actually used and/or configured varies according to the Plugin type.

Supported Core Plugins

Core Plugins ship with Registry and are enabled by default. They can be found in the app/Plugin directory.

Supported Non-Core Plugins

Because there is overhead (and, in some cases, external dependencies) associated with Plugins that may only be useful to some deployments, Registry also ships with Non-Core Plugins. As of v2.0.0, they can be found in the app/AvailablePlugin directory. These are not enabled by default. The simplest way to enable a Non-Core Plugin (assuming you have met any external dependencies the Plugin may require) is to symlink it from your local/Plugin directory.

After creating the symlink, you should update your database schema to reflect the newly available plugin, and then clear the caches.

$ cd $REGISTRY/local/Plugin
$ ln -s ../../app/AvailablePlugin/SomePlugin .
$ cd $REGISTRY/app
$ su -c "./Console/cake database" ${APACHE_USER}
$ su -c "./Console/clearcache" ${APACHE_USER}

External Plugins

Plugins that come from other sources (including those you write yourself) should be placed in the local/Plugin directory.