ワークスペース
ワークスペースは、機能ドメインごとに完全に分離されたコンテンツストアです(例: system、web、commerce)。それぞれが独自のデータベース・ブロブ(バイナリ)ストレージ・全文検索インデックス・メタデータスキーマ・BPMN プロセスエンジン・EIP 統合エンジンを持ちます。
運用作業の多くは Workspace Manager アプリから行えます。ここでは、その背後にある構成と振る舞いを説明します。
system ワークスペース
system は特別なワークスペースで、リポジトリのアイデンティティストアです。すべてのワークスペースから参照され、削除できません。
/home/users、/home/groups、/home/roles(SSO/SAML と各ワークスペースのプリンシパル解決が参照)- ユーザーのプロフィール・アバター・設定・壁紙(個人設定はユーザーに追従)
- 修飾なしのサインイン時の既定ワークスペース(上書き可)
構成
既定ワークスペース
# <repository>/etc/repository.yml
defaultWorkspace: web
フレームワークプロパティ org.mintjams.jcr.workspace.default でも指定できます。
ワークスペースの命名規則
英小文字・数字・ハイフン・アンダースコア、先頭は英字、最大 64 文字。名前は URL とディレクトリ名に使われます。
エンジンの有効・無効
BPM/EIP エンジンは既定で有効です。ワークスペースごとに切り替えられます。
# <workspace>/etc/bpm/bpm.yml
enabled: true
# <workspace>/etc/eip/eip.yml
enabled: false
ライフサイクル
作成
作成はバックグラウンドジョブとして実行され、creating → starting の段階を進みます。スキーマ作成・既定ノード・検索インデックスの初期化に続き、プロビジョニングやコンテンツのデプロイが行われます。サービス起動に失敗すると FAILED 状態になり、理由が stateMessage に記録されます。
<repository>/etc/workspace-template/ を用意しておくと、その内容が新規ワークスペースへそのままコピーされます(クラスター構成では共有データベースを指す etc/jcr/jcr.yml を含めることが必須)。
状態
| 状態 | 意味 |
|---|---|
ONLINE |
CMS サービスが稼働し、利用可能 |
STARTING |
JCR ワークスペースは開いたが、サービスが起動中 |
FAILED |
サービス起動に失敗。対応が必要(理由は stateMessage) |
エンジンごとに enabled(設定)と running(実状態)が分かれて報告されます。
削除
削除も stopping → deleting の段階で実行され、サービスを完全に停止してからディレクトリを削除します。system ワークスペースと、呼び出し元セッションが接続中のワークスペースは削除できません。
クラスター構成では、削除しても共有データベースと共有ブロブストレージは残ります。手動で削除してください。同名で作り直す場合は、必ず事前に DB を空にしてください(残った旧テーブルから旧コンテンツが復活します)。
注意点
- 検索インデックスはワークスペース起動時に生成されます。日本語の形態素解析が必要な場合は、
etc/search/をテンプレートに含めてください(無い場合は Lucene のStandardAnalyzerにフォールバック)。 - クラスターでの作成・削除や共有ストレージの扱いは「クラスタリング」を参照してください。