ドキュメント
基本的にドキュメントとは次の 2 つのものを指します。
- ユーザーが作成したドキュメント。このドキュメント (ワープロ・ファイル、グラフィック、スプレッドシート、HTML ファイルなど) は、オブジェクト・ストアのコンテンツ・ストアまたは外部 (URL アドレスの参照先 Web ページなど) に格納されます。いずれの場合でも、これは Document オブジェクトのコンテンツ・エレメントと呼ばれるようになります。
- ユーザー・ドキュメントを記述するオブジェクト。このオブジェクトは、Content Engine がユーザー・ドキュメントの特定のバージョンを識別および検出するときに使用するものであり、Document オブジェクトと呼ばれます。
Document オブジェクトは、Content Engine オブジェクト・ストアに格納されているドキュメントの 1 つのバージョンを表します。
Document オブジェクトの特性
Document オブジェクトには次のような特性があります。
- ドキュメントには 0 個以上のアノテーションを関連付けることができます。「アノテーション」を参照してください。
- ドキュメントに関する操作は監査できます。『監査』を参照してください。
- ドキュメントは、ドキュメントのチェックイン時に自動的に分類されます。『ドキュメント分類』を参照してください。
- ドキュメント・クラス定義のプロパティーを変更したり、ドキュメント・クラス定義からサブクラスを作成したり、ドキュメント・クラス定義にプロパティー定義を追加したりできます。『クラス (Classes)』を参照してください。
- ドキュメント (ファイル) のコレクションを統合して、1 つの完全なドキュメントを形成できます。 『複合ドキュメント』を参照してください。
- ドキュメントをフォルダーにファイリングしたり、動的および静的な参照コンテナー関係に参加することができます。『コンテナー』を参照してください。
- ドキュメントには 0 個以上のコンテンツ・エレメントを関連付けることができます。「ドキュメントのコンテンツ」を参照してください。
- ドキュメントには 0 個以上のサムネイルを関連付けることができます。『サムネイル』を参照してください。
- ドキュメントは、アクション (ドキュメントの削除、チェックインなど) の発生時に起動されるサーバー側のイベントにサブスクライブできます。『イベント』および『Subscriptions』を参照してください。
- 他の大半の Content Engine オブジェクトと同様に、Factory クラスを使用してドキュメントのインスタンスを作成します。「オブジェクトのインスタンス化」を参照してください。
- 管理者は、ドキュメントが通過する各段階 (ライフ・サイクル) を定義し、これらのカスタム・ライフ・サイクルを個々のドキュメントまたはドキュメント・クラスに割り当てることができます。『ライフ・サイクル・ポリシー』を参照してください。
- ドキュメントは、連携ロックに参加して、複数の Content Engine API ベース・アプリケーションによるオブジェクトの同時更新を防ぐことができます。連携アプリケーションは、Document オブジェクトのロック、ロックのテスト、およびドキュメントのロック状態に基づく実行アクションの決定を行うことができます。 『連携ロック』を参照してください。
- ドキュメントには、ドキュメントの状態を開示し、操作を許可するプロパティーがあります。 『プロパティー』を参照してください。
- ドキュメントはパブリッシュ可能です。パブリッシング・プロセスでは、オプションでドキュメントを別の形式に変換して、異なる対象者も利用できるようにすることができます。『公開』を参照してください。
- ドキュメントは、アドホック照会や保管済み検索から検索して取得することができます。検索は、ドキュメントのプロパティーまたはコンテンツ (あるいはその両方) に基づいて行われます。『照会』を参照してください。
- ドキュメントは個別にセキュリティー保護できます。初期のセキュリティーは、クラスによって設定されます。ドキュメントのセキュリティーについては、セキュリティーの親からの継承、セキュリティー・ポリシーの割り当て、またはその両方を選択できます。「オブジェクトのセキュリティー」、「セキュリティーの継承」、および「セキュリティー・ポリシー」を参照してください。
- ドキュメントには、ストレージ域を明示的に割り当てることができます。また、保管ポリシーを使用して、ストレージ域の割り当てを制御することもできます。「ドキュメントの格納」を参照してください。
- ドキュメントはバージョン管理可能です。『バージョン管理』を参照してください。
- ドキュメントはワークフロー・サブスクリプションの対象にすることができます。すなわち、手動で開始するか、サブスクリプション・イベント (ドキュメントのチェックアウトなど) の発生時に自動で開始できるワークフローをドキュメントに添付できます。 「ワークフロー・サブスクリプション」を参照してください。
ドキュメントのコンテンツ
ドキュメントのコンテンツ・データは、ContentElement オブジェクトによって表されます。ドキュメントにはコンテンツ・エレメントをいくつでも関連付けることができます。コンテンツ・エレメントによって表されるコンテンツ・データは、オブジェクト・ストアに対してローカルにするか、あるいは外部にして Content Engine サーバーの制御外にすることができます。ローカルのコンテンツ・エレメントは ContentTransfer オブジェクトによって表され、外部のコンテンツ・エレメントは ContentReference オブジェクトによって表されます。
各コンテンツ・エレメントには、コンテンツ・エレメントの ID を格納する ElementSequenceNumber プロパティーがあります。これはサーバーによって生成される、固有で変更できない ID です。したがって、あるドキュメント・バージョンのコンテンツ・エレメント・リスト内で、あるコンテンツ・エレメントの相対位置が変更されたとしても、そのエレメントの ElementSequenceNumber は変わりません。特定のドキュメント・バージョンで、エレメントのシーケンス番号が再利用されることはありません。
ドキュメントの格納
オブジェクト・ストアは、ストレージ域と呼ばれる 1 つ以上の物理位置で構成されます。このストレージ域には、メタデータとコンテンツの両方が格納されます。ドキュメントの作成時には、そのドキュメントに明示的にストレージ域を割り当てることができます。また、保管ポリシーを使用して、ストレージ域の割り当てを制御することもできます。保管ポリシーは、ストレージ域候補のプールを決定する際にドキュメントに適用できるユーザー指定の基準です。
ドキュメント・オブジェクトのドキュメント・クラスを変更する場合、ドキュメント・オブジェクトの既存のコンテンツの保管場所は変更されません。新規コンテンツがどこに保管されるかは、ドキュメント・オブジェクトの新規クラスのデフォルトのストレージ域およびストレージ・ポリシーによって定義されますが、これはドキュメント・クラスの新規インスタンスのみに影響します。ドキュメント・クラスの変更後にコンテンツを別の保管場所に移動するには、Document.moveContent メソッドを使用します。コード・サンプルについては、「ドキュメントの操作」セクションの「ドキュメント・コンテンツの移動」を参照してください。
統合されたドキュメントの所有権
統合されたコンテンツとは、FileNet® P8 オブジェクト・ストアとの間で相互にアクセス可能な別のシステム (例えば、FileNet Image Services) に格納されたドキュメント・コンテンツを指します。 統合の目的はすべてのコンテンツに統一したアクセス手段を提供し、データ移行を省略化します。デフォルトでは、統合システムはコンテンツの格納場所に関係なくコンテンツへのアクセス権を制御します。例えば、Image Services システムは、ドキュメントのコンテンツが FileNet P8 のオブジェクト・ストアと Image Services システム内のどちらに格納されているかに関係なく、Image Services のセキュリティーに基づいて、ドキュメントへのアクセスを制限します。 takeFederatedOwnership メソッドを使用して、特定のドキュメントに対するこのデフォルトの動作を上書きし、FileNet P8 以外のシステムからアクセスされた場合に、ドキュメント・コンテンツ (これらのシステムに格納されたコンテンツを含む) が読み取り専用になるようにすることができます。このようなコンテンツを削除できるのは、FileNet P8 オブジェクト・ストアからアクセスされた場合のみです。