Registry Plugins are used to extend the functionality of the application in many ways. This document is primarily intended for application administrators, additional information is available for developers who wish to write plugins.

Understanding Plugins

Registry Plugins are Cake Plugins with some additional requirements that vary by Plugin Type. There are various types of Registry Plugins, a single Plugin can implement multiple Plugin Types. For example, a single Plugin could be both a provisioner plugin that connects to a specific downstream application and a report plugin that generates reports about that downstream application. A Registry Plugin that implements both the provisioner type and the external identity source type is referred to as a "Connector".

A Registry Plugin implements one or more Entry Point Models for each type it supports. An Entry Point Model is simply the way the Plugin exposes certain functionality to Registry. For example, the PeopleReporter Plugin could implement two reports: ExpiredPeople and PendingPeople. Each of these reports would be represented by an Entry Point Model.

When selecting a Plugin for a Registry configuration, the Plugin will be referred to in "dot" notation using both the name of the physical Plugin and the Entry Point Model, so when adding a new Report with this example plugin, there would be two options: PeopleReporter.ExpiredPeople and PeopleReporter.PendingPeople.

Plugin Activation

Because there is overhead with loading Plugins, not all Plugins are loaded (or "Activated") by default. Plugins are categorized by their location on the filesystem:

  • core: Core Plugins are included with Registry, and are always activated. Core Plugins cannot be disabled.
  • available: Available Plugins are included with Registry, but are disabled by default.
  • local: Local Plugins are installed by the deployer, and usually implement custom functionality.

Only a Platform Administrator can activate available and local Plugins. Within the COmanage CO, go to Configuration Plugins. Activate the Plugin via the Activate menu item. This will also apply the database schema defined in schema.json. The database schema can also manually be applied via the Apply Database Schema menu item.

A Plugin cannot be suspended if it has at least one Entry Point Model that is in use by a Configuration model (ie: referenced by a Pluggable Model that is categorized as Configuration). (AR-Plugin-8)

See Also

  • No labels