Page tree
Skip to end of metadata
Go to start of metadata

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

List of workspaces

Workspaces in the magnolia repository:

WorkspaceWhat it containsHow to view itCreated by
configConfiguration for Magnolia core and all modules.Config appMagnolia core
contactsSample contacts used in the Contacts app.Contacts appContacts module
damDigital asset management system storage for images and video.Assets appDigital Asset Management module
forumPage comments and forum posts.Forums appForum module
googleSitemapsSitemap dataGoogle Sitemap app Google Sitemap module
imagingDynamically created images used in teasers.JCR BrowserImaging module
messagesMessages such as publication requests.Pulse AdminCentral module
MgnlSystemSystem information for Magnolia internal use.  
MgnlVersionVersioning information for Magnolia internal use.  
profilesUser favorites (bookmarks)FavoritesAdminCentral module
resourcesCSS files, JavaScript filesResources appResources module
rssRSS feedsFeeds appRSS Aggregator module
scriptsGroovy scriptsGroovy appGroovy module
tasksTasksPulseTask Management module
templates(typically nothing, legacy workspace for in-place templates)JCR BrowserIn-place Templating module
toursTours of the travel demo.Tours appTours module
usersSystem, admin and public users.Security appMagnolia core
userrolesUser roles and ACLs. Created by Magnolia core.Security appMagnolia core
usergroupsUser groups. Created by Magnolia core.Security appMagnolia core
websiteWeb pages, areas and components.Pages appMagnolia core

(info) 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:

  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.

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.

contacts.xml 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>