Magnolia 6.0 reached end of life on June 26, 2019. This branch is no longer supported, see End-of-life policy.
Magnolia stores content in the magnolia
repository. The repository is further divided into 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 app, originally used to view content in this workspace, is no longer available. | 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.
By utilizing the Magnolia Content Types module you can define custom JCR content types and workspaces within light modules.
Defining content types within light modules can be accomplished on a running Magnolia system without redeploying the WAR file of your Magnolia instances and without restarting the instance or a module. This makes it a perfect approach if you have a Magnolia Cloud subscription package.
In just one YAML file you can define a JCR workspace, a node type and namespaces.
Example
Line 2: When the definition item is loaded, and if there is no workspace registered by the given name and theautoCreate
property is set to true
, the system will register the workspace.For further details about the ways to define a JCR workspace and node types please refer to:
To add your own workspace:
repositories
section, a workspaces
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>
In H2, the default JCR persistency layer in Magnolia 5.5+, the name (non-quoted)
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)
For more information, see also
Rules for SQL identifiers (Derby site)