EventType
EventTypes are system events being distributed over ActiveMq when certain events happen. These can be configured via API or via Configuration UI.
VidiControl Product Events
This list shows all VidiControl product events. There may be more, adapter-specific events. Please refer to the Placeholders section of this document for a list of placeholders that can be used.
Event Name | Description |
---|---|
Swp08Router.switchFailed | Triggered when router switch failed. |
JSON
| |
Swp08Router.switchSuccess | Triggered when router switch was successful and switching was triggered by VidiControl (and not via external switch, panel, etc). |
JSON
| |
Swp08Router.switchExternal | Triggered when router successfully switched and the switch was triggered externally (via panel, etc. VidiControl did not initiate the switch.) |
CODE
| |
VidiControl.chunkDeleted | Triggered when a chunk has been successfully deleted. |
JSON
| |
VidiControl.chunkChanged | Triggered when a chunk has been successfully changed. |
JSON
| |
VidiControl.chunkCreated | Triggered when a chunk has been successfully created. |
CODE
| |
VidiControl.vidiCoreItemCreated | Triggered when an item (VidiCore) has been successfully created. |
JSON
| |
VidiControl.commandExecutionTimeOutError | Triggered when the executiontime of a command is timed out. |
JSON
| |
VidiControl.commandExecutionInvalidDeviceError | Triggered when a command refers to an invalid (deleted or orphaned) device. |
JSON
| |
VidiControl.commandExecutionDeviceStatusError | Triggered when the device responds with an error while command execution. |
CODE
| |
VidiControl.commandExecutionDeviceOffline | Triggered when the device attached to the command is currently offline. |
JSON
| |
VidiControl.commandExecutionDeviceDeleted | Triggered when the device attached to the command is in state ‘Deleted’. |
CODE
| |
VidiControl.unknownCommandExecutionError | Triggered when the device does not respond (caused by connection issues, misconfiguration etc). |
JSON
| |
VidiControl.commandStatusChanged | Triggered when the state of a command changed caused by command execution. |
JSON
| |
VidiControl.chunkStatusChanged | Triggered when the state of a chunk changed caused by command execution. |
JSON
| |
VidiControl.deviceStateChanged | Triggered when the state of a device was changed. |
JSON
| |
VidiControl.invalidBackendValue | Triggered when a backend config value was read but had the wrong type |
JSON
| |
VidiControl.recurrenceChanged | Triggered when a recurrence object was changed. |
JSON
| |
VidiControl.recurrenceDeleted | Triggered when a recurrence object was deleted. |
JSON
| |
VidiControl.vidiCoreRelationChanged | Triggered when a child/parent releation in vidiCore was changed |
JSON
| |
VidiControl.vidiCoreObjectNotFoundError | Triggered when a collection that should be set as parent collection cannot be found in VidiCore |
JSON
| |
VidiControl.virtualChunkDeleted | Triggered when a virtual chunk was deleted |
JSON
| |
VidiControl.virtualChunkInstanciated | Triggered when a virtual chunk was instanciated |
JSON
| |
VidiControl.notAssignedChunkFound | Triggered when the backend detects a recording that starts in the configured warning timespan but has not yet an inport assigned. |
JSON
| |
VidiControl.virtualChunkCollisionDetected | Triggered when the backend detects a virtual chunk that starts in the configured warning timespan and could not be instanciated at the moment. |
JSON
| |
VidiControl.notAssignedChunkWasAssigned | Triggered when the backend detects that a formerly not assigned chunk was assigned to an input port and if an action for this missing assignment was already created. |
JSON
| |
VidiControl.virtualChunkCollisionResolved | Triggered when the backend detects that a virtual chunk that was formerly detected as not instanciable can now be instanciated. |
JSON
| |
VidiControl.userTriggeredActionResolution | Triggered if an user manually marked an action as resolved. |
JSON
| |
VidiControl.actionCreated | Triggered when an action was created. |
JSON
| |
VidiControl.actionUpdated | Triggered when an action was updated. This is ony triggered if the update isn’t a resolution of the action. Otherwise VidiControl.actionResolved is used. |
JSON
| |
VidiControl.actionResolved | Triggered when an action is resolved either automatically or manually. |
JSON
| |
VidiControl.actionDeleted | Triggered when an action is deleted. |
CODE
|
Content JSON Datastructure
The Content object consists of two fields, action
and input
. Depending on the action, the input structure may vary.
The Content JSON structure is defined in the configuration depending on the message consumer needs. All examples below show the frontend needs.
Actions
In this section, the different action values with their corresponding input structures are described. It is allowed to configure unlimited actions per event. Even several actions of the same type are allowed.
NotifyClient
Consumer of this action is the ProxyAPI to notify web clients about an update.
Action: notifyClient
Input:
Field | Type | Description | Example |
---|---|---|---|
Timestamp | string |
| |
ChunkId | string |
| |
UpdatedNeeded | boolean | Whether the GUI should be updated regarding this event. | true |
MessageType | string |
| |
Emitter | string |
| |
Severity | string | The severity of the the Message. Possible Values: Information, Warning, Error | Information |
Message | object | Message to be displayed in different languages |
CODE
|
StartWorkflow
Action: startWorkflow
Input:
Field | Type | Description | Example |
---|---|---|---|
Name | string | The name of the Workflow to start | WF_Import |
Version | string | The version of the workflow to start, supports Semantiv Versioning, see Semantic Versioning for Workflows and Rules [VF UG] | LATEST |
Data | object | this field contains a list of parameters with name, type and values |
JSON
|
NotifyCustom
Consumer of this action is the ActiveMq topic to notify external moules listening.
Action: notifyCustom
Input can be freely configured and depends on the actual configuration and consumer. Example for Update Metadata on VidiControl.chunkChanged event:
[
{
"action": "notifyClient",
"input": {
"TimeStamp": "{-{Placeholder_TimeStamp}-}",
"ChunkId": "{-{Placeholder_ExternalChunkId}-}",
"UpdateNeeded": true,
"MessageType": "{-{Placeholder_MessageType}-}",
"Emitter": "{-{Placeholder_Emitter}-}",
"Severity": "Information",
"Message": [
{
"Lang": "en_US",
"Text": "The chunk has been changed"
},
{
"Lang": "de_DE",
"Text": "Der Chunk wurde verändert"
}
]
}
},
{
"action": "notifyCustom",
"input": {
"operation": "updateMetaData"
}
}
]
CreateAction
Action: createAction
Input:
Field | Type | Description | Example |
---|---|---|---|
ExternalAffectedObjectId | string | External ID of the object this action refers to | CGN-d0GJ |
AffectedObjectType | string | Type of the object the ExternalAffectedObjectId refers to. | Chunk VirtualChunk |
ActionType | string | Type of the action | VirtualChunkCollision NotAssignedChunk |
Emitter | string | Module that initiates creating the action | SchedulerCore |
ActionCode | integer | Status code that describes the reason, user action is necessary. For example in case of a virtual chunk collision the error code thrown by the pre check is stored here. | 460 |
ActionMessage | string | Message that describes the reason, user action is necessary. For example in case of virtual chunk collision the error message thrown by the pre check is stored here. | Commands cannot be scheduled due to blocked devices |
AffectedObjectTimeStamp | DateTime | Time the action should be resolved at (e.g. start of a virtual recording) | 2024-05-04T16:25:00Z |
ResolveAction
Action: resolveAction
Input:
Field | Type | Description | Example |
---|---|---|---|
ActionId | long | Id of the action that should be resolved | 123 |
ResolvingUser | string | User that triggered the action resolution. If this is empty, an automatic resolution is assumed, otherwise a manual resolution by this user | admin |
ResolvedDateTime | DateTime | Time the resolution took place | 2024-05-04T16:25:00Z |
DeleteAction
Action: deleteAction
Input:
Field | Type | Description | Example |
---|---|---|---|
ActionId | long | Id of the action that should be deleted | 123 |
externalChunkId | string | External Id of the chunk where each assigned action should be deleted. This is only evaluated if action id is not set | CGN-0B |
DeleteActionsWithMissingReferencedObjects
Action: deleteActionsWithMissingReferencedObjects
Deletes all actions that refer to virtual chunks of a given recurrence that don’t exist any more e.g. because of a change of the recurrence pattern.
Input:
Field | Type | Description | Example |
---|---|---|---|
ExternalRecurrenceId | string | External ID of the recurrence whose external chunks should be checked against | CGN-0B |
MoveActionsToInstantiatedChunk
Action: moveActionsToInstantiatedChunk
Moves all actions from a virtual chunk to the real chunk instantiated from it. If there are unresolved actions that would normally prevent a virtual chunk from being instantiated (like a VirtualChunkCollision action) they are resolved.
Input:
Field | Type | Description | Example |
---|---|---|---|
ExternalChunkId | string | Id of the instantiated chunk | CGN-0B |
VirtualChunkId | string | Id of the virtual chunk the real chunk was instantiated from | vid-CGN-vLbV-CGN-34rJQ6 |
Placeholders
These Placeholders in the system are substituted with their current value.
Not all placeholders are available in all events. Some placeholders are only available for Swp08Router events.
Events which do not belong to a physical chunk or command are not supporting placeholders depending on a chunk (e.g. VidiControl.virtualChunkDeleted, VidiControl.DeviceStateChanged)
Placeholder | Scope | Example Value |
---|---|---|
{-{Placeholder_ExternalBookingDefinitionId}-} | All | VCR-CM0B |
{-{Placeholder_ExternalBookingId}-} | All | VCR-CYOB |
{-{Placeholder_ExternalChunkId}-} | All | VCR-JHG3 |
{-{Placeholder_ExternalCommandId}-} | All | VCR-UZGS |
{-{Placeholder_VCCollectionId}-} | All | COLLECTION-VX-654241 |
{-{Placeholder_VCItemId}-} | All | ITEM-VX-5746 |
{-{Placeholder_VCSequenceItemId}-} | All | ITEM-VX-6732 |
{-{Placeholder_MessageType}-} | All | chunkStatusChanged |
{-{Placeholder_Emitter}-} | All | ChunkProcessor |
{-{Placeholder_ErrorMessage}-} | All | Error while executing … |
{-{Placeholder_ErrorType}-} | All | chunkStatusChanged |
{-{Placeholder_TimeStamp}-} | All | 2022-11-03T12:08:31.5434113Z |
{-{Placeholder_ChunkExecutionState}-} | All | Pending |
{-{Placeholder_InportLabel}-} | Swp08Router.* | Source_002 |
{-{Placeholder_OutportLabel}-} | Swp08Router.* | FEED22 |
{-{Placeholder_ExternalInportId}-} | Swp08Router.* | VCR-AG |
{-{Placeholder_ExternalOutportId}-} | Swp08Router.* | VCR-0B |
{-{Placeholder_ExternalDeviceId}-} | VidiControl.DeviceStateChanged | VCR-oNo |
{-{Placeholder_DeviceState}-} | VidiControl.DeviceStateChanged | Online, Offline, Deleted |
{-{Placeholder_VirtualChunkId}-} | VidiControl.virtualChunkDeleted | vid-M2b-Gw8l5G |
{-{Placeholder_VCParentCollectionId}-} | VidiControl.vidiCoreRelationChanged | COLLECTION-VX-654241 |
{-{Placeholder_VCRelationType}-} | VidiControl.vidiCoreRelationChanged | CollectionRemovedFromParentCollection |