Structure driven operations
A CMS can build complex documents assembling components during view, edit or export operation. The assembly can be controlled by metadata, structured links or both. It can apply filters defined by metadata on component variants … etc.
It seems like a customization, but actually a CMS can implement this as a generic out of box operation.
Split & join
While content assembly happens “on the fly” and does not modify the CMS objects, split and join does.
The user can select an element in the content and the system can split the content at this point into a master plus sub document and create a link in between them. The user can also say that she wants to split all paragraphs on a certain level or below a chapter.
Usually content object granularity is determined at an early stage of a CMS project. Still there will be new requirements constantly for what the system has to adapt. Thus granularity can also change over the time. This high level generic operation is a powerful tool in the user’s hand. Without this, granularity level changes can only be fixed by the software vendor via complex remigration.
Split comes also handy if the user wants to reuse part of the text. Then the reused text will be a subdoc which is linked from more than one master.
Join works the inverse way between two or more documents if they have master - subdocument relationship (link).
Data insertion & extraction
Sometimes we need data exchange between the content and the metadata fields.
Some data can be updated easier as metadata (not as part of the content) or it comes from an external source, but still it has to be rendered as part of the content. For such situation the system can be configured to insert this data into the content automatically (triggered by certain operations). The content position can be addressed similarly to content linking, typically either by an ID attribute or with a path expression.
Data extraction is similar. We want to expose a part of the content as metadata. Usually this is not text (sentences), but data defined directly in the content as part of the editorial process. More about text versus data in the next chapter.