...
- The name of the Plugin should match the format
FooProvisioner
. - The Plugin should implement a model
CoFooProvisionerTarget
, and a corresponding Controller. (These are in addition to the other models and controllers required for Plugins.)- This Model should extend
CoProvisionerPluginTarget
. - The Controller should to extend
SPTController
("Standard Provisioning Target" Controller), which provides some functionality common to most/all Provisioners (including parsing ofco_provisioning_target_id
). - When a new Provisioning Target is created, a skeletal row in the corresponding
co_foo_provisioner_targets
table will be created. There is noadd
operation or view required. The skeletal row will point to the parent Provisioning Target. - When a Provisioning Target is edited, the entry point to the Plugin will be
foo_provisioner/co_foo_provisioner_targets/edit/#/co:x
. This will be called immediately after the parent Provisioning Target is created.
- This Model should extend
- Note
CoProvisioningTarget
has ahasOne
(ie: 1 to 1) relationship withCoFooProvisionerTarget
. - The table
co_foo_provisioner_target
should include a foreign key toco_provisioning_target:id
.- Other tables used by the plugin should reference
co_foo_provisioner_target:id
.
- Other tables used by the plugin should reference
- The Plugin must implement two functions, which are defined in
Model/CoProvisionerPluginTarget.php
. See that file for the function signatures, including what data is passed to the Plugin and what results are expected to be returned.status()
to obtain the current provisioning status for a CO Person or CO Group. Note: there is a default implementation that may be sufficient for many provisioner plugins. Registry will automatically manage entries in cm_co_provisioning_exports and relay that information through the defaultstatus()
call.provision()
to execute provisioning for a CO Person or CO Group.
...