UC Modify a Scheduled Recording
Motivation
In case of updates (e.g. start, duration or metadata have changed), an update of the scheduled recording is necessary.
Description
One has to differ between updating a booking definition or a chunk. Since a BookingDefinition is a container for a set of Chunk objects, changing a booking definition does not necessarily update all the chunks it contains.
In the majority of cases, it is sufficient to simply change the chunk.
Modify Chunk
Follow these steps to modify/update chunks:
Obtain newest version of chunk from API
Use GET /vidicontrol/schedulercore/SchedulerCore/BookingService/v1/Chunks/JMQZ?content=Commands
The ?content=Commands
query parameter is mandatory in this use case.
Example Response:
{
"id": "JMQZ",
"commandList": [
{
"id": "n50J",
"capabilityId": "wl",
"poolId": null,
"deviceId": "0B",
"executionTime": "2023-05-02T18:59:58Z",
"duration": 2,
"index": 0,
"executionState": "Pending",
"handling": "WaitForResult",
"content": "{\"action\":\"Switch\",\"input\":{}}",
"commandType": "CapabilityRouter",
"inPortId": "Jr",
"outPortId": "xd",
"routingList": []
},
{
"id": "Pp3Q",
"capabilityId": "0B",
"poolId": "wl",
"deviceId": "AN",
"executionTime": "2023-05-02T19:00:00Z",
"duration": 3600,
"index": 1,
"executionState": "Pending",
"handling": "WaitForResult",
"content": "{\"action\":\"Record\",\"input\":{\"targetPath\":null,\"profileName\":null}}",
"commandType": "CapabilityRecorder",
"inPortId": "Jr",
"outPortId": null,
"routingList": []
}
],
"vcItemId": "ITEM-VX-8233",
"metadata": null,
"start": "2023-05-02T18:59:58Z",
"end": "2023-05-02T20:00:00Z",
"executionState": "Pending",
"title": "Recording Test",
"clipId": null,
"parentInfo": {
"bookingId": "99Q4",
"bookingDefinitionId": "n6QN",
"bookingDefinitionType": 0
}
}
Change values in the response
As an example, the recording should be extended for one hour the title should be changed from “Test Recording” to “KPTN News”. The modified object is then:
{
"id": "JMQZ",
"commandList": [
{
"id": "n50J",
"capabilityId": "wl",
"poolId": null,
"deviceId": "0B",
"executionTime": "2023-05-02T20:59:58Z",
"duration": 2,
"index": 0,
"executionState": "Pending",
"handling": "WaitForResult",
"content": "{\"action\":\"Switch\",\"input\":{}}",
"commandType": "CapabilityRouter",
"inPortId": "Jr",
"outPortId": "xd",
"routingList": []
},
{
"id": "Pp3Q",
"capabilityId": "0B",
"poolId": "wl",
"deviceId": "AN",
"executionTime": "2023-05-02T21:00:00Z",
"duration": 3600,
"index": 1,
"executionState": "Pending",
"handling": "WaitForResult",
"content": "{\"action\":\"Record\",\"input\":{\"targetPath\":null,\"profileName\":null}}",
"commandType": "CapabilityRecorder",
"inPortId": "Jr",
"outPortId": null,
"routingList": []
}
],
"vcItemId": "ITEM-VX-8233",
"metadata": null,
"start": "2023-05-02T20:59:58Z",
"end": "2023-05-02T21:00:00Z",
"executionState": "Pending",
"title": "KPTN News",
"clipId": null,
"parentInfo": {
"bookingId": "99Q4",
"bookingDefinitionId": "n6QN",
"bookingDefinitionType": 0
}
}
Send it back to the API via PUT /vidicontrol/schedulercore/SchedulerCore/BookingService/v1/Chunks/