Magnolia stores content in the
magnolia repository. The repository is further divided into workspaces.
List of workspaces
Workspaces in the
|Workspace||What it contains||How to view it||Created by|
|Configuration for Magnolia core and all modules.||Config app||Magnolia core|
|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|
|Messages such as publication requests.||Pulse||AdminCentral module|
|System information for Magnolia internal use.|
|Versioning information for Magnolia internal use.|
|User favorites (bookmarks)||Favorites||AdminCentral module|
|RSS feeds||Feeds app||RSS Aggregator module|
|Groovy scripts||Groovy app||Groovy module|
|Tasks||Pulse||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||Magnolia core|
|User roles and ACLs. Created by Magnolia core.||Security app||Magnolia core|
|User groups. Created by Magnolia core.||Security app||Magnolia core|
|Web pages, areas and components.||Pages app||Magnolia core|
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
workspacessection, and register your workspace inside it.
- Optional: To register custom node types, add a
nodeTypeFilesection 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.
Naming the workspace
Magnolia uses a defined workspace name also for creating a backend 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.
For more information, see also