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.
Magnolia stores content in the magnolia
repository. The repository is further divided into workspaces.
List of workspaces
Workspaces in the magnolia
repository:
Workspace | What it contains | How to view it | Created by |
---|---|---|---|
category | Categories assigned to content. | Categories app | Categorization module |
config | Configuration for Magnolia and all modules. | Config app | Magnolia |
contacts | Sample contacts used in the Contacts app. | Contacts app | Contacts module |
dam | Digital asset management system storage for images and video. | Assets app | Digital Asset Management module |
forum | Page comments and forum posts. | Forums app | Forum module |
googleSitemaps | Sitemap data | Google Sitemap app | Google Sitemap module |
imaging | Dynamically created images used in teasers. | JCR Browser | Imaging module |
keystore | Passwords managed by the Passwords manager module. | JCR browser | Password manager module |
marketing-tags | Marketing tags – snippets of code inserted on Web pages. | Marketing Tags app | Marketing Tags module |
messages | Messages such as publication requests. | Pulse | AdminCentral module |
MgnlSystem | System information for Magnolia internal use. | ||
MgnlVersion | Versioning information for Magnolia internal use. | ||
profiles | User favorites (bookmarks) | Favorites | AdminCentral module |
resources | CSS files, JavaScript files | Resources app | Resources module |
rss | RSS feeds | Feeds app | RSS Aggregator module |
scripts | Groovy scripts | Groovy app | Groovy module |
stories | Sample blogposts used in the Stories app. | Stories app | Stories app |
tags | Content tags – keywords or terms assigned to an item of content. | Tags app | Content Tags module |
tasks | Tasks | Pulse | Task Management module |
templates | (typically nothing, legacy workspace for in-place templates) | JCR Browser | In-place Templating module |
tours | Tours of the travel demo. | Tours app | Tours module |
users | System, admin and public users. | Security app | Magnolia |
userroles | User roles and ACLs. | Security app | Magnolia |
usergroups | User groups. | Security app | Magnolia |
visitors | Visitor information for GDPR compliance. | Visitors app | Magnolia |
website | Web pages, areas and components. | Pages app | Magnolia |
In Magnolia we sometimes refer to a workspace as a "repository" for historical reasons. But it really is a workspace.
Adding a custom workspace
To add your own workspace:
- Create a module descriptor.
- Add a
repositories
section, aworkspaces
section, and register your workspace inside it. Optional: To register custom node types, add a
nodeTypeFile
section and provide a relative path to the XML file that defines the node types.
Example: The Contacts app module registers a workspace named contacts
in the magnolia
repository. It also registers a custom node type which is defined in a separate XML file. This is an abbreviated snippet from the complete Contacts app module descriptor.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module SYSTEM "module.dtd"> <module> <name>contacts</name> <displayName>Contacts App</displayName> <description>Contacts App</description> <version>${project.version}</version> <dependencies> <dependency> <name>ui-admincentral</name> <version>5.1/*</version> </dependency> </dependencies> <repositories> <repository> <name>magnolia</name> <workspaces> <workspace>contacts</workspace> </workspaces> <nodeTypeFile>/mgnl-nodetypes/magnolia-contacts-nodetypes.xml</nodeTypeFile> </repository> </repositories> </module>
Naming the workspace
In H2, the default JCR persistency layer in Magnolia 5.5+, the name (non-quoted)
- Must begin with a character from the A-Z range or with an undescore character.
In case of the Derby database, which was the default JCR persistency layer before the release of Magnolia 5.5, the ordinary identifier (i.e. the non-quoted name)
- Must begin with a letter and, contain only letters, underscore characters (_), and digits.
- The permitted letters and digits include all Unicode letters and digits, but Derby does not attempt to ensure that the characters in identifiers are valid in the database's locale.
For more information, see also
- SQL Grammar: Name (H2 site)
Rules for SQL identifiers (Derby site)