Admin.XMLWriteObjPluginConfig.xml
The Admin.XMLWriteObjPluginConfig.xml file contains the configuration used when writing plugins. The conditions that can be used to determine if the plugin must be executed are documented in a separate topic.
Changelog
| File version | Content Manager version | Notes |
|---|---|---|
| 2.0 | 11.0.0 | This is the first version of Admin.XMLWriteObjPluginConfig.xml; it replaces and supersedes Admin.XMLPluginConfig.xml. |
Overview
To access this configuration file in Organize Space, select the Settings tab, then the XML Settings subtab, and then the Write Plug-ins subsubtab.
XML elements
| Name | Description |
|---|---|
infoSharePluginConfig | Root node of the plugin XML configuration. |
namespaces | Contains namespace elements. |
namespace | Provides the matched namespace for the namespace prefix used in the XPath expression in the plugin parameters. |
namespace @prefix | The prefix that is used for the provided namespace. |
write | Describes a sequence of plugins that will be executed within the current action. The write element can define the condition that will be used to make sure that no more than 1 write element can be found by the plugin engine for the current action in the current conditions. If there are more than 1 write element applicable for the current action, the main operation fails. |
write @ishcondition | The condition that determines when the current write sequence should be activated. |
body | The element that contains a sequence of body plugins. |
sequence | The element that contains a sequence of body plugins. |
plugin | Describes a single plugin. |
plugin @name | The name of the plugin. |
plugin @handler | The reference to the plugin implementation. |
plugin @ishcondition | The condition that determines when the current plugin should be activated. |
description | The plugin description. |
workingset | Describes all the metadata fields the plugin can read or write in. These fields are guaranteed to be loaded by the plugin engine. |
ishfields | Contains ishfields. |
ishfield | Describes an ishfield. |
initialize | Describes everything that should be passed to the plugin instance upon initialization. |
parameters | Contains parameter elements. |
parameter | The parameter that is passed to the plugin.
|
<infoSharePluginConfig version="2.0">
<!--We are supporting plugins with namespaces.-->
<namespaces>
<namespace prefix="ditaarch">http://dita.oasis-open.org/architecture/2005/</namespace>
</namespaces>
<!--Every 'write' element defines a set of plugins which will run for create, update or checkin of an object.-->
<write ishcondition="ISHType in ('ISHMasterDoc', 'ISHModule', 'ISHLibrary')">
<!--'Body' plugins run as a part of a main action (in the same transaction).-->
<body>
<!--Sequence of plugins, meaning they run in sequence.-->
<sequence>
<!-- ======================================================= -->
<plugin name="CHECKREVIEWERFILLEDIN" handler="OnFieldChangeCompare"
ishcondition="CurrentAction in ('Create', 'Update', 'Checkin', 'SetMetadata', 'CheckOut', 'UndoCheckOut') and (ISHLevel='lng')">
<description>Checks that the 'Reviewer' is filled in when the 'FSTATUS' field is changed to 'To be Reviewed'</description>
<workingset>
<ishfields>
<ishfield name="FSTATUS" level="lng" />
<ishfield name="FREVIEWER" level="lng" />
</ishfields>
</workingset>
<initialize>
<parameters>
<parameter name="ConditionMetadataField">FSTATUS</parameter>
<parameter name="ConditionMetadataFieldLevel">lng</parameter>
<parameter name="ConditionMetadataFieldValueType">element</parameter>
<parameter name="ConditionMetadataFieldToValue">VSTATUSTOBEREVIEWED</parameter>
<parameter name="CompareMetadataField">FREVIEWER</parameter>
<parameter name="CompareMetadataFieldLevel">lng</parameter>
<parameter name="CompareMetadataFieldOperator">notempty</parameter>
</parameters>
</initialize>
</plugin>
...
<plugin name="SETTITLE" handler="BlobSetXmlNode" ishcondition="EDT='EDTXML' and VERSION='1' and CurrentAction='Create'">
<description>Set title for new objects using the metadata title</description>
<workingset>
<ishfields>
<ishfield name="FTITLE" level="logical" />
</ishfields>
</workingset>
<initialize>
<parameters>
<parameter name="OnNodeXPath">(/*[contains(@class,' map/map ')][title]) | (/*[contains(@class,' topic/topic ')][title])</parameter>
<parameter name="NodeType">node</parameter>
<parameter name="NodeName">title</parameter>
<parameter name="OverwriteExisting">Yes</parameter>
<parameter name="Value">
<value type="MetadataField">
<parameter name="MetadataField">FTITLE</parameter>
<parameter name="MetadataFieldLevel">logical</parameter>
</value>
</parameter>
</parameters>
</initialize>
</plugin>
...
</sequence>
</body>
</write>
</infoSharePluginConfig>
Remarks
- The metadata fields specified in the
workingsetsection of each plugin should NOT be specified with anishvaluetype. The specified fields are added to the context as internal field objects from which the plugin can request all value types.