Story
Every content on a platform is a Story. Each story has an author, at least one version, and a Space.
Story Version
A version of a story contains a publish status and the content of the story, this include: the title, the body, the assets, and some attributes (see Attribute section below).
Translations
Stories can be translated into any of the languages defined by the platform settings.
When using translations, each version will modify only one language but will contain all the translations available.
Example:
Considering a story which first version is in french, creating a new version with the language set to English will result in a new version with modification in the English language and the French version being the same as the latest French version.
Body
Stored in a story version, it accepts different formats, including HTML and Slate. We strongly advise to use the HTML format, as it is more standard.
Attribute
An attribute is defined in a Schema which a story can be linked to (see Schema section below). It can be of different type (Int, String, Date,...) and contains a value (See ValueWrapperType
in the graphql documentation).
In a story the attributes are versioned with each story version but can't be translated.
Builtins
Builtins have the same structure as attributes, but unlike attributes, they are not related to a schema. Instead, they represent basic metadata about a story, such as the title, a source, etc.
Schema
A Schema (called Template in the UI) can be set on a story on creation. The schema serves as a model to the story. It can be translated and can contain a default title, a set of Attributes, and a body where you can specify text and different block placeholders.
The schema of a story cannot be changed after creation.
Asset
An asset is usually used to link a file or a URL to a story. Most assets are either found in the body or as story main asset (see Main Asset section below). There are multiple types of asset (see AssetType
in the graphql documentation).
To get more information (thumnails, summary, preview, ... ) you probably need to fetch the embed
field of FileAsset
or URLAsset
.
Main Asset
A story can have one main asset. It can either be a FileAsset
(representing an uploaded file) or a URLAsset
(an external link).
From that, depending on the AssetType
you can extract a thumbnail that will be served as a "story thumbnail".
You can override the thumbnail using a preview coverAsset
. This is exclusively a FileAsset
(and probably only a picture).