There are a few different ways to make Plugins available for use within Registry, according to how the Plugin is distributed.
Many Plugins are already set up, and provided as “Core Plugins”; these Plugins ship with COmanage, and are enabled by default. They can be found in the app/Plugin
directory.
In addition, there are some Plugins that are less widely used. While they are shipped with COmanage, they are not enabled by default because of the related overhead (and, in some cases, external dependencies) associated with Plugins that may only be useful to some deployments. These plugins are also shipped with Registry and can be found in the app/AvailablePlugin
directory.
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 clear caches and then update your database schema to reflect the newly available plugin.
$ cd $REGISTRY/local/Plugin $ ln -s ../../app/AvailablePlugin/SomePlugin . $ cd $REGISTRY/app $ su -c "./Console/clearcache" ${APACHE_USER} $ su -c "./Console/cake database" ${APACHE_USER} |
Plugins that come from other sources (including those you write yourself) should be placed in the local/Plugin
directory.
Once a Plugin is installed and enabled for use, how it is actually used and/or configured varies according to the Plugin type.
Plugin Type | Description | Where the plugin is configured in COmanage |
---|---|---|
Authenticator | Configuration > Authenticators | |
Cluster | Configuration > Clusters | |
Dashboard Widget | Configuration > Dashboards | |
Data Filter | Configuration > Data Filters | |
Enrollment Flow | Configuration > Enrollment Flows | |
Identifier Validation | Configuration > Identifier Validators | |
Invitation Confirmer | ||
Job | ||
LDAP Schema | ||
Normalization | ||
Organizational Identity Source | Configuration > Organizational Identity Sources | |
Provisioner | Configuration > Provisioning Targets |
Building your own plugin is a great was to get started with custom development for COmanage. Through plugins you can build powerful extensions to the existing Registry functionality. Building a Registry Plugin requires knowledge of PHP, CakePHP, and COmanage.
The general documentation for building plugins can be found on the Writing Registry Plugins page. All plugins follow some standard conventions which are outlined on this page. In addition, some types have additional requirements as listed below.
As described above, there are several different Plugin Types, each with their own additional requirements. You can find these details at the links below:
Below is a list of known plugins that are available to the COmanage Registry community. Please let us know if you know of other plugins that are not listed below. (Or, maybe you have created your own plugin that you want to share here!)
The Style macro allows the use of CSS to style content. CSS describes how HTML elements should be displayed. https://www.adaptavist.com/doco/display/CFP/Style+Sheet
.home-banner { background: #ffffff; color: #d44415; font-size: 20px; padding: 20px; } .home-banner h1 { color: #5e2b97; font-size:2.5em; } .title-box { border: 0px solid #ff5b2d padding: 10px; padding-bottom: 30px; } .title-box > h2 { /*background: #5e2b97;*/ border-top: 3px solid #c2d6d6; bottom: 10px; /*color: #c2d6d6;*/ /*margin-left: -10px;*/ /*margin-right: -10px;*/ padding: 1em 0 0; position: relative; } .cfm-blog-image > img { display: block; margin-left: auto; margin-right: auto; } .lead > p { line-height: 2; font-size: 1.5em; } .about-box { border-top: 1px solid #c2d6d6; border-bottom: 2px solid #c2d6d6; padding: 10px; padding-top: 30px; padding-bottom: 30px; } .about-box > p { font-size: 0.9em; font-style: italic; } .about-box > h3 { font-size: 0.9em; } |