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 Timer Daemon to periodically create Batches 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 Complex Fields 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