Content Platform Engine バージョン 5.2.1 には、カスタム・アプリケーション開発用の新機能とその他の機能拡張が導入されています。
このリリースには、新規のクラスおよびプロパティーが含まれています。また、1 つのプロパティーと 1 つのクラスが非推奨になり、将来のリリースで削除されます。
新規クラス
非推奨クラス
com.filenet.api.jdbc.Driver クラスは、Content Engine の Java™ API で非推奨になりました。
プロパティー | クラス |
---|---|
AdvancedStorageDeletionDelay | ObjectStore |
AuthenticationRealmName | Domain |
BackgroundSearches | ObjectStore |
BackgroundSearchLeaseDuration | CmSweepConfiguration |
CmContentIntegrityOptions | DatabaseStorageArea |
FileStorageArea | |
FixedStorageArea | |
StorageArea | |
ContentSignature | ContentTransfer |
ContentUploadTimeout | ContentConfiguration |
CopyRetainedContent | CmBulkMoveContentJob |
CurrentDeferredObjectCount | CmCustomQueueSweep |
CmQueueSweep | |
CmThumbnailRequestSweep | |
DeferralCount | CmAbstractQueueEntry |
CmThumbnailRequest | |
DeferralData | CmAbstractQueueEntry |
CmThumbnailRequest | |
DeferredObjectCount | CmCustomQueueSweep |
CmQueueSweep | |
CmThumbnailRequestSweep | |
DomainType | Domain |
EventExporterAccountingInterval | CmProcessEngineConfiguration |
EventExporterSleepDuration | CmProcessEngineConfiguration |
IndexDefinitions | TableDefinition |
IsDateOnly | PropertyDefinitionDateTime |
PropertyDescriptionDateTime | |
PropertyTemplateDateTime | |
IsReadProtected | PropertyDefinitionBinary |
PropertyDescriptionBinary | |
PropertyTemplateBinary | |
MaximumUploadBufferSize | ContentConfiguration |
MaxRequestQueueSize | IndexJob |
SecurityIdMappingCacheMaxEntries | ObjectStore |
ServerCommunicationCertificateValidationEnabled | VirtualServer |
ServerCommunicationTraceFlags | TraceLoggingConfiguration |
ServerCommunicationURL | VirtualServer |
SourceContentRetained | McMoveContentEvent |
UseSequentialIds | ObjectStore |
非推奨プロパティー
ColumnDefinition クラスの IsSingleIndexed プロパティーは非推奨になりました。
製品の新機能とその他の機能拡張のサポートが Content Engine Java と .NET API に導入されました。
Content Engine Java API の新規クラス ExtendedInputStream では、ストリーム内の任意の位置でコンテンツを取得するためのサポート (ストリーム内を前方および後方にシークする機能を含む) が提供されます。Content Engine .NET API は、新規 ExtendedStream クラスを介して、同じサポートを提供します。
前のリリースでは、コンテンツの取得は、コンテンツの順次読み取りに制限されていました。新しい拡張ストリーム・サポートを使用すると、アプリケーションは、非常に大きなファイル・コンテンツ (ビデオ・コンテンツやオーディオ・コンテンツなど) をファイル内の任意のポイントから効率的に取得できます。この機能を必要としない既存のアプリケーションに対して、変更する必要はありません。 この機能を必要とするアプリケーションの場合は、現行の accessContentStream メソッド (ContentTransfer、Document、および Annotation クラス上) から返される入力ストリームを新規の拡張クラスにキャストして、新しい操作を実行することができます。
新しい拡張入力ストリームはすべてのタイプのストレージ・デバイスをサポートしますが、コンテンツ・ストリーム内を効率的にシークする機能は、基盤となるメディアの能力に制限されるので、ストレージ・デバイスのタイプによってはこの機能が適切でない可能性があることに注意してください。例えば、ファイル・ストレージ域および拡張ストレージ域のファイル・システム・ストレージ・デバイスは、ネイティブの入力ストリーム位置変更を行うように最適化されているので、コンテンツ・ストリーム内を効率的に検索できます。また、どのタイプのストレージ域からでもコンテンツ・キャッシュ内にキャッシュされたファイルはすべて、ネイティブの入力ストリーム位置変更を行うように最適化されます。
5.2.1 より前のリリースでは、オブジェクトに割り当てられる固有 ID は、完全にランダムな値を生成するアルゴリズムを使用して生成されました。5.2.1 リリースでは、順次 ID を生成する新しいアルゴリズムが使用できます。順次 ID では、時間ベースおよびカウンター・ベースの部分をランダム部分と結合することにより、連続して作成される ID が、基盤となるデータベースで適用される自然な順序付けに従って順次的 (単調) になるようにします。
ObjectStore インターフェースの新規 UseSequentialIds プロパティーは、オブジェクト・ストアに新規オブジェクトが作成されるときに、そのオブジェクト・ストアがランダム ID を割り当てるか順次 ID を割り当てるかを指定します。索引付きデータベース列や、主キーにクラスター索引が作成されたテーブルは、完全にランダムな ID を格納するよりも順次 ID を格納する方が、コンパクトに保管され、効率的に管理されるため、パフォーマンスの向上およびスペースの節約を実現できる可能性があります。
このプロパティーのデフォルト値は true (順次 ID の割り当て) です。オブジェクト・ストア内の新規オブジェクトに順次 ID を割り当てたくない場合は、UseSequentialIds プロパティーの値を false に設定します。
新規のメタデータ・プロパティー IsReadProtected は、バイナリー値プロパティーに対して、そのバイナリー値プロパティーはサーバーの外部で実行されるアプリケーションによる読み取りが不可であることを指定するために使用できます。IsReadProtected プロパティーを使用すると、サーバーの内部で実行される、信頼できるハンドラー・コードのみが入手可能なパスワードやその他の機密情報を保管できます。Content Engine Java API の HandlerCallContext クラスで新規 getReadProtectedProperty メソッドを使用すると、バイナリー値の、読み取り保護プロパティーの値を表す Property オブジェクトが返されます。5.2.1 リリースにアップグレードする場合、既存のカスタムのバイナリー値プロパティーでは IsReadProtected メタデータ・プロパティーの値が false に設定されることに注意してください。
新しいストレージ・エリアのサポートが追加されました。このストレージ・エリアは、高可用性コンテンツ・ストレージを提供し、複製機能と自動レプリカ修復機能を使用して、災害からの復旧を支援します。拡張ストレージ・エリアは、通常、Administration Console for Content Platform Engine を使用して管理しますが、拡張ストレージ・エリアに関連するクラスは Content Engine API で開示されます。こうしたクラスには、CmAdvancedStorageArea、CmStorageDeviceConnection、CmStorageDevice、CmReplicaSynchronizationSiteSettings などがあります。
また、拡張ストレージ・エリアをサポートするために、キュー・スイープに関連するクラス (CmContentBackoutQueueSweep、CmContentDeletionQueueSweep、CmContentReplicationQueueSweep) が追加されました。
Content Platform Engine (CPE) サーバー通信のサポートが追加されました。これにより、サイト間の WAN 全体でファイル・システム・ディレクトリーをマウントすることなく、拡張ストレージ・エリアのクロスサイト複製を実行することができます。CPE サーバー通信は、通常、Administration Console for Content Platform Engine を使用して管理しますが、Content Engine API を使用してこの機能を構成することもできます。VirtualServer クラスに、新しいプロパティーである ServerCommunicationURL と ServerCommunicationCertificateValidationEnabled が追加されました。
新しい EMC 固定コンテンツ・デバイスである Atmos と Isilon のサポートが追加されました。 固定コンテンツ・デバイスは、通常、Administration Console for Content Platform Engine を使用して構成しますが、Content Engine API を使用して構成することもできます。2 つの新しいクラス (CmAtmosFixedContentDevice と CmIsilonFixedContentDevice) が追加されました。
新しいタイプのサーバー拡張機能である、カスタム・スイープのサポートが追加されました。システム・スイープと同様に、カスタム・スイープはサーバー上でバックグラウンド・タスクとして動作し、ターゲット・クラスのインスタンスを取得して処理します。ただし、カスタム・スイープでは、ユーザーが Java または JavaScript で実装したアクション・ハンドラーを使用して、インスタンスを処理します。
MaximumFailures プロパティーのデフォルト値がゼロに変更されました。これは、キュー・スイープ実装が、失敗したキュー・エントリーの再処理を回数の制限なく試行することを意味します。 デフォルト値は変更できます。変更すると、システム・キュー・スイープやユーザー実装のカスタム・キュー・スイープに影響を及ぼします。 CmThumbnalRequestSweep は例外であり、MaximumFailures のデフォルト値は 7 から 3 に変更されました。
5.2.1 より前のリリースでは、キュー・エントリー (CmAbstractQueueEntry サブクラスで表される) が最大失敗回数に到達した場合、そのキュー・エントリーは処理対象として選択されなくなりますが、QueueEntryStatus プロパティーは変更されませんでした。 最大失敗回数に到達したキュー・エントリーの処理を再開するには、キュー・スイープ (CmQueueSweep で表される) の MaximumFailures プロパティーの値を大きくする必要がありました。 結果として、スイープ・サービスはそれらのキュー・エントリーの処理を再開し、新しい最大回数に到達するまで続行しました。
5.2.1 リリースでは、キュー・エントリーが最大失敗回数に到達すると、QueueEntryStatus プロパティーは FAILED に設定されるので、キュー・エントリーは処理対象として選択されなくなります。 キュー・スイープの最大失敗回数を増やしてキュー・エントリー処理を再開することはできなくなりました。 その代わり、スイープ・サービスがそれらのキュー・エントリーの処理を再開できるようにするために、個々のキュー・エントリーで FailureCount プロパティーをゼロにリセットする必要があります。詳しくは、失敗したキュー・スイープ・エントリーのリセットを参照してください。
Content Engine Java API では、リリース間クラス・ロード (CRCL) 機能のサポートが追加され、Java アプリケーションの単一インスタンスが Content Platform Engine サーバーの複数のリリースに同時に接続できるようになりました。
ソーシャル・コンテンツ機能のサポートが追加され、クライアント・アプリケーションにドキュメント・コラボレーション操作を実装できるようになりました。
以下のメソッドにより、HandlerCallContext クラスが拡張されました。
新しいプロパティーである MaxRequestQueueSize が IndexJob クラスに追加されました。このプロパティーを使用して、索引ジョブで許可される未処理の索引要求の最大数を制御することができます。
このリリースでは、CmIndexDefinition クラスの新しいプロパティー ForCaseInsensitiveSearch を使用して、大/小文字を区別しない検索を索引に対して実行することができます。 また、Process Engine クライアントでの大/小文字を区別しない検索をサポートするため、既存の ForceCaseInsensitiveSearch プロパティーが IsolatedRegion クラスに追加されました。
バックグラウンド検索は、バックグラウンド検索プロセスとして検索照会を実行できるようにする新機能です。スイープ処理に類似しています。バックグラウンド検索の照会結果は、永続可能な Content Platform Engine オブジェクトに保管されます。このオブジェクトは、後で調べたり、クライアント・アプリケーションで使用したりすることができます。この新機能をサポートするため、2 つの新しいクラス (CmBackgroundSearch と CmAbstractSearchResult) が追加されました。バックグラウンド検索を作成する場合は、これらのクラスに基づくサブクラスを作成してください。CmBackgroundSearch クラスは、CmSweep のサブクラスです。このクラスには、AllowStringTruncation、EffectiveSQL、MaximumExaminedRowCount、OrderByGroupProperties、SearchExpression、SearchObjectStore、SearchResults という新しいプロパティーが用意されています。CmAbstractSearchResult クラスには、BackgroundSearch という新しいプロパティーが用意されています。ObjectStore の新しいプロパティー BackgroundSearches は、オブジェクト・ストア内で実行されるバックグラウンド検索を指定します。CmSweepConfiguration の新しいプロパティー BackgroundSearchLeaseDuration は、バックグラウンド検索の要求を実行できる時間を指定します。この時間が経過すると、別のスレッドで同じ要求を再発行できるようになります。
バックグラウンド検索のパラメーター
このリリースでは、バックグラウンド検索のパラメーターが導入されています。このパラメーターを使用すると、バックグラウンド検索の SQL 照会にパラメーターを代入することができます。各パラメーターは、CmBackgroundSearch オブジェクトのカスタム・プロパティーに関連付けられます。このオブジェクトのシンボル名は、パラメーターのシンボル名に一致します。バックグラウンド検索を開始し、パラメーターを定義するカスタム・プロパティーの値を設定すると、サーバーはその値を SQL 照会内の対象パラメーターに代入します。
集約関数と GROUP BY 節
Content Platform Engine は、バックグラウンド検索の場合のみ、SQL 集約関数と GROUP BY 節をサポートします。 SQL 集約関数は、一連の値に対して計算を実行し、計算結果として単一の値を返します。GROUP BY 節は 1 つ以上の集約関数とともに使用され、照会で返された一連の行を列ごとにグループ化します。 以下の SQL 集約関数がサポートされています。
このリリースでは、カスタム検索関数が導入されています。カスタム検索関数はオブジェクト・ストア内で作成され、アドホック検索とバックグラウンド検索の両方について、SQL ステートメントの SELECT リストで使用することができます。それぞれのカスタム検索関数は、1 つ以上の入力パラメーターを受け取って戻り値を出力します。この機能用に、CmSearchFunctionDefinition クラスと CmFunctionName プロパティーが追加されました。このクラスは、検索時に呼び出すことができるカスタムの SQL 検索関数を定義します。また、SearchFunctionHandler クラスも追加されました。このクラスにより、カスタム検索関数ハンドラーを実装することができます。このクラスには、evaluate、getFunctionName、requiresTransaction、validate という新しいメソッドが用意されています。
このリリース以降、オブジェクト値を持つカスタム・プロパティーにセキュリティー・プリンシパル値 (SID) を格納できるようになりました。これは、ユーザー・オブジェクトまたはグループ・オブジェクトを参照します。そのため、PropertyDefinitionObject オブジェクトの RequiredClassId プロパティーを SecurityPrincipal クラスに設定することも、このクラスのサブクラスである User または Group に設定することもできます。 これまでのリリースでは、RequiredClassId プロパティーは GCD クラスと RepositoryObject クラスだけに制限されていました。この機能をサポートするため、 SecurityIdMappingCacheMaxEntries プロパティーが ObjectStore クラスに追加されました。
新しい SQL 関数
セキュリティー・プリンシパル値を持つプロパティーを SQL 照会でサポートするため、以下の SQL 関数が Content Engine の SQL 照会構文に追加されました。
このリリース以降、同じ物理インフラストラクチャーと物理リソースを共有する論理的に独立した複数のドメインをセットアップできるようになりました。 テナント・ドメインと呼ばれる複数のドメインをセットアップすることができます。これらのドメインは、マスター・ドメインによって管理されます。この機能用に、DomainType というクラス定数と、新しい Domain プロパティーである AuthenticationRealmName と DomainType が追加されました。
これまでのリリースでは、データベース管理者は、ネイティブのデータベース・ツールを使用して、複数列の索引を手動で作成していました。5.2.1 リリースでは、CmIndexDefinition という新しいクラスが導入されました。このクラスを使用すると、複数列の索引をプログラムで作成することができます (Administration Console for Content Platform Engine を使用して作成することもできます)。 詳細については、CmIndexDefinition を参照してください。手動で作成した索引を Content Platform Engine のメタデータに組み込む方法については、カスタム・アプリケーションのアップグレードを参照してください。
この機能をサポートするために変更されたその他の API を以下に示します。
新しいプロパティーである IsDateOnly が、PropertyDescriptionDateTime クラス、PropertyDefinitionDateTime クラス、PropertyTemplateDateTime クラスに追加されました。このプロパティーは、アプリケーションによる表示またはレンダリング時にこの DateTime プロパティーを日付専用プロパティーとして処理することを示すヒントとして使用することができます。Content Engine サーバーのいずれの動作も、このプロパティーには関連付けられていないことに注意してください。
以下の機能のコンポーネントは、Content Platform Engine クライアント・ダウンロード・サービスからダウンロードできるようになりました。
Process Java API には、新しいクラスとメソッドが含まれています。
このクラスを使用して、特定のリージョン内の異なる複数のロケールについて、XLIFF 定義の作成、読み取り、削除、変更を行います。
このクラスを使用して、XLIFF 定義項目の作成、読み取り、削除、変更を行います。このクラスは、他のリージョン・メタデータ・リスト・クラス (VWRegionFieldList、VWSLAList、VWWorkScheduleList) に類似しています。
/**
* Value of 7: indicating the attachment type is a Task object.
* @since CPE 5.2.0.3 IF003
*/
public static final int ATTACHMENT_TYPE_TASK = 7;
/**
* Gets the simple sequence number of the record, beginning the
* count at 1 and increasing by one with each new record.
* @return The sequence number of the log record.
* @exception VWException Thrown for various reasons, including when
* the sequence number is not found.
* @since CPE 5.2.1.0
*/
public double getSequenceNumberAsDouble() throws VWException
/**
* Gets the 'allow local SMTP settings' flag.
*
* @return The 'allow local SMTP settings' flag value.
* @throws VWException Thrown for various causes.
* @since CPE 5.2.1.0
*/
public boolean getAllowLocalSMTPSettings() throws VWException
/**
* Sets the 'allow local SMTP settings' flag.
*
* @param bAllowLocalSmtpSettings Specify <code>true</code> to allow
* specification of 'local' notification settings. If <code>false</code>,
* the GCD settings will be used.
* @throws VWException Thrown for various causes.
* @since CPE 5.2.1.0
*/
public void setAllowLocalSMTPSettings(boolean bAllowLocalSmtpSettings)
throws VWException
/**
* Gets a VWAttribute object containing attributes for this object,
* as paired labels (keywords) and values in String format.
*
* @return A VWAttribute object containing attributes for this object,
* as paired labels (keywords) and values in String format.
* @throws VWException
* @since CPE 5.2.0.3 IF003
*/
public VWAttributeInfo getAttributeInfo() throws VWException
/**
* Gets a VWAttribute object containing attributes for this object,
* as paired labels (keywords) and values in String format.
* Note: Attributes can not be retrieved from an operation's parameter.
*
* @return A VWAttribute object containing attributes for this object,
* as paired labels (keywords) and values in String format.
* @throws VWException
* @since CPE 5.2.0.3 IF003
* @see #setAttributeInfo
*/
public VWAttributeInfo getAttributeInfo() throws VWException
/**
* Sets a VWAttribute object containing attributes for this object.
* Note: Attributes can not be set on an operation's parameter.
*
* @param theAttributeInfo A VWAttribute object containing
* attributes for this object, as paired labels (keywords) and
* values in String format.
* @throws VWException * @since CPE 5.2.0.3 IF003
* @see #getAttributeInfo
*/
public void setAttributeInfo(VWAttributeInfo theAttributeInfo) throws VWException
/**
* Fetches XLIFF definitions for the region associated with the connection point.
*
* @param startLocale Returns the XLIFF definitions starting from the locale
* specified. If all XLIFF definitions are required, specify <code>null</code>.
* This method must be issued again to return subsequent items from the list.
* @param count - max number of objects to return.
* @param greaterThan - if true, will query for all fields greater than the
* startLocale value. If false, will query for items equal and greater than the
* startLocale.
* @throws VWException
* @since CPE 5.2.1.0
*/
public VWXLIFFList fetchXliffList(Locale startLocale, int count, boolean greaterThan)
throws VWException
/**
* @fnexclude
* Updates all the work objects of the given task object. May only be called local
* to the PE server.
* @param taskObject - the task object to update
* @param modifiedProperties a list of modified property symbolic names
* @throws VWException
* @since PE 5.2.0.3 IF003
*/
public void updateTaskWorkObjects(CmTask taskObject, StringList modifiedProperties)
throws VWException