Implementors provide easier access to DAM collections for managing the associated content of a content fragment.
Implementations of this interface allow accessing elements of a content fragment in a way agnostic to the underlying data structures.
Implementations of this interface allow to access content fragments through a stable API, independently from the actual content structure.
Implementations of this interface provide means to manage content fragments.
Implementations of this interface allow to access a variation of a content element through a stable API, agnostic to the underlying content structure.
Represents a data type for structured content provided by a Content Fragment.
Implementations of this interface allow to access an element template through a well-defined API, without needing to care about the underlying content structure.
Represents a piece of content (or data) provided by a content fragment.
Implementations of this interface allow to access the fragment template in a standardized way, independently of the actual content structure.
Implementations of this class provide access to the meta data definition of a template.
Implementations of this class represent a single meta data definition.
Implementors provide some essential definitions of a variation.
Implementations of this interface allow accessing a variation template in a standardized way, without requiring knowledge about the underlying content structure.
Implementations of this interface provide means to version their content.
Represents a version of a content item (like the entire fragment, an element or a variation of it).
Represents the content of a specific version of a content item (be it the element master or a variation of it).
Defines the type string (see
Enumeration that defines the synchronization state of a "slave" variation against the respective element master.
This class represents a generic exception in handling content fragments.
Defines the basic API for creating and managing Content Fragments.
Main purpose of this API is to abstract the corresponding content structure and provide convenience methods to manage a fragment.
Each content fragment must have at least one element, but can finally consist of multiple elements. Variations are completely optional.
Content (= text fragments) is managed both on the element and the variation level.
This means: To access an element's text, first retrieve the element, then use the
respective methods to access the text and its MIME type (note that the
com.adobe.cq.dam.cfm.converter API provides means to get a standardized HTML
representation of the fragment).
After adapting the resource, you can access and manipulate the fragment using the respective methods of the API.
Note that the API doesn't assume auto-commit. This means that you have to
org.apache.sling.api.resource.ResourceResolver explicitly after
manipulating the fragment.
The API is not explicitly designed for sharing its objects between multiple thread, so the user has to take care of correct synchronization should the use case require shared access.
com.adobe.cq.dam.cfm.converter API provides means to create an HTML
representation for content that leverages other formats like plain text or Markdown.
It is also used to convert formats back and forth.
com.adobe.cq.dam.cfm.content API is leveraged for post-processing the
content of a fragment instance, before it eventually gets rendered within a specific
context. "Fragment instance" in this case means a single occurrence of the fragment in
a page (for example).
Version 1.1 of the API introduces typed data, extending the purely text-based fragments of version 1.0. Fragments based on typed data are called "structured fragments".
The content structure of both fragment types are different. On the API level, they are handled interchangeably: You don't need to explicitly care if you stay within the borders of the system, i.e. stick to the data types that a fragment exposes. To further lower the barrier, the class that is used for wrapping data provides some type conversation rules that allow to access text-based fragments in a typed way.
The changes in the API are mainly related to adding support for typed data to elements and variations. Also, some help with converting data (mainly required for text-based fragments) is provided.
Copyright © 2010 - 2020 Adobe. All Rights Reserved