Glossary
Neos 9
This page is for Neos 9.0 with the new Event Sourced Content Repository.
Node
Node: Smallest block in the Content Repository. A Node is identified by an id (Node Aggregate Id) and has a Node Type that specifies its schema.
Node Aggregate: Collection of Nodes. Combines the variants of one Node in all occupied Dimensions Space Points.
Node Aggregate Id: The identifier used to address all variants of a Node and all subgraphs [v8: nodeIdentifier].
Node Variant: A version of a Node in a different Dimension Space Point.
Specialization: A more specific variant of a node like EN_UK
related to EN
.
Generalization: A more generic variant of a node like EN
to EN_UK
.
Node Address: Combines Content Repository Id, Workspace Name, Dimension Space Point and Node Aggregate Id to address and identify one Node. Can be serialized to JSON or string and is meant to be transferred.
Node Type
Node Type: Schema that specifies which Properties, References, Constraints and Super Types can be applied to a Node.
Super Type: A Node Type can have multiple other Node Types as Super Types and will inherit all settings from those. After that, the settings of the Node Type are applied.
Node Type Name: A string to identify a Node Type. Contains a Package Key and a local Name, separated by colon. Example: Vendor.Site:Document.HomePage
.
Property: A datum of a Node, as specified by the Node Type.
Property Scope: Properties have one scope of node
, nodeAggregate
or specializations
. The default scope is node
which affects a single Node Variant. The scopes nodeAggregate
and specializations
ensure that properties are identical across Node Variants.
Node Hierarchy
Node Name: A string used to directly address a child node from the parent without having to use the Node Aggregate Id. Has to be unique inside a parent node. Tethered Nodes always have a Node Name, other types of Nodes can have a Node Name, but it is not required.
Reference: A Reference creates a named relation between nodes. References can be used from the referencing and the referenced side [v8: property type: reference/references].
Tethered Node: A Tethered Node is always connected to another Node and is defined in the Node Type configuration of its parent Node. It cannot be moved, deleted or hidden [v8: autocreated childNodes].
Constraint: A set of rules that defines, which Node Types can be created as children of a certain Node Type.
Dimensions
(Content) Dimension: Each dimension represents an axis of variation for Nodes in the Dimension Space. Has a Content Dimension Name and allowed Content Dimension Values [v8: ContentDimension].
Dimension Space: Combination of multiple Content Dimensions.
Inter Dimensional Variation Graph: Specification of allowed points in the Dimension Space and fallback rule in between [v8: dimension fallbacks].
Dimension Space Point: A combination of dimension Values referencing a point in the Dimension Space. Has to be allowed by the Inter Dimensional Variation Graph [v8: targetDimension].
Workspaces
Workspace: Collection of changes to the Content Repository. Can be a personal workspace of a user or a shared workspace for collaboration.
Workspace Name: A string identifying a workspace. The name live
is reserved.
Visibility
Subtree Tags: Subtree Tags mark a node and all its descendants. The are used to implement functionalities like hiding Nodes but can be used for other purposes as well.
Visibility Constraint: List of conditions (Subtree Tags) that specify which Nodes are not included in a Subgraph [v8: contentContext invisibleContentShown inaccessibleContentShown].
Content Repository
Content Repository Registry: Manages multiple Content Repositories that each have a distinct configuration.
Content Repository: Central Node storage. Allows commands for mutations, updates projections like the Content Graph Projection which provide the Content Graph for read access.
Content Repository Id: A string identifying a single Content Repository.
Content Graph: Read model to access Content Subgraphs in a specific Workspace. Is updated by the Content Graph Projection when events are observed.
Content Subgraph: Read model for the Content Repository for a specific Dimension Space Point and Visibility Constraint [v8: contentContext (dimensions, targetDimensions, workspace].
Commands and Events
Command: An object that describes an intended mutation for the Content Repository (Example: SetNodeProperties
, MoveNodeAggregate
) Is handled by the Content Repository and can be rejected. If the command is applied successfully, Events are added to the Event Store.
Command Hooks: Are called before a command is handled and allow to modify commands beforehand. In addition they are also notified after commands are processed which allows to raise follow up commands.
Content Stream: List of Events that happen in a specific Workspace.
Content Stream Id: Identifies a specific Content Stream.
Event: An object that describes a mutation of the ContentGraph that was successfully applied (Example: NodePropertiesWereSet
, NodeAggregateWasMoved
). Events are emitted by the Content Repository during command handling.
Event Store: A store for all past events in a fixed order. Contains multiple Content Streams.
Projection: Monitors the Event Store and updates a read model once new Events are observed.
Catch Up Hooks: Are called during and after a projection is updated. This allows to run code that depends on an updated projection state like cache flushing.
Content Graph Projection: Is the primary projection of the Content Repository and updates the Content Graph read model.