Magnolia stores content in the magnolia repository. The repository is further divided into workspaces.

List of workspaces

Workspaces in the magnolia repository:

In Magnolia we sometimes refer to a workspace as a repository for historical reasons. But it really is a workspace.

Workspace What it contains How to view it Created by


Categories assigned to content.

Categories app

Categorization module


Configuration for Magnolia and all modules.

Config app



Sample contacts used in the Contacts app.

Contacts app

Contacts module


Digital asset management system storage for images and video.

Assets app

Digital Asset Management module


Page comments and forum posts.

Forums app

Forum module


Sitemap data

Google Sitemap app

Google Sitemap module


Dynamically created images used in teasers.

JCR Browser

Imaging module


Passwords managed by the Passwords manager module.

JCR browser

Password manager module


Marketing tags – snippets of code inserted on Web pages.

Marketing Tags app

Marketing Tags module


Messages such as publication request approvals.

Tasks app

AdminCentral module


System information for Magnolia internal use. Among other things, it’s used in the rollback procedure on public instances.


Versioning information for Magnolia internal use. This workspace keeps track of various versions; see Versioning for more details.


Usage metrics acknowledgement (hasAckedPrivacyNotice) and completed intro (Magnolia app launcher tour, completedIntros) status for all users.

User profile information for SSO users:

  • Favorite apps

  • Language

  • Last login

  • Previous login

  • Timezone

JCR Browser

AdminCentral module

SSO module


CSS files, JavaScript files

Resources app

Resources module


RSS feeds

Feeds app

RSS Aggregator module


Groovy scripts

Groovy app

Groovy module


Sample blogposts used in the Stories app.

Stories app

Stories app


Content tags – keywords or terms assigned to an item of content.

Tags app

Content Tags module


Tasks app

Task Management module


(typically nothing, legacy workspace for in-place templates)

JCR Browser

In-place Templating module


Tours of the Travel Demo.

Tours app

Tours module


System, admin and public users.

Security app



User roles and ACLs.

Security app



User groups.

Security app



User search metrics for ranking.

Search results

User Result Ranker module


Visitor information for GDPR compliance.

Visitors app



Web pages, areas and components.

Pages app


Adding a custom workspace

With Magnolia Content Types

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.


Line 2: When the definition item is loaded, and if there is no workspace registered by the given name and the autoCreate 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:

With a Magnolia Maven module descriptor

To add your own workspace:

  1. Create a module descriptor.

  2. Add a repositories section, a workspaces section, and register your workspace inside it.

  3. Optional: To register custom node types, add a nodeTypeFile section and provide a relative path to the XML file that defines the node types.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module SYSTEM "module.dtd">
  <displayName>Contacts App</displayName>
  <description>Contacts App</description>



Naming a workspace

Magnolia uses a defined workspace name also for creating a back-end database table, which means that you must follow table naming rules for your database.

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.

Further rsources

DX Core



This widget lets you know where you are on the docs site.

You are currently perusing through the DX Core docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules
6.3 beta

Magnolia 6.3 beta

Magnolia 6.3 is in beta. We are updating docs based on development and feedback. Consider the 6.3 docs currently in a state of progress and not final.

We are working on some 6.3-beta known issues during this phase.