JCR 2.0 (JSR-283) ナナメ読み

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()とか

6 QUERY

JCR-SQL2(普通のSQLっぽいシンタックス)とJCR-JQOM(Javaで呼ぶAPI)の2種類ある。めんどくせー。

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