Metadata API

The Metadata is a hierarchical structure describing the data in a job. It is composed of 5 basic levels, from top to bottom: Job, Group, Document, Datapage, and Page.
There is a set of plugins that allow to edit the Metadata during a Workflow process (see Metadata tasks), but you can also manipulate the Metadata in your process via scripts using the Metadata API.

In the Metadata API, each unit, on all levels in the hierarchy, is represented by an object called a Node.
A Node item is a collection of its lower level node type items. At the top of this tree sits a single Node object named MetaJob. The MetaJob is a collection of MetaGroup objects, where each MetaGroup is a collection of one or more MetaDocument objects. In turn, MetaDocument objects hold MetaDatapage objects, which have MetaPage objects.

In addition, a Node contains a collection of Attributes and can contain any number of Fields.

All of these objects are contained in a MetaFile object, and they are obtained, directly or indirectly, through methods of this object.

Note: In an OL Connect job, only the first three levels in the Metadata hold information about the job: Job, Group and Document. A Group has information about a record set in the Connect database and a Document has information about one record in that set. This information appears in the Fields collection of the respective Node object. (When viewing the Metadata file, this information is visible under 'User defined information'.) The Data Model fields are added into the Document level.

Be aware that changing the order and location of the various Node objects (except for the Page object) within the Metadata structure, and/or setting the Selected property of a Node, may affect the output of a job (see Including or excluding nodes from the output and How Metadata affects the output).

Note: When timestamps are processed as strings (as in the Workflow Metadata), and if they are being parsed manually, keep in mind that date strings conforming to ISO 8601 or expressed in milliseconds (Unix epoch time, for instance 1611607555000) are stored as UTC timestamps in the OL Connect database. In the output, they are written as ISO 8601 date string values: YYYY-MM-DDTHH:MM:SSZ.