IWriteBaselineItemsPlugin - OnObjectChangeSendEvent
Sends an event when the baseline is created or changed.
Event triggers
This event is triggered by one of the following:
- The baseline is created.
- An object is added to the publication.
- An object is removed from the publication.
- An object in the publication has its version changed.
- A metadata property of the baseline is changed, such as its name or its active status.
- The baseline is frozen.
This event is not triggered if a change is made to the contents of an object in the publication (without changing its version).
Plugin Configuration
The following workset fields need to be configured:
| Fields |
|---|
The names and levels of the fields specified in the RequestedMetadata parameter |
The following parameters can be configured:
| Parameter | Required | Default value | Allowed values | Description |
|---|---|---|---|---|
EventType | yes | none | The event type indicates which handler executes the background task. The value must match the event type of the handler specified in the Background Task Configuration XML. | |
RequestedMetadata | no | none | an ishFields metadata XML structure | Defines the names and levels of the fields to pass as additional metadata of the event. |
SetHashId | no | yes | yes, no | When creating a background task, you can provide a HashId. Whenever the background task service picks up tasks, it will check if there are tasks with the same HashId. If there are tasks with the same HashId, it will only execute the last task and skip all the previous ones. The parameter SetHashId can be used to indicate if you want to set a HashId or not.
|
WaitTime | no | 00:00:10 | a time span | A time span indicating how long the background task service should wait before picking up this event. This allows synchronous updates to be finished before the background task starts.
|
ForceLegacyDateTime | no | no | yes, no | Indicates whether to consider legacy Datetime format for date type fields or Zulu format. For example, with ForceLegacyDateTime set to no, dateTime is, say, 2023-12-31T23:12:31.789Z, otherwise dateTime is, say, 01/01/2024 01:12:31. |
Event data
The event data XML sent with the event contains:- An
ishfieldssection with the current field values.VERSION,DOC-LANGUAGEandFRESOLUTIONare sent by default if their values are available.- Fields provided in the
RequiredMetadataparameter
- An
ishchangessection with the original and current values of the changed fields in theRequestedMetadataparameter. This section is omitted if none of theRequestedMetadataparameter's fields have been modified. - An
ishbaselineitemssection containing the new, updated or removed items
Raises an event when the baseline changes including changes on baseline items. Note the condition on
ISHType:
<plugin name="RaiseBaselineSyncUpdateEvent" handler="ObjectChangeSendEvent" ishcondition="ISHType='ISHBaseline'">
<description>Raises an event when the baseline changes including changes on baseline items</description>
<workingset>
<ishfields>
<ishfield name="FISHDOCUMENTRELEASE" level="none" />
<ishfield name="FISHBASELINEACTIVE" level="none" />
<ishfield name="FISHLABELRELEASED" level="none" />
<ishfield name="MODIFIED-ON" level="none"/>
</ishfields>
</workingset>
<initialize>
<parameters>
<parameter name="EventType">SYNCHRONIZEBASELINE</parameter>
<parameter name="RequestedMetadata">
<ishfields>
<ishfield name="FISHDOCUMENTRELEASE" level="none" />
<ishfield name="FISHBASELINEACTIVE" level="none" ishvaluetype="element"/>
<ishfield name="FISHLABELRELEASED" level="none" />
<ishfield name="MODIFIED-ON" level="none" />
</ishfields>
</parameter>
<parameter name="SetHashId">no</parameter>
<parameter name="WaitTime">00:00:10</parameter>
</parameters>
</initialize>
</plugin>The event data looks like this:
<ishobject ishref="GUID-327AE23F-64C5-4464-BF57-E35790B79FD8" ishtype="ISHBaseline">
<ishfields>
<ishfield name="FISHDOCUMENTRELEASE" level="none">MP330-v5-2023-0826T13:33:02Z</ishfield>
<ishfield name="FISHBASELINEACTIVE" level="none" ishvaluetype="element">TRUE</ishfield>
<ishfield name="FISHLABELRELEASED" level="none">No</ishfield>
<ishfield name="MODIFIED-ON" level="none">20/12/2023 11:22:33</ishfield>
</ishfields>
<ishchanges>
<ishchange sequence="2">
<ishfieldchange name="MODIFIED-ON" level="none">01/12/2023 16:20:10</ishfieldchange>
</ishchange>
<ishchange sequence="1">
<ishfieldchange name="MODIFIED-ON" level="none">20/12/2023 11:22:33</ishfieldchange>
</ishchange>
</ishchanges>
<ishbaselineitems>
<object ref="GUID-30956BCB-576E-4180-9CE4-044B7E9474A3" versionnumber="4" action="update"/>
<object ref="GUID-185128C1-40B4-4A3B-A2FF-C8C9DA505FFB" versionnumber="1" action="new"/>
</ishbaselineitems>
</ishobject>