...
Page Properties | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Ressourceshttps://wiki.optimal-systems.de/pages/viewpage.action?pageId=57442949 Remarks
Not needed anymore: In modern data processing chains, asynchronous operations become more and more popular. Concerning the administration of such complex procedures, a status measure is essential. The lifecycle of any object needs to be documented with a view to a general knowledge on the current state of progress, and in order to enable the prosecution of interrupted processes. If the object status would be located in the metadata, each pass through a multi-stage processing chain would create a completely new version of the whole object, that needs to be stored in addition to the previous one. In contrast, the tags are treated separately. They always have a state and a unique traceid, which is a basis for external support as well as a possibility to control asynchronous operations. These additional features are stored together with the object, but they are completely independent on the metadata and on the object's version. In fact, they are always available for the current version. The management and modification of tags neither creates a new version nor triggers events that become due when objects are modified. The so assigned processing status reflects a concrete state of the object and serves as the basis for further transactions. |
Excerpt |
---|
Describe 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. |
...
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.
Characteristics of
...
Tags
- Tags describe the status of an object in a process chain.
- Tags can be added to any object. They are stored together with the object.
- Multiple tags can be added to one object.
- The tags specify the status information via an integer value. Additionally, tags have a unique process number that can be set with during the tag creation or will be randomly set after any tag operation.
- Any tag operation is documented in the object audit trail.
- Tags do not belong to the metadata and thus do not need to be fixed defined in the schema. Moreover, tag operations do not lead to the creation of a new object version.
- The tags Tags are always available always for the current object version.
- The properties of tags are included in the searchable data.
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 can not cannot have tags. For version-specific information, metadata provide the suitable options. They have to be defined in the Schema.
...
- Retrieve object tags by ID – GET
/api/dms/objects/{objectId}/tags
- Add object tag by ID – POST
/api/dms/objects/{objectId}/tags/{name}/state/{state}
- Update object tag by ID – POST
/api/dms/objects/{objectId}/tags/{name}/state/{state}?overwrite=true
- Delete object tag by ID – DELETE
/api/dms/objects/{objectId}/tags/{name}
- Add/update object tag by search query – POST
/api/dms/objects/tags/{name}/state/{state}?query=<SQL>
Tag Properties
The tags Tags are defined by the following properties:
Property | Type | Description | In a Requestrequest |
---|---|---|---|
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 processing 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 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
.
...
- Call with
traceid
The update or deletion endpoint takes thetraceid
from the request and compares it to the currenttraceid
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 previoustraceid
is known to the caller, the tag can be updated or deleted.
Summary
This article gave an introduction into the handling of tags as a feature for of the lifecycle management of objects in yuuvis in yuuvis® Momentum. In the tutorial "Tagging Objects for Processing" tutorial, an exemplary use case is explained.
...