Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Create a Model whose name matches the name of the Plugin. In this example, the Model is created at app/Plugin/MyPlugin/Model/MyPlugin.php.
  2. Define $cmPluginType to indicate the type of the Plugin, from the following options:

    $cmPluginType

    Description

    Available SinceInstantiated?
    authenticatorAuthenticator Pluginv3.1.0Yes
    clusterCluster Pluginv3.3.0Yes
    confirmerInvitation Confirmer Pluginv3.1.0No
    dashboardwidgetDashboard Widget Pluginv3.2.0Yes
    datafilterData Filter Pluginv3.3.0Yes
    enroller
    Enrollment Flow Pluginv0.9.4Yes, as of v4.0.0
    identifiervalidatorIdentifier Validation Pluginv2.0.0Optional
    jobJob Pluginv3.3.0Yes, when queued
    ldapschemaLDAP Schema Pluginv2.0.0Yes, via LDAP schema configuration

    normalizer

    Normalization Plugin

    v0.9.2No
    orgidsourceOrganizational Identity Sources Pluginv2.0.0Yes

    provisioner

    Provisioning Plugin

    v0.8Yes

    other

    Any other type of Plugin

    v0.8No

    As of v2.0.0, $cmPluginType may also be an array. A Plugin that implements more than one plugin type is referred to as a Polymorphic Plugin. Note that, due to naming conventions and other constraints, not all combinations of plugin types may currently be supported. These constraints will be removed over time as Plugin interfaces are updated.

Here's an example Model:

Code Block
class LdapProvisioner extends AppModel {
  // Required by COmanage Plugins
  public $cmPluginType = "provisioner";
}

...