http://jcp.org/en/jsr/detail?id=283
2.0でーす。277ページ。もう飽きてきたので軽めに流します。
章立ての粒度がいい感じ。図も多くて大変良い。
1 PREFACE
2 INTRODUCTION
3 REPOSITORY MODEL
モデル、語彙の定義。JCR 1.0 の内容をキレイにかつ正確に説明し直している感じ。うーん、細かい。これと比べると 1.0 って雰囲気仕様だな。
4 CONNECTING
ここからAPIの使用方法。まず Repository/Workspace/Session の取得、ログイン。
5 READING
Session.getNode()とか
7 EXPORT
8 NODE TYPE DISCOVERY
9 PERMISSIONS AND CAPABILITIES
10 WRITING
Session.addNode()とか
11 IMPORT
12 OBSERVATION
13 WORKSPACE MANAGEMENT
14 SHAREABLE NODES
15 VERSIONING
simple versioning と full versioning がある。simple versioning ではバージョンは直接ノードに付随する情報として管理され、実装方法は結構お任せ? full versioning ではバージョンは jcr:versionHistory というノードで管理され、実装方法が詳細に定義されているようだ。
16 ACCESS CONTROL MANAGEMENT
17 LOCKING
Shallow and Deep Locksとか。トランザクション下における正しいロックの仕方とか。
18 LIFECYCLE MANAGEMENT
Lifecycleって 2.0 の新featureか。でもString名のステートが遷移するだけみたい。
19 NODE TYPE MANAGEMENT
20 RETENTION AND HOLD
これも 2.0 の新featureか。
Hold -> ノードをprotectする。Lockとの違いは、LockOwnerがいないこと。
Retention Policy -> Retention Policyが適用されたノードがどうなるかは、自由に実装できる
21 TRANSACTIONS
1.0と同じようだ
22 SAME-NAME SIBLINGS
23 ORDERABLE CHILD NODES
24 REPOSITORY COMPLIANCE
1.0 みたいにLEVEL1/2ではなく、以下の6つが must
- Repository acquisition and user authentication and authorization (see §4 Connecting)
- Reading through path, identifier and browse access (see §5 Reading)
- Query (see §6 Query)
- Export (see §7 Export)
- Node Type Discovery (see §8 Node Type Discovery)
- Permission and capability checking (see §9 Permissions and Capabilities)
あとは may。全部実装したら fully-compliant repository
25 APPENDIX
さて、ナナメ読みの印象では、JCR 1.0 の内容を詳細、正確にしただけで新規featureは少ししか入っていない印象でしたが、JCR spec リードの David Nuescheler のインタビューを読むと、私がずいぶん見逃しているような気もしますね!
http://www.infoq.com/jp/news/2007/09/java-content-repository-2