Workspaces
A workspace is a fully isolated content store for a functional domain (e.g. system, web, commerce). Each has its own database, blob (binary) storage, full-text search index, metadata schemas, BPMN process engine and EIP integration engine.
Most day-to-day operations are available from the Workspace Manager app. This page explains the configuration and behavior behind it.
The system workspace
system is a special workspace — the repository's identity store. It is referenced by every workspace and cannot be deleted.
/home/users,/home/groups,/home/roles(read by SSO/SAML and every workspace's principal resolution)- user profiles, avatars, preferences and wallpapers (personalization follows the user)
- the default workspace for unqualified sign-ins (overridable)
Configuration
Default workspace
# <repository>/etc/repository.yml
defaultWorkspace: web
You can also use the framework property org.mintjams.jcr.workspace.default.
Naming rules
Lowercase letters, digits, hyphens and underscores; must start with a letter; max 64 characters. Names appear in URLs and as directory names.
Enabling engines
The BPM and EIP engines are enabled by default and can be toggled per workspace.
# <workspace>/etc/bpm/bpm.yml
enabled: true
# <workspace>/etc/eip/eip.yml
enabled: false
Lifecycle
Creation
Creation runs as a background job through creating → starting. After schema creation, default nodes and the search index, provisioning and content deployment run. If service startup fails, the workspace enters the FAILED state with the reason in stateMessage.
If you provide <repository>/etc/workspace-template/, its contents are copied verbatim into each new workspace (in a cluster this must include an etc/jcr/jcr.yml pointing at the shared database).
States
| State | Meaning |
|---|---|
ONLINE |
CMS services running; ready for use |
STARTING |
the JCR workspace is open, but services are still coming up |
FAILED |
service startup failed; needs intervention (reason in stateMessage) |
Each engine reports enabled (the config switch) and running (the actual state) separately.
Deletion
Deletion runs through stopping → deleting, stopping services fully before removing the directory. The system workspace and the workspace your session is bound to cannot be deleted.
In a cluster, deletion leaves the shared database and shared blob storage in place — remove them manually. Before recreating a workspace of the same name, always empty the database (leftover old tables resurrect old content).
Cautions
- The search index is generated at workspace startup. If you need Japanese morphological analysis, include
etc/search/in your template (otherwise it falls back to Lucene'sStandardAnalyzer). - For creating/deleting in a cluster and handling shared storage, see "Clustering".