Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.
The Content editor is a special type of subapp designed to handle content in flexible ways. You need the Content Editor module to use this subapp.
Its definition class ContentEditorSubAppDescriptor extends ContentSubAppDescriptor
, it therefore inherits all the properties from the Subapp descriptor. Additionally, ContentEditorSubApp
defines the content of its subapp through the ContentDefinition
property.
ContentEditorSubAppDescriptor
Here is a simplified example of a content editor subapp definition:
subApps: editor: class: info.magnolia.editor.app.ContentEditorSubAppDescriptor contentConnector: <simplified> actions: <simplified> contentDefinition: <simplified>
Node name | Value |
---|---|
editor | |
class | info.magnolia.editor.app.ContentEditorSubAppDescriptor |
contentConnector | |
actions | |
contentDefinition |
Note that the above definition is incomplete and would not work properly. See below for a complete app definition.
Properties:
<subapp-name> | required Subapp node name. This is the internal ID of the subapp. In the above example it is |
| required Must be |
| required The content connector specifies the data source, see content connector definition for further details. |
| required The actions, see Action definition. |
| required A definition of content consisting of outline fields and a list of blocks (see below). |
ContentDefinition
ContentDefinition
is a property of the ContentEditorSubAppDescriptor
which defines the outline fields and a list of blocks to be used by the subapp. Its definition class is ContentDefinition .
Example:
contentDefinition: outlineFields: <simplified> blocks: - text - image - video - externalLink initialBlock: text defaultBlock: image
Node name | Value |
---|---|
contentDefinition | |
outlineFields | |
blocks | |
0 | text |
1 | image |
2 | video |
3 | externalLink |
initialBlock | text |
defaultBlock | image |
Properties:
outlineFields | required A list of FieldDefinition items. See Field definition for further information about how to configure a field. The outline represents the structured part of the content item to be edited, such as the title, author, creation date and so on. |
blocks | required A list of blocks. |
| required Specify the block by its name. You can only use the blocks which are known to the BlockRegistry . |
initialBlock | required The name of the block that will be created as the initial block when creating a new content item. |
defaultBlock | required The name of the block which will be selected by BlockPickerField . |
A complete example
Below is a complete example of an app which contains one subapp of the ContentEditorSubAppDescriptor
type. The content editor subapp starts at line 359.