CMIS Specification
                    輪読 1回目



                      2012年11月16日

                         とたに




                                     © 2012
2012年11月28日水曜日
1. Introduction
    リファレンストピック:RFC4287 Atom Syndication Format
       Atom: feeds(関連した情報のリスト)を表現するXML文書
             <?xml version="1.0" encoding="utf-8"?>
             <feed xmlns="http://www.w3.org/2005/Atom">


              <title>Example Feed</title>
              <link href="http://example.org/"/>
              <updated>2003-12-13T18:30:02Z</updated>
              <author>
               <name>John Doe</name>
              </author>
              <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>


              <entry>
                <title>Atom-Powered Robots Run Amok</title>
                <link href="http://example.org/2003/12/13/atom03"/>
                <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
                <updated>2003-12-13T18:30:02Z</updated>
                <summary>Some text.</summary>
              </entry>
             </feed>


2012.09.25                                      2                        © 2012
2012年11月28日水曜日
1. Introduction
    リファレンストピック:RFC5023 Atom Publishing Protocol①
    AtomPub: Webリソースの配信/編集を行うアプリケーションレベルのプロトコル

    プロトコルは以下を操作する機能を提供
     •Collections: リソースのセット
     •Services: Collectionsの発見と概要
     •Editing: リソースの作成、編集、削除

    リソース: URI(IRI)で一意に識別されるネットワーク経由でアクセスできるデータオブジェク
    ト
    リレーション: atom:linkオブジェクトのref属性
    Representation: HTTP/1.1で定義されたリクエストとレスポンスに含まれるエンティティ
    Collection: リソースをメンバとして含むリソース。CollectionsはAtom Feedsとして表現
    される。




2012.09.25                          3                    © 2012
2012年11月28日水曜日
1. Introduction
    リファレンストピック:RFC5023 Atom Publishing Protocol②
    Member Resource:
     コレクションに含まれるリソース
     Member ResourceはEntity ResourceとMedia Resourceに分けられる
     Entity Resource: Atom Entity Documentとして表現される(メタデータ等を保持)
     Media Resource: 任意のメディアタイプでRepresentationを保有することができる
     コレクションの中でMediaリソースはMedia Link Entityを使って表現される。



    AtomPubにおける操作:
      GET: リソースのrepresenationを取得
      POST: 新規のリソース作成に使用。
       クライアントがCollectionに対して非AtomEntry形式のRepresentationをPOSTした場
       合には、2つのリソースが作成される。Media Entryと、登録されたリソースのメタデー
       タに対するMedia Link Entryの2つ。
      PUT: リソースの編集
      DELETE: リソースの削除

2012.09.25                      4                          © 2012
2012年11月28日水曜日
1. Introduction
    リファレンストピック:RFC5023 Atom Publishing Protocol③
    Category Document:
      atom:category要素を含む


    Service Document:
      コレクションを見つけることをサポートするために定義されている。
      (Service Documentを見つける部分は本仕様では定義されていない)
      CollectionをWorkspaceにグルーピングした情報を返却




2012.09.25                   5                  © 2012
2012年11月28日水曜日
1. Introduction
    リファレンストピック:RFC5829 Link Relation Types for
    Simple VersionNavigation between Web Resources
    Webリソースから過去のバージョンを       る際に利用するリンクリレーションの型を定義


    Versioned Resource
      バージョンコントロールされたリソース


    Version History(Resource)
      Versioned Resourceの全てのバージョンを含むリソース


    リンクリレーション
     • version-history
     • latest-version
     • working-copy
     • working-copy-of
     • predecessor-version
     • successor-version
2012.09.25                     6                     © 2012
2012年11月28日水曜日
1. Introduction
    リファレンストピック:Web Linking


    リンク
     IRIで識別されるリソースの2つを接続するもの。タイプを持つ。


    リンクのタイプ
     リンクの意味を表現。e.g.) copyright, service
     relパラメータの値として表現


    予約済みのリンクタイプ
     沢山ある
     alternate, appendix, bookmark, contents, copyright, help, ...
     up, self, ...




2012.09.25                                  7                        © 2012
2012年11月28日水曜日
2. Domain Model
    2.1. Data Modelイントロ
    CMISはリポジトリへのアクセスインタフェースをアプリケーションに提供する。


    コアデータモデル
     リポジトリにより管理される永続化されたデータ/エンティティ
     および、これらのエンティティにアクセスするサービス


    データモデルに含まれないもの
     永続的ではないオブジェクト
     管理用オブジェクト
     拡張されたコンセプト


    CMISのスコープ
     1つのCMISサービスエンドポイントが複数のCMISリポジトリを公開することはありえる
     CMISエンドポイントをどのように取得するかはCMIS仕様のスコープ外だが、CMISエン
     ドポイントにどのように接続するかはCMISの範囲内。(Get Repositories)。
     Get Repositories以外の全てのサービスは1つのリポジトリ範囲内を対象とする。

2012.09.25                8                    © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.1 リポジトリ①
    リポジトリは リポジトリ情報の取得 サービスにより説明できる。


    オプションの機能(capability)
     getRepositoryInfoサービスを使うことで、リポジトリにどのようなオプション機能がサ
    ポートされているかを調べることができる。


     Navigation Capabilities:
     • capabilityGetDescendants
     • capablitiyGetFolderTree
     • capabilityContentStreamUpdatability
     • capabilityChanges: none, objectonly, properties, all
     • capabilityRenditions

         Filing Capabilities:
         •capablityMultifiling: 2つ以上のフォルダにコンテンツを保管できる(?)
         •capabilityUnfiling: フォルダにコンテンツを格納させない
         •capablilityVersionSpecificFiling: バージョンを指定してコンテンツを登録可能
2012.09.25                                 9                      © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.1 リポジトリ②
    オプションの機能(capability)


     Versioning Capabilities:
     • capabilityPWCUpdatable: Privateワーキングコピーの更新
     • capabilityPWCSearchable: PWCの検索可否
     • capabilityAllVersionsSearchable: 全てのバージョンを検索に含む

         Filing Capabilities:
         •capablityMultifiling: 2つ以上のフォルダにコンテンツを保管できる
         •capabilityUnfiling: フォルダにコンテンツを格納させない
         •capablilityVersionSpecificFiling: バージョンを指定してコンテンツを登録可能




2012.09.25                          10                            © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.1 リポジトリ③
    オプションの機能(capability)


     Query Capablilities:
     • capabilityQuery: none, metadataonly, fulltextonly, bothseparate,
       bothcombined
     • capabilityJoin: none, inneronly, innerandouter

         ACL Capability:
         •capablityACL: none, discover, manage

    その他に返却される情報
     Get Repositories Informationでは...
     ベンダ名、プロダクト名、プロダクトバージョン、サポートするCMISバージョン、
     ルートフォルダID、その他実装における任意の情報を返却可能




2012.09.25                                  11                            © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.2. オブジェクト①
    オブジェクト:CMISの全てのエンティティ
    •documentオブジェクト
    •folderオブジェクト
    •relationshipオブジェクト
        •2つのオブジェクトの間の有向関連
    •policyオブジェクト
        •管理ポリシを表現
        • controllablePolicy なオブジェクト(複数)に対して適用可能

    オブジェクトのサブタイプを定義するのは自由。ただし、タイプ管理のサービスはスコープ外
    CMISオブジェクトは不変のObject ID(ID)で識別。
    CMISオブジェクトはPropertiesを持つ(propertyは順序を持たないが、リポジトリは一貫
    した順序で返却する必要がある)




2012.09.25                     12                  © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.2. オブジェクト②
    ドキュメント:
      Content-Streamを持てる
      Content-Streamに関連する1つ以上のRenditionを持てる


    ドキュメントおよびフォルダ:
      ACLを持てる


    属性
             プロパティは0以上の型付きの値を保持する。
             プロパティはsingle-valuedもしくはmulti-valued, multi-valuedは順序リスト
             プロパティに値が与えられていない場合には、 value not set 状態となる。プロパティに対
             するnull値は定義されていない。
             multi-valueプロパティは順序リストか、完全なvalue not setのいずれかとなる。
             プロパティの型
                string, boolean, integer, datetime, uri, id, html
             queryName属性: 検索時とフィルタ操作の際に指定。
                空白、コンマ、ダブルコーテーション、シングルコーテーション、バックスラッシュ、ピ
                リオド、括弧を含まない
2012.09.25                                         13                  © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.2. オブジェクト③


    ID属性
             システムが生成する読み取り専用の属性。Object IDやObject Type IDなどで使われる。
             CMISのIdentityはタイプを越えてID属性を共有するが、IDの名前空間までも共有する必要は
             ない。


    HTML属性
             HTMLドキュメントやHTML断片を保持




2012.09.25                           14                       © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.3. Object-Type①


    Object-Type: 固定長で非階層の属性セット(schema)を定義。これらの属性は、このタイプの
    全てのオブジェクトで保持される。


    全てのCMISオブジェクトは強く型付けされている。schemaに定義されていない属性がアプリ
    ケーションで与えられた場合には、例外がスローされる。


    Object-Typeはリポジトリ上で一意に識別される。(Object-Type Identifier)


    リポジトリはgetTypeChildrenなどのサービスにより、一意のObject-Typeのセットを公開す
    る。


    リポジトリはCMIS Base Object-Types以外の追加のタイプを定義することができる。




2012.09.25                        15                      © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.3. Object-Type②


    Object-Type階層と継承:CMISでサポート


    CMISリポジトリ
             cmis:document, cmis:folder Object-Typeを持つ
             cmis:relationship, cmis;policy Object-Typeを持っていてもよい
             これ以外の基本型はない。
             すべての追加型はこれらの4つのどれかのサブタイプもしくは子孫タイプとして定義する必要
             がある。
             基本型には親タイプはない。
             基本型以外の型は、1つの親タイプを持つ。親タイプはオブジェクトタイプの定義に含まれ
             る。
             Object-Type定義はObject-Type属性のセットを含む
             基本型の属性は子孫タイプで必ず継承する必要がある
             サブタイプで属性を使用しない場合には、サブタイプの全てのオブジェクトでnot setとなる。
             あるオブジェクトタイプを指定した検索は、includedInSuperTypeQueryがtrueの場合には
             子孫タイプ自動的に展開する。

2012.09.25                                    16                   © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.3. Object-Type③

       トップのオブジェクトタイプ


             Document          Folder   Relationship   Policy

                         属性A




             Contract    属性A
                               必ず基本型の属性は継承する必要がある
                         属性B




         BasicContract   属性A
                         属性B
                         属性C




2012.09.25                              17                      © 2012
2012年11月28日水曜日
2. Domain Model
    2.1.3. Object-Type④


    Object-Typeの属性(全Object-Type共通)


    id, localName, localNamespace, queryName, displayName,
    baseId: 基本型を指定
    parentId, description, creatable, filable, queryable,
    controllablePolicy, controllableACL
    fulltextIndexed, includedInSupertypeQuery


    Object-Type Propertyの定義
    id, localName, localNamespace, queryName, displayName, decription,
    propertyType, cardinality, updatability, inherited, required, queryable, orderable,
    choices, openChoice, defaultValue




2012.09.25                                     18                                         © 2012
2012年11月28日水曜日
2012年11月28日水曜日

More Related Content

PPTX
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
PPTX
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
PDF
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
PDF
Dynamic Access Control 演習編
PDF
Windows Azure ではじめる Windows ストアアプリ開発
PPTX
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
PPTX
AD FS deep dive - claim rule set
PDF
WebDAV, ATOM, and REST
OCHaCafe2#5 変幻自在♪ 広がるKubernetesのエコシステム
OCHaCafe Season 2 #4 - Cloud Native時代のモダンJavaの世界
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
Dynamic Access Control 演習編
Windows Azure ではじめる Windows ストアアプリ開発
【改訂版あり】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!
AD FS deep dive - claim rule set
WebDAV, ATOM, and REST

Similar to Cmis輪読 1回目 (20)

PDF
CMIS輪読会#4 Secondaryタイプを通じて学ぶ Object Type
PPT
PolicyとItem (CMIS輪読会#3)
PDF
社会ネットワーク分析第7回
PDF
BPStudy20121221
PDF
Entity Framework
PDF
セマンテックウェブとRDFDB
PPTX
Linked Dataを知る、作る、使う
PDF
ソーシャルコンテンツマネジメント
PDF
Silverlight Line-Of-Business Applications
PDF
Application Architecture for Enterprise Win Store Apps with DDD Pattern
PDF
Data-Intensive Text Processing with MapReduce ch4
PPTX
開発者向けAlfrescoのご紹介(2013/03/27 JJUG ナイトセミナー「Java製OSS特集」発表資料)
PDF
異分野融合型の科学データ公開サイトLink data.org
PDF
DDD 20121106 SEA Forum November
PPTX
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
PDF
Seasarプロジェクト徹底攻略
PDF
20120831 mongoid
PDF
Phpではじめるオブジェクト指向(公開用)
PDF
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
PDF
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
CMIS輪読会#4 Secondaryタイプを通じて学ぶ Object Type
PolicyとItem (CMIS輪読会#3)
社会ネットワーク分析第7回
BPStudy20121221
Entity Framework
セマンテックウェブとRDFDB
Linked Dataを知る、作る、使う
ソーシャルコンテンツマネジメント
Silverlight Line-Of-Business Applications
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Data-Intensive Text Processing with MapReduce ch4
開発者向けAlfrescoのご紹介(2013/03/27 JJUG ナイトセミナー「Java製OSS特集」発表資料)
異分野融合型の科学データ公開サイトLink data.org
DDD 20121106 SEA Forum November
20120822_dstn技術交流会_dstnのご紹介と最新技術情報
Seasarプロジェクト徹底攻略
20120831 mongoid
Phpではじめるオブジェクト指向(公開用)
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
Ad

Cmis輪読 1回目

  • 1. CMIS Specification 輪読 1回目 2012年11月16日 とたに © 2012 2012年11月28日水曜日
  • 2. 1. Introduction リファレンストピック:RFC4287 Atom Syndication Format Atom: feeds(関連した情報のリスト)を表現するXML文書 <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Example Feed</title> <link href="http://example.org/"/> <updated>2003-12-13T18:30:02Z</updated> <author> <name>John Doe</name> </author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text.</summary> </entry> </feed> 2012.09.25 2 © 2012 2012年11月28日水曜日
  • 3. 1. Introduction リファレンストピック:RFC5023 Atom Publishing Protocol① AtomPub: Webリソースの配信/編集を行うアプリケーションレベルのプロトコル プロトコルは以下を操作する機能を提供 •Collections: リソースのセット •Services: Collectionsの発見と概要 •Editing: リソースの作成、編集、削除 リソース: URI(IRI)で一意に識別されるネットワーク経由でアクセスできるデータオブジェク ト リレーション: atom:linkオブジェクトのref属性 Representation: HTTP/1.1で定義されたリクエストとレスポンスに含まれるエンティティ Collection: リソースをメンバとして含むリソース。CollectionsはAtom Feedsとして表現 される。 2012.09.25 3 © 2012 2012年11月28日水曜日
  • 4. 1. Introduction リファレンストピック:RFC5023 Atom Publishing Protocol② Member Resource: コレクションに含まれるリソース Member ResourceはEntity ResourceとMedia Resourceに分けられる Entity Resource: Atom Entity Documentとして表現される(メタデータ等を保持) Media Resource: 任意のメディアタイプでRepresentationを保有することができる コレクションの中でMediaリソースはMedia Link Entityを使って表現される。 AtomPubにおける操作: GET: リソースのrepresenationを取得 POST: 新規のリソース作成に使用。 クライアントがCollectionに対して非AtomEntry形式のRepresentationをPOSTした場 合には、2つのリソースが作成される。Media Entryと、登録されたリソースのメタデー タに対するMedia Link Entryの2つ。 PUT: リソースの編集 DELETE: リソースの削除 2012.09.25 4 © 2012 2012年11月28日水曜日
  • 5. 1. Introduction リファレンストピック:RFC5023 Atom Publishing Protocol③ Category Document: atom:category要素を含む Service Document: コレクションを見つけることをサポートするために定義されている。 (Service Documentを見つける部分は本仕様では定義されていない) CollectionをWorkspaceにグルーピングした情報を返却 2012.09.25 5 © 2012 2012年11月28日水曜日
  • 6. 1. Introduction リファレンストピック:RFC5829 Link Relation Types for Simple VersionNavigation between Web Resources Webリソースから過去のバージョンを る際に利用するリンクリレーションの型を定義 Versioned Resource バージョンコントロールされたリソース Version History(Resource) Versioned Resourceの全てのバージョンを含むリソース リンクリレーション • version-history • latest-version • working-copy • working-copy-of • predecessor-version • successor-version 2012.09.25 6 © 2012 2012年11月28日水曜日
  • 7. 1. Introduction リファレンストピック:Web Linking リンク IRIで識別されるリソースの2つを接続するもの。タイプを持つ。 リンクのタイプ リンクの意味を表現。e.g.) copyright, service relパラメータの値として表現 予約済みのリンクタイプ 沢山ある alternate, appendix, bookmark, contents, copyright, help, ... up, self, ... 2012.09.25 7 © 2012 2012年11月28日水曜日
  • 8. 2. Domain Model 2.1. Data Modelイントロ CMISはリポジトリへのアクセスインタフェースをアプリケーションに提供する。 コアデータモデル リポジトリにより管理される永続化されたデータ/エンティティ および、これらのエンティティにアクセスするサービス データモデルに含まれないもの 永続的ではないオブジェクト 管理用オブジェクト 拡張されたコンセプト CMISのスコープ 1つのCMISサービスエンドポイントが複数のCMISリポジトリを公開することはありえる CMISエンドポイントをどのように取得するかはCMIS仕様のスコープ外だが、CMISエン ドポイントにどのように接続するかはCMISの範囲内。(Get Repositories)。 Get Repositories以外の全てのサービスは1つのリポジトリ範囲内を対象とする。 2012.09.25 8 © 2012 2012年11月28日水曜日
  • 9. 2. Domain Model 2.1.1 リポジトリ① リポジトリは リポジトリ情報の取得 サービスにより説明できる。 オプションの機能(capability)  getRepositoryInfoサービスを使うことで、リポジトリにどのようなオプション機能がサ ポートされているかを調べることができる。  Navigation Capabilities: • capabilityGetDescendants • capablitiyGetFolderTree • capabilityContentStreamUpdatability • capabilityChanges: none, objectonly, properties, all • capabilityRenditions Filing Capabilities: •capablityMultifiling: 2つ以上のフォルダにコンテンツを保管できる(?) •capabilityUnfiling: フォルダにコンテンツを格納させない •capablilityVersionSpecificFiling: バージョンを指定してコンテンツを登録可能 2012.09.25 9 © 2012 2012年11月28日水曜日
  • 10. 2. Domain Model 2.1.1 リポジトリ② オプションの機能(capability)  Versioning Capabilities: • capabilityPWCUpdatable: Privateワーキングコピーの更新 • capabilityPWCSearchable: PWCの検索可否 • capabilityAllVersionsSearchable: 全てのバージョンを検索に含む Filing Capabilities: •capablityMultifiling: 2つ以上のフォルダにコンテンツを保管できる •capabilityUnfiling: フォルダにコンテンツを格納させない •capablilityVersionSpecificFiling: バージョンを指定してコンテンツを登録可能 2012.09.25 10 © 2012 2012年11月28日水曜日
  • 11. 2. Domain Model 2.1.1 リポジトリ③ オプションの機能(capability)  Query Capablilities: • capabilityQuery: none, metadataonly, fulltextonly, bothseparate, bothcombined • capabilityJoin: none, inneronly, innerandouter ACL Capability: •capablityACL: none, discover, manage その他に返却される情報 Get Repositories Informationでは... ベンダ名、プロダクト名、プロダクトバージョン、サポートするCMISバージョン、 ルートフォルダID、その他実装における任意の情報を返却可能 2012.09.25 11 © 2012 2012年11月28日水曜日
  • 12. 2. Domain Model 2.1.2. オブジェクト① オブジェクト:CMISの全てのエンティティ •documentオブジェクト •folderオブジェクト •relationshipオブジェクト •2つのオブジェクトの間の有向関連 •policyオブジェクト •管理ポリシを表現 • controllablePolicy なオブジェクト(複数)に対して適用可能 オブジェクトのサブタイプを定義するのは自由。ただし、タイプ管理のサービスはスコープ外 CMISオブジェクトは不変のObject ID(ID)で識別。 CMISオブジェクトはPropertiesを持つ(propertyは順序を持たないが、リポジトリは一貫 した順序で返却する必要がある) 2012.09.25 12 © 2012 2012年11月28日水曜日
  • 13. 2. Domain Model 2.1.2. オブジェクト② ドキュメント: Content-Streamを持てる Content-Streamに関連する1つ以上のRenditionを持てる ドキュメントおよびフォルダ: ACLを持てる 属性 プロパティは0以上の型付きの値を保持する。 プロパティはsingle-valuedもしくはmulti-valued, multi-valuedは順序リスト プロパティに値が与えられていない場合には、 value not set 状態となる。プロパティに対 するnull値は定義されていない。 multi-valueプロパティは順序リストか、完全なvalue not setのいずれかとなる。 プロパティの型 string, boolean, integer, datetime, uri, id, html queryName属性: 検索時とフィルタ操作の際に指定。 空白、コンマ、ダブルコーテーション、シングルコーテーション、バックスラッシュ、ピ リオド、括弧を含まない 2012.09.25 13 © 2012 2012年11月28日水曜日
  • 14. 2. Domain Model 2.1.2. オブジェクト③ ID属性 システムが生成する読み取り専用の属性。Object IDやObject Type IDなどで使われる。 CMISのIdentityはタイプを越えてID属性を共有するが、IDの名前空間までも共有する必要は ない。 HTML属性 HTMLドキュメントやHTML断片を保持 2012.09.25 14 © 2012 2012年11月28日水曜日
  • 15. 2. Domain Model 2.1.3. Object-Type① Object-Type: 固定長で非階層の属性セット(schema)を定義。これらの属性は、このタイプの 全てのオブジェクトで保持される。 全てのCMISオブジェクトは強く型付けされている。schemaに定義されていない属性がアプリ ケーションで与えられた場合には、例外がスローされる。 Object-Typeはリポジトリ上で一意に識別される。(Object-Type Identifier) リポジトリはgetTypeChildrenなどのサービスにより、一意のObject-Typeのセットを公開す る。 リポジトリはCMIS Base Object-Types以外の追加のタイプを定義することができる。 2012.09.25 15 © 2012 2012年11月28日水曜日
  • 16. 2. Domain Model 2.1.3. Object-Type② Object-Type階層と継承:CMISでサポート CMISリポジトリ cmis:document, cmis:folder Object-Typeを持つ cmis:relationship, cmis;policy Object-Typeを持っていてもよい これ以外の基本型はない。 すべての追加型はこれらの4つのどれかのサブタイプもしくは子孫タイプとして定義する必要 がある。 基本型には親タイプはない。 基本型以外の型は、1つの親タイプを持つ。親タイプはオブジェクトタイプの定義に含まれ る。 Object-Type定義はObject-Type属性のセットを含む 基本型の属性は子孫タイプで必ず継承する必要がある サブタイプで属性を使用しない場合には、サブタイプの全てのオブジェクトでnot setとなる。 あるオブジェクトタイプを指定した検索は、includedInSuperTypeQueryがtrueの場合には 子孫タイプ自動的に展開する。 2012.09.25 16 © 2012 2012年11月28日水曜日
  • 17. 2. Domain Model 2.1.3. Object-Type③ トップのオブジェクトタイプ Document Folder Relationship Policy 属性A Contract 属性A 必ず基本型の属性は継承する必要がある 属性B BasicContract 属性A 属性B 属性C 2012.09.25 17 © 2012 2012年11月28日水曜日
  • 18. 2. Domain Model 2.1.3. Object-Type④ Object-Typeの属性(全Object-Type共通) id, localName, localNamespace, queryName, displayName, baseId: 基本型を指定 parentId, description, creatable, filable, queryable, controllablePolicy, controllableACL fulltextIndexed, includedInSupertypeQuery Object-Type Propertyの定義 id, localName, localNamespace, queryName, displayName, decription, propertyType, cardinality, updatability, inherited, required, queryable, orderable, choices, openChoice, defaultValue 2012.09.25 18 © 2012 2012年11月28日水曜日