3

JCRワークスペースに関してJCR2.0仕様を解釈していただけませんか。

1つの永続ワークスペースが複数のセッションにバインドされる場合もありますが、セッションは常に1つの永続ワークスペースにバインドされることを理解しています。

理由はわかりませんが、これはおそらくバージョン管理とトランザクションに関連しています。

いくつかの観察:

  • 参照は、同じワークスペースのノード間でのみ可能です
  • クエリの実行は常に単一のワークスペースを対象とします

ワークスペースは、同じコンテンツ(同じUUID)を表すノードに関するもののようです。

  • 「何か」の異なるバージョン、多分プロジェクト?
  • ワークフローのさまざまなフェーズ

また、ACLには使用しないでください。

また、JackRabbitでは、各ワークスペースに永続性マネージャーがあります。ModeShapeにはソース用のコネクタがあります-ワークスペースに依存しません。

4

1 に答える 1

6

David のモデル ( http://wiki.apache.org/jackrabbit/DavidsModel ) ルール 3 では、clone()、merge()、または update() が必要な場合にのみワークスペースを使用することを推奨しています。JCR アプリケーションの大部分では、これはワークスペースを使用しないことを意味します。物事をさまざまなパスに配置し、特定のプロパティ値または mixin ノード タイプを設定し、JCR のバージョン管理を使用することで、言及したバージョン管理とワークフローのユース ケースがカバーされます。

たとえば、印刷ジョブを管理するには、"new"、"in-progress"、"rejected"、"done" という名前の JCR フォルダー間でジョブを移動するだけです。これは、ファイルシステムフォルダーを使用して、一部の UNIX バージョンで行われる方法です。JCR を使用すると、「強化されたファイルシステム」機能の恩恵を受けながら、同じことを行うことができます。

また、David のルール #5: 参照は有害であることに注意してください。私たち (Apache Sling および Day/Adobe CQ /CRX 開発者) は、より緩くて柔軟な参照として、代わりに単にパスを使用する傾向があります。

また、クエリについて言及されているように、クエリもほとんど使用していません。コンテンツ モデルのパス構造が最も一般的なユース ケースに適している場合、JCR ツリーでのナビゲーションははるかに効率的です。

于 2011-06-23T11:33:24.033 に答える