Ressources
Remarks
table entry:
Handling of the The
|
Tags are used to describe the status of an object within a process chain independently of the object's metadata, which means no need of definition in the schema and no triggering of new versions. |
|
In document lifecycle management, multi-stage and asynchronous processes are not uncommon—quite the contrary. The first process steps are carried out with the highest priority. More complex and currently not absolutely essential process steps are carried out asynchronously with a lower priority. This saves time, and carrying out operations in parallel lets you distribute resources more evenly. To resume a process chain, additional information about the current status of the process is necessary. In order to not mix an object's metadata with its status data, there is the possibility to tag objects.
Objects can be searched by tags and selected for the next process step. All tagging activities are recorded by the yuuvis® system in the object history (Audit Trail). Thanks to this, you can always retrace who has done what and when. Trouble shooting, reporting on the process status or general issues are made easy by this centrally stored history.
The special feature of tags is the independence of versioning and schema definitions. The tags of an object are always attached to the current version, whereas previous versions cannot have tags. For version-specific information, metadata provide the suitable options. They have to be defined in the Schema.
Tags can be set in any object creation body in the system property system:tags
. In the same way, it is also possible to set tags for the new version of an object in any POST/PATCH update call. A POST update without the explicit specification of already existing tags will remove them from the corresponding object.
Furthermore, there are endpoints for pure tag operations that do not trigger a new version of the corresponding object, but only a new entry in the audit trail:
/api/dms/objects/{objectId}/tags
/api/dms/objects/{objectId}/tags/{name}/state/{state}
/api/dms/objects/{objectId}/tags/{name}/state/{state}?overwrite=true
/api/dms/objects/{objectId}/tags/{name}
/api/dms/objects/tags/{name}/state/{state}?query=<SQL>
Tags are defined by the following properties:
Property | Type | Description | In a request |
---|---|---|---|
name | String | Name of the tag for identification. It has to be unique for the corresponding object. | required |
state | Integer | Represents the status of the corresponding object in a process chain. | required |
creationDate | String | Date and time of the last modification of the tag. It is set automatically by the system. | optional, only available in search queries |
traceid | String | Unique process number of any tag operation. If not specified in the request, a random String value will be set after any tag operation. If specified in an update or deletion request, the operation will be done only if the the value matches the current | optional, specified by means of the HTTP header X-B3-TraceId |
In a request, the corresponding properties are included directly in the URL for the call of the endpoint. In contrast, if tags are displayed in a response body, their properties are listed as a part of a JSON structure in the value
of the property system:tags
.
traceid
The traceid
is a unique process number that provides the possibility to tune the update or deletion permissions for the tag. As an optional property, the endpoints allow for two different scenarios:
traceid
The endpoint does not check the current traceid
of the tag to be updated or deleted. In case of an update, a new random traceid
will be set.traceid
The update or deletion endpoint takes the traceid
from the request and compares it to the current traceid
of the requested tag. The update or deletion operation will be performed only if the values are matching. Thus, the tag can only be updated or deleted if the previous traceid
is known to the caller.This article gave an introduction into the handling of tags as a feature of the lifecycle management of objects in yuuvis® Momentum. In the "Tagging Objects for Processing" tutorial, an exemplary use case is explained.
Read on
|