Admin.XMLWriteObjPluginConfig.xml
The Admin.XMLWriteObjPluginConfig.xml file contains the configuration used when writing plugins.
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
This configuration file is accessible from the Content Manager Web Client. Select .
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.
Supported conditions
| Condition name | Description |
|---|---|
| ISHType | The type of the object: ISHMasterDoc, ISHModule, ISHIllustration, ISHTemplate or ISHLibrary. |
| ISHLevel | This controls when to execute the plugin depending on the level of metadata that are updated. The allowed values are: When updating the language level metadata, the system operates as if the metadata from all levels are updated. This means that in this update context, the ISHLevel condition will be true for all allowed values. |
| FMAPID | The unique identifier of the logical level (= LogicalId). |
| VERSION | The version number of the object. |
| DOC-LANGUAGE | The language(s) of the object. |
| FSOURCELANGUAGE | The source language of the object. |
| FRESOLUTION | The resolution of the illustration. |
| EDT | The element name of the EDT (e.g. EDTXML) |
| ISHUserGroup | The element names of the user groups which has write access to the object (e.g. VUSERGROUPSYSTEMMANAGEMENT) |
| CurrentAction | The API method which is currently executed like Create, Update, Checkin, SetMetadata, CheckOut, UndoCheckOut and CreateTranslation. |
| Condition name | Description |
|---|---|
| ISHType | The type of the object: ISHPublication. |
| ISHLevel | This controls when to execute the plugin depending on the level of metadata that are updated. The allowed values are: When updating the language level metadata, the system operates as if the metadata from all levels are updated. This means that in this update context, the ISHLevel condition will be true for all allowed values. |
| FMAPID | The unique identifier of the logical level (= LogicalId). |
| VERSION | The version number of the publication. |
| DOC-LANGUAGE | The language(s) of the publication output. |
| FISHPUBLNGCOMBINATION | The language combination of the publication output (e.g. en+fr+de). |
| FISHOUTPUTFORMATREF | The output format of the publication output. |
| ISHOutputFormat | The output format of the publication output. |
| ISHOutputFormat.* | All fields from the output format of the publication output. The condition name is the element name of the field prefixed by
For example:
|
| EDT | The element name of the EDT matching the output format (e.g. EDTZIP). |
| ISHUserGroup | The user groups which has write access to the publication (e.g. VUSERGROUPSYSTEMMANAGEMENT) |
| CurrentAction | The API method which is currently executed like Create and SetMetadata |