Record Timers
Introduced in version 23.1
Introduction
We wish to generalize actions on records which have to be performed at a certain date in the future.
Examples include
Transition the record from the Published phase to https://mediahaven.atlassian.net/wiki/spaces/DEVELOPMENT/pages/3500277769
Deletion of objects after a certain retention time determined by management rules
Design
Uses a specific timed job created for the https://mediahaven.atlassian.net/wiki/spaces/CS/pages/3924295711 to periodically create https://mediahaven.atlassian.net/wiki/spaces/CS/pages/3500245010 to check if items have reached the date at which the record timer should fire for the record.
Properties
Name | Type | Description |
---|---|---|
Id | UUID | Primary key |
Name | String | Human readable name of the timer |
Field | String | The dotted key of the timer field for this record timer |
Batch |
| Which specific batch to create |
User | UUID | User will be used in the created batch |
Active | boolean | Whether this record timer is active |
Metadata
To the a new type has been added: TimerField extends MapField
which has the following mandatory sub-fields:
Sub field | Type | Purpose |
---|---|---|
|
|
|
|
| Automatically filled out when the record timer has been effectively been fired for the record |
Example
Archive Phase
Query:
+Timers.ArchivePhase.ExpectedDate:[* TO now()] -Timers.ArchivePhase.EffectiveDate:*
Batch task: standard engine batch task which changes the
RecordStatus -> Archived
and fills outArchivalDate