Oracle® Fusion Middleware

Oracle WebCenter Contentでの開発

11g リリース1 (11.1.1)

B72427-04(原本部品番号:E26694-04)

2014年1月

Oracle Fusion Middleware Oracle WebCenter Contentでの開発 11g リリース1 (11.1.1)

B72427-04

Copyright © 1994, 2014, Oracle and/or its affiliates. All rights reserved.

原本著者:  Bonnie Vaughan

原本協力著者:  Sean Cearley、Sandra Christiansen、Will Harris、Karen Johnson、Bob Lies、Jean Wilson

原本協力者:  Sharmarke Aden、Mei Hong, Scott Nelson、Matt Shannon、David Truckenmiller、Ron van de Crommert

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

このガイドで説明する新機能

- 11g リリース1 (11.1.1)の新機能

- 11g リリース1 (11.1.1)の変更された機能

第I部 Oracle WebCenter Contentのスタート・ガイド

1 Oracle WebCenter Contentでの開発の概要

- 1.1 WebCenter Contentのアーキテクチャの概要

- 1.1.1 WebCenter Contentのディレクトリおよびファイル

- 1.1.1.1 WebCenter Contentのディレクトリの用語

- 1.1.1.2 binディレクトリ

- 1.1.1.3 configディレクトリ

- 1.1.1.4 componentsディレクトリ

- 1.1.1.5 resourcesディレクトリ

- 1.1.1.6 weblayoutディレクトリ

- 1.1.2 リソース

- 1.2 カスタマイズのタイプ

- 1.3 カスタマイズの計画

- 1.4 コンテンツ・サーバーのカスタマイズで推奨されるスキルとツール

- 1.5 コンテンツ・サーバーの動作

- 1.5.1 起動動作

- 1.5.1.1 起動手順

- 1.5.1.2 構成のロードの影響

- 1.5.2 リソースのキャッシング

- 1.5.3 ページ・アセンブリ

- 1.5.4 データベースとの対話

- 1.5.5 ローカライズされた文字列の解決

- 1.5.6 アプリケーション統合

2 Oracle Fusion Order Demoサンプル・アプリケーションの概要

- 2.1 Fusion Order DemoおよびSuppliersモジュールについて

- 2.2 Fusion Order Demoアプリケーションの設定

- 2.3 Suppliersモジュールの実行

- 2.3.1 Suppliersモジュール・コード

- 2.3.2 Suppliersモジュールのページ

第II部 Idoc Scriptのカスタム・スクリプト言語の使用

3 Idoc Scriptのカスタム・スクリプト言語の概要

- 3.1 Idocの命名規則

- 3.2 Idoc Scriptの構文

- 3.2.1 Idoc Scriptのタグ

- 3.2.2 Idoc Scriptのコメント

- 3.3 Idoc Scriptの使用

- 3.3.1 include

- 3.3.1.1 インクルードの例

- 3.3.1.2 superタグ

- 3.3.1.3 superタグの例

- 3.3.2 変数

- 3.3.2.1 変数の作成

- 3.3.2.2 変数の参照

- 3.3.2.3 変数値

- 3.3.2.4 カンマ区切り記号

- 3.3.2.5 条件における変数の参照

- 3.3.2.6 変数の参照の検索順序

- 3.3.2.7 標準変数

- 3.3.3 関数

- 3.3.3.1 パーソナライズ関数

- 3.3.4 条件

- 3.3.4.1 条件の例

- 3.3.5 ループ

- 3.3.5.1 ResultSetのループ

- 3.3.5.2 ResultSetのループの例

- 3.3.5.3 Whileのループ

- 3.3.5.4 Whileのループの例

- 3.3.5.5 ループの終了

- 3.3.6 管理インタフェース

- 3.3.6.1 ワークフロー管理

- 3.3.6.2 Webレイアウト・エディタ

- 3.3.6.3 バッチ・ローダー

- 3.3.6.4 アーカイバ

- 3.3.6.5 システム・プロパティ

- 3.3.6.6 電子メール

- 3.4 特殊なキーワード

- 3.4.1 キーワードと関数の比較

- 3.4.1.1 execキーワード

- 3.4.1.2 eval関数

- 3.4.1.3 includeキーワード

- 3.4.1.4 inc関数

- 3.5 演算子

- 3.5.1 比較演算子

- 3.5.2 特殊文字列演算子

- 3.5.3 数値演算子

- 3.5.4 ブール演算子

- 3.6 メタデータ・フィールド

- 3.6.1 メタデータ・フィールドのネーミング

- 3.6.2 標準メタデータ・フィールド

- 3.6.2.1 共通メタデータ・フィールド

- 3.6.2.2 その他のフィールド

- 3.6.3 オプション・リスト

- 3.6.3.1 内部オプション・リスト

- 3.6.3.2 オプション・リストのスクリプト

- 3.6.3.3 オプション・リストの作成方法

- 3.6.4 動的サーバー・ページのメタデータ参照

- 3.7 結果をフォーマット化するためのインクルードのマージ

- 3.8 有効範囲付きローカル変数

4 Oracle WebCenter ContentでのIdoc Scriptの変数と関数の使用

- 4.1様々なタイプのIdoc Scriptの変数と関数の使用

- 4.1.1 条件動的変数

- 4.1.2 動的変数

- 4.1.3 環境変数

- 4.1.4 グローバル関数

- 4.1.5 ページ変数

- 4.1.5.1 ページ表示変数

- 4.1.5.2 フィールド表示変数

- 4.1.6 読取り専用変数

- 4.1.6.1 テンプレート読取り専用変数

- 4.1.6.2 ユーザー読取り専用変数

- 4.1.6.3 コンテンツ読取り専用変数

- 4.1.6.4 その他の読取り専用変数

- 4.1.7 設定可能変数

- 4.1.8 ワークフロー

- 4.1.8.1 ワークフロー関数

- 4.1.8.2 ワークフロー変数

- 4.1.9 値変数

- 4.2 Oracle WebCenter Contentの各種機能によるIdoc Scriptの変数と関数の使用

- 4.2.1 バッチ・ローダー

- 4.2.2 クライアント

- 4.2.3 コンテンツ・アイテム

- 4.2.4 コンテンツ・プロファイル

- 4.2.5 Content Server

- 4.2.6 変換

- 4.2.6.1 Inbound Refinery

- 4.2.6.2 Dynamic Converter

- 4.2.7 データベース

- 4.2.8 日付と時間

- 4.2.9 デバッグ

- 4.2.10 ディレクトリとパス

- 4.2.11 動的データ

- 4.2.12 フィールド表示

- 4.2.13 Idoc Script

- 4.2.13.1 キーワード

- 4.2.14 索引の作成

- 4.2.15 ローカライゼーション

- 4.2.16 ページ表示

- 4.2.17 パーソナライズ

- 4.2.18 ResultSets

- 4.2.19 スキーマ

- 4.2.20 検索

- 4.2.21 セキュリティ

- 4.2.21.1 内部セキュリティ

- 4.2.21.2 外部セキュリティ

- 4.2.22 文字列

- 4.2.23 テンプレート

- 4.2.24 ユーザー

- 4.2.25 Webサーバー

- 4.2.26 ワークフロー

- 4.2.26.1 グローバル関数

- 4.2.26.2 ワークフロー関数

- 4.2.26.3 その他の変数

第III部 コンテンツ・サーバー・インタフェースのルック・アンド・フィールの変更

5 コンテンツ・サーバー・インタフェースのカスタマイズ

- 5.1 コンテンツ・サーバー・インタフェースのカスタマイズについて

- 5.1.1 スキンとレイアウトのタイプ

- 5.1.2 スキン

- 5.1.3 レイアウト

- 5.2 別のスキンまたはレイアウトの選択

- 5.2.1 別のスキンまたはレイアウトの選択方法

- 5.2.2 実行時に行われる処理

- 5.3 新規ユーザーおよびゲスト向けのデフォルトのスキンおよびレイアウトの構成

- 5.4 スキンまたはレイアウトのテンプレートの変更

- 5.4.1 動的パブリッシュについて

- 5.5 匿名ユーザー・インタフェースの変更

- 5.5.1 匿名ユーザー・インタフェースの変更方法

- 5.5.2 実行時に行われる処理

- 5.6 ログイン・ページのURLの変更

- 5.7 新規レイアウトの作成およびパブリッシュ

- 5.8 パブリッシュされたファイルの使用の最適化

- 5.8.1 ファイルのバンドル

- 5.8.2 パブリッシュされたファイルの参照

6 WebCenter Contentユーザー・インタフェースのカスタマイズ

- 6.1 WebCenter Contentユーザー・インタフェースのカスタマイズについて

- 6.2 Oracle JDeveloper 11.1.2.4.0 Studio Editionのインストールおよび構成

- 6.2.1 JDeveloperのインストール

- 6.2.2 JDeveloperのパッチの適用

- 6.2.3 統合されたWebLogic Serverドメインの作成

- 6.2.4 シード・カスタマイズの定義に向けたJDeveloperの構成

- 6.3 WccAdfCustomizationアプリケーションの設定

- 6.4 カスタム・スキンの定義およびWccAdfCustomSkin.jarの生成

- 6.4.1 カスタム・スキンのカスタマイズの設計とテスト

- 6.4.1.1 独自のイメージを使用したブランド・バー・ロゴのカスタマイズ

- 6.4.1.2 デフォルトのフォント・サイズのカスタマイズ

- 6.4.1.3 セレクタのカスタマイズ

- 6.4.1.4 アプリケーションの停止

- 6.4.2 カスタム・スキンをWccAdfCustomSkin.jarとしてパッケージ化する方法

- 6.5 MDSシード・カスタマイズの定義およびWccAdfCustomization.marの生成

- 6.5.1 customerレイヤー値の定義

- 6.5.2 customerレイヤーの各レイヤー値に対するシード・カスタマイズの定義

- 6.5.3 MDSシード・カスタマイズの定義

- 6.5.4 WccAdfCustomization.marにシード・カスタマイズをパッケージ化する方法

- 6.6 インストール済環境へのカスタマイズの適用

- 6.6.1 カスタム・スキンの適用

- 6.6.2 WebCenter Contentユーザー・インタフェースに対するシード・カスタマイズの適用

7 動的サーバー・ページの作成

- 7.1 動的サーバー・ページについて

- 7.1.1 ページ・タイプ

- 7.1.1.1 IDOCファイル

- 7.1.1.2 HCSTファイル

- 7.1.1.3 HCSPファイル

- 7.1.1.4 HCSFファイル

- 7.2 Webページの外観およびナビゲーションの変更

- 7.2.1 構文

- 7.2.1.1 Idocスクリプトの式

- 7.2.1.2 比較演算子

- 7.2.1.3 特殊文字

- 7.2.1.4 メタデータの参照

- 7.2.2 Idocスクリプトの関数

- 7.2.2.1 docLoadResourceIncludes関数

- 7.2.2.2 executeService関数

- 7.2.3 開発に関する推奨事項

- 7.2.3.1 一般的なガイドライン

- 7.2.3.2 HCSFガイドライン

- 7.2.4 HCSFページ

- 7.2.4.1 ロード・セクション

- 7.2.4.2 データ・セクション

- 7.2.4.3 フォーム・セクション

- 7.3 動的サーバー・ページ用のカスタム・インクルードを含むIDOCファイルの作成

- 7.4 HCSTページの作成

- 7.5 HCSPページの作成

- 7.6 HCSFページの作成

- 7.6.1 フォームの共通コード

- 7.6.1.1 ファイル情報の取得

- 7.6.1.2 ファイル拡張子の参照

- 7.6.1.3 フォーム情報の定義

- 7.6.1.4 フォーム・フィールドの定義

- 7.6.1.5 非表示フィールドの定義

- 7.6.1.6 フォームの送信

- 7.7 HCST、HCSP、HCSFの各ページのWebブラウザでの表示の確認

第IV部 コンテンツ・サーバーの機能の変更

8 システム設定の変更

- 8.1 システム設定の変更について

- 8.2 構成ページを使用したシステム設定の変更

- 8.3 システム・プロパティ・アプリケーションを使用したシステム設定の変更

- 8.4 Webレイアウト・エディタを使用したライブラリおよびシステム・ホーム・ページのカスタマイズ

- 8.5 ユーザー管理アプリケーションを使用したユーザーのセキュリティおよびアカウントの定義

9 構成情報の変更

- 9.1 構成情報の変更について

- 9.2 Idocスクリプトのカスタム・スクリプト言語を使用した構成の変更

- 9.3 他の開発ツールおよびテクノロジを使用した構成の変更

10 サービスのカスタマイズ

- 10.1 サービスのカスタマイズについて

- 10.2 コンテンツ・サーバーと通信するためのサービスのカスタマイズ

- 10.3 データベースにアクセスするためのサービスのカスタマイズ

11 「アクション」メニューの生成

- 11.1 「アクション」メニューの生成について

- 11.2 表示表の作成

- 11.2.1 「ヘッドライン表示」表

- 11.2.2 「サムネイル表示」表

- 11.3 アクション・メニューのカスタマイズ

第V部 コンポーネントによるコンテンツ・サーバーのカスタマイズ

12 コンテンツ・サーバーのコンポーネントのスタート・ガイド

- 12.1 標準コンポーネント、システム・コンポーネントおよびカスタム・コンポーネントについて

- 12.1.1 コンポーネント・ファイルの概要

- 12.1.2 コンポーネントの使用

- 12.1.3 ディレクトリおよびファイルについて

- 12.1.3.1 HDAファイル

- 12.1.3.2 カスタム・リソース・ファイル

- 12.1.3.3 データ・バインダ

- 12.1.3.4 manifestファイル

- 12.1.3.5 その他のファイル

- 12.1.3.6 一般的なディレクトリ構造

- 12.1.4 開発に関する推奨事項

- 12.1.4.1 コンポーネントの作成

- 12.1.4.2 コンポーネント・ファイルでの作業

- 12.1.4.3 開発コンテンツ・サーバーの使用

- 12.1.4.4 コンポーネント・ファイルの編成

- 12.1.4.5 命名規則

- 12.2 コンポーネントを管理するためのツール

- 12.2.1 コンポーネント・ウィザード

- 12.2.2 拡張コンポーネント・マネージャ

- 12.2.3 ComponentTool

- 12.3 コンポーネント・ファイル

- 12.3.1 idc製品の_components.hdaファイル

- 12.3.2 Components ResultSet

- 12.3.3 コンポーネント定義(Glue)ファイル

- 12.3.3.1 ResourceDefinition ResultSet

- 12.3.3.2 MergeRules ResultSet

- 12.3.3.3 Filters ResultSet

- 12.3.3.4 ClassAliases ResultSet

- 12.4 Webページをアセンブルするためのリソース

13 コンテンツ・サーバーのコンポーネントの有効化と無効化

- 13.1 コンポーネントの有効化と無効化について

- 13.2 コンポーネントの有効化

- 13.3 コンポーネントの無効化

14 コンポーネント構成の更新

- 14.1 コンポーネント構成の更新について

- 14.2 拡張コンポーネント・マネージャを使用したコンポーネント構成の更新

- 14.3 「instanceの構成」画面を使用したコンポーネント構成の更新

15 Content Trackerのカスタマイズ

- 15.1 Content Trackerについて

- 15.1.1 Content Trackerレポート

- 15.1.2 Content Trackerのコンポーネントおよび機能

- 15.1.2.1 DataBinderダンプ機能

- 15.1.2.2 パフォーマンスの最適化

- 15.1.2.3 インストールの考慮事項

- 15.2 構成変数によるContent Trackerのカスタマイズ

- 15.2.1 構成変数について

- 15.2.1.1 アクセス制御リストおよびContent Trackerレポートのセキュア・モード

- 15.2.1.2 セキュリティ・チェック・プリファレンス変数の値

- 15.2.1.3 SctAccessLogのエントリのファイル・タイプ

- 15.2.2 Content Tracker構成変数の設定

- 15.2.3 外部ユーザーおよびコンテンツ・アイテムの追跡

- 15.3 サービス・コールの構成

- 15.3.1 サービス・コール構成ファイルについて

- 15.3.1.1 一般的なサービス・コール・ロギング

- 15.3.1.2 拡張されたサービス・コール・トラッキング機能

- 15.3.1.3 サービス・コール構成ファイルの内容

- 15.3.1.4 ResultSetの例

- 15.3.2 Content Trackerロギング・サービスについて

- 15.3.3 サービス・コール情報の管理

- 15.3.3.1 SctServiceFilter.hdaファイルの手動編集

- 15.3.3.2 Content Trackerロギング・サービスを呼び出すための必要なDataBinderフィールドの設定

- 15.3.3.3 アプリケーションからのContent Trackerロギング・サービスの呼出し

- 15.3.3.4 IdocスクリプトからのContent Trackerロギング・サービスの呼出し

- 15.3.4 サービス・コール管理およびユーザー・インタフェース

- 15.3.4.1 サービス・エントリの追加、編集または削除

- 15.3.4.2 フィールド・マップResultSetの追加、編集または削除

- 15.4 アクティビティ・メトリックのSQL問合せのカスタマイズ

- 15.4.1 外部ユーザーによるコンテンツ・アイテムへのアクセスの追跡

- 15.5 Webビーコンによるコンテンツへの間接アクセスの追跡

- 15.5.1 Webビーコンのユースケース

- 15.5.2 Webビーコンの概要

- 15.5.3 Webビーコン・オブジェクト

- 15.5.4 Webビーコン参照

- 15.5.4.1 URL参照のフォーマット構造

- 15.5.4.2 配置および取得スキーム

- 15.5.4.3 データの取得と格納

- 15.5.5 Webビーコン参照の削減処理

- 15.5.6 制限事項とガイドライン

- 15.5.6.1 制限事項

- 15.5.6.2 ガイドライン

- 15.5.7 Webビーコン埋込みの例

- 15.5.7.1 埋込みHTMLの例

- 15.5.7.2 埋込みJavaScriptの例

- 15.5.7.3 JavaScriptを処理する方法の例

16 Content Categorizerのカスタマイズ

- 16.1 Content Categorizerについて

- 16.2 サイトに対するContent Categorizerの設定とカスタマイズ

17 カスタム・コンポーネントのダウンロード

- 17.1 カスタム・コンポーネントのダウンロードについて

- 17.2 拡張コンポーネント・マネージャを使用したコンポーネントのダウンロード

- 17.3 Oracle Technology Networkからのコンポーネントのダウンロード

18 カスタム・コンポーネントの作成

- 18.1 カスタム・コンポーネントの作成について

- 18.2 コンポーネントのリソースの作成

- 18.2.1 HTMLインクルード

- 18.2.1.1 superタグ

- 18.2.1.2 HTMLインクルード・リソースの編集

- 18.2.2 動的データ表

- 18.2.2.1 表の形式の指定

- 18.2.2.2 動的データ表リソースの編集

- 18.2.2.3 表のプロパティの指定

- 18.2.2.4 Dynamicdata Idocスクリプト関数の使用

- 18.2.3 文字列リソース

- 18.2.3.1 文字列パラメータ

- 18.2.3.2 文字列リソースの編集

- 18.2.4 動的表

- 18.2.4.1 動的表のマージ・ルール

- 18.2.4.2 動的表リソースの編集

- 18.2.5 静的表

- 18.2.5.1 静的表のマージ・ルール

- 18.2.5.2 静的表リソースの編集

- 18.2.6 問合せ

- 18.2.6.1 問合せの例

- 18.2.6.2 問合せリソースの編集

- 18.2.7 サービス

- 18.2.7.1 サービスの例

- 18.2.7.2 サービス・リソースの編集

- 18.2.8 テンプレート

- 18.2.8.1 テンプレート・ページとレポート・ページ

- 18.2.8.2 テンプレート・リソースの編集

- 18.2.9 環境リソース

- 18.2.9.1 環境リソースの例

- 18.2.9.2 環境リソースの編集

- 18.3 コンポーネント定義ファイルの作成

- 18.4 コンテンツ・サーバーの再起動によるコンポーネントの適用

19 コンポーネントのインストール

- 19.1 コンポーネントのインストールについて

- 19.2 インストールするコンポーネントのパッケージ化

- 19.3 拡張コンポーネント・マネージャを使用したコンポーネントのインストール

- 19.4 コンポーネント・ウィザードを使用したコンポーネントのインストール

- 19.5 ComponentToolユーティリティを使用したコンポーネントのインストール

20 コンポーネントのアンインストール

- 20.1 コンポーネントのアンインストールについて

- 20.2 コンテンツ・サーバーからのコンポーネントのアンインストール

Part VI レコードのカスタマイズ

21 処理アクションのカスタマイズ

- 21.1 処理アクションのカスタマイズについて

- 21.2 カスタム処理の管理

- 21.2.1 カスタム処理アクションの作成または編集

- 21.2.2 カスタム処理アクション情報の表示

- 21.2.3 カスタム処理アクションの削除

- 21.3 カスタム処理アクションの無効化

- 21.4 カスタム処理アクションの作成

- 21.5 物理コンテンツの処理ルールの作成

22 バーコードのカスタマイズ

- 22.1 バーコードのカスタマイズについて

- 22.2 カスタム・バーコード範囲の追加

- 22.3 非標準バーコード・データの処理

- 22.3.1 ヘッダーおよびフッター情報

- 22.3.2 データ情報

- 22.3.2.1 トランザクション・コード

23 モバイル・バーコード・リーダーの追加

- 23.1 モバイル・バーコード・リーダーの追加について

- 23.2 モバイル・デバイスへのバーコード・スキャナ・ソフトウェアのインストール

- 23.3 モバイル・バーコード・リーダーのインストールの検証

24 カスタム・レポートの作成

- 24.1 カスタム・レポートの作成について

- 24.2 カスタム・テンプレートの作成

- 24.3 Oracle Business Intelligence Publisherでのテンプレートの作成

- 24.4 新規レポート・ソースの作成または編集

- 24.5 BI XMLデータ・ファイルのダウンロード

第VII部 環境へのWebCenter Contentの統合

25 環境へのWebCenter Contentの統合のスタート・ガイド

- 25.1 統合方法について

- 25.2 Webサービスの概要

- 25.3 フォルダ、コントリビューション・フォルダおよびWebDAV統合

- 25.3.1 仮想フォルダ

- 25.3.2 WebDAV統合

- 25.3.2.1 WebDAVクライアント

- 25.3.2.2 WebDAVサーバー

- 25.3.2.3 WebDAVアーキテクチャ

26 統合のためのWebCenter Content Webサービスの構成

- 26.1 統合のためのWebCenter Content Webサービスの構成について

- 26.1.1 Webサービスのテクノロジ

- 26.1.2 WebCenter Content Webサービス

- 26.2 Webサービス・ポリシーを使用したWebサービス・セキュリティの構成

- 26.3 SAMLサポートの構成

- 26.3.1 キーストアの構成

- 26.3.2 キーストアを使用するための、WebCenter Contentに対するJPSの構成

- 26.3.3 クライアントCSFの作成

- 26.3.4 キーストアおよびCSFを使用するためのJavaクライアントの構成

27 コンテンツ・サーバーでのJavaServer Pagesの統合

- 27.1 JSP統合について

- 27.1.1 JSP実行

- 27.1.2 Tomcat

- 27.1.3 特長

- 27.2 JSPサポートの構成

- 27.3 サンプルのページのロード

28 IdcCommandユーティリティを使用したコンテンツ・サーバーへのアクセス

- 28.1 IdcCommandユーティリティについて

- 28.2 Up IdcCommandの設定

- 28.2.1 コマンド・ファイルの指定

- 28.2.1.1 コマンド・ファイルの構文

- 28.2.1.2 優先順位

- 28.2.1.3 特殊タグと特殊文字

- 28.2.2 構成オプションの指定

- 28.2.2.1 コマンド・ファイル

- 28.2.2.2 ユーザー

- 28.2.2.3 ログ・ファイル

- 28.2.2.4 接続モード

- 28.3 IdcCommandの実行

- 28.4 ランチャの使用

- 28.4.1 引用符のルール

- 28.4.2 計算される設定

- 28.4.3 ランチャの環境変数

- 28.4.4 ユーザー・インタフェース

- 28.4.5 ランチャの構成

- 28.4.6 構成ファイルの例

- 28.5 リモートでのサービスのコール

29 統合のためのCOM APIの使用

- 29.1 COM APIについて

- 29.2 IntradocClient OCXコンポーネントを使用したコンテンツ・サーバー・サービスのコール

- 29.2.1 OCXインタフェース

- 29.2.2 IdcClient OCXの説明

- 29.2.2.1 OCXイベント

- 29.2.2.2 OCXメソッド

- 29.2.2.3 OCXプロパティ

- 29.2.2.4 IdcClient OCXインタフェース

- 29.2.3 IdcClient OCXコントロールの設定

- 29.2.3.1 IdcClient OCXコンポーネントの設定

- 29.2.3.2 ビジュアル・インタフェースの作成

- 29.2.4 IdcClientイベント

- 29.2.4.1 IntradocBeforeDownload

- 29.2.4.2 IntradocBrowserPost

- 29.2.4.3 IntradocBrowserStateChange

- 29.2.4.4 IntradocRequestProgress

- 29.2.4.5 IntradocServerResponse

- 29.2.5 IdcClient OCXメソッド

- 29.2.5.1 AboutBox

- 29.2.5.2 Back

- 29.2.5.3 CancelRequest

- 29.2.5.4 DoCheckoutLatestRev

- 29.2.5.5 DownloadFile

- 29.2.5.6 DownloadNativeFile

- 29.2.5.7 Drag

- 29.2.5.8 EditDocInfoLatestRev

- 29.2.5.9 Forward

- 29.2.5.10 GoCheckinPage

- 29.2.5.11 Home

- 29.2.5.12 InitiateFileDownload

- 29.2.5.13 InitiatePostCommand

- 29.2.5.14 Move

- 29.2.5.15 Navigate

- 29.2.5.16 NavigateCgiPage

- 29.2.5.17 Refresh Browser

- 29.2.5.18 SendCommand

- 29.2.5.19 SendPostCommand

- 29.2.5.20 SetFocus

- 29.2.5.21 ShowDMS

- 29.2.5.22 ShowDocInfoLatestRev

- 29.2.5.23 ShowWhatsThis

- 29.2.5.24 StartSearch

- 29.2.5.25 Stop

- 29.2.5.26 UndoCheckout

- 29.2.5.27 ViewDocInfo

- 29.2.5.28 ViewDocInfoLatestRev

- 29.2.5.29 ZOrder

- 29.2.6 IdcClientプロパティ

- 29.2.6.1 ClientControlledContextValue

- 29.2.6.2 HostCgiUrl

- 29.2.6.3 Password

- 29.2.6.4 UseBrowserLoginPrompt

- 29.2.6.5 UseProgressDialog

- 29.2.6.6 UserName

- 29.2.6.7 Working Directory

- 29.3 ODMA APIを使用した、デスクトップ・アプリケーションからコンテンツ・サーバーへのアクセス

- 29.3.1 ODMAクライアント

- 29.3.2 ODMAインタフェース

30 RIDCを使用したコンテンツ・サーバーへのアクセス

- 30.1 Remote Intradoc Clientについて

- 30.1.1 HttpClientライブラリ

- 30.1.2 コンビニエンス・クラス

- 30.2 接続の初期化

- 30.3 クライアントの構成

- 30.3.1 Intradoc接続のためのクライアント構成

- 30.3.2 SSLの構成

- 30.3.3 JAX-WSの構成

- 30.3.3.1 サービスのLPAモードの設定

- 30.3.3.2 ドメインのGPAサービス・ポリシーの設定

- 30.3.3.3 ドメインのGPAクライアント・ポリシーの設定

- 30.3.4 デフォルト設定の変更

- 30.4 ユーザーの認証

- 30.5 サービスの使用

- 30.6 接続プーリングの処理

- 30.7 ストリームの送受信

- 30.8 複数のリクエストに対するバインダの再利用

- 30.9 ユーザー・セキュリティの設定

- 30.10 RIDCフィルタの使用

31 コンテンツ・サーバーのJCRアダプタの使用

- 31.1 Java Content Repositoryアダプタについて

- 31.1.1 JCRデータ・モデル

- 31.1.2 コンテンツ・サーバーのJCRアダプタ・データ・モデル

- 31.2 必要なAPIおよびランタイム・ライブラリのインストール

- 31.2.1 ADFラインタイム・ライブラリのインストール

- 31.2.2 Remote Intradoc Client (RIDC)のデプロイ

- 31.2.3 JCR APIのデプロイ

- 31.2.4 JCR統合ライブラリのインストール

- 31.2.5 XML統合ファイルのインストール

- 31.3 JCRアダプタのデプロイ

- 31.4 コンテンツ・サーバーでの通信の構成

- 31.4.1 通信方法の指定

- 31.4.2 ソケット通信(リスナー・ポート)の構成

- 31.4.3 セキュア・ソケット通信(SSL)の構成

- 31.4.4 Web通信(Webサーバー・フィルタ)の構成

- 31.4.5 ユーザー・エージェントの構成

- 31.4.6 キャッシュ設定の指定

- 31.5 コンテンツ・アイテムに関する情報の検索

- 31.6 検索索引の使用

- 31.7 ファイル・ストア・プロバイダの使用

32 WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成

- 32.1 WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成について

- 32.1.1 Webサービス・フレームワーク

- 32.1.1.1 XMLデータ

- 32.1.1.2 WSDLインタフェース

- 32.1.1.3 SOAP通信

- 32.1.1.4 UDDIレジストリ

- 32.1.1.5 DIMEメッセージのフォーマット

- 32.1.1.6 実現技術を連携させる方法

- 32.1.1.7 実装アーキテクチャ

- 32.1.1.8 .NET上の実装

- 32.1.1.9 SOAPプロトコル

- 32.2 SOAPクライアントを使用したコンテンツ・サーバーへのアクセス

- 32.2.1 Java SOAPクライアントの使用

- 32.3 SOAPを使用したコンテンツ・サーバー・サービスのコール

- 32.3.1 SOAPパケットのフォーマット

- 32.3.1.1 HTTPヘッダー

- 32.3.1.2 ネームスペース

- 32.3.1.3 ノード

- 32.3.2 特殊文字

- 32.3.3 SOAPレスポンス/リクエストを使用したサンプルのサービス・コール

- 32.3.3.1 サーバーのPing

- 32.3.3.2 新しいユーザーの追加

- 32.3.3.3 既存のユーザーの編集

- 32.3.3.4 ユーザー情報の取得

- 32.3.3.5 ユーザーの削除

- 32.3.3.6 コンテンツ・アイテムのチェックイン

- 32.3.3.7 コンテンツ・アイテムのチェックアウト

- 32.3.3.8 コンテンツ・アイテムのチェックアウトを元に戻す

- 32.3.3.9 コンテンツ・アイテム情報の取得

- 32.3.3.10 ファイルの取得

- 32.3.3.11 検索結果の取得

- 32.3.3.12 表のデータの取得

- 32.3.3.13 基準ワークフロー情報の取得

- 32.4 Active Server PageにおけるSOAPパケットの使用

- 32.4.1 サンプルのSOAPリクエスト

- 32.4.2 サンプルのActive Server Page

- 32.5 WebCenter ContentにアクセスするためのWSDLファイルの生成

- 32.5.1 WSDLファイルの理解

- 32.5.1.1 WSDLファイル構造

- 32.5.2 サンプルWSDLファイル

- 32.5.3 WSDLファイルの生成

- 32.5.4 WSDLファイルからのプロキシ・クラスの生成

- 32.6 WSDLファイルのカスタマイズ

33 DesktopTagコンポーネントのカスタマイズ

- 33.1 DesktopTagコンポーネントについて

- 33.2 DesktopTagおよびOracleCleanContentコンポーネントの有効化

- 33.3 DesktopTagを使用したコンテンツ・アイテムのチェックアウトとチェックイン

- 33.3.1 File Get操作

- 33.3.2 ファイルのチェックイン操作

- 33.4 チェックアウト済コンテンツ・アイテムへのプロパティの追加

- 33.4.1 カスタム・プロパティの表示

- 33.4.2 コンテンツ・サーバーの外部からのドキュメントのチェックイン

- 33.5 DesktopTagコンポーネントの構成

- 33.5.1 DesktopTagFormatsプロパティ

- 33.5.2 DesktopTagPrefixプロパティ

- 33.5.3 DesktopTagFieldsプロパティ

- 33.5.4 DesktopTagPrefixCustomプロパティ

- 33.5.5 DesktopTagFieldsCustomプロパティ

- 33.5.6 DesktopTagPrefixExtendedプロパティ

- 33.5.7 DesktopTagFieldsExtendedプロパティ

- 33.5.8 DefaultTaskPaneUrlプロパティ

- 33.5.9 DesktopTagLogプロパティ

- 33.5.10 DesktopTagFormatsExcludeプロパティ

第VIII部 付録

A Idoc Scriptの関数および変数

- abortToErrorPage()

- addEmptyOption

- AdminAtLeastOneGroup

- AfterLogin

- AllowCheckin

- AllowCheckout

- AllowReview

- AuthorAddress

- AuthorDelete

- AutoNumberPrefix

- BatchLoaderPath

- break()

- BrowserVersionNumber

- c

- cacheInclude()

- captionEntryWidth

- captionFieldWidth

- clearSchemaData()

- ClientControlled

- computeDocUrl()

- computeRenditionUrl()

- CONTENT_LENGTH

- coreContentOnly

- CURRENT_DATE

- CURRENT_ROW

- dateCurrent()

- dcShowExportLink

- ddAppendIndexedColumnResultSet()

- ddAppendResultSet()

- ddApplyTableSortToResultSet()

- ddGetFieldList()

- ddIncludePreserveValues()

- ddLoadIndexedColumnResultSet()

- ddLoadResultSet()

- ddMergeIndexedColumnResultSet()

- ddMergeResultSet()

- ddMergeUsingIndexedKey()

- ddSetLocal()

- ddSetLocalByColumnsFromFirstRow()

- ddSetLocalByColumnsFromFirstRowIndexed()

- ddSetLocalEmpty()

- ddSetLocalEmptyByColumns()

- DefaultAccounts

- defaultFieldInclude

- defaultOptionListScript

- DelimitedUserRoles

- docLoadResourceIncludes()

- docRootFilename()

- DocTypeSelected

- DocUrl

- docUrlAllowDisclosure()

- DownloadApplet

- DownloadSuggestedName

- dpGet()

- dpPromote()

- dpPromoteRs()

- dpSet()

- dWfName

- dWfStepName

- EmptyAccountCheckinAllowed

- EnableDocumentHighlight

- encodeHtml()

- entryCount

- eval()

- ExclusiveCheckout

- exec

- executeService()

- ExternalUserAccounts

- ExternalUserRoles

- fieldCaption

- fieldCaptionInclude

- fieldCaptionStyle

- fieldDefault

- fieldEditWidth

- fieldEntryInclude

- fieldExtraScriptInclude

- fieldInclude

- fieldIsOptionList

- fieldMaxLength

- fieldName

- fieldOptionListType

- fieldType

- fieldValue

- fieldValueStyle

- fieldWidth

- fileUrl

- FIRSTREV

- ForcedConversionRules

- forceExpire()

- formatDate()

- formatDateDatabase()

- formatDateDisplay()

- formatDateOnly()

- formatDateOnlyDisplay()

- formatDateOnlyFull()

- formatDateWithPattern()

- formatTimeOnly()

- formatTimeOnlyDisplay()

- GATEWAY_INTERFACE

- generateUniqueId

- getCookie

- GetCopyAccess

- getDebugTrace()

- getErrorTrace()

- getFieldConfigValue

- getFieldViewDisplayValue()

- getFieldViewValue()

- getFreeMemory()

- getHelpPage

- getOptionListSize

- getParentValue()

- getRequiredMsg()

- getTextFile()

- getTotalMemory()

- getUserValue()

- getValue()

- getValueForSpecifiedUser()

- getViewValue()

- getViewValueResultSet()

- hasAppRights()

- HasExternalUsers

- HasLocalCopy

- hasOptionList

- HasOriginal

- HasPredefinedAccounts

- HasUrl

- HeavyClient

- htmlRefreshTimeout

- htmlRefreshUrl

- HttpAbsoluteCgiPath

- HttpAdminCgiPath

- HttpBrowserFullCgiPath

- HttpCgiPath

- HttpCommonRoot

- HttpEnterpriseCgiPath

- HttpHelpRoot

- HttpImagesRoot

- HttpLayoutRoot

- HttpRelativeAdminRoot

- HttpRelativeWebRoot

- HttpServerAddress

- HttpSystemHelpRoot

- HttpWebRoot

- HTTP_ACCEPT

- HTTP_ACCEPT_ENCODING

- HTTP_ACCEPT_LANGUAGE

- HTTP_COOKIE

- HTTP_HOST

- HTTP_INTERNETUSER

- HTTP_REFERER

- HTTP_USER_AGENT

- IdcAuthExtraRequestParams

- idocTestForInclude()

- inc()

- incDynamicConversionByRule()

- incGlobal()

- include

- incTemplate()

- indexerSetCollectionValue()

- InstanceDescription

- isActiveTrace()

- isCheckin

- IsCheckinPreAuthed

- isComponentEnabled

- IsContributor

- IsCriteriaSubscription

- IsCurrentNav

- isDocPage

- IsDynamic

- IsDynamicConverterEnabled

- isEditMode

- IsEditRev

- isExcluded

- IsExternalUser

- IsFailedConversion

- IsFailedIndex

- sawflies()

- is Field Excluded

- isFieldHidden

- isFieldInfoOnly

- isFieldMemo

- IsFilePresent

- isFormSubmit

- IsFullTextIndexed

- isHidden

- isInfo

- isInfoOnly

- IsJava

- isLayoutEnabled()

- isLinkActive

- IsLocalSearchCollectionID

- IsLoggedIn

- IsMac

- IsMaxRows

- isMultiOption

- IsMultiPage

- isNew

- IsNotLatestRev

- IsNotSyncRev

- IsOverrideFormat

- IsPageDebug

- IsPromptingForLogin

- isQuery

- isRelocated

- IsRequestError

- isRequired

- IsSavedQuery

- IsSoap

- isStrictList

- IsSubAdmin

- IsSun

- IsSysManager

- isTrue()

- isUpdate

- isUploadFieldScript

- IsUploadSockets

- IsUserEmailPresent

- isUserOverrideSet()

- isValidateFile()

- isVerboseTrace

- IsWindows

- IsWorkflow

- IsXml

- isZoneSearchField

- js()

- jsFilename()

- Json

- lastEntryTs

- lc()

- lcCaption()

- LmDefaultLayout()

- LmDefaultSkin()

- lmGetLayout()

- lmGetSkin()

- loadCollectionInfo()

- loadDocMetaDefinition()

- loadDocumentProfile()

- loadSchemaData()

- loadSearchOperatorTables()

- loadUserMetaDefinition()

- localPageType

- MajorRevSeq

- MaxCollectionSize

- maxLength

- MinorRevSeq

- MSIE

- MultiUpload

- NoMatches

- noMCPrefill

- NotificationQuery

- OneMatch

- optionListKey

- optionListName

- optionListResultSet

- optionListScript

- optionListValueInclude

- optionsAllowPreselect

- optList()

- PageParent

- parseDataEntryDate()

- parseDate

- parseDateWithPattern()

- PATH_INFO

- PATH_TRANSLATED

- pneNavigation()

- QUERY_STRING

- regexMatches()

- regexReplaceAll()

- regexReplaceFirst()

- REMOTE_ADDR

- REMOTE_HOST

- REQUEST_METHOD

- requiredMsg

- ResultsTitle

- rptDisplayMapValue()

- rs()

- rsAddFields()

- rsAddFieldsWithDefaults()

- rsAddRowCountColumn()

- rsAppend()

- rsAppendNewRow()

- rsAppendRowValues()

- rsCopyFiltered()

- rsCreateReference()

- rsCreateResultSet()

- rsDeleteRow()

- rsDocInfoRowAllowDisclosure()

- rsExists()

- rsFieldByIndex()

- rsFieldExists()

- rsFindRowPrimary()

- rsFirst()

- rsInsertNewRow()

- rsIsRowPresent()

- rsLoopInclude()

- rsLoopSingleRowInclude()

- rsMakeFromList()

- rsMakeFromString()

- rsMerge()

- rsMergeDelete()

- rsMergeReplaceOnly()

- rsNext()

- rsNumFields()

- rsNumRows()

- rsRemove()

- rsRename()

- rsRenameField()

- rsSetRow()

- rsSort()

- rsSortTree()

- SafeDir

- SCRIPT_NAME

- SelfRegisteredAccounts

- SelfRegisteredRoles

- SERVER_NAME

- SERVER_PORT

- SERVER_PROTOCOL

- SERVER_SOFTWARE

- setContentType()

- setCookie

- setExpires()

- setHttpHeader()

- setMaxAge()

- setResourceInclude()

- setValue()

- SingleGroup

- SourceID

- StatusCode

- StatusMessage

- stdSecurityCheck()

- strCenterPad()

- strCommaAppendNoDuplicates()

- strConfine()

- StrConfineOverflowChars

- strEquals()

- strEqualsIgnoreCase()

- strGenerateRandom()

- strIndexOf()

- strLeftFill()

- strLeftPad()

- strLength()

- strLower()

- strRemoveWs()

- strReplace()

- strReplaceIgnoreCase()

- strRightFill()

- strRightPad()

- strSubstring()

- strTrimWs()

- strUpper()

- SysAdminAddress

- TemplateClass

- TemplateFilePath

- TemplateName

- TemplateType

- toInteger()

- trace()

- UploadApplet

- url()

- urlEscape7Bit()

- UseHtmlOrTextHighlightInfo

- UserAccounts

- UserAddress

- UserAppRights

- UserDefaultAccount

- UserFullName

- userHasAccessToAccount()

- userHasGroupPrivilege()

- userHasRole()

- UserIsAdmin

- UserLanguageID

- UserLocaleId

- UserName

- UserRoles

- UseSSL

- UseXmlUrl

- utGetValue()

- utLoad()

- utLoadDocumentProfiles()

- utLoadResultSet()

- valueStyle

- wfAction

- wfAddActionHistoryEvent()

- wfAdditionalExitCondition

- wfAddUser()

- wfComputeStepUserList()

- wfCurrentGet()

- wfCurrentSet()

- wfCurrentStep()

- wfDisplayCondition()

- wfExit()

- wfGet()

- wfGetStepTypeLabel

- wfIsFinishedDocConversion()

- wfIsNotificationSuppressed()

- wfIsReleasable()

- wfJumpEntryNotifyOff

- wfJumpMessage

- wfJumpName

- wfJumpReturnStep

- wfJumpTargetStep

- wfLoadDesign()

- wfMailSubject

- wfMessage

- wfNotify()

- wfParentList

- wfReleaseDocument

- wfSet()

- wfSetSuppressNotification()

- WfStart

- wfUpdateMetaData()

- xml()

B Webサイトの構築

- B.1 Webサイトの計画

- B.1.1 Webレイアウト

- B.1.2 サイト構造と表示基準の定義

- B.1.3 タスク順序

- B.2 Webページの使用

- B.3 Webページの管理

- B.3.1 新しいWebページの追加

- B.3.2 Webページのプロパティの編集

- B.3.3 ローカル・ページ・リンクの作成

- B.3.4 外部URLリンクの作成

- B.3.5 階層Webページ構造の編集

- B.4 レポートの使用

- B.4.1 レポートについて

- B.4.2 アクティブ・レポートの定義

- B.4.3 履歴レポートの定義

- B.4.4 アクティブ・レポート内の問合せ式の編集

- B.5 問合せの書込み

- B.5.1 問合せリンクの作成

- B.5.2 問合せリンク内の問合せ式の編集

- B.5.3 問合せ結果ページの追加

- B.5.4 問合せ結果ページの編集

- B.5.5 問合せ結果ページの削除

C トラブルシューティング

- C.1 トラブルシューティング機能について

- C.2 サーバー・エラーの表示

- C.3 ページ・データの表示

- C.4 リソースのロードの監視

索引

はじめに

Oracle WebCenter Content Serverは細かい設定をしなくてもすぐに高度な機能が利用できますが、自社サイトの要件に合わせて様々に調整することも可能です。この開発者ガイドでは、コンテンツ・サーバー・インスタンスのカスタマイズに役立つ情報を提供します。

対象読者

このガイドは、ビジネスや組織に固有なコンテンツ管理のニーズを満たすように、コンテンツ・サーバー・ソフトウェアをカスタマイズしたいと考えている開発者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWeb サイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

詳細は、Oracle Fusion Middlewareドキュメント・セットの一部である、次のOracle WebCenter Content 11gリリース1 (11.1.1)のドキュメントを参照してください。

- Oracle Fusion Middleware Oracle WebCenter Contentの管理

- Oracle Fusion Middleware Oracle WebCenter Contentの管理

- Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス

- Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンス

- Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス

詳細は、次のOracle Fusion Middleware 11gリリース1 (11.1.1)のドキュメントも参照してください。

- Oracle Fusion Middleware Oracle Application Development FrameworkのためのFusion開発者ガイド

- Oracle Fusion Middleware Oracle WebLogic ServerのJAX-WS Webサービスのスタート・ガイド

- Oracle Fusion Middleware Oracle Web Services Manager相互運用ガイド

- Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービスの高度な機能のプログラミング

- Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド

- Oracle Fusion Middlewareサード・パーティ・アプリケーション・サーバー・ガイド

表記規則

このマニュアルの表記規則は、次のとおりです。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドで説明する新機能

この項では、Oracle WebCenter Contentの新機能と変更された機能について説明します。これらの機能は、Oracle WebCenter Content Server開発者向けに書かれたこのガイドの対象範囲です。

11g リリース1 (11.1.1)の新機能

11gリリース1 (11.1.1)の新機能は次のとおりです。

- このガイドには、次のドキュメントにすでに記載されている情報も含まれています。

- Dynamic Server Pagesガイド

- Stellent Developer's Kit (SDK)のスタート・ガイド

- Idcコマンド・リファレンス・ガイド

- Idoc Scriptリファレンス

- コンテンツ・サーバー・インタフェースの変更

- Oracle Fusion Middleware Content Server JCRアダプタ・ガイド

- Oracle Fusion Middleware Remote Intradoc Client (RIDC)開発者ガイド

- WSDLジェネレータおよびSOAPの使用方法

- コンポーネントの処理

- Webサービス
WebCenter Contentでは、Oracle WebLogic ServerのWebサービスを使用しています。詳細は、第26章「統合のためのWebCenter Content Webサービスの構成」を参照してください。

- ComponentTool
コンポーネントのインストール、有効化および無効化を行うためのコマンドライン・ツールを実現するために、ComponentToolユーティリティが追加されました。詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」を参照してください。

- コンテンツ・サーバーのデプロイ
コンテンツ・サーバーは、Oracle WebLogic Serverのドメインに、WebCenter Contentとともにデプロイされました。これにより、コンテンツ・サーバーの構成と管理が変更されました。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

11g リリース1 (11.1.1)の変更された機能

11gリリース1 (11.1.1)の変更点は次のとおりです。

- Oracle WebCenter Contentのディレクトリおよびファイル: WebCenter Content 11gリリース1 (11.1.1)は、Oracle WebCenter Contentの完全メディア・インストレーションの一部として提供され、WebCenter Contentのディレクトリおよびファイルが付属しています。WebCenter Content 11gインスタンスのディレクトリ構造は、Oracle Universal Content Management 10gインスタンスとは異なります。WebCenter Content構造を理解して操作するうえで重要な用語およびパス名の説明については、第1.1.1.1項「WebCenter Contentのディレクトリの用語」を参照してください。

- SOAP: SOAPはOracle WebLogic Serverに同梱されており、Oracle WebCenter Contentにはありません。

- Webフォーム・エディタ: Webフォーム・エディタのユーザー・インタフェースとFCKEditorはサポートされていません。

- CISが非推奨に: Content Integration Suite (CIS)が非推奨になりました。開発者およびシステム統合者は、コンテンツ・サーバーとの通信のためのシン通信APIを提供するRemote Intradoc Client (RIDC)を使用します。詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。詳細は、第30章「RIDCを使用したコンテンツ・サーバーへのアクセス」を参照してください。

- Oracle WebCenter ContentがOracle WebCenter製品スタックの一部となり、最も完全に統合されたエンタープライズ・コンテンツ管理のオープン・プラットフォームを提供します。それに応じて、コンテンツ・サーバーのソフトウェアおよびドキュメントも再ブランド化されました。

- 構成ページから、管理サーバーの機能が使用できます。このページの「管理」トレイまたはメニューの「管理サーバー」メニューから選択します。コンテンツ・サーバーの、単独の「管理サーバー」ページはなくなりました。

第I部

Oracle WebCenter Contentのスタート・ガイド

この部では、Oracle WebCenter Content Serverを含めたOracle WebCenter Contentのカスタマイズの概要を示し、カスタマイズに利用可能なツールおよびリソースについて説明します。この部では、Oracle Fusion Order Demoサンプル・アプリケーションについても説明します。

第I部は、次の章で構成されています。

- 第1章「Oracle WebCenter Contentでの開発の概要」

- 第2章「Oracle Fusion Order Demoサンプル・アプリケーションの概要」

1 Oracle WebCenter Contentでの開発の概要

この章ではOracle WebCenter Contentの概要を示し、Oracle WebCenter Content Serverのカスタマイズに必要なスキル、ツールおよびリソースについて説明します。

この章の内容は次のとおりです。

- 第1.1項「WebCenter Contentのアーキテクチャの概要」

- 第1.2項「カスタマイズのタイプ」

- 第1.3項「カスタマイズの計画」

- 第1.4項「コンテンツ・サーバーのカスタマイズで推奨されるスキルとツール」

- 第1.5項「コンテンツ・サーバーの動作」

トラブルシューティングのヒントについては、付録C「トラブルシューティング」を参照してください。

1.1 WebCenter Contentのアーキテクチャの概要

カスタマイズ・プロジェクトを開始する前に、WebCenter Contentのアーキテクチャとその動作について理解しておく必要があります。カスタマイズを効率的かつ効果的に作成するには、WebCenter Contentのディレクトリとファイル、利用可能なリソースおよびコンテンツ・サーバーの動作を理解しておく必要があります。

WebCenter ContentのWebユーザー・インタフェースであるコンテンツ・サーバーは、アプリケーションとしてOracle WebLogic Serverのドメインにデプロイされています。コンテンツ・サーバーの機能については、第1.5項「コンテンツ・サーバーの動作」を参照してください。

WebCenter Contentは、IBM WebSphere Application Serverにデプロイすることもできます。詳細は、『Oracle Fusion Middlewareサードパーティ・アプリケーション・サーバー・ガイド』のIBM WebSphereでのOracle WebCenter Contentの管理に関する項を参照してください。

1.1.1 WebCenter Contentのディレクトリおよびファイル

カスタム・コンポーネントまたは動的サーバー・ページを作成する場合は、次の各ディレクトリに格納されているWebCenter Contentのファイルを主に操作します。

- bin/

- config/

- components/

- resources/

- weblayout/

注意:

これらのファイルでデフォルトの変数を変更すると、WebCenter Contentが正常に動作しなくなる可能性があります。構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

1.1.1.1 WebCenter Contentのディレクトリの用語

Oracle WebCenter Contentのドキュメントでは、Oracle WebCenter Contentのインストール、構成およびデプロイに関連付けられたディレクトリ内の変数を指すときに、次の用語を使用しています。

- IdcHomeDir: この変数は、WebCenter ContentのOracleホームにあるucm/idc/ディレクトリを参照しており、このディレクトリには、コンテンツ・サーバー・メディアが置かれています。サーバー・メディアは、コンテンツ・サーバー、Oracle WebCenter Content: Inbound RefineryまたはOracle WebCenter Content: Recordsを実行できます。これは、基本的に読取り専用のディレクトリです。デフォルトの場所はWCC_ORACLE_HOME/ucm/idc/です。デフォルトの場所の変数部分は変更してもかまいませんが、パスはucm/idc/から変更しないでください。

- DomainHome: アプリケーション・サーバー上で実行するためにOracle WebCenter Contentアプリケーションがデプロイされる、ユーザー指定のディレクトリ。DomainHome/ucm/short-product-id/bin/ディレクトリには、intradoc.cfgファイルおよび実行可能ファイルがあります。DomainHomeのデフォルトの場所はMW_HOME/user_projects/domains/base_domain/ですが、このパスとドメイン名(base_domain)は、アプリケーション・サーバーにOracle WebCenter Contentアプリケーションをデプロイするときに変更できます。

- short-product-id: アプリケーション・サーバーにデプロイされているOracle WebCenter Contentアプリケーションのタイプの略称。この名前はコンテキスト・ルート(デフォルトはHttpRelativeWebRoot構成値)として使用されます。使用される値は次のとおりです。

- cs (Content Server)

- ibr (Inbound Refinery)

- urm (Records)

- IntradocDir: アプリケーション・サーバーにデプロイされているOracle WebCenter Contentアプリケーションの一部であるコンテンツ・サーバーのインスタンスに固有の構成ファイルおよびデータファイル用のルート・ディレクトリ。コンテンツ・サーバー・インスタンスのいずれかのタイプ(コンテンツ・サーバー(cs)、Inbound Refinery (ibr)またはRecords (urm))用に、このIdocスクリプト変数を構成します。IntradocDirのデフォルトの場所はDomainHome/ucm/short-product-id/ですが、IntradocDirディレクトリは、(intradoc.cfgファイルで定義されているように)別の場所にあってもかまいません。指定したディレクトリは、インスタンス・ディレクトリへの絶対パスで、特定のサーバーまたはノードに一意である必要があります。このディレクトリには、起動ファイル(intradoc.cfgおよび実行可能ファイル)を含むbin/ディレクトリが含まれます。

1.1.1.2 binディレクトリ

bin/ディレクトリは、コンテンツ・サーバーの起動ファイルのルート・ディレクトリです。ここには、intradoc.cfgファイルと、コンテンツ・サーバーのサービス、アプレットおよびユーティリティを実行する実行可能ファイルが含まれています。これはDomainHome/ucm/short-product-id/bin/にあり、そこのshort-product-idによって、Content Server (cs)、Inbound Refinery (ibr)、Records (urm)のいずれが対象であるかが指定されます。binディレクトリの内容を表1-1に示します。

表1-1 起動ファイルのbinディレクトリの内容

要素

説明

実行可能ファイル

サービス

- IdcServer

- IdcServerNT

アプレット

- IntradocApp (管理ツールをすべて起動)

ユーティリティ

- BatchLoader

- Installer

- IdcAnalyze

- ComponentWizard

- SystemProperties

- IdcCommand

intradoc.cfgファイル

コンテンツ・サーバーのサービス、アプレットおよびユーティリティの設定を含む構成ファイル

注意:

コンテンツ・サーバーが自動サービスとして設定されているときに、コンテンツ・サーバーのサービス(IdcServerまたはIdcServerNT)をコマンドラインから起動しようとすると、このポートはリスニングできず、すでに使用中ですというエラー・メッセージが表示されます。

intradoc.cfgファイルは、ディレクトリ、インターネット、Inbound Refineryの設定など、コンテンツ・サーバーのシステム変数を定義するために使用します。これらの変数のうちのいくつかは、WebCenter Contentのシステム・プロパティ・ユーティリティを使用して設定できます。例1-1は、一般的なintradoc.cfgファイルを示しています。

例1-1 lintradoc.cfgファイル

<?cfg jcharset="Cp1252"?>
#Content Server Directory Variables
IntradocDir=C:/oracle/idcm1/
WebBrowserPath=C:/Program Files/Internet Explorer/iexplore.exe
CLASSPATH=$COMPUTEDCLASSPATH;$SHAREDDIR/classes/jtds.jar

#Additional Variables
HTMLEditorPath=C:/Program Files/Windows XP/Accessories/wordpad.exe
JAVA_SERVICE_EXTRA_OPTIONS=-Xrs

1.1.1.3 configディレクトリ

config/ディレクトリは、IntradocDir/config/にあります。IntradocDirのデフォルトの場所はDomainHome/ucm/short-product-id/ですが、IntradocDir/ディレクトリは、(intradoc.cfgファイルで定義されているように)別の場所にあってもかまいません。config/ディレクトリの内容を表1-2に示します。

表1-2 configディレクトリの内容

ファイル

説明

config.cfg

システム構成変数を定義します。

config.cfgファイルは、コンテンツ・サーバー・システムのグローバル変数を定義するために使用します。これらの変数のうちのいくつかは、WebCenter Contentのシステム・プロパティ・ユーティリティを使用するか、または「管理」、「管理サーバー」、「一般構成」メニュー・オプションからアクセスできる、「一般構成」ページで変数を変更して設定できます。例1-2は、一般的なconfig.cfgファイルを示しています。

例1-2 config.cfgファイル

<?cfg jcharset="Cp1252"?>
#Content Server System Properties
IDC_Name=idcm1
SystemLocale=English-US
InstanceMenuLabel=JeanWTestSystem
InstanceDescription=idcm1
SocketHostAddressSecurityFilter=127.0.0.1|10.10.1.14

#Database Variables
IsJdbc=true
JdbcDriver=com.internetcds.jdbc.tds.Driver
JdbcConnectionString=jdbc:freetds:sqlserver://jwilsonnote:1433/oracle1;charset=UTF8;TDS=7.0
JdbcUser=sa
JdbcPassword=UADle/+jRz7Fi8D/VzTDaGUCwUaQgQjKOQQEtI0PAqA=
JdbcPasswordEncoding=Intradoc
DatabasePreserveCase=0

#Internet Variables
HttpServerAddress=jwilsonnote
MailServer=mail.example.com
SysAdminAddress=sysadmin@example.com
SmtpPort=25
HttpRelativeWebRoot=/oracle/
CgiFileName=idcplg
UseSSL=No
WebProxyAdminServer=true
NtlmSecurityEnabled=No
UseNtlm=Yes

#General Option Variables
EnableDocumentHighlight=true
EnterpriseSearchAsDefault=0
IsDynamicConverterEnabled=0
IsJspServerEnabled=0
JspEnabledGroups=

#IdcRefinery Variables

#Additional Variables
WebServer=iis
UseAccounts=true
IdcAdminServerPort=4440
SearchIndexerEngineName=DATABASE
VIPApproval:isRepromptLogin=true
Vdk4AppSignature=SF37-432B-222T-EE65-DKST
Vdk4AppName=INTRANET INTEGRATION GROUP
IntradocServerPort=4444

1.1.1.4 componentsディレクトリ

IntradocDir/data/components/ディレクトリには、システム・コンポーネントを構成するためにコンテンツ・サーバーが使用するファイルが含まれています。components/ディレクトリの内容を表1-3に示します。

Table 1-3 componentsディレクトリの内容

ファイル

説明

idcshort-product-id_components.hda

コンテンツ・サーバー・システムに追加されているコンポーネント、およびそれらが有効になっているか無効になっているかを識別します。例: idccs_components.hda。

component.hda

コンポーネントの構成ステータスを識別します。

helpというコンポーネントの構成ステータスを定義するcomponent.hdaファイルを例1-3に示します。

例1-3 component.hdaファイル

<?hda version="11.1.1.2.0-dev idcprod1 (091209T125156)" jcharset=UTF8 encoding=utf-8?>
@Properties LocalData
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
@end
@ResultSet Components
2
name
location
help
components/help/help.hda
@end

1.1.1.5 resourcesディレクトリ

IdcHomeDir/resources/ディレクトリには、admin/とcore/という2つのディレクトリが含まれています。

resources/core/ディレクトリには、Webページをアセンブルするためにコンテンツ・サーバーが使用するファイルが含まれています。resources/core/ディレクトリのサブディレクトリを表1-4に示します。

表1-4 resources/coreディレクトリの内容

サブディレクトリ

説明

config/

コンテンツ・サーバーのベース構成ファイルを格納しています。

idoc/

Idoc Scriptのdynamichtml定義およびdynamicdata定義を格納しています。

install/

インストーラおよび関連アプリケーションによって使用されるファイルを格納しています。

javascript/

公開エンジンによって処理され、weblayoutディレクトリ内でRAW JavaScriptファイルとなるファイルを格納しています。

jspserver/

jspserver XMLファイルを格納しています。

lang/

コンテンツ・サーバーの、ローカライズされた文字列定義を格納しています。

reports/

コンテンツ・サーバーのレポートのテンプレートを格納しています。

resources/

コンテンツ・サーバーのリソース定義(問合せ、ページ・リソース、サービスなどのリソース・データ)を格納しています。

tables/

Idoc Scriptのリソース表定義を格納しています。

templates/

コンテンツ・サーバーのすべてのページ(レポートは除く)のテンプレートを保持しています。

resources/admin/ディレクトリのサブディレクトリを表1-5に示します。

表1-5 resources/adminディレクトリの内容

サブディレクトリ

説明

idoc/

Idoc Scriptのdynamichtml定義およびdynamicdata定義を格納しています。

tables/

Idoc Scriptのリソース表定義を格納しています。

templates/

コンテンツ・サーバーのすべてのページ(レポートは除く)のテンプレートを保持しています。

1.1.1.6 weblayoutディレクトリ

DomainHome/ucm/short-product-id/weblayout/ディレクトリには、コンテンツ・サーバーのWebサイトの各種ページで表示するためにWebサーバーで利用可能なファイルが含まれています。weblayout/ディレクトリのサブディレクトリを表1-6に示します。

表1-6 weblayoutディレクトリの内容

サブディレクトリ

説明

groups/

Web で表示可能なコンテンツ・アイテムおよび動的サーバー・ページを格納しています。

images/

アイコンやホーム・ページのグラフィックなどのイメージを格納しています。

resources/

レイアウト、スキンおよびスキーマ情報を格納しています。

1.1.2 リソース

リソースとは、コンテンツ・サーバーに対して実際に行うカスタマイズを定義および実装するファイルです。これには、HTMLコードの断片、動的ページの要素、データベースからデータを収集する問合せ、コンテンツ・サーバーのアクションを実行するサービス、または情報を条件付きで書式設定する特殊コードが考えられます。

リソースはコンテンツ・サーバー・ソフトウェアの重要な部分なので、カスタム・コンポーネントまたは動的サーバー・ページを作成しようとする前に精通しておく必要があります。リソース・ファイルは、コンポーネント・ウィザードを使用して作成、編集または削除できます。コンポーネント・ウィザードは、カスタム・リソースを作成するときの開始ポイントとして使用することもできます。

リソースは異なる8つのカテゴリに分類され、これについては表1-7で説明します。この表に一覧表示されている最初の5つのタイプは、リソース・タイプのリソースとも呼びます。

表1-7 リソース・タイプ

リソース・タイプ

説明

標準的なリソースの例

HTMLインクルード

コンテンツ・サーバーの複数のWebページで使用されるHTMLマークアップおよびIdocスクリプト・コードの断片を定義します。

IdcHomeDir/resources/core/idoc/std_page.idoc

動的データ表

HTML表定義、インタフェース・メニュー・アクション、またはメタデータ・フィールドに関する情報をロードするIdoc Script内から、あるいは、SharedObjectsにロードされた静的表に対する代替としてJavaコード内から、dynamicdataインクルードのデータの表を定義します。

IdcHomeDir/resources/core/idoc/std_data.idoc

文字列

ユーザー・インタフェースおよびエラー・メッセージ用にローカライズされた文字列を定義します。

IdcHomeDir/resources/core/lang/cs_strings.htm

動的表(HDAフォーマット)

動的な(頻繁に変更される)コンテンツをコンテンツ・サーバーに表形式で提供します。

IdcHomeDir/resources/core/templates/templates.hda

静的表(HTMLフォーマット)

静的な(めったに変更されない)コンテンツをコンテンツ・サーバーに表形式で提供します。

IdcHomeDir/resources/core/tables/std_locale.htm

問合せ

データベース問合せを定義します。

IdcHomeDir/resources/core/tables/query.htm

サービス

コンテンツ・サーバーで実行できるサービスのスクリプトを定義します。

IdcHomeDir/resources/core/tables/std_services.htm

テンプレート

特定のWebページをアセンブルするためにコンテンツ・サーバーが使用するコードを含むテンプレートを定義します。

IdcHomeDir/resources/core/templates/checkin_new.htm

環境

コンテンツ・サーバーの構成設定を定義します。

IntradocDir/config/config.cfg

1.2 カスタマイズ・タイプ

コンテンツ・サーバーでは、主に3種類の変更を行うことができます。

- 製品のルック・アンド・フィールの変更
コンテンツ・サーバー・インタフェースのルック・アンド・フィールをカスタマイズして、組織の仕様に合わせることができます。インタフェースの変更は、標準のコンテンツ・サーバーWebページに表示されるアイコンを置換するような簡単なものから、インタフェース全体を再設計するような複雑なものまで可能です。

- 製品の機能の変更
製品の機能を変更することによって、コンテンツ・サーバーをビジネスや組織の機能に合わせることができます。たとえば、デフォルトの日付やタイムスタンプを変更したり、チェックイン動作の機能を変更したりできます。

- 環境への製品の統合
シェル・スクリプト、SOAP、J2EE、JSPおよびクラスタを使用して、コンテンツ・サーバーをサイトの現在の環境により緊密に統合できます。

1.3 カスタマイズ計画

カスタマイズを開始する前に、カスタマイズを行う理由を明確にすることが重要です。たとえば、企業ブランドを追加するには、「レイアウト・サンプルの変更」を使用して追加できます。また、セキュリティ機能を変更するには、デフォルトのセキュリティ設定を変更するためのコンポーネントを使用できます。

多くの場合、カスタマイズは、コンテンツ・サーバーを組織のビジネス・プラクティスに適合させるために行います。ビジネス・プロセスを評価した後、コンテンツ・サーバーをカスタマイズする前にプロシージャに軽微な変更を加えたほうが効率的だとわかることもよくあります。

カスタマイズは、主に次の6つの手順で行います。

1. カスタマイズする理由を特定します。
企業パーソナライズを行いますか。ナビゲーション・オプションや素材を表示する、より適切な方法があるかどうかを検討します。明らかになったニーズのタイプに応じて、どのツールを使用するのが最適であるかを判断できます。

多くの場合、表示に関する詳細を変更することで、ユーザーの満足度を高めることができます。レイアウト、色、イメージなどのアイテムを変更することによって、ユーザーの要望に対応できることがよくあります。

2. カスタマイズを慎重に計画します。
カスタマイズによってコンテンツ・サーバー環境がどのように変更されるかについて、周辺的な影響も含めて検討します。すべてのカスタマイズは、サイトの本番環境とは切り離してテスト環境で行う必要があります。

3. 使用可能なソリューションがあるかどうかを確認します。
サポートWebサイトのサンプルに、様々なタイプのカスタマイズが用意されています。既存のコンポーネントを少し編集すると、使用できるようになる場合があります。そのままの状態で使用できるサンプルが数多く提供されています。これらは、WebCenter Contentの機能を例示、強化または拡張するコンポーネントやファイルです。

4. 問題を評価し、その問題を解決することがどの程度必要であるかを評価します。
問題によっては、解決に要する労力が結果に見合わないほど大きい場合があります。カスタマイズでなく、ビジネス・プラクティスに軽微な変更を加えることが必要となることがあります。

5. 個別の環境でカスタマイズを完全にテストします。
可能な場合は、エンド・ユーザーがテストに参加するように調整します。テストがリリースのすべての条件を満たすと、ユーザーに変更内容とその実装方法を通知します。

6. 作成したカスタマイズをドキュメント化します。
すべての変更は、実際のカスタマイズ内においても(たとえば、動的サーバー・ページやコンポーネント内にコメントなどとして)、個別のREADMEドキュメントとしても、できるかぎり完全にドキュメント化する必要があります。このドキュメントには、後になってカスタマイズに追加するために必要となる可能性のある人のために、履歴監査証跡が記載されています。

1.4 コンテンツ・サーバーのカスタマイズで推奨されるスキルとツール

コンテンツ・サーバーでは、高度な機能を提供するために様々なテクノロジが組み合されています。コンテンツ・サーバーを変更するには、これらのテクノロジの一部またはすべてについて一定の経験およびスキルが必要です。

コンテンツ・サーバーをカスタマイズするために必要な技術的なスキルは、カスタマイズの複雑さによって異なる場合があります。たとえば、多くのカスタマイズは、HTMLおよびIdocスクリプトの知識で実行できます。

このリストでは、コンテンツ・サーバーの変更に必要となる可能性のあるテクノロジおよび経験を、重要度の高いものから順に説明します。

- コンテンツ・サーバーのアーキテクチャ
システムのカスタマイズを開始する前に、コンテンツ・サーバーの動作とコンポーネントおよび動的サーバー・ページの機能を十分に理解しておく必要があります。

- HTMLおよびカスケード・スタイル・シート(CSS)
コンテンツ・サーバーWebページのテンプレートを変更するには、HTMLおよびCSSについて十分に理解する必要があります。テンプレートでHTMLを使用する場合、作業は複雑ではありませんが、テンプレートではHTML表を常時使用し、フォームを頻繁に使用します。std_page.idocファイルとstd_css.idocファイルには、デフォルトのテンプレートのルック・アンド・フィール(フォントやレイアウトなど)を制御するためのカスケード・スタイルシートが含まれています。

- Idoc Script
Idocスクリプトは、コンテンツ・サーバーのカスタム・サーバー側スクリプト言語です。ほぼすべてのコンテンツ・サーバーWebページにはIdocスクリプト・コードが含まれており、様々なページ要素を処理するためのメソッドが提供されています。

- JavaScript
コンテンツ・サーバーのほとんどのページの内部コンテンツではJavaScriptを使用していませんが、「検索」「チェックイン」「更新」の各ページは顕著な例外です。これらのページのかわりに呼び出されるカスタマイズを作成する前に、JavaScriptについて理解しておく必要があります。また、レイアウトを変更するには、JavaScriptを理解する必要があります。レイアウトの変更は、設計およびナビゲーションにおいてJavaScriptおよびカスケーディング・スタイルシートに大きく依存します。

- Structured Query Language (SQL)
コンテンツ・サーバーでは、データベースに対する問合せを実行するためにSQLを使用しています。SQLの知識があれば、標準的な問合せの理解および独自のカスタム問合せの作成に役立つ場合があります。

- Javaプログラミング
コンテンツ・サーバーはJavaクラスとともに実装されます。基礎となる機能を変更する前に、Javaおよびコンテンツ・サーバーのJavaクラス・ファイルについて十分に理解しておく必要があります。ただし、Javaを使用しなくても、製品を広範にカスタマイズできます。

- その他のプログラミング
複雑なカスタマイズまたはWebCenter Contentと他のシステムとの統合を行う場合、Visual Basic、COM、.Net、C++、VBScriptなどの他のツールの経験が役立つ場合があります。

コンテンツ・サーバーをカスタマイズする場合、次のツールが有用な場合があります。

- テキスト・エディタ
ほとんどの製品カスタマイズは、Microsoft WordPadやviなどの通常のテキスト・エディタを使用して実行できます。

- HTMLエディタ

注意:

グラフィカルHTMLエディタではソースのHTMLを頻繁に変更するため、Idocスクリプトのタグが、コンテンツ・サーバーで認識されなくなった文字列に変換される可能性があります。グラフィカル・エディタを使用する場合は、非グラフィカル・モードで編集してください。

HTMLページの操作にはグラフィカルHTMLエディタのほうを使用する場合は、非グラフィカル・モードを使用して編集します。

- 複数のブラウザ
コンテンツ管理システムとのインタフェースで使用される可能性があるWebブラウザの複数のバージョンで、カスタマイズをテストする必要があります。Internet Explorer、FirefoxおよびChromeでは、コンテンツの表示は同じではなく、同じブラウザの異なるバージョンで異なる動作が示される場合があります。

- JavaScriptデバッガ
JavaScriptデバッガによって、JavaScript開発のタスクが簡略化される場合があります。数多くのJavaScriptデバッガがインターネットからダウンロード可能です。

- Java用の統合開発環境(IDE)
カスタマイズの際にJavaコードの開発が必要になる場合は、適切なJava開発環境が必要です。

1.5 コンテンツ・サーバーの動作

WebCenter Contentをカスタマイズする前に、コンテンツ・サーバーの動作について理解しておく必要があります。

- 起動動作

- リソースのキャッシング

- ページ・アセンブリ

- データベースとの対話

- ローカライズされた文字列の解決

- アプリケーション統合

コンテンツ・サーバーの管理の概要は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のシステム管理タスクの概要に関する項を参照してください。

1.5.1 起動動作

起動時に、コンテンツ・サーバーのインスタンスでは内部初期化が実行され、次のアイテムがロードされます。

1. 構成変数

2. 標準的なテンプレート、リソースおよびレポート

3. カスタム・コンポーネント(テンプレート、リソース、構成変数、レポートなど)

図1-1に、起動時にコンテンツ・サーバーで実行される4つの手順を示します。これらの手順の詳細は、第1.5.1.1項「起動手順」で説明します。

図1-1 コンテンツ・サーバーの起動動作

1.5.1.1 起動手順

起動時にコンテンツ・サーバーで実行される手順は次の4つです。

1. 内部初期化を行います。
コンテンツ・サーバーで初期化が行われると、コンテンツ・サーバーのJavaクラス・ファイルが読み取られ、Java仮想マシン(JVM)が起動します。DomainHome/ucm/short-product-id/intradoc.cfgファイル内に変数があれば、それも初期化されます。

2. 構成変数をロードします。
初期化後、コンテンツ・サーバーでは、IntradocDir/config/ディレクトリにあるconfig.cfgファイルがロードされます。このファイルには、システム・プロパティと構成変数が格納されており、それらは名前と値のペア(SystemLocale=English-USなど)で定義されています。

構成ファイル内に含まれているデフォルト情報は、Oracle WebCenter Contentのインストール・プロセスで提供されたものですが、このファイルは次のような様々な方法で変更できます。

- 「管理」→「管理サーバー」→「一般構成」メニュー・オプションからアクセスできる、「一般構成」ページを使用する

- Oracle WebCenter Contentインストール(UNIXオペレーティング・システム)のbin/ディレクトリ内にある実行可能ファイルSystemPropertiesを実行する

- 構成ファイルを直接編集する

- カスタム・コンポーネントを使用する

config.cfgファイルを変更するたびに、コンテンツ・サーバーを再起動して変更内容を有効にする必要があります。

3. 標準的なリソース、テンプレートおよびレポートをロードします。
コンテンツ・サーバーが正しく機能するようにするには、数多くの標準的なリソース、テンプレートおよびレポートをロードする必要があります。構成設定のロード後、コンテンツ・サーバーでは、IdcHomeDir/resources/core/templates/templates.hdaファイルおよびIdcHomeDir/resources/core/reports/reports.hdaファイルのエントリが読み取られます。これらのファイルからコンテンツ・サーバーに、どのテンプレートをロードすべきかが指示されます。テンプレートおよびレポートのページで標準的なリソースが参照されれば、ロードしたテンプレートによって、そのリソースがロードされます。

4. カスタム・コンポーネントをロードします。
コンテンツ・サーバーは、IntradocDir/data/components/idcshort_product_id_components.hdaに一覧表示されているコンポーネントのすべてをロードし、さらに、IdcHomeDir/components/ComponentName/ComponentName.hdaにあるシステム・コンポーネント、またはIntradocDir/custom/ComponentName/ComponentName.hdaにあるカスタム・コンポーネントをロードします。

1.5.1.2 構成のロードの影響

複数の構成ファイルのロードの順序が持つ影響を理解しておくことが重要です。それは、1つの変数が複数のファイルで設定されている場合、最後にロードされた変数が優先されるためです。たとえば、IntradocDir/data/components/component_name/config.cfgファイルより前にIntradocDir/config/config.cfgファイルがロードされた場合、config/config.cfgファイルで設定された変数の値が、component_name/config.cfgによって変更されることがあります。

ファイルは、次に示す順序でロードされます(各コンポーネントにすべてのファイルが存在しているわけではありません)。

1. DomainHome/ucm/short-product-id/bin/intradoc.cfg

2. IntradocDir/config/config.cfg

3. DomainHome/ucm/short-product-id/custom/component_name/*_environment.cfg
このファイルがないコンポーネントもあれば、名前がenvironment.cfgになっているファイルもあります。

4. IntradocDir/data/components/component_name/install.cfg

5. IntradocDir/data/components/component_name/config.cfg

6. DomainHome/ucm/short-product-id/bin/intradoc.cfg
このファイルは、起動の最後に再度読み取られ、他の設定に対するオーバーライドが許可されます。

たとえば、リストにあるファイルのそれぞれで同じ変数が設定された場合、intradoc.cfgファイルが最後にロードされたため、そのファイルにある変数の値が優先されます。

構成を表示する場合は、GET_SYSTEM_AUDIT_INFOサービスを使用して、すべての構成エントリ、およびそれらが設定された場所を表示できます。

コンポーネントの変数を変更する場合は、拡張コンポーネント・マネージャの「コンポーネント構成の更新」領域を使用できます。この領域には、component_name/config.cfgファイルで編集可能な構成のあるコンポーネントのドロップダウン・リストが表示されます。コンポーネントを選択して「更新」をクリックすると、コンテンツ・サーバーの「コンポーネント構成の更新」ページに進みます。

構成ファイルは手動で編集することもできます。拡張コンポーネント・マネージャの「コンポーネント構成の更新」リストにコンポーネントが表示されていない場合は、構成ファイルのいずれかで直接変更できます。

1.5.2 リソースのキャッシング

コンテンツ・サーバーでは、テンプレート・ページおよびリソースのキャッシングが次のように処理されます。

- テンプレート・ページおよびリソースは、コンテンツ・サーバーにロードされると、ページ表示が迅速になるようにメモリーにキャッシュされます。

- テンプレート・ページ、レポート・ページまたはHTMLインクルード・リソースを変更した場合、あるいは動的サーバー・ページに対するリビジョンにチェックインした場合は、変更内容は即座に有効となります。
関連付けられたWebページに対する次回の要求、またはページのリフレッシュによって、変更内容が反映され、新しい情報がキャッシュされます。この処理が行われるのは、ページ要求ごとにページが動的にアセンブルされるためです。構成変数DisableSharedCacheCheckingを設定することによって、この動作を無効にして、パフォーマンスを向上させることができます。

- それ以外のコンポーネント・ファイル(サービス、問合せ、環境変数、表、idcshort-product-id_components.hdaファイル、template.hdaファイルなど)を変更した場合は、コンテンツ・サーバーを再起動して、変更内容を有効にする必要があります。そのような変更が即座に実装された場合、コンテンツ・サーバーが正しく動作しなくなる可能性があります。
文字列の変更後にコンテンツ・サーバーを再起動する必要はありません。ただし、「管理アクション」ページの「Webレイアウト公開」領域で、「文字列と動的ファイルのパブリッシュ」または「文字列、静的ファイルおよび動的ファイルのパブリッシュ」をクリックして、ww_strings.jsファイルを再パブリッシュする必要があります。詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」を参照してください。

1.5.3 ページ・アセンブリ

コンテンツ・サーバーでは、動的Webページをアセンブルするために、IdcHomeDir/resources/ディレクトリに格納されているファイルにある次の情報を使用します。

- Webページの構造と書式
この構造と書式は、特定のHTMLテンプレート・ファイルで定義されています。テンプレート・ファイルは、主にresources/core/templatesディレクトリに格納されていますが、resources/core/reportsディレクトリおよびresources/admin/templatesディレクトリに格納されているテンプレートもあります。

- テンプレートで参照されるリソース
これらのリソースは、resourcesディレクトリのサブディレクトリ内の.htmファイルおよび.idocファイルにあります。リソースには、HTMLおよびIdocスクリプトのマークアップ、ローカライズされた文字列、データベースからデータを収集する問合せ、および情報を条件付きで書式設定する特殊コードが考えられます。

原則として、それぞれのWebページには、次のリソースが含まれます。

- ページの標準的なヘッダー

- ページの標準的な先頭

- ページの標準的な末尾

コンテンツ・サーバーのリソースはすべて起動時にメモリーにキャッシュされるため、コンテンツ・サーバーには、ページに表示される標準的な断片の定義があります。さらにコンテンツ・サーバーでは、標準的なリソースと、テンプレートで指定された一意のリソースを組み合せて、Webページを作成します。

動的サーバー・ページの場合は、テンプレート・ページとカスタム・リソース・ファイルがコンテンツ・サーバーにチェックインされます。これらのページのいずれかがWebブラウザによって要求されると、コンテンツ・サーバーでは、ファイル拡張子が動的サーバー・ページと認識され、それによって特殊な処理が可能となります。その時点では、ページ・アセンブリ・プロセスは、標準的なプロセスと本質的に同じです。ただし例外として、そのページでは、resourcesディレクトリ内の標準的なリソースと、コンテンツ・サーバーにチェックインされたカスタム・リソースの両方が使用できます。

1.5.4 データベースとの対話

Oracle Databaseなど、一部のデータベースでは、すべての列名が大文字で返されます。したがって、コンテンツ・サーバーがこれらのデータベースから問合せ結果を受け取ると、大文字からコンテンツ・サーバーで使用される値に、列名をマップする必要があります。

このケース・マッピング問題では、あるデータベースを使用するコンテンツ・サーバーのインスタンス用に作成されたカスタム・コンポーネントが、別のデータベースを使用するコンテンツ・サーバーのインスタンスでは正しく機能しない場合が考えられます。

列名をマップするために、IdcHomeDir/resources/core/resources/upper_clmns_map.htmファイルには、ColumnTranslationというマッピング表が含まれています。WebCenter Contentデータベースのフィールドでないフィールドにアクセスするコンポーネントを作成するとき(たとえば、WebCenter Contentデータベース内のカスタム表にアクセスするコンポーネントを作成する場合)に、このファイルに問合せ値を追加します。

upper_clmns_map.htmファイルの使用については、第8章「システム設定の変更」を参照してください。

1.5.5 ローカライズされた文字列の解決

ローカライズされた文字列とは、ユーザー・インタフェースとエラー・メッセージを、ユーザーのロケールで指定された言語で表示する手段です。コンテンツ・サーバーでは、ベース言語の文字列リソース・ファイルをロードし、サポートされているあらゆる言語のリソース・ファイルもロードします。ハードコード化されたテキストを表示するかわりに、テンプレート・ページ、アプレットおよびエラー・メッセージがこれらのリソース・ファイル内の文字列IDを参照し、この文字列IDはさらに、ユーザーのロケール情報を含むExecutionContextを使用して解決されます。

1.5.6 アプリケーション統合

コンテンツ・サーバーは、コンテンツ中心のWebサイトに向けたコンテンツ管理ソリューションの役割を果たすだけでなく、スケーラブルなコンテンツ管理インフラストラクチャも提供しており、このインフラストラクチャは、数多くの多様な環境やプラットフォームで複数のエンタープライズ・アプリケーションをサポートします。この統合ソリューションにより、他のエンタープライズ・アプリケーションは、コンテンツ管理システムで管理されているコンテンツにアクセスできます。また、これらのアプリケーションには、全文検索やメタデータ検索、ライブラリ・サービス、ワークフロー、サブスクリプション通知、幅広く品揃えされている統合メソッドを通じたコンテンツ変換機能などの重要なコンテンツ管理機能が提供されています。

コンテンツ・サーバーとエンタープライズ・アプリケーションの統合については、第25章「環境へのWebCenter Contentの統合のスタート・ガイド」を参照してください。

2 Oracle Fusion Order Demoサンプル・アプリケーションの概要

この章では、Oracle Fusion Order Demoサンプル・アプリケーション、その設定方法、およびSuppliersモジュールの実行方法について説明します。

この章の内容は次のとおりです。

- 第2.1項「Fusion Order DemoおよびSuppliersモジュールについて」

- 2.2項「Fusion Order Demoアプリケーションの設定」

- 第2.3項「Suppliersモジュールの実行」

この章で示している手順は、Oracle WebLogic Serverでサンプル・アプリケーションを設定および実行するためのものです。Oracle WebCenter Contentは、IBM WebSphere Application Serverにデプロイすることもできます。詳細は、『Oracle Fusion Middlewareサードパーティ・アプリケーション・サーバー・ガイド』のIBM WebSphereでのOracle WebCenter Contentの管理に関する項を参照してください。

2.1 Fusion Order DemoおよびSuppliersモジュールについて

Oracle Fusion Order Demoサンプル・アプリケーションでは、オンライン・ショッピング用のWebアプリケーションを通して電子デバイスが販売されています。顧客はWebサイトにアクセスし、登録して、製品を注文できます。

デモの表示と実行には、Oracle JDeveloper 11gをインストールする必要があります。このデモには、アプリケーションをダウンロードする必要があります。これらのタスクの実行手順については、第2.2項「Fusion Order Demoアプリケーションの設定」を参照してください。

アプリケーションをインストールして実行した後は、Oracle JDeveloperを使用してコードを表示できます。既存の顧客としてログインして注文を行うと、実行時にアプリケーションを表示できます。

Fusion Order DemoのSuppliersモジュールでは、Java EEを使用してWebサプライヤ管理システム用のWebアプリケーションを作成する処理を示します。デモ・アプリケーションを通して、要点が示され、サンプル・コードが提供されます。

Suppliersモジュールは、Modelという名前のビジネス・サービス・プロジェクトとViewControllerという名前のWebユーザー・インタフェース・プロジェクトで構成されます。ViewControllerプロジェクトを実行して、JDeveloperでFusion Order DemoのSuppliersモジュールを実行します。ViewControllerプロジェクトでは、ビュー・テクノロジとしてJavaServer Faces (JSF)を使用し、Modelプロジェクトでは、EJBとの対話に際して、プロジェクトはADFモデル・レイヤーに依存します。Suppliersモジュールについての知識を深め、実装の詳細を理解するには、第2.3.1項「Supplierモジュール・コード」および第2.3.2項「Supplierモジュールのページ」を参照してください。

2.2 Fusion Order Demoアプリケーションの設定

Fusion Order Demoアプリケーションは、OracleデータベースとOracle JDeveloper 11gを使用して実行されます。サポートされるプラットフォームは、JDeveloperによってサポートされるプラットフォームと同じです。

Fusion Order Demoアプリケーションを設定する手順は次のとおりです。

1. Oracle JDeveloper 11gをインストールし、インストールの前提条件を満たします。Fusion Order Demoアプリケーションには、既存のOracleデータベースが必要です。

2. Oracle Technology NetworkからFusion Order Demoアプリケーションをインストールします。

3. Mozilla FireFoxバージョン2.0以上またはInternet Explorerバージョン7.0以上をインストールします。

4. 画面解像度1024×768以上をサポートするモニターでアプリケーションを実行します。

詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion Order Demoアプリケーションの設定に関する項を参照してください。

2.3 Suppliersモジュールの実行

Fusion Order DemoアプリケーションのSuppliersモジュールを実行する手順:

1. 『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion Order Demoアプリケーションの設定に関する項に記載されているとおりに、Fusion Order Demoアプリケーションをダウンロードしてインストールします。

2. Oracle JDeveloperでアプリケーションを開きます。

1. JDeveloperのメイン・メニューで、「ファイル」メニューから「開く」を選択します。

2. デモ用ZIPファイルを解凍した場所に移動し、SupplierModuleディレクトリからSupplierModule_2.0.jwsアプリケーション・ワークスペースを選択して「開く」をクリックします。
図2-1は、アプリケーション・ワークスペースにファイルを開いた後のアプリケーション・ナビゲータを示しています。ワークスペースの各プロジェクトの詳細は、第2.3.1項「Supplierモジュール・コード」を参照してください。

図2-1 Oracle JDeveloperでのSuppliersモジュール・コード

3. アプリケーション・ナビゲータで、「アプリケーション・リソース」アコーディオン・タイトルをクリックし、パネルを展開します。

4. 「アプリケーション・リソース」パネルで、「接続」→「データベース」ノードを展開します。

5. FOD接続を右クリックして、「プロパティ」を選択します。

6. 「データベース接続の編集」ダイアログで、使用する環境の表2-1にある接続情報を変更します。

表2-1 Fusion Order Demoアプリケーションの実行に必要な接続プロパティ

プロパティ

説明

ホスト名

データベースのホスト名。次に例を示します。

localhost

JDBCポート

データベースのポート。次に例を示します。

1521

SID

データベースのSID。次に例を示します。

ORCLまたはXE

ユーザー名とパスワードfod/fusionは変更しないでください。これらはそのままにしておく必要があります。「OK」をクリックします。

7. アプリケーション・ナビゲータで、「モデル」を右クリックして「再ビルド」を選択します。

8. アプリケーション・ナビゲータで、「ViewController」を右クリックして「実行」を選択します。
login.jspxページが表示されます。このモジュールでのセキュリティの構成上、まずログインする必要があります。

9. 「ユーザー名」にSHEMANT、「パスワード」にwelcome1と入力します。

ログインすると、browseページが表示され、製品を検索できます。結果の表で製品を選択すると、製品情報の編集や削除を行えます。ページの上部のコマンド・リンクを使用して、仕入先の情報を編集したり、仕入先を新たに追加できます。実行時のSuppliersモジュールの詳細は、第2.3.2項「Supplierモジュールのページ」を参照してください。

2.3.1 Suppliersモジュール・コード

JDeveloperでプロジェクトを開くと、各プロジェクト内のアーティファクトの確認を開始できます。Modelプロジェクトには、Webアプリケーションにデータを表示できるようにするJava クラスとメタデータ・ファイルが含まれています。oracle.fodemo.commonプロジェクトには、アプリケーション内の複数のクラスで使用されるコンポーネントが含まれています。oracle.fodemo.supplierプロジェクトには、仕入先のデータへのアクセスに使用されるコンポーネントが含まれています。図2-2は、Modelプロジェクトおよび関連するディレクトリを示しています。

図2-2 JDeveloperでのModelプロジェクト

ViewControllerプロジェクトには、バッキングBean、デプロイメント・ファイル、JSPXファイルなど、Webインタフェース用のファイルが含まれています。「アプリケーション・ソース」ノードには、マネージドBeanおよびバッキングBean、国際化に使用するプロパティ・ファイル、Oracle ADFによってバインド・データの表示に使用されるメタデータなど、Webクライアントで使用されるコードが含まれています。「Webコンテンツ」ノードには、JSPファイル、イメージ、スキン・ファイル、デプロイメント・ディスクリプタ、ライブラリなどのWebファイルが含まれています。図2-3は、ViewControllerプロジェクトおよび関連するディレクトリを示しています。

図2-3 JDeveloperでのViewController プロジェクト

2.3.2 Suppliersモジュールのページ

Suppliersモジュールには、ユーザーが次のタスクを実行できる8個のメイン・ページが含まれています。

- 製品の検索:browse.jspxページでは、ユーザーは製品を検索できます。検索結果は、表に表示されます。図2-4は、browseページの検索フォームを示しています。

図2-4 Supplierモジュールの検索フォーム

- 表内の行データの編集: browse.jspxページの表から、ユーザーは製品を選択し、「更新」を選択してproductInfo.jspxページに移動できます(製品リンクのクリックでも、このページに移動します)。ユーザーは、この表から「削除」をクリックして、選択した製品を削除できるポップアップ・ウィンドウを起動することもできます。図2-5は、browseページの表を示しています。

図2-5 browseページの表

- フォーム内の行データの編集:productInfo.jspxページで、ユーザーは行のデータを変更できます。選択リストには、製品ステータスの有効な値が含まれています。「ファイルの選択」ボタンを使用して、ユーザーはグラフィック・ファイルをアップロードできます。このファイルはフォームの下に表示されます。図2-6は、productInfo.jspxページを示しています。

図2-6 「製品の詳細」ページ

- 「サプライヤの追加」リンクをクリックすると、図2-7に示す、新規サプライヤの作成に使用されるregisrationDetails.jspxページに含まれる一連のページに移動します。

図2-7 仕入先作成トレイン

- アプリケーションへのログイン:login.jspxページで、ユーザーはアプリケーションにログインできます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion WebアプリケーションでのADFセキュリティの有効化に関する項を参照してください。

第II部

Idoc Scriptのカスタム・スクリプト言語の使用

この部では、Oracle WebCenter Contentをカスタマイズする場合のIdoc Scriptのカスタム・スクリプト言語の使用法について説明します。

第II部の内容は次のとおりです。

- 第3章「Idoc Scriptのカスタム・スクリプト言語の概要」

- 第4章「Oracle WebCenter ContentでのIdoc Scriptの変数と関数の使用」

3 Idoc Scriptのカスタム・スクリプト言語の概要

この章では、Oracle WebCenter Content Serverのカスタマイズに使用できるIdoc Scriptのカスタム・スクリプト言語について説明します。Idoc Scriptは、Content Serverシステム向けのサーバー側のカスタム・スクリプト言語です。Idoc Scriptは主に、HTMLテンプレートと構成の設定のプレゼンテーションに使用します。

この章の内容は次のとおりです。

- 第3.1項「Idocの命名規則」

- 第3.2項「Idoc Scriptの構文」

- 第3.3項「Idoc Scriptの使用」

- 第3.4項「特殊なキーワード」

- 第3.5項「演算子」

- 第3.6項「メタデータ・フィールド」

- 第3.7項「結果をフォーマット化するためのインクルードのマージ」

- 第3.8項「有効範囲付きローカル変数」

3.1 Idocの命名規則

Idoc変数(構成変数または環境変数ともいいます)は、Idoc Scriptおよび構成ファイルで使用できます。

一般に、変数が構成の一部である場合、変数は大文字で始まります。config.cfgファイルまたはintradoc.cfgファイルで指定した変数は通常、先頭が大文字になります。例については『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』のDefaultFilterInputFormatに関する項を参照してください。サービス・リクエスト内の多くのパラメータも大文字で始まります。

ページで定義され、std_page.htmなどのファイルで導出されて使用される変数は、小文字で始まります。例については、第7.2.2項「Idoc Scriptの関数」のexecuteService関数に関する項を参照してください。変数は環境変数またはサービス変数から計算されて、プレゼンテーションに使用されます。

オブジェクトを定義するために変数を使用する場合、その変数は、定義しているオブジェクトのタイプを表す小文字で始まります。ワークフロー固有の変数の例については、付録A「Idoc Scriptの関数と変数」のwfSet()に関する項を参照してください。また、すべての関数は小文字で始まり、多くは関数のタイプを表す接頭辞で始まります。たとえば、ほとんどの文字列操作関数はstrで始まります。あるいは、ResultSet関数はrsで始まります。

カスタム・メタデータ・フィールドではないデータベース列名はすべて、小文字のdで始まります。コンテンツ・サーバー・システムにより作成されたカスタム・メタデータのデータベース列名はすべて、小文字のxで始まります。

3.2 Idoc Scriptの構文

Idoc Scriptは、次の基本的な構文ルールに従います。

- 第3.2.1項「Idoc Scriptのタグ」

- 第3.2.2項「Idoc Scriptのコメント」

3.2.1 Idoc Scriptのタグ

Idoc Scriptのコマンドは、デリミタ<$で始まり、$>で終わります。次に例を示します。

<$dDocTitle$>
<$if UseGuiWinLook and isTrue(UseGuiWinLook)$>

HCSPページまたはHCSFページでIdoc Scriptを使用している場合は、Idoc Scriptのタグに構文<!--$script-->を使用する必要があります。

3.2.2 Idoc Scriptのコメント

Idoc Scriptコードでは、標準のHTMLコメントまたはIdoc Scriptのコメントが使用できます。Idoc Scriptのコメントは、デリミタ[[%で始まり、%]]で終わります。次に例を示します。

<!-- HTML Comment -->
[[%My Comment%]]

HTMLコメントは、Idoc Scriptエンジンのプレーン・テキストとして解析されます。このエンジンは、Idoc Scriptの構成のみを検索します。生成されたページにコメントを表示する場合は、HTML/XMLコメント構文を使用します。それ以外の場合は、Idoc Scriptのコメント構文をお薦めします。

他のIdoc Scriptを生成するIdoc Scriptを作成していて、ソース・ページを読取り可能にするには、構成dynamichtmlと、Idoc Scriptリソース・ファイルにある文字列リソースなどのその他のリソース指定子をコメント・アウトするコメント構文が使用できます。次に例を示します。

[[% Commenting out resource includes
<@dynamichtml myinclude@>
<@end@>
End comment %]]

3.3 Idoc Scriptの使用

Idoc Scriptには、6つの基本的な使用があります。

- インクルードでは、Idoc ScriptとHTMLコードのピースを再使用できます。

- 変数では、変数の値を定義したり、置換したりすることができます。

- 関数では、文字列の比較、操作ルーチン、日付フォーマット化、ResultSetの操作といったアクションを実行できます。

- 条件では、if句とelse句を評価して、アセンブルされたページにコードを含めたり、コードを除外することができます。

- ループでは、問合せから返されたResultSetの行ごとにコードを繰り返すことができます。

- 管理インタフェースでは、コンテンツ・サーバーのアプレットとカスタマイズでIdoc Scriptが使用できます。

3.3.1 インクルード

インクルードは、コンテンツ・サーバーのWebページの作成に使用されるコードを定義します。インクルードは、リソース・ファイル内で一度定義されると、必要に応じて多数のテンプレート・ファイルによって参照されます。システムでは、インクルードを大いに活用しています。

インクルードを使用することによって、コンポーネント・アーキテクチャと動的サーバー・ページの使用によるインスタンスのカスタマイズが簡単になります。インクルードとカスタマイズの詳細は、第7.3項「動的サーバー・ページのカスタム・インクルードを使用するIdocファイルの作成」を参照してください。

- インクルードは、HTMリソース・ファイルに次のフォーマットを使用して定義されます。

<@dynamichtml name@>
code
<@end@>

- インクルードは、次のIdoc Scriptフォーマットを使用してHTMテンプレート・ファイルからコールされます。

<$include name$>

- インクルードには、Idocスクリプトおよび有効なHTMLコード(JavaScript、Javaアプレット、カスケード・スタイルシート、コメントなど)を含めることができます。

- インクルードは、コール元と同じファイルで定義するか、別のファイルで定義することができます。

- 標準的なインクルードは、IdcHomeDir/resources/core/idoc/std_page.idocファイルで定義されます。

- HDAファイルとCFGファイルはスクリプト対応ではないため、これらのタイプのファイルにインクルード文を使用することはサポートされていません。

インクルードはグローバルであり、システムのあらゆる部分で使用できます。HCSPファイルの動的スクリプト・ページでインクルードが使用できます。.idocファイルでは、グローバルではないローカライズされたインクルードを実行できます。HCSPファイルは、適切な構文を使用して、グローバルなインクルードまたはローカライズされたインクルードを両方ともコールできます。同じ名前が1つでも存在している場合、インクルードは既存のインクルードをオーバーライドできます。

詳細は、次の項を参照してください。

- 第3.3.1.1項「インクルードの例」

- 第3.3.1.2項「superタグ」

- 第3.3.1.3項「superタグの例」

3.3.1.1 インクルードの例

最も一般的なインクルードの1つは、ボディ定義要素<@dynamichtml body_def>です。このインクルードは、ページの背景色、ハイパーリンクの色および背景イメージを設定します。次の例は、IdcHomeDir/resources/core/idoc/std_page.idocファイル内のコードを示します。

<@dynamichtml body_def@>
<!--Background image defined as part of body tag--->
<body
<$if background_image$>
background="<$HttpImagesRoot$><$background_image$>"
<$elseif colorBackground$>
bgcolor="<$colorBackground$>"
<$endif$>
<$if xpedioLook$>
link="#663399" vlink="#CC9900"
<$else$>
link="#000000" vlink="#CE9A63" alink="#9C3000"
<$endif$>
marginwidth="0" marginheight="0" topmargin="0" leftmargin="0"
>
<@end@>

ほとんどの標準的なテンプレート・リソース・ファイル(IdcHomeDir/resources/core/templates/pne_home_page.htmなど)には、ページの最上部近くに次のIdoc Scriptコードが含まれています。

<$include body_def$>

コンテンツ・サーバー・システムは、このコードが含まれているテンプレート・ページを解決するときに<@dynamichtml body_def@>定義を検索し、プレースホルダ・コードを定義にあるコードに置換します。

3.3.1.2 superタグ

superタグは、既存インクルードの例外の定義に使用します。superタグは、既存のインクルードで開始し、指定したコードを使用してそれに追加するか、または変更するようにインクルードに指示します。

- superタグでは、次の構文を使用します。

<@dynamichtml my_resource@>
<$include super.my_resource$>
exception code
<@end@>

- superタグを使用して、標準的なインクルードまたはカスタム・インクルードを参照できます。superタグは、最後にロードされたインクルードを統合します。

- superの後に定義されたリソース名は、superをインクルードしたインクルード名と一致している必要があります。前出の構文例では、my_resourceはインクルード名であるため、一致するコールはsuper.my_resourceとなります。

- 複数のsuperタグを指定して、最後のバージョンよりも前にロードされたインクルードをコールすることができます。たとえば、標準のbody_defインクルードの例外を2つの異なるコンポーネントに設定するには、最後にロードされたコンポーネントに次の構文が使用できます。

<$include super.super.body_def$>

注意:

1つのインクルードに複数のsuperタグを使用する場合は、リソースのロード元とロード順序が判明していることを確認します。

- superタグが特に役立つのは、大規模なインクルードに小規模なカスタマイズを行う場合や、ソフトウェアが次のバージョンになったときに変わる可能性の高い標準コードをカスタマイズする場合です。新規バージョンのコンテンツ・サーバー・ソフトウェアにアップグレードする場合、superタグによって、コンポーネントで最新バージョンのインクルードが使用され、インスタンスのカスタマイズに必要な特定のコードのみが確実に変更されます。

3.3.1.3 Superタグの例

この例では、コンポーネントによって、my_resourceインクルードが次のように定義されます。

<@dynamichtml my_resource@>
<$a = 1, b = 2$>
<@end@>

後でロードされた別のコンポーネントでは、superタグを使用して、my_resourceインクルードが拡張されます。次の拡張を行うと、aには値1が割り当てられ、bには値3が割り当てられます。

<@dynamichtml my_resource@>
<$include super.my_resource$>
<!--Change "b" but not "a" -->
<$b = 3$>
<@end@>

3.3.2 変数

変数では、変数の値を定義したり、置換したりすることができます。

以降の各項では、Idoc Scriptの変数の使用方法について説明します。

- 第3.3.2.1項「変数の作成」

- 第3.3.2.2項「変数の参照」

- 第3.3.2.3項「変数の値」

- 第3.3.2.4項「カンマ区切り記号」

- 第3.3.2.5項「条件における変数の参照」

- 第3.3.2.6項「変数の参照の検索順序」

- 第3.3.2.7項「標準変数」

3.3.2.1 変数の作成

Idoc Script変数は、次のいずれかの方法で作成されます。

- 多くの変数は事前定義されています。

- 独自のカスタム変数を定義できます。

- いくつかの変数値は、問合せとサービスを使用して生成する必要があります。一部の変数情報はデータベースから自動的に使用できないため、問合せとサービスを定義して依頼する必要があります。

Idoc Script変数のタイプの詳細は、第4章「Oracle WebCenter ContentでのIdoc Scriptの変数と関数の使用」を参照してください。

3.3.2.2 変数の参照

テンプレートとその他のリソース・ファイルの変数を参照するには、次のIdoc Scriptタグを使用します。

<$variable_name$>

このような変数名を参照する場合、その変数が参照されたときに、生成されたページによってIdoc Scriptタグがその変数の値に置換されます。

3.3.2.3 変数の値

- この構造を使用して、変数に値を割り当てることができます。

<$variable=value$>

たとえば、<$i=0$>は0の値を変数iに割り当てます。

- 変数の値は、次の名前/値のペアのフォーマットを使用して、環境リソース(CFG)ファイルにも定義できます。

variable=value

たとえば、標準的な構成変数はIntradocDir/config/config.cfgファイルに定義されます。

注意:

デフォルトでは、コードにより設定されたすべての構成変数値がIntradocDir/config/config.cfgファイルにリストされるとはかぎりません。

3.3.2.4 カンマ区切り記号

Idoc Scriptは、変数の参照内の1つのスクリプト・ブロックでカンマによって区切られる複数の句をサポートしています。

たとえば、2つのseparate文、<$a=1$>および<$b=2$>のかわりに、<$a=1,b=2$>を使用できます。

3.3.2.5 条件における変数の参照

次の構造を使用して、変数の存在を評価できます。

<$if variable_name$>

変数が定義されていて空でない場合、この条件はTRUEとして評価されます。変数が定義されていないか、空(null)文字列として定義されている場合、それはFALSEとして評価されます。

このタイプの参照の標準的な使用法の例は、第3.3.4.1項「条件の例」を参照してください。

3.3.2.6 変数の参照の検索順序

サービス・リクエストを遂行するために変数が参照される場合、次のデフォルトの順序によりデータ・バインダで最初に見つかる一致が代替値になります。

1. LocalData

2. アクティブResultSet

3. 非アクティブResultSet

4. 環境

たとえば、変数が環境に存在していて、それがアクティブResultSetのフィールド名でもある場合は、アクティブResultSetの現在行の値が使用されます。

3.3.2.7 標準変数

特別な評価ロジック(条件動的変数など)を持たない標準変数は、#activeキーワード接頭辞を使用することと同等です。

たとえば、タグ<$variable$>は<$#active.variable$>と同等です。ただし、#activeが明示的に表記されていなくて、変数が見つからない場合は、エラー・レポートがデバッグ出力に印刷されます。

#active修飾子は、第3.3.2.6項「変数の参照の検索順序」に説明するように、変数の参照によってDataBinderが検索されることを意味するのに対し、#envでは環境のみから選択でき、#localは常にLocalDataを参照します。明示的に#activeを使用することと接頭辞を使用しないことの相違は、(1)修飾子を使用していなくて、(2) 変数の参照がDataBinderに見つからない場合のみエラーが報告されることです。

3.3.3 関数

Idoc Scriptには、多数のビルトイン・グローバル関数があります。関数は、文字列の比較、操作ルーチン、日付フォーマット化、ResultSetの操作といったアクションを実行します。いくつかの関数は、計算または比較の結果などの結果も返します。

関数名の後に情報をカッコで閉じることによって、情報が関数に渡されます。関数に渡される情報のピースをパラメータといいます。関数には、パラメータをとらないもの、パラメータを1つとるもの、複数のパラメータをとるものがあります。関数のなかには、その使用方法によってパラメータ数が異なるものもあります。

Idoc Script関数のリストは、第4.1.4項「グローバル関数」を参照してください。

3.3.3.1 パーソナライズ関数

パーソナライズ関数は、ユーザー・トピック・ファイルとも呼ばれるパーソナライズ・ファイルで定義されたユーザー・プロパティを参照します。各ユーザーの「ユーザー・プロファイル」の設定、左ナビゲーション・バーのパーソナル・リンクおよびキュー情報のワークフローはすべてユーザー・トピック・ファイルで定義されます。ユーザー・トピック・ファイルはHDAファイルであり、WC_CONTENT_ORACLE_HOME/data/users/profiles/us/username/ディレクトリに置かれています。

次のグローバル関数は、ユーザー・トピック・ファイルを参照します。

- utGetValue()

- utLoad()

- utLoadResultSet()

たとえば、ユーザーの左ナビゲーション・バーにある「ポータル・デザイン」リンクは、pne_nav_userprofile_linksインクルード(WC_CONTENT_ORACLE_HOME/shared/config/resources/std_page.htmリソース・ファイル内にあります)の次のコードから生成されます。WC_CONTENT_ORACLE_HOME/data/users/profiles/us/username/pne_portal.hdaファイルのportalDesignLinkプロパティがTRUEである場合は、リンクが表示されます。

<$if utGetValue("pne_portal", "portalDesignLink") == 1$>
<$hasUserProfileLinks=1$>
<tr>
<td colspan=2 nowrap align="left">
<a class=pneLink href="<$HttpCgiPath$>?IdcService=GET_PORTAL_PAGE&Action=GetTemplatePage&Page=PNE_PORTAL_DESIGN_PAGE">
<$lc("wwPortalDesign")$></a>
<td>
</tr>
<$endif$>

3.3.4 条件

条件では、if句とelse句を評価して、アセンブルされたページにコードを含めたり、コードを除外することができます。

- 条件を評価するには、次のIdoc Scriptキーワードを使用します。

- <$if condition$>

- <$else$>

- <$elseif condition$>

- <$endif$>

- 条件句は、次の一般的な構造を使用します。

<$if conditionA$>
<!--Code if conditionA is true-->
<$elseif conditionB$>
<!--Code if conditionB is true-->
<$else$>
<!--Code if neither conditionA nor conditionB is true-->
<$endif$>

- 条件式には、任意のIdoc Scriptの関数または変数が使用できます。
詳細は、第3.3.2.5項「条件における変数の参照」を参照してください。

- ブール演算子を使用して条件句を組み合わせることができます。たとえば、and演算子を次のように使用できます。

<$if UseBellevueLook and isTrue(UseBellevueLook)$>

最初の式では変数の有無と、変数が空でないかどうかをテストし、2番目の式では変数の値が1に評価されるか、あるいは、tまたはy(大/小文字を区別しません)で始まるかどうかをチェックします。2番目の句がない場合、変数が設定されていなかったり空の場合には、エラーが生成される可能性があります。等価表現は次のとおりです。

<$if isTrue(#active.UseBellevueLook)$>

- 条件式がHTMLページにインクルード可能なResultSetの名前である場合、ResultSetに少なくとも1行がある場合に条件句はtrueを返します。これにより、ResultSetに行がある場合のみ、テンプレート・ページにResultSetの情報が表示されます。

- 特別な計算をトリガーしない条件句は、接頭辞#activeを使用して評価されます。値がnullでなく、空ではない文字列またはゼロ以外の整数である場合、結果はtrueになります。

条件コードの例は、第3.3.4.1項「条件の例」を参照してください。

3.3.4.1 条件の例

この例では、表セル<td>は変数xDepartmentの値に応じて定義されます。

<$if xDepartment$>
<td><$xDepartment$></td>
<$else$>
<td>Department is not defined.</td>
<$endif$>
<$xDepartment=""$>

- xDepartmentの値が定義された場合、xDepartmentの値が表セルに表示されます。

- xDepartmentの値が定義されていないか、空(null)文字列の場合、表セルの内容としてメッセージが書き込まれます。

- コードの最後の行は、xDepartment変数を空の文字列にリセットすることによってクリアします。

3.3.5 ループ

ループ構造により、同じコードを何回でも実行することができます。ループ処理は、Idoc Scriptでは次の2通りの方法で実行できます。

- ResultSetのループ

- Whileのループ

ループ構造から出て終了する場合の情報は、第3.3.5.5項「ループの終了」を参照してください。

3.3.5.1 ResultSetのループ

ResultSetのループでは、問合せから返されるResultSetの行ごとに一連のコードが繰り返されます。ループされるResultSetの名前は、次の構文を使用して変数として指定されています。

<$loop ResultSet_name$>
code
<$endloop$>

- <$loop$>タグと<$endloop$>タグ間のコードは、ResultSetの行ごとに1回繰り返されます。

- ResultSetループの内側では、getValue()関数を使用してResultSetから値を取得できます。値の置換は、ループ内で現在アクセスしている行によって異なります。

- ResultSetループの内側にいる場合は、そのResultSetがアクティブになり、変数および条件文を評価する際に他のResultSetよりも優先されます。

- ResultSetループでは無限ループは使用できない(有限リスト)のに対し、whileループでは無限ループを生じることができます。

- <$loop$>タグを使用して、ResultSetをポイントする変数を繰り返しループすることはできません。かわりに、関数rsFirst()およびrsNext()を使用して、ResultSetを手動でループする必要があります。
たとえば、次のコードを使用してResultSetを繰り返しループすることはできません。

<$name="SearchResults"$>
<$loop name$>
<!--output code-->
<$endloop$>

かわりに、次のコードを使用する必要があります。

<$name="SearchResults"$>
<$rsFirst(name)$>
<$loopwhile getValue(name, "#isRowPresent")$>
<!--output code-->
<$rsNext(name)$>
<$endloop$>

3.3.5.2 ResultSetのループの例

この例では、GET_SEARCH_RESULTSサービスによって生成されたSearchResultsというResultSetをループすることによって、検索結果表が作成されます。

<$QueryText="dDocType <matches> 'ADACCT'"$>
<$executeService("GET_SEARCH_RESULTS")$>
<table>
<tr>
<td>Title</td><td>Author</td>
</tr>
<$loop SearchResults$>
<tr>
<td><a href="<$SearchResults.URL$>"><$SearchResults.dDocTitle$></a></td>
<td><$SearchResults.dDocAuthor$></td>
</tr>
<$endloop$>
</table>

3.3.5.3 Whileのループ

Whileのループにより、条件ループを作成できます。whileループの構文は、次のとおりです。

<$loopwhile condition$>
code
<$endloop$>

- condition式の結果がtrueの場合は、タグ<$loopwhile$>および<$endloop$>間のコードが実行されます。

- ループ内のすべてのコードが実行された後で、制御がループの先頭に戻り、そこでcondition式が再度評価されます。

- 結果がtrueの場合は、コードが再度実行されます。

- 結果がfalseの場合、ループは終了します。

3.3.5.4 Whileのループの例

この例では、ループを通過するたびに、abcという変数が2ずつ増えていきます。6回目の通過で(この時、abcは10になります)、条件式はtrueではなくなるため、ループが終了します。

<$abc=0$>
<$loopwhile abc<10$>
<$abc=(abc+2)$>
<$endloop$>

3.3.5.5 ループの終了

ResultSetループまたはwhileループを終了させるIdoc Scriptタグには、次の2つがあります。

- <$endloop$>は、次の通過に備えるために、制御をループの先頭に戻します。すべてのループは<$endloop$>タグで閉じる必要があります。

- <$break$>は、一番内側のループを終了させます。ループの終了に続いて、最初の文で制御が再開されます。

3.3.6 管理インタフェース

Idoc Scriptは、次に示す管理インタフェースのいくつかの領域で使用できます。

- 第3.3.6.1項「ワークフロー管理」

- 第3.3.6.2項「Webレイアウト・エディタ」

- 第3.3.6.3項「バッチ・ローダー」

- 第3.3.6.4項「アーカイバ」

- 第3.3.6.5項「システム・プロパティ」

- 第3.3.6.6項「電子メール」

3.3.6.1 ワークフロー管理

「ワークフロー管理」ツールでは、Idoc Scriptを使用して次の項目の定義が行えます。

- ステップ・イベント

- ジャンプ・メッセージ

- 追加の終了条件

- トークン

- ジャンプのカスタム効果

たとえば、次のステップ入力スクリプトは、Secureセキュリティ・グループ内のドキュメントをワークフローの次のステップに送信します。

<$if dSecurityGroup like "Secure"$>
<$wfSet("wfJumpName", "New")$>
<$wfSet("wfJumpTargetStep", wfCurrentStep(1))$>
<$wfSet("wfJumpEntryNotifyOff", "0")$>
<$endif$>

詳細は、第4.1.8項「ワークフロー」を参照してください。

3.3.6.2 Webレイアウト・エディタ

「Webレイアウト・エディタ」では、ページ・タイトル、ページ説明、URL説明、問合せ結果ページおよびコンテンツ問合せでIdoc Scriptが使用できます。次に例を示します。

- 問合せ結果ページの定義にIdoc Scriptタグを使用して、検索結果表の各行のコンテンツを指定できます。

- 検索結果で最大7日までのコンテンツ・アイテムをすべて返すように設定するには、検索問合せを次のように定義することもできます。

dInDate > '<$dateCurrent(-7)$>'

- 現在のユーザーに基づいて結果を返すレポートを定義するには、レポート問合せ式の一部をUser Name is <$UserName$>と定義することもできます。

詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

3.3.6.3 バッチ・ローダー

「バッチ・ローダー」では、マッピング・ファイルにIdoc Scriptを使用して、ファイル・レコード用にメタデータを決定する方法をバッチ・ローダー・ユーティリティに指示することができます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

3.3.6.4 アーカイバ

「アーカイバ」では、次の領域でIdoc Scriptが使用できます。

- 問合せ値のエクスポート。たとえば、作成後1年を経過したコンテンツをアーカイブする場合は、「リリース日」の値として<$dateCurrent(-365)$>を使用します。

- 値マップの出力値。たとえば、インポートされたすべてのリビジョンの有効期限を1週間先に設定するには、Output値として<dateCurrent(7)$>を使用することもできます。

詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

3.3.6.5 システム・プロパティ

コンテンツ・サーバー・インスタンスの「一般構成」ページまたはOracle WebCenter Content: Inbound Refineryインスタンスの「ローカル構成」ページまたは「共有構成」ページで、システム・プロパティ・ユーティリティに値を設定する場合、実際には、Idoc Scriptの構成変数を設定することになります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

3.3.6.6 電子メール

Idoc Scriptを使用して、通知メールの件名の行とボディをカスタマイズできます。次に例を示します。

Hello, <$UserName$>. Content item <$dDocName$> requires your review.

3.4 特殊なキーワード

次のキーワードは、Idoc Scriptでは特殊な意味を持ちます。

キーワード

例

説明

#active

<$#active.variable$>

次のデフォルトの順序で検索して、指定された変数の値をDataBinderから取得します。

1. アクティブResultSet

2. ローカル・データ

3. その他すべてのResultSet

4. 環境

変数が見つからない場合、エラー・レポートをデバッグ出力に送信しません。

#local

<$#local.variable$>

指定した変数の値をローカル・データから取得します。変数が見つからない場合、エラー・レポートをデバッグ出力に送信しません。

#env

<$#env.variable$>

指定した変数の値を環境設定から取得します。変数が見つからない場合、エラー・レポートをデバッグ出力に送信しません。

exec

<$exec expression$>

式を実行して、出力を抑制します(式をページに表示しません)。

旧バージョンのIdoc Scriptでは、execキーワードは変数の値を出力ファイルに表示しないようにするために必須でした。現行バージョンでは、execキーワードは式を出力ファイルに表示しないようにする場合のみ必要です。

include

<$include ResourceName$>

指定したリソースからコードをインクルードします。詳細は、第3.3.1項「インクルード」を参照してください。

super

<$include super.<include>$>

既存バージョンのインクルード・コードから開始します。詳細は、第3.3.1.2項「Superタグ」を参照してください。

3.4.1 キーワードと関数の比較

コンテンツ・サーバーのページでは、特殊なキーワードincludeとexec、および関数incとevalが広範に使用されます。この項では、これらのコマンドの違いについて説明し、その使用例を示します。

キーワードincludeとexecは定義済パラメータで動作するスタンドアロン・コマンドですが、パラメータとして変数を取ることはできません。関数incとevalも同様の目的で動作しますが、パラメータとして変数を取れるため、変数の値に応じてIdoc Scriptコードを動的に作成できます。

次の各項では、これらのキーワードと関数について詳しく説明します。

- 第3.4.1.1項「execキーワード」

- 第3.4.1.2項「eval関数」

- 第3.4.1.3項「includeキーワード」

- 第3.4.1.4項「inc関数」

3.4.1.1 execキーワード

execキーワードは、Idoc Script式を実行し、出力を抑制します(式をページに表示しません)。これは主として、ページに何も書き込まずに変数を設定するために使用します。

旧バージョンのIdoc Scriptでは、execキーワードは変数の値を出力ファイルに表示しないようにするために必須でした。現行バージョンでは、execキーワードは式を出力ファイルに表示しないようにする場合のみ必要です。

たとえば、次の式を使用すると、出力値0または1が出力ファイルに表示されます。

<$rsFirst(name)$>

かわりに、式の前にexecキーワードを使用すると、出力が抑制されます。

<$exec rsFirst(name)$>

また、次のようにexecを使用して出力をrsNextから抑制することもできます。

<$exec rsNext(name)$>

詳細は、付録A「Idoc Scriptの関数と変数」のexecに関する項を参照してください。

3.4.1.2 eval関数

eval関数は、実際のIdoc Scriptのように式を評価します。

次の例では、oneという変数が文字列Company Nameに割り当てられ、twoという変数が、変数oneが含まれている文字列に割り当てられています。

<$one="Company Name"$>
<$two="Welcome to <$one$>"$>
<$one$><br>
<$two$><br>
<$eval(two)$>

ページの出力では、変数oneは文字列Company Nameを表し、変数twoは文字列Welcome to <$one$>を表し、関数eval(two)は文字列Welcome to Company Nameを表します。

評価する文字列は、Idoc Scriptのデリミタ<$ $>で囲む必要があります。そうしないと、Idoc Scriptとして評価されません。

また、この方法で動的に生成されたコンテンツが多すぎると、ページの表示が遅くなることもある点に留意してください。eval関数をページに頻繁に使用する場合は、コードをインクルードに入れて、inc関数をeval関数とともに使用するほうが効率的な場合があります。

詳細は、付録A「Idoc Scriptの関数と変数」のeval()に関する項を参照してください。

3.4.1.3 includeキーワード

includeキーワードは、コードのチャンクを現在のページに統合する標準的な手段です。includeはキーワードであるため、パラメータとして変数を取ることはできません。パラメータは既存のインクルードの名前である必要があります。

詳細は、付録A「Idoc Scriptの関数と変数」の第3.3.1項「インクルード」および、includeに関する項を参照してください。

3.4.1.4 inc関数

inc関数は、パラメータとして変数を取れる点を除き、includeキーワードと同じ動作をします。この関数は、変数の現在の値に応じて使用するインクルードを動的に変更する際に、非常に役立ちます。

たとえば、カスタム・メタデータ・フィールドの全部ではなく、一部に対してIdoc Scriptを実行するとします。次のIdoc Scriptを実行することにより、フィールド名(specific_include_xCommentsなど)に基づいてインクルードを動的に作成することもできます。

<$loop DocMetaDefinition$>
<$myInclude = "specific_include_" & dName$>
<$exec inc(myInclude)$>
<$endloop$>

inc関数によって指定されたインクルードの出力を抑制するexecキーワードの使用に留意してください。inc関数の前にexecを使用しない場合、指定されたインクルードの内側のHTMLはページに表示されます。

specific_include_xCommentsが存在しない場合は、出力が表示されないため、このコードによってエラーがスローされることはありません。

詳細は、付録A「Idoc Scriptの関数と変数」のinc()に関する項を参照してください。

3.5 演算子

Idoc Scriptは、いくつかの演算子をサポートしています。

- 第3.5.1項「比較演算子」

- 第3.5.2項「特殊文字列演算子」

- 第3.5.3項「数値演算子」

- 第3.5.4項「ブール演算子」

3.5.1 比較演算子

次の比較演算子を使用して、2つのオペランドの値を比較し、比較結果に基づいて値trueまたはfalseを返します。これらの演算子は、Idoc Scriptで整数およびブール値の比較に使用できます。

Idoc ScriptをHCSPページまたはHCSFページで使用している場合は、特殊な比較演算子を使用する必要があります。詳細は、第7.2.1.2項「比較演算子」を参照してください。

演算子

説明

例

==

等価

<$if 2 == 3$>はfalseに評価されます。

!=

非等価

<$if 2 != 3$>はtrueに評価されます。

<

より小さい

<$if 2 < 2$>はfalseに評価されます。

<=

より小さいか等しい

<$if 2 <= 2$>はtrueに評価されます。

>

より大きい

<$if 3 > 2$>はtrueに評価されます。

>=

より大きいか等しい

<$if 3 >= 2$>はtrueに評価されます。

これらは数値演算子であり、文字列データに日付などの有効な数値の意味がある特殊な場合のみ、文字列での使用に役立ちます(日付は、標準の比較演算子で使用された場合にミリ秒に換算されます)。

- 文字列連結、文字列挿入、単純文字列比較の場合は、特殊文字列演算子を使用します。

- 高度な文字列演算を実行する場合は、strEquals()、strReplace()またはその他の文字列関連のグローバル関数を使用します。

3.5.2 特殊文字列演算子

文字列の連結および比較には、次の特殊文字列演算子を使用します。

演算子

説明

例

&

文字列結合演算子は、文字列の連結を実行します。この演算子は、リソース・インクルード用にIdoc Scriptを生成するスクリプトの作成に使用します。

<$"<$include " & VariableInclude & "$>"$>

これは、次のように評価されます。

<$include VariableName$>

like

文字列比較演算子は、2つの文字列を比較します。

- 最初の文字列は、2番目の文字列のパターンと比較されます。(2番目の文字列には、ワイルドカードとしてアスタリスクと疑問符が使用できます。)

- この演算子は、大/小文字を区別しません。

- FALSEに評価されます。

<$if "cart" like "car"$>

- TRUEに評価されます。

<$if "cart" like "car?"$>

- TRUEに評価されます。

<$if "carton" like "car*"$>

- TRUEに評価されます。

<$if "Carton" like "car*"$>

|

文字列挿入演算子は、論理OR関数を実行して複数のオプションを区切ります。

TRUEに評価されます。

<$if "car" like "car|truck|van"$>

たとえば、変数aに接頭辞carがあるかどうか、または部分文字列truckが含まれているかどうかを判別するには、次の式が使用できます。

<$if a like "car*|*truck*"$>

重要:

高度な文字列演算を実行する場合は、strEquals()、strReplace()またはその他の文字列関連のグローバル関数を使用します。

like演算子は、次のワイルドカード記号を認識します。

ワイルドカード

説明

例

*

0文字以上の文字に一致します。

- grow*は、grow、grows、growthおよびgrowingに一致します。

- *carは、car、scarおよびmotorcarに一致します。

- s*oは、so、soloおよびsopranoに一致します。

?

1文字のみに一致します。

- grow?は、growsとgrowlに一致しますが、growthには一致しません。

- grow??はgrowthに一致しますが、growsまたはgrowingには一致しません。

- b?dは、bad、bed、bidおよびbudに一致します。

3.5.3 数値演算子

算術演算の実行には、次の数値演算子を使用します。これらの演算子は、整数に評価する整数、または浮動小数に評価する浮動小数に対して使用します。

演算子

説明

例

+

加算演算子。

<$a=(b+2)$>

-

減算演算子。

<$a=(b-2)$>

*

乗算演算子。

<$a=(b*2)$>

/

除算演算子。

<$a=(b/2)$>

%

係数演算子。2つの値を分割した後の剰余を示します。

<$a=(b%2)$>

3.5.4 ブール演算子

論理評価の実行には、次のブール演算子を使用します。

演算子

説明

例

and

- オペランドが両方ともゼロ以外の値かtrueである場合、結果は1になります。

- どちらか一方のオペランドが0であるかfalseの場合、結果は0になります。

<$if 3>2 and 4>3$>

これは、1に評価されます。

or

- どちらか一方のオペランドがゼロ以外の値かtrueである場合、結果は1になります。

- オペランドが両方とも0であるかfalseの場合、結果は0になります。

<$if 3>2 or 3>4$>

これは、1に評価されます。

not

- オペランドが0かfalseの場合、結果は1になります。

- オペランドの値がゼロ以外の場合、結果は0になります。

<$if not 3=4$>

これは、1に評価されます。

ブール演算子は左から右へ評価します。第1オペランドの値のみで演算の結果を決定できる場合、第2オペランドは評価されません。

3.6 メタデータ・フィールド

この項の内容は次のとおりです。

- 第3.6.1項「メタデータ・フィールドのネーミング」

- 第3.6.2項「標準メタデータ・フィールド」

- 第3.6.3項「オプション・リスト」

- 第3.6.4項「動的サーバー・ページのメタデータ参照」

3.6.1 メタデータ・フィールドのネーミング

各メタデータ・フィールドには、コードで使用される内部フィールド名が割り当てられています。さらに、多くのフィールドにはWebページに表示される説明キャプションがあります。

- ユーザーに対してメタデータを表示する場合は、フィールドのキャプションを使用します。

- ファイルをバッチ・ロードしたり、動的サーバー・ページ(.hcst、hcsp、.hcsfの各ページ)をスクリプトする場合は、内部フィールド名を使用します。

- すべての内部メタデータ・フィールド名は、dまたはxで始まります。

- 事前定義済フィールド名またはコア・フィールド名はdで始まります。たとえば、dDocAuthorです。

- カスタム・フィールド名またはアドオン・フィールド名はxで始まります。たとえば、xDepartmentです。

注意:

Oracle提供のアドオン・コンポーネントと顧客が作成したカスタム・コンポーネントは、すべてxで始まります。

- 構成マネージャでカスタム・メタデータ・フィールドを作成すると、フィールド名の先頭にxが自動的に追加されます。

重要:

内部メタデータ・フィールド名は常に大/小文字を区別します。

3.6.2 標準メタデータ・フィールド

この項では、コンテンツ・サーバー・システムでコンテンツ・アイテム別に格納される標準メタデータ・フィールドについて説明します。フィールドは次のようにグループ化されます。

- 第3.6.2.1項「共通メタデータ・フィールド」

- 第3.6.2.2項「その他のフィールド」

3.6.2.1 共通メタデータ・フィールド

次のメタデータ・フィールドは、インタフェースのカスタマイズで最もよく使用されます。デフォルトでは、これらのフィールドはチェックイン・ページと検索ページに表示されます。

注意:

アドオン・コンポーネントの多くについてはリストに記載していません。たとえば、FrameworkFoldersコンポーネントはコンテンツ・サーバーの多くの構成で有効ですが、FrameworkFoldersフィールドはリストに記載されていません。

コンテンツID (dDocName)をdIDと混同しないようにしてください。dIDは、コンテンツ・アイテムの特定のリビジョンを示す内部生成された整数です。

内部フィールド名

標準的なフィールド・キャプション

説明

dDocAccount

アカウント

セキュリティ・アカウント。

dDocAuthor

作成者

リビジョンをチェックインしたユーザー。

xComments

コメント

説明的なコメント。

dDocName

Content ID

一意のコンテンツ・アイテム識別子

dOutDate

有効期限

リビジョンが検索または表示に使用できなくなる日付。

dInDate

リリース日

リビジョンが検索および表示に使用可能になると予定されている日付(dCreateDateおよびdReleaseDateも参照のこと)。

dRevLabel

リビジョン

リビジョンのラベル(dRevisionIDも参照のこと)。

dSecurityGroup

セキュリティ・グループ

セキュリティ・グループ。

dDocTitle

タイトル

説明的なタイトル。

dDocType

タイプ

コンテンツ・タイプ。

3.6.2.2 その他のフィールド

共通メタデータ・フィールドの値の他にも、次のメタデータがコンテンツ・アイテム用に格納されます。

内部フィールド名

標準的なフィールド・キャプション

説明

dCheckoutUser

チェックアウト者(コンテンツ情報ページ)

リビジョンをチェックアウトしたユーザー。

dCreateDate

なし

リビジョンがチェックインされた日付。

dDocFormats

フォーマット(コンテンツ情報ページ)

プライマリ・ファイルと代替ファイルのファイル形式。

dDocID

なし

一意のレンディション識別子。

dExtension

なし

プライマリ・ファイルのファイル拡張子。

dFileSize

なし

プライマリ・ファイルのファイル・サイズ(KB単位)。

dFlag1

なし

使用されません。

dFormat

フォーマット(チェックイン・ページ、Allow override format on checkinを有効化)

プライマリ・ファイルのファイル形式。

dID

なし

一意のリビジョン識別子。

dIndexerState

なし

インデクサ・サイクルのリビジョンの状態。使用される値は次のとおりです。

X: リビジョンは再構築サイクルにより処理されました。

Y: リビジョンは再構築サイクルにより処理されました。

A、B、CまたはD: 実行時に生成された値であり、次のどの状態にも割り当てることができます。

- アクティブな更新サイクル用にリビジョンをロードします。

- アクティブな更新サイクル用にリビジョンに索引を付けます。

- 再構築サイクル用にリビジョンをロードします。

- 再構築サイクル用にリビジョンに索引を付けます。

これらの値の特定の定義は、DomainHome/ucm/cs/search/cyclesymbols.hdaファイルに格納されます。

dIsCheckedOut

なし

リビジョンがチェックアウトされているかどうかを示します。

0: チェックアウトされていません。

1: チェックアウト済です。

dIsPrimary

なし

ファイルのタイプがプライマリか代替かを示します。

0: 代替ファイル

1: プライマリ・ファイル

dIsWebFormat

なし

ファイルがweblayoutディレクトリにあるWeb表示可能ファイルかどうかを示します。

0: Web表示可能ファイルではありません。

1: Web表示可能ファイルです。

dLocation

なし

使用されません。

dMessage

なし(コンテンツ情報ページ)

索引付けまたは変換に関して成功または失敗の理由を示します。

dOriginalName

ネイティブ・ファイルの取得(コンテンツ情報ページ)

オリジナル・ファイル(リビジョン・チェックイン・ページ)

ネイティブ・ファイルのオリジナル・ファイル名。

dProcessingState

なし

リビジョンの変換ステータス。使用される値は次のとおりです。

I: 不完全な変換。有効なWeb表示可能ファイルが生成され、ファイルに全文索引付けされた後で、変換エラーが発生しました。

Y: 変換済。リビジョンが正常に変換され、Web表示可能ファイルが使用できます。

P: Refinery通過。Inbound Refineryシステムがリビジョン変換に失敗し、ネイティブ・ファイルがWebに渡されました。

F: 失敗。リビジョンは削除されたか、ロックされたか、破損しました。または索引付エラーが発生しました。

C: 処理中。リビジョンはInbound Refineryにより変換中です。

M: メタデータのみ。全文索引付けがバイパスされ、リビジョンのメタデータのみに索引が付けられました。

dReleaseDate

なし

リビジョンが実際にリリースされた日付。

dReleaseState

なし

リビジョンのリリース・ステータス。

N: 新規。まだ索引付けされていません。

E: ワークフロー内。

R: 処理中。索引付けの準備中。

I: 現在索引付け中。ファイルがリリース後の名前に変更されました。

Y: リリース済

U: リリース済ですが、索引で更新する必要があります。

O: 旧リビジョン

dRendition1

なし

ファイルがサムネイル・レンディションかどうかを示します。使用される値は次のとおりです。

null: ファイルはサムネイル・レンディションではありません。

T: ファイルはサムネイル・レンディションです。

dRendition2

なし

使用されません。

dRevClassID

なし

コンテンツID (dDocName)に対応する内部整数。問合せレスポンス時間の改善に使用します。

dRevisionID

なし

dRevLabelの値に関係なく、コンテンツ・アイテムのリビジョンごとに1ずつ増分する内部リビジョン番号。

dStatus

ステータス(コンテンツ情報ページ)

システムでのリビジョンの状態。使用される値は次のとおりです。

GENWWW: ファイルはWeb表示可能フォーマットに変換中か索引付け中です。あるいは、変換または索引付けに失敗しました。

DONE: ファイルは、指定されたリリース日のリリースを待機中です。

RELEASED: リビジョンは使用可能です。

REVIEW: リビジョンはワークフロー内にあり、レビューされています。

EDIT: リビジョンはワークフローの初期構成段階にあります。

PENDING: リビジョンはBasicワークフロー内にあり、ワークフローの全リビジョンの承認を待機しています。

EXPIRED: リビジョンは表示可能な状態ではなくなりました。リビジョンは削除されていませんが、管理者以外はアクセスできません。

DELETED: リビジョンは削除され、次の索引付けサイクルで完全に除去されるのを待機しています。

dWebExtension

なし

Web表示可能ファイルのファイル拡張子。

3.6.3 オプション・リスト

オプション・リストは、メタデータ・フィールドに選択可能な値のセットです。オプション・リストは(DBから動的に作成された)問合せから構成するか、ハードコード化してファイル・システムのコンテンツ・サーバー・ファイル(HDA)に格納できます。

次の各トピックで、オプション・リストの使用について説明します。

- 第3.6.3.1項「内部オプション・リスト」

- 第3.6.3.2項「オプション・リストのスクリプト」

- 第3.6.3.3項「オプション・リストの作成方法」

3.6.3.1 内部オプション・リスト

コンテンツ・サーバー・システムでは、デフォルトとして、次の内部オプション・リストを保持しています。

メタデータ・フィールド

オプション・リスト

作成者(dDocAuthor)

docAuthors

セキュリティ・グループ(dSecurityGroup)

securityGroups

タイプ(dDocType)

docTypes

アカウント(dDocAccount)

docAccounts

ロール(dRole)

roles

securityGroupsおよびdocAccountsの各オプション・リストは、現在のユーザーの権限に応じてフィルタ処理されます。

3.6.3.2 オプション・リストのスクリプト

次のIdoc Scriptの変数および関数は、オプション・リストの生成と有効化に使用します。

変数または関数

説明

optList()関数

メタデータ・フィールドのオプション・リストを生成します。

optionListName変数

オプション・リストの名前を指定します。

fieldIsOptionList変数

メタデータ・フィールドにオプション・リストがあることを指定します。

fieldOptionListType変数

オプション・リストのタイプ(厳密、コンボ、マルチまたはアクセス)を指定します。

hasOptionList変数

fieldIsOptionList変数の値に設定します。この変数は条件文で使用されます。

defaultOptionListScript変数

標準的なオプション・リスト・フィールドを表示するIdoc Scriptを定義します。

optionListScript変数

オプション・リスト・フィールドの標準実装(defaultOptionListScript変数により定義)をオーバーライドします。

optionsAllowPreselect変数

メタデータ・フィールドのオプション・リストに最後の値を事前設定できることを指定します。

addEmptyOption変数

オプション・リストの最初の値が空白であることを指定します。

optionListResultSet変数

オプション・リストの値が含まれているResultSetを指定します。

optionListKey変数

オプション・リストの値が含まれているResultSet列の名前を指定します。

optionListValueInclude変数

オプション・リストの値を定義するインクルードを指定します。

3.6.3.3 オプション・リストの作成方法

オプション・リストの作成には、次のいずれかの方法が使用できます。

- 基本オプション・リストを生成するには、optList()関数を使用します。この関数は、loadMetaOptionsListをコールするサービスとともに使用した場合のみ、出力を生成します。
たとえば、このコードは、HTMLオプション・リストとして使用可能な作成者のリストを表示します。

<select name="dDocAuthors">
<$optList docAuthors$>
</select>

- オプション・リストをResultSetに変換して、そのResultSetをループするには、rsMakeFromList()関数を使用します。
たとえば、このコードはdocAuthorsオプション・リストからAuthorsというResultSetを作成し、そのResultSetをループしてHTMLオプション・リストを作成します。(列名はrsMakeFromListのパラメータとして指定されていないため、列名のデフォルトはrowになります。)

<$rsMakeFromList("Authors","docAuthors")$>
<select name="dDocAuthors">
<$loop Authors$>
<option><$row$>
<$endloop$>
</select>

このコード・サンプルは、optList関数を使用して生成されたサンプルと同じです。通常は、リストのオプションを解析または評価する際にrsMakeFromList関数を使用します。

- コードを作成することなくオプション・リストを作成するには、構成マネージャ・アプレットを使用します。

3.6.4 動的サーバー・ページのメタデータ参照

動的サーバー・ページでは、いくつかのメタデータ値が、ref:という接頭辞付きで格納されており、その値はページで利用できますが、ResultSetの値を置換するものではありません。(このため、動的サーバー・ページによるResultSetの汚染が防止されます。)

動的サーバー・ページで次のメタデータ値のいずれかを参照する場合は、ref:接頭辞を含める必要があります。

- hasDocInfo

- dDocName

- dExtension

- dSecurityGroup

- isLatestRevision

- dDocType

- dID

たとえば、次の文では、ドキュメント・タイプがPageであるかどうかを判別します。

<$if strEquals(ref:dDocType,"Page"))$>

詳細は、第7.2項「Webページの外観およびナビゲーションの変更」を参照してください。

3.7 結果をフォーマット化するためのインクルードのマージ

MergeIncludeを使用すると、テンプレート・ページ全体ではなくIdoc Scriptのインクルードに基づいて、コンテンツ・サーバーのリクエスト結果をフォーマット化することができます。

MergeIncludeは、IdcCommandX ActiveXモジュールによるASPページの統合によく使用される機能です。コンテンツ・サーバーのアーキテクチャは、Webインタフェースの最適化を図るために設計されていますが、基本的にモジュール式で、セキュアな、複数のインタフェースが組み込まれているサービス・ベースのアプリケーションです。GET_SEARCH_RESULTSなどのサービスは、渡されたQueryStringとユーザーのセキュリティ資格情報に基づいてレスポンス・データを生成します。このレスポンス・データは、HDAファイルの形式で内部表示されます。これが動作中であることを確認するには、単に検索を実行して、'IsJava=1'または'IsSoap=1' (XML形式のデータの場合)をURLに追加するだけです。これによって、レスポンスのデータが内部でどのように表示されるかを確認できます。

このHDA表示はWebベースのユーザーには特に便利ではないため、Idoc Scriptのインクルードとテンプレートを使用してレスポンスを読取り可能なHTMLページにフォーマット化しています。ユーザーは、テンプレートまたはいくつかのリソース・インクルードをコンポーネントとともに変更することにより、このHTMLの表示方法を変更できます。

ただし、検索結果のごく一部のみを取得したり(たとえば、コードの大半がIdoc ScriptではないASP、JSPまたはPHPの各ページに表示するため)、IFRAME要素またはDIV要素をポップアップさせて結果を表示したり、あるいは結果の表示方法を動的に変更したりするには、これらのパラメータをURLに追加するだけです。

MergeInclude=my_custom_include&IsJava=1

これにより、コンテンツ・サーバー・システムは、サービスで指定されたテンプレートに応じたレスポンスのフォーマット化をバイパスします。かわりに、レスポンスはmy_custom_includeのIdoc Scriptに基づいてフォーマット化されます。たとえば、検索を実行し、上記の行をURLに追加して、インクルードがコンポーネントに次のように表示されたとします。

<@dynamichtml my_custom_include@>
<html>
<table width=300>
<tr>
<td><b>Name</b></td>
<td><b>Title (Author)</b></td>
</tr>
<$loop SearchResults$>
<tr><td><a href="<$URL$>"><$dDocName$></a></td>
<td><$dDocTitle$> (<$dDocAuthor$>)</td></tr>
<$endloop$>
</table>
</html>
<@end@>

これにより、必要のないイメージとフォーマットをすべて除いた検索結果ページが表示されます。その結果、必要なIdoc Scriptインクルードをすべて使用して、任意のコンテンツ・サーバー・レスポンスをフォーマット化することができます。理論上、Idoc Scriptインクルードには、必要なフォーマットを、種類を問わず(XML、WMLまたは単なるプレーン・テキスト)含めることができます。

たとえば、検索結果をExcelスプレッドシート形式で返す場合は、エントリのカンマ区切りリストを返すリソース・インクルードが作成できます。その後で、返されたファイルをハード・ドライブに保存し、Excelでファイルを開くことができます。もう1つの便利な方法として、IdcCommandXユーティリティまたはBatchLoaderでファイルとして読取り可能なレコード・セットにレスポンスをフォーマット化するリソース・インクルードを作成することもできます。このようなインクルードを検索結果とともに、またはWebレイアウト・エディタで作成されたアクティブ・レポートとともに使用して、データベースまたは検索索引に対する任意の問合せに固有のバッチ・ファイルを作成することもできます。

- MergeInclude変数のキャッシュ方法は、通常のリソース・インクルードの場合と異なります。したがって、このリソース・インクルードを変更する場合は、コンテンツ・サーバー・インスタンスを再起動する必要があります。docLoadResourceInclude()関数を実行してMergeIncludeの中から別のインクルードを動的にロードする場合は、この手順をバイパスしてもかまいません。

- 返されたデータのコンテンツ・タイプは'text/plain'であり、MergeIncludeによって返されるデータの'text/html'ではありません。いくつかのクライアント(Internet Explorerおよび、Netscapeの多数のバージョン)では、レスポンスに有効なHTMLがある場合にプレーン・テキストをhtmlとして表示しますが、他のクライアントではこのように表示されない場合があります。問題が生じた場合は、リンクするときに手動でコンテンツ・タイプを設定する必要が生じることもあります。

3.8 有効範囲付きローカル変数

有効範囲付きローカル変数は特殊なローカル変数であり、メタデータがページに作成される方法をオーバーライドする場合に使用します。これらの変数をコロンで区切ることによって、特定のメタデータ・フィールドに有効範囲が設定されます。

たとえば、タイトルとコメントのフィールドを非表示にするには、次のフラグを設定します。

dDocTitle:isHidden=1
xComments:isHidden=1

これらのフラグを設定するには、URLのページに早い段階で設定するか、インクルードstd_doc_page_definitionsをオーバーライドします。

次に示すフラグはすべて、xFieldName:フィールドの表示に影響します。

- xFieldName:groupHeader: このフィールドがグループで最初のフィールドである場合、これはコンテンツ・プロファイルに設定されます。グループ・ヘッダーに使用するHTMLとIdoc Scriptが含まれています。

- xFieldName:hasOptionList: デフォルトのオプション・リストを使用するかわりに、カスタム・オプション・リストをフィールドに含めることができます。xFieldName:optionListName変数またはxFieldName:optionListScript変数とともに使用する必要があります。

- xFieldName:include: カスタム・リソース・インクルードの名前にfieldIncludeの値を設定するために使用します。このリソースは、JavaScriptおよびHTMLを含むページ全体で使用されます。このフラグは、めったに使用しません。必要な場合は、カスタム・インクルードの作成のガイドとして、std_namevalue_fieldインクルード・ファイルを使用します。

- xFieldName:isExcluded: フィールドをページから完全に除外する場合、trueに設定します。これはフィールドとして、または非表示の入力フィールドとして表示されません。このフィールドは、ページに完全に存在しなくなります。

- xFieldName:isHidden: ページ上でフィールドを非表示にする場合、TRUEに設定します。フォーム・ポストのあるページでは、このフィールドは表示されたままです。ただし、非表示の入力フィールドとして存在しているだけです。xFieldNameまたはfieldValueが定義されていないかぎり、このフィールドの値は空白になります。そのため、変更不可能なデフォルト値でページを作成することができます。

- xFieldName:isInfoOnly: フィールドの値のみを表示する場合、TRUEに設定します。これをxFieldName:isHiddenのかわりに使用すると、送信中のデフォルト値がユーザーに表示されます。

- xFieldName:isRelocated: HTMLページでのフィールドの自動表示を停止する場合、TRUEに設定します。デフォルトでは、ページのすべてのフィールドには特定の順序が設定されています。順序を変更するには、このフラグを設定して、フィールドを手動で表示する必要があります。

<!-- hide the comments field -->
<$xComments:isRelocated = 1$>
<$loop DocMetaDefinition$>
<$strTrimWs(inc("std_meta_field_display"))$>
<$endloop$>
<!-- now turn off relocation, and display it -->
<$xComments:isRelocated = ""$>
<$fieldName="xComments", fieldCaption="Comments", fieldType="Memo"$>
<$include std_display_field$>

- xFieldName:isRequired: このフィールドを必須フィールドにする場合、TRUEに設定します。このフラグは、JavaScriptの検証コードがページに作成される前に、std_doc_page_definitionsに設定する必要があります。

- xFieldName:maxLength: fieldWidthと類似していますが、これはテキスト入力フィールドの最大長を設定します。これは通常はfieldWidthよりも大きくなります。ただし、データベースでのフィールド幅よりも小さい必要があります。

- xFieldName:noSchema: フィールドに対してスキーマ・オプション・リストを無効にする場合、TRUEに設定します。カスタムの、動的な方法でオプション・リストを生成する場合は必須です。

- xFieldName:optionListName: このフラグは、フィールドがオプション・リストである場合のみ設定可能です。値の表示に使用するオプション・リストをオーバーライドできます。

<$xCountry:hasOptionList = 1$>
<$xCountry:noSchema = 1$>
<$xCountry:optionListName = "securityGroups"$>
<$loop DocMetaDefinition$>
<$strTrimWs(inc("std_meta_field_display"))$>
<$endloop$>

- xFieldName:optionListScript: optionListNameと類似していますが、明示的に定義されたオプション・リストのかわりに、Idoc Scriptをレンダリングできる点が異なります。そのため、かわりにResultSetを使用してオプション・リストを作成できます。

<$xCountry:hasOptionList = 1$>
<$xCountry:noSchema = 1$>
<$xCountry:optionListScript =
"<$rsMakeFromList('GROUPS', 'securityGroups')$>" &
"<select>\n" &
"<$loop GROUPS$>" &
" <option><$row$>" &
"<$endloop$>\n" &
"</select>"$>
<$loop DocMetaDefinition$>
<$strTrimWs(inc("std_meta_field_display"))$>
<$endloop$>

- xFieldName:rowClass: std_nameentry_rowで使用します。このフィールドが含まれている表の行に対して、Cascading Style Sheetクラスが設定されます。

<$xComments:rowClass="xuiPageTitleText"$>
<$loop DocMetaDefinition$>
<$strTrimWs(inc("std_meta_field_display"))$>
<$endloop$>

- xFieldName:rowStyle: rowClassと同じですが、これはインライン・スタイルの作成に使用できます。たとえば、「コメント」フィールドをDHTMLとともに非表示にするには、次のコードを使用します。

<$xComments:rowStyle="display:none"$>
<$loop DocMetaDefinition$>
<$strTrimWs(inc("std_meta_field_display"))$>
<$endloop$>

これは、ページを再ロードせずにフィールドを動的に非表示または表示する場合に役立ちます。

4 Oracle WebCenter ContentでのIdoc Scriptの変数と関数の使用

この章では、様々なタイプのIdoc Scriptの変数と関数、およびそれをOracle WebCenter Contentで使用する方法について説明します。Idoc Scriptのカスタム・スクリプト言語を使用してOracle WebCenter Content Serverをカスタマイズすることができます。Idocスクリプトを使用すると、変数を参照したり、条件付きでコンテンツをHTMLページに含めたり、問合せから返された結果をループ処理できます。Idocスクリプトはクライアント側でなくサーバー側で評価されるため、ページ要素が処理されるのは、ブラウザが要求してから、要求されたページがクライアントに返されるまでの間です。

この章の内容は次のとおりです。

- 第4.1項「様々なタイプのIdoc Scriptの変数と関数の使用」

- 第4.2項「Oracle WebCenter Contentの各種機能によるIdoc Scriptの変数と関数の使用」

4.1 様々なタイプのIdoc Scriptの変数と関数の使用

様々なタイプのIdoc Scriptの変数と関数を使用して、Content Serverをカスタマイズすることができます。

- 条件動的変数

- 動的変数

- 環境変数

- グローバル関数

- ページ変数

- 読取り専用変数

- 設定可能変数

- ワークフロー

- 値変数

4.1.1 条件動的変数

いくつかのIdoc Script動的変数は条件付きであり、if、while、elseifまたはloopなどの条件文の中でのみ使用できます。これらの変数には、次の特徴が備わっています。

- 条件変数は、取得可能ですが、設定可能ではない内部フラグです。

- 条件変数はブール型レスポンスのみを提供し、文字列または整数のような値を返しません。

- 条件変数は、#activeキーワード接頭辞を受け入れません。したがって、変数が見つからない場合は、エラー・レポートがデバッグ出力に印刷されます。

付録A「Idoc Scriptの関数と変数」では、これらの条件動的変数について説明しています。

AdminAtLeastOneGroup
AfterLogin
AllowCheckin
AllowCheckout
AllowReview
dcShowExportLink
EmptyAccountCheckinAllowed
HasPredefinedAccounts
HasUrl
HeavyClient
IsCheckinPreAuthed
isComponentEnabled
IsContributor
IsCriteriaSubscription
IsCurrentNav
IsDynamic
IsExternalUser
IsFilePresent
IsFullTextIndexed
isLinkActive
IsLocalSearchCollectionID
IsLoggedIn
IsMac
IsMaxRows
IsMultiPage
IsNotSyncRev
IsPromptingForLogin
IsRequestError
IsSubAdmin
IsSun
IsSysManager
IsUploadSockets
IsUserEmailPresent
IsWindows
IsWorkflow
SingleGroup
UserIsAdmin
UserLanguageID
UserLocaleId
UseXmlUrl

4.1.2 動的変数

動的変数は、変数が出現するたびに評価されます。変数が見つかるたびに、値がコードから再評価されます。(対照的に、値変数はサービス・コールの最初に1回評価され、その値はサービス・コール全体を通して使用されます。第4.1.9項「値変数」を参照のこと。)動的変数は通常、文字列または整数などの値を返します。

付録A「Idoc Scriptの関数と変数」では、この動的変数について説明しています。

AfterLogin

4.1.3 環境変数

Webサーバーの変数は、サーバーがゲートウェイ・プログラムを実行するときに設定されるCGI環境変数です。情報リクエストに関するデータをサーバーからクライアントへ渡すために、サーバーはコマンドライン引数と環境変数を使用します。これらの環境変数は、情報をログ・ファイルに出力するために使用したり、Idoc Script文の中で、または評価の一環として使用したりすることができます。

たとえば、このIdoc Script文は、リモート・ホスト・アドレスが特定の文字列と一致するかどうかを評価します。

<$if strEquals("207.0.0.1",REMOTE_HOST)$>

このHTMLとIdoc Scriptのマークアップによって、Webサーバー環境情報のリストがページに表示されます。

<P>HTTP_INTERNETUSER=<$HTTP_INTERNETUSER$></P>
<P>REMOTE_HOST=<$REMOTE_HOST$></P>
<P>SCRIPT_NAME=<$SCRIPT_NAME$></P>

付録A「Idoc Scriptの関数と変数」では、これらのWebサーバー変数について説明しています。

CONTENT_LENGTH
GATEWAY_INTERFACE
HTTP_ACCEPT
HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE
HTTP_COOKIE
HTTP_HOST
HTTP_INTERNETUSER
HTTP_REFERER
HTTP_USER_AGENT
PATH_INFO
PATH_TRANSLATED
QUERY_STRING
REMOTE_ADDR
REMOTE_HOST
REQUEST_METHOD
SCRIPT_NAME
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE

4.1.4 グローバル関数

Idoc Scriptには、多数のビルトイン・グローバル関数があります。関数は、文字列の比較、操作ルーチン、日付フォーマット化、ResultSetの操作といったアクションを実行します。いくつかの関数は、計算または比較の結果などの結果も返します。

関数名の後に情報をカッコで閉じることによって、情報が関数に渡されます。関数に渡される情報のピースをパラメータといいます。関数には、パラメータをとらないもの、パラメータを1つとるもの、複数のパラメータをとるものがあります。関数のなかには、その使用方法によってパラメータ数が異なるものもあります。

ビルトイン・グローバル関数の他に、カスタム・クラスを含む新規のグローバル関数を、Javaコードを使用して定義できます。詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」および第18章「カスタム・コンポーネントの作成」を参照してください。

付録A「Idoc Scriptの関数と変数」では、これらのIdoc Scriptのビルトイン・グローバル変数について説明しています。

abortToErrorPage()
break()
cacheInclude()
clearSchemaData()
computeDocUrl()
computeRenditionUrl()
dateCurrent()
ddAppendIndexedColumnResultSet()
ddAppendResultSet()
ddApplyTableSortToResultSet()
ddGetFieldList()
ddIncludePreserveValues()
ddLoadIndexedColumnResultSet()
ddLoadResultSet()
ddMergeIndexedColumnResultSet()
ddMergeResultSet()
ddMergeUsingIndexedKey()
ddSetLocal()
ddSetLocalByColumnsFromFirstRow()
ddSetLocalByColumnsFromFirstRowIndexed()
ddSetLocalEmpty()
ddSetLocalEmptyByColumns()
docLoadResourceIncludes()
docRootFilename()
docUrlAllowDisclosure()
dpGet()
dpPromote()
dpPromoteRs()
dpSet()
encodeHtml()
eval()
executeService()
forceExpire()
formatDate()
formatDateDatabase()
formatDateDisplay()
formatDateOnly()
formatDateOnlyDisplay()
formatDateOnlyFull()
formatDateWithPattern()
formatTimeOnly()
formatTimeOnlyDisplay()
getDebugTrace()
getErrorTrace()
getFieldViewDisplayValue()
getFieldViewValue()
getFreeMemory()
getParentValue()
getRequiredMsg()
getTextFile()
getTotalMemory()
getUserValue()
getValue()
getValueForSpecifiedUser()
getViewValue()
getViewValueResultSet()
hasAppRights()
idocTestForInclude()
inc()
incDynamicConversionByRule()
incGlobal()
incTemplate()
indexerSetCollectionValue()
isActiveTrace()
sawflies()
isLayoutEnabled()
isTrue()
isUserOverrideSet()
isValidateFile()
js()
jsFilename()
lc()
lcCaption()
LmDefaultLayout()
LmDefaultSkin()
lmGetLayout()
lmGetSkin()
loadCollectionInfo()
loadDocMetaDefinition()
loadDocumentProfile()
loadSchemaData()
loadSearchOperatorTables()
loadUserMetaDefinition()
optList()
parseDataEntryDate()
parseDateWithPattern()
pneNavigation()
regexMatches()
regexReplaceAll()
regexReplaceFirst()
rptDisplayMapValue()
rs()
rsAddFields()
rsAddFieldsWithDefaults()
rsAddRowCountColumn()
rsAppend()
rsAppendNewRow()
rsAppendRowValues()
rsCopyFiltered()
rsCreateReference()
rsCreateResultSet()
rsDeleteRow()
rsDocInfoRowAllowDisclosure()
rsExists()
rsFieldByIndex()
rsFieldExists()
rsFindRowPrimary()
rsFirst()
rsInsertNewRow()
rsIsRowPresent()
rsLoopInclude()
rsLoopSingleRowInclude()
rsMakeFromList()
rsMakeFromString()
rsMerge()
rsMergeDelete()
rsMergeReplaceOnly()
rsNext()
rsNumFields()
rsNumRows()
rsRemove()
rsRename()
rsRenameField()
rsSetRow()
rsSort()
rsSortTree()
setContentType()
setExpires()
setHttpHeader()
setMaxAge()
setResourceInclude()
setValue()
stdSecurityCheck()
strCenterPad()
strCommaAppendNoDuplicates()
strConfine()
strEquals()
strEqualsIgnoreCase()
strGenerateRandom()
strIndexOf()
strLeftFill()
strLeftPad()
strLength()
strLower()
strRemoveWs()
strReplace()
strReplaceIgnoreCase()
strRightFill()
strRightPad()
strSubstring()
strTrimWs()
strUpper()
toInteger()
trace()
url()
urlEscape7Bit()
userHasAccessToAccount()
userHasGroupPrivilege()
userHasRole()
utGetValue()
utLoad()
utLoadDocumentProfiles()
utLoadResultSet()
xml()

4.1.5 ページ変数

ページ変数は、特定のページ属性または機能を有効にするために、特定のWebページで設定されます。ページ変数は、設定されたページのみに適用されます。

この項の内容は次のとおりです。

- ページ表示変数

- フィールド表示変数

4.1.5.1 ページ表示変数

ページの表示に影響するページ変数は通常、ページの最上部の近くに設定されます。ページ表示変数は読取り専用変数として使用します。これらの変数の値を設定または変更することにより、通常はページでのメタデータの表示方法が変更されます。多くの場合、これは望ましい影響ではありません。

リストされた変数名が別のドキュメントを参照する場合は、その変数がWebページ用にIdoc ScriptまたはURLに設定できることを意味しています。

付録A「Idoc Scriptの関数と変数」では、これらのページ表示変数について説明しています。

generateUniqueId
isCheckin
isDocPage
isEditMode
isFormSubmit
isInfo
isQuery
isUpdate
isUploadFieldScript
localPageType
noMCPrefill

4.1.5.2 フィールド表示変数

フィールド表示変数は、次のタイプにグループ化できます。

- フィールド情報変数

- 共通フィールド表示変数

- その他のフィールド表示変数

4.1.5.2.1 フィールド情報変数

次の変数は、メタデータ・フィールドに関する情報を定義します。メタデータ・フィールドごとに、変数の値がロードされたり、計算されたりします。

付録A「Idoc Scriptの関数と変数」では、これらのフィールド情報変数について説明しています。

fieldCaption
fieldDefault
fieldIsOptionList
fieldName
fieldOptionListType
fieldType
fieldValue
fieldWidth
isRequired
requiredMsg
valueStyle
例

リソース・ファイルIdcHomeDir/resources/core/std_page.htmにあるstd_prepare_metafield_includeインクルードは、現在のメタデータ・フィールドの表示を準備するために、多数のフィールド情報変数をローカル・データからロードします。

<@dynamichtml std_prepare_metafield_include@>
<!--Prepare for presenting field-->
<$fieldName=dName, fieldCaption=dCaption, fieldDefault=dDefaultValue$>
<$fieldType=dType, fieldIsOptionList=dIsOptionList, fieldOptionListType=dOptionListType$>
<@end@>

4.1.5.2.2 共通フィールド表示変数

よく使用されるページ変数がいくつか存在し、これらはメタデータ・フィールドの表示に影響します。これらの変数は、それぞれの現在の使用法に応じて、ページの場所ごとに異なる構文を使用して設定できます。

注意:

構成マネージャ・アプレットのプロファイル・エンジンおよびルール・エンジンには、これと同じ機能がコード数を少なくして組み込まれています。

次のフォーマットを使用して、特殊なフィールド表示変数を設定できます。

- 名前と値のペア: 変数は、標準のvariable=valueフォーマットを使用して設定されます。たとえば、isHidden=1となります。このフォーマットは通常、現在のメタデータ・フィールドがループ済のコードにより生成されるページ上の場所に、そのフィールドを表示するために使用します。

- FieldName:Variableのフォーマット: 変数は、適用先のメタデータ・フィールドのパラメータとして定義することにより設定されます。たとえば、myMetadata:isHiddenとなります。このフォーマットは通常、特定のメタデータ・フィールドのグローバル表示を設定するために、ページの最上部に使用します。

共通フィールド表示変数をテンプレート・ページの最上部に設定する場合は、<HEAD>タグの前に置いてください。この変数を<HEAD></HEAD>セクションの中または後に置くと、意図したようにフィールドが表示されます(または、非表示になります)が、ヘッダーにあるJavaScript検証コードは評価されても、…はオブジェクトではないため、チェックイン・ページを表示しようとするとエラーがスローされます。

付録A「Idoc Scriptの関数と変数」では、これらの共通フィールド表示変数について説明しています。

isExcluded
isHidden
isInfoOnly
isRelocated
maxLength
optionListScript

これらの共通フィールド表示変数のみで必要なフレキシビリティが得られない場合には、フィールド変数を、かわりに使用するリソース・インクルード(たとえば、myField:include=customInclude)の名前に設定して、メタデータ・フィールドの実装全体を置き換えることができます。

標準実装は変数defaultFieldIncludeにより参照されます。この変数の値は、フィールドがチェックイン/更新ページ、問合せページまたは情報ページのいずれに生成されるかによって異なります。さらに、表示されるフィールドのタイプによっても大きく異なります。標準のフィールド・インクルードがオーバーライドされた場合、新しい実装では、JavaScript検証とアップロード・アプレットも含めて、様々なページの問題点をすべて考慮する必要があります。

このアプローチは、最後の手段としてのみ使用してください。既存の機能を拡張し、ローカル変数にカスタム機能を持たせることを優先してください。

このようにincludeタグを使用して特殊なメタデータ・フィールドのカスタムHTMLコードを挿入する場合は、ページの</HEAD>タグの後にインクルード文を置く必要があります。</HEAD>タグの前に置いた場合、システムはカスタムHTMLコードをヘッダーに挿入し、JavaScriptとして読み取ろうとします。

4.1.5.2.3 その他のフィールド表示変数

メタデータ・フィールドの表示に影響するその他の変数が多数存在しています。通常、これらの変数は、現在生成中のフィールドと、関連する列の共通フィールド表示変数の値に応じてメタデータ・フィールドの表示を定義する際に使用します。

付録A「Idoc Scriptの関数と変数」では、これらのその他のフィールド表示変数について説明しています。

addEmptyOption
captionEntryWidth
captionFieldWidth
defaultFieldInclude
defaultOptionListScript
fieldCaptionInclude
fieldCaptionStyle
fieldEditWidth
fieldEntryInclude
fieldExtraScriptInclude
fieldInclude
fieldMaxLength
fieldValueStyle
hasOptionList
is Field Excluded
isFieldHidden
isFieldInfoOnly
isFieldMemo
isMultiOption
isStrictList
optionListKey
optionListName
optionListResultSet
optionListValueInclude
optionsAllowPreselect
例

この例では、IdcHomeDir/resources/core/templates/std_page.htmリソース・ファイルにあるcompute_std_field_overridesインクルードが、現在生成中のフィールドが非表示か、参考用か、排他的かまたは再配置されたものかどうかを判別する方法を示しています。このコードは、ページ上で各メタデータ・フィールドの生成中にループされます。

<@dynamichtml compute_std_field_overrides@>
<$isCustomHidden = getValue("#active", fieldName & ":isHidden")$>
<$if isHidden or isCustomHidden$>
<$isFieldHidden = 1$>
<$else$>
<$isFieldHidden = ""$>
<$endif$>
<$isCustomInfo = getValue("#active", fieldName & ":isInfoOnly")$>
<$if isInfo or isCustomInfo or isFieldHidden or isInfoOnly$>
<$isFieldInfoOnly = 1$>
<$else$>
<$isFieldInfoOnly = ""$>
<$endif$>
<$isCustomExcluded = getValue("#active", fieldName & ":isExcluded")$>
<$isCustomRelocated = getValue("#active", fieldName & ":isRelocated")$>
<$if isCustomExcluded or (isCustomRelocated and not isRelocated) or isExcluded or (isFieldHidden and not isFormSubmit)$>
<$isFieldExcluded = 1$>
<$endif$>
<@end@>

4.1.6 読取り専用変数

読取り専用変数は、現在のテンプレート、現在ログインしているユーザーまたはその他の現在の設定に関する情報を収集するために使用します。これらの変数は読取り専用であり、値を割り当てることはできません。

- 第4.1.6.1項「テンプレート読取り専用変数」

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.1.6.3節「コンテンツ読取り専用変数」

- 第4.1.6.4項「その他の読取り専用変数」

4.1.6.1 テンプレート読取り専用変数

テンプレート読取り専用変数により、テンプレートのアイデンティティに基づいてテンプレートに条件付きコンテンツを作成できます。これらの事前定義の変数を使用すると、すべてのテンプレートのクラス、ファイル・パス、名前またはタイプをコンテンツ・サーバーのWebページに表示できます。これは、Webサイトの開発には特に役立ちます。

付録A「Idoc Scriptの関数と変数」では、これらのテンプレートに関連する読取り専用変数について説明しています。

TemplateClass
TemplateFilePath
TemplateName
TemplateType
例

この例では、テンプレートの内部名は、コンテンツ・サーバーのすべてのWebページの左サイドバーにある「管理リンク」の下に表示されます。この変更を遂行するために、事前定義されたTemplateName変数が、「管理リンク」を定義するpne_nav_admin_linksインクルードに追加されています。

次に、内部テンプレート名をWebページに表示するためのTemplateName事前定義変数の使用例を示します。

<$if IsSubAdmin$>
<tr>
<td>
<a href="<$HttpCgiPath$>?IdcService=GET_ADMIN_PAGE&Action=
GetTemplatePage&Page=ADMIN_LINKS"
OnMouseOver="imgAct('admin')"
OnMouseOut="imgInact('admin')">
<img src="<$HttpImagesRoot$>
<$button_admin_grey_ish_image$>" width="<$navImageWidth$>"         height="<$navImageHeight$>" name="admin" border="0"         alt="<$lc("wwProductAdministration", ProductID)$>"></a>
</td>
<td>
<a class=pneHeader href="<$HttpCgiPath$>?IdcService=GET_ADMIN_
PAGE&Action=GetTemplatePage&Page=ADMIN_LINKS"
OnMouseOver="imgAct('admin')"
OnMouseOut="imgInact('admin')">
<$lc("wwAdministration")$></a>
</td>
</tr>
<tr>
<td colspan=2><font color=#FFFFFF style="Arial"
size="-1"><$TemplateName$></font></td>
</tr>
<$endif$>

4.1.6.2 ユーザー読取り専用変数

ユーザー関連の読取り専用変数を使用すると、現在のユーザーに関する情報を収集できます。

付録A「Idoc Scriptの関数と変数」では、これらのユーザー関連の読取り専用変数について説明しています。

DelimitedUserRoles
ExternalUserAccounts
ExternalUserRoles
UserAccounts
UserAddress
UserAppRights
UserDefaultAccount
UserFullName
UserName
UserRoles

4.1.6.3 コンテンツ読取り専用変数

付録A「Idoc Scriptの関数と変数」に説明するコンテンツ関連の読取り専用変数、SourceIDを使用して、現在の動的サーバー・ページのコンテンツIDを取得できます。

この変数は、ref:dIDと同じ値を返します。

4.1.6.4 その他の読取り専用変数

付録A「Idoc Scriptの関数と変数」に説明する読取り専用変数、SafeDirは、内部フラグとしてのみ設定されています。これは取得可能ですが、直接設定することはできません。

4.1.7 設定可能変数

設定可能変数は、スクリプトの中に設定したり、CGI文字列の中で使用することができます。たとえば、変数IsPageDebugをサービス・コールのパラメータとして使用すると、デバッグ・トレース表示をページに表示できます。これらの変数の1つを設定すると、ページのコンテンツを変更できます。

付録A「Idoc Scriptの関数と変数」では、これらの設定可能変数について説明しています。

ClientControlled
coreContentOnly
getCookie
HasLocalCopy
HasLocalCopy
IsJava
IsPageDebug
IsSavedQuery
IsSoap
IsXml
isZoneSearchField
Json
setCookie

4.1.8 ワークフロー

Idoc Scriptには、特にワークフローに使用される事前定義の関数と変数が組み込まfれています。

- ワークフロー関数は、ワークフローに関連するアクションを実行したり、結果を返したりします。

- ワークフロー変数を使用すると、ワークフローに関連する変数に値を設定できます。

ワークフローがコンテンツ・サーバーに実装される方法についての詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

次の各項目では、ワークフローにおけるIdoc Scriptの使用を要約しています。

- ワークフロー・ジャンプは、特定のステップ・イベント(入力、更新または終了)に定義されているIdoc Scriptの評価を通して開始されます。

- リビジョンはステップからステップへ移動するため、リビジョンの状態に関する情報をワークフローに保持するコンパニオン・ファイルが作成されます。関数wfGet()およびwfSet()を使用すると、必要に応じてデータをコンパニオン・ファイルにコード化することができます。ユーザー定義オプションとともに、リビジョンが移動してきたステップの履歴、最後のエントリ時間、リビジョンが特定のワークフロー・ステップに入った回数も保持されます。

- リビジョンがステップからステップに移動するにつれて、グローバルな状態情報が保持されていきます。

- ローカライズ状態情報はステップに格納され、リビジョンがそのステップにいるときに使用可能になります。

- コンパニオン・ファイルでは、キーを使用してワークフロー状態情報を追跡します。キーの構文は、次のとおりです。

step_name@workflow_name.variable=value

たとえば、次のキーは、MarketingというワークフローのEditorステップに対してエントリ・カウント変数と最後のエントリ変数の値を定義します。

Editor@Marketing.entryCount=1
Editor@Marketing.lastEntryTs={ts '2002-05-28 16:57:00'}

- すべてのワークフロー評価は、データベース・トランザクションの内側で行われます。そのため、検出された深刻なエラーまたは中止によってデータベースまたはコンパニオン・ファイルのいずれかが変更されることはありません。また、どのIdoc Scriptワークフロー関数でも、処理にほとんど時間がかかりません。したがって、外部プロセスをトリガーするには、別個のスレッドで実行するようにIdoc Script関数を作成する必要があります。

注意:

Idoc Scriptまたはカスタム・コンポーネントを使用してワークフロー情報をローカル・データにロードしている場合は、データ汚染のリスクがあることに留意してください。現在のリビジョンとは異なるリビジョンの情報をロードしている場合、これは特に重要です。

4.1.8.1 ワークフロー関数

ワークフロー関数は、ワークフローに関連するアクションを実行したり、結果を返したりします。

付録A「Idoc Scriptの関数と変数」では、これらのワークフロー関数について説明しています。

wfAddActionHistoryEvent()
wfAddUser()
wfComputeStepUserList()
wfCurrentGet()
wfCurrentSet()
wfCurrentStep()
wfDisplayCondition()
wfExit()
wfGet()
wfIsFinishedDocConversion()
wfIsNotificationSuppressed()
wfIsReleasable()
wfLoadDesign()
wfNotify()
wfSet()
wfSetSuppressNotification()
wfUpdateMetaData()

4.1.8.2 ワークフロー変数

ワークフロー変数は、ワークフローに関連する値の設定に使用します。

付録A「Idoc Scriptの関数と変数」では、これらのワークフロー変数について説明しています。

dWfName
dWfStepName
entryCount
lastEntryTs
wfAction
wfAdditionalExitCondition
wfGetStepTypeLabel
wfJumpEntryNotifyOff
wfJumpMessage
wfJumpName
wfJumpReturnStep
wfJumpTargetStep
wfMailSubject
wfMessage
wfParentList
wfReleaseDocument
WfStart

4.1.9 値変数

値変数はサービス・コールの最初に1回評価され、その値はサービス・コール全体を通して使用されます。その後、変数は新規サービス・コールごとに再評価されます。対照的に、動的変数は、変数が出現するたびに評価されます。たとえば、値変数isNewは、チェックインの実行時にコンテンツ・アイテムが新規か、またはリビジョンかどうかを評価します。その評価は、チェックイン・サービスのコール全体にわたって使用されます。

付録A「Idoc Scriptの関数と変数」では、これらの値変数について説明しています。

AuthorAddress
BrowserVersionNumber
CURRENT_DATE
CURRENT_ROW
DocTypeSelected
DocUrl
DownloadSuggestedName
fileUrl
FIRSTREV
HasOriginal
htmlRefreshTimeout
htmlRefreshUrl
HttpAbsoluteCgiPath
HttpAdminCgiPath
HttpBrowserFullCgiPath
HttpCgiPath
HttpCommonRoot
HttpEnterpriseCgiPath
HttpHelpRoot
HttpImagesRoot
HttpLayoutRoot
HttpRelativeAdminRoot
HttpSystemHelpRoot
HttpWebRoot
IsEditRev
IsFailedConversion
IsFailedIndex
isNew
IsNotLatestRev
MSIE
NoMatches
OneMatch
PageParent
ResultsTitle
StatusCode
StatusMessage
UseHtmlOrTextHighlightInfo

4.2 Oracle WebCenter Contentの各種機能によるIdoc Scriptの変数と関数の使用

Oracle WebCenter Contentの各種機能によってIdoc Scriptの変数と関数が使用できます。付録A「Idoc Scriptの関数と変数」では、Idoc Scriptの変数と関数について説明しています。

WebCenter Contentのconfig.cfgファイル、intradoc.cfgファイルおよびその他の.cfgファイルで使用可能なシステム構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

これらのOracle WebCenter Contentの各種機能によって、Idoc Scriptの変数と関数が使用できます。

- バッチ・ローダー

- クライアント

- コンテンツ・アイテム

- コンテンツ・プロファイル

- コンテンツ・サーバー

- 変換

- データベース

- 日付と時間

- デバッグ

- ディレクトリとパス

- 動的データ

- フィールド表示

- Idoc Script

- 索引付け

- ローカライズ

- ページ表示

- パーソナライズ

- ResultSet

- スキーマ

- 検索

- セキュリティ

- 文字列

- テンプレート

- ユーザー

- Webサーバー

- ワークフロー

4.2.1 バッチ・ローダー

付録A「Idoc Scriptの関数と変数」に説明する次のIdoc Script変数は、バッチ・ローダー・ユーティリティに関連しています。

BatchLoaderPath

バッチ・ローダー・ユーティリティに関連するその他のIdoc Script構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のバッチ・ローダーに関する項を参照してください。

4.2.2 クライアント

次のIdoc Scriptの変数は、クライアント・アプリケーションに関連しています。

BrowserVersionNumber
ClientControlled
DownloadApplet
HasLocalCopy
HeavyClient
HttpBrowserFullCgiPath
IsMac
IsSun
IsUploadSockets
IsWindows
MSIE
MultiUpload
UploadApplet

4.2.3 コンテンツ・アイテム

次のIdoc Scriptの変数および関数は、コンテンツ・アイテムに関連しています。

AutoNumberPrefix
computeDocUrl()
computeRenditionUrl()
CONTENT_LENGTH
DocTypeSelected
DocUrl
DownloadSuggestedName
fileUrl
FIRSTREV
HasLocalCopy
HasOriginal
HasUrl
IsCriteriaSubscription
IsEditRev
IsFailedConversion
IsFailedIndex
IsFilePresent
IsFullTextIndexed
IsLocalSearchCollectionID
isNew
IsNotLatestRev
IsNotSyncRev
MajorRevSeq
MinorRevSeq
NotificationQuery
SingleGroup
SourceID

4.2.4 コンテンツ・プロファイル

次のIdoc Scriptの関数は、コンテンツ・プロファイルに関連しています。

dpGet()
dpPromote()
dpPromoteRs()
dpSet()
getFieldViewValue()
getRequiredMsg()
loadDocumentProfile()
utLoadDocumentProfiles()

4.2.5 コンテンツ・サーバー

次のIdoc Scriptの変数および関数は、コンテンツ・サーバー・システムに関連しています。

DownloadApplet
getFieldConfigValue
HasExternalUsers
HttpAbsoluteCgiPath
HttpAdminCgiPath
HttpCgiPath
HttpCommonRoot
HttpEnterpriseCgiPath
HttpHelpRoot
HttpImagesRoot
HttpLayoutRoot
HttpRelativeAdminRoot
HttpSystemHelpRoot
InstanceDescription
isComponentEnabled
IsContributor
isLayoutEnabled()
IsPromptingForLogin
IsRequestError
isValidateFile()
LmDefaultLayout()
LmDefaultSkin()
lmGetLayout()
lmGetSkin()
MultiUpload
StatusCode
StatusMessage
SysAdminAddress
UploadApplet

4.2.6 変換

これらの変換製品は、いくつかのIdoc Script変数で使用できます。

- Inbound Refinery

- Dynamic Converter

4.2.6.1 Inbound Refinery

次のIdoc Scriptの変数は、Oracle WebCenter Content: Inbound Refineryシステムに関連しています。

IsFailedConversion

4.2.6.2 Dynamic Converter

次のIdoc Scriptの変数および関数は、Dynamic Converterに関連しています。

dcShowExportLink
ForcedConversionRules
incDynamicConversionByRule()
IsDynamicConverterEnabled

4.2.7 データベース

次のIdoc Scriptの関数は、データベースに関連しています。

formatDateDatabase()

4.2.8 日付と時間

次のIdoc Scriptの変数および関数は、日付と時間のフォーマット化および操作に関連しています。

CURRENT_DATE
dateCurrent()
formatDate()
formatDateDatabase()
formatDateDisplay()
formatDateOnly()
formatDateOnlyDisplay()
formatDateOnlyFull()
formatDateWithPattern()
formatTimeOnly()
formatTimeOnlyDisplay()
lastEntryTs
parseDataEntryDate()
parseDate
parseDateWithPattern()

4.2.9 デバッグ

次のIdoc Scriptの変数および関数は、デバッグに関連しています。

getDebugTrace()
getErrorTrace()
getFreeMemory()
getTotalMemory()
isActiveTrace()
IsJava
IsPageDebug
IsRequestError
IsSoap
isVerboseTrace
IsXml
Json
trace()

デバッグに関連するその他のIdoc Script構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のデバッグに関する項を参照してください。

4.2.10 ディレクトリとパス

次のIdoc Scriptの変数および関数は、ディレクトリとファイル・パスに関連しています。

docRootFilename()
DownloadSuggestedName
HttpAbsoluteCgiPath
HttpAdminCgiPath
HttpBrowserFullCgiPath
HttpCgiPath
HttpCommonRoot
HttpEnterpriseCgiPath
HttpHelpRoot
HttpImagesRoot
HttpLayoutRoot
HttpRelativeAdminRoot
HttpRelativeWebRoot
HttpServerAddress
HttpSystemHelpRoot
HttpWebRoot
SafeDir

4.2.11 動的データ

次のIdoc Scriptの関数は、dynamicdata表に関連しています。

ddAppendIndexedColumnResultSet()
ddAppendResultSet()
ddApplyTableSortToResultSet()
ddGetFieldList()
ddIncludePreserveValues()
ddLoadIndexedColumnResultSet()
ddLoadResultSet()
ddMergeIndexedColumnResultSet()
ddMergeResultSet()
ddMergeUsingIndexedKey()
ddSetLocal()
ddSetLocalByColumnsFromFirstRow()
ddSetLocalByColumnsFromFirstRowIndexed()
ddSetLocalEmpty()
ddSetLocalEmptyByColumns()

4.2.12 フィールド表示

次のIdoc Scriptの変数および関数は、コンテンツ・サーバーのWebページでのメタデータ・フィールドの表示に関連しています。

captionEntryWidth
captionFieldWidth
defaultFieldInclude
defaultOptionListScript
fieldCaption
fieldCaptionInclude
fieldCaptionStyle
fieldDefault
fieldEditWidth
fieldEntryInclude
fieldExtraScriptInclude
fieldInclude
fieldIsOptionList
fieldMaxLength
fieldName
fieldOptionListType
fieldType
fieldValue
fieldValueStyle
fieldWidth
hasOptionList
isExcluded
is Field Excluded
isFieldHidden
isFieldInfoOnly
isFieldMemo
isHidden
isInfoOnly
isMultiOption
IsOverrideFormat
isRelocated
isRequired
isStrictList
maxLength
optionListKey
optionListName
optionListResultSet
optionListScript
optionListValueInclude
optionsAllowPreselect
optList()
requiredMsg
valueStyle

4.2.13 Idoc Script

次のIdoc Scriptの関数は、どの機能にも関連していません。

break()
cacheInclude()
docLoadResourceIncludes()
eval()
executeService()
forceExpire()
getTextFile()
getUserValue()
getValue()
inc()
incGlobal()
incTemplate()
sawflies()
isTrue()
setExpires()
setHttpHeader()
setMaxAge()
setResourceInclude()

4.2.13.1 キーワード

次のIdoc Scriptの変数は、キーワードに関連しています。

c
exec
include

4.2.14 索引付け

次のIdoc Scriptの変数および関数は、索引付けに関連しています。

indexerSetCollectionValue()
IsFailedIndex
IsFullTextIndexed
MaxCollectionSize

4.2.15 ローカライズ

次のIdoc Scriptの変数および関数は、ローカライズに関連しています。

lc()
lcCaption()
rptDisplayMapValue()
UserLanguageID
UserLocaleId
UserLanguageID

4.2.16 ページ表示

次のIdoc Scriptの変数および関数は、コンテンツ・サーバーのWebページの表示に関連しています。

abortToErrorPage()
AfterLogin
coreContentOnly
docLoadResourceIncludes()
generateUniqueId
getHelpPage
getOptionListSize
htmlRefreshTimeout
htmlRefreshUrl
isCheckin
IsCurrentNav
isDocPage
IsDynamic
isEditMode
isFormSubmit
isInfo
IsMaxRows
IsMultiPage
isNew
isQuery
IsSavedQuery
isUpdate
isUploadFieldScript
localPageType
noMCPrefill
PageParent
pneNavigation()
ResultsTitle
TemplateClass
TemplateFilePath
TemplateName
TemplateType

4.2.17 パーソナライズ

次のIdoc Scriptの関数は、ユーザー・トピック(パーソナライズ)ファイルに関連しています。

utGetValue()
utLoad()
utLoadDocumentProfiles()
utLoadResultSet()

4.2.18 ResultSet

次のIdoc Scriptの変数および関数は、ResultSetに関連しています。

CURRENT_ROW
getValue()
loadDocMetaDefinition()
loadSearchOperatorTables()
loadUserMetaDefinition()
rs()
rsAddFields()
rsAddFieldsWithDefaults()
rsAddRowCountColumn()
rsAppend()
rsAppendNewRow()
rsAppendRowValues()
rsCopyFiltered()
rsCreateReference()
rsCreateResultSet()
rsDeleteRow()
rsDocInfoRowAllowDisclosure()
rsExists()
rsFieldByIndex()
rsFieldExists()
rsFindRowPrimary()
rsFirst()
rsInsertNewRow()
rsIsRowPresent()
rsLoopInclude()
rsLoopSingleRowInclude()
rsMakeFromList()
rsMakeFromString()
rsMerge()
rsMergeDelete()
rsMergeReplaceOnly()
rsNext()
rsNumFields()
rsNumRows()
rsRemove()
rsRename()
rsRenameField()
rsSetRow()
rsSort()
rsSortTree()
setContentType()
setValue()
utLoadResultSet()

4.2.19 スキーマ

次のIdoc Scriptの関数は、スキーマに関連しています。

スキーマは、スキーマの各部分間の関係に影響する可能性のある変更が生じたときには必ず、再公開されます。これらの設定は公開要因に関連しています。

clearSchemaData()
getFieldViewDisplayValue()
getParentValue()
getViewValue()
getViewValueResultSet()
jsFilename()
loadSchemaData()

4.2.20 検索

次のIdoc Scriptの変数および関数は、検索に関連しています。

EnableDocumentHighlight
indexerSetCollectionValue()
IsCurrentNav
IsFullTextIndexed
IsLocalSearchCollectionID
IsMultiPage
IsSavedQuery
isZoneSearchField
loadCollectionInfo()
NoMatches
OneMatch
QUERY_STRING
regexMatches()
regexReplaceAll()
regexReplaceFirst()
ResultsTitle
UseHtmlOrTextHighlightInfo
UseXmlUrl

4.2.21 セキュリティ

次の各項では、セキュリティに関連するIdoc Scriptの変数と関数を示しています。

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.21.2項「外部セキュリティ」

4.2.21.1 内部セキュリティ

次のIdoc Scriptの変数および関数は、内部セキュリティに関連しています。

AdminAtLeastOneGroup
AllowCheckin
AllowCheckout
AuthorDelete
DefaultAccounts
DelimitedUserRoles
docUrlAllowDisclosure()
EmptyAccountCheckinAllowed
encodeHtml()
ExclusiveCheckout
GetCopyAccess
hasAppRights()
HasPredefinedAccounts
IsCheckinPreAuthed
IsLoggedIn
IsSubAdmin
IsSysManager
isUserOverrideSet()
rsDocInfoRowAllowDisclosure()
SelfRegisteredAccounts
SelfRegisteredRoles
SelfRegisteredAccounts
stdSecurityCheck()
UserAccounts
UserAppRights
UserDefaultAccount
userHasAccessToAccount()
userHasGroupPrivilege()
userHasRole()
UserIsAdmin
UserRoles

4.2.21.2 外部セキュリティ

次のIdoc Scriptの変数は、外部セキュリティ(WebサーバーおよびNTLMセキュリティ)に関連しています。

HasExternalUsers
IsPromptingForLogin
IsUploadSockets
UseSSL

4.2.22 文字列

次のIdoc Scriptの変数および関数は、文字列に関連しています。

js()
strCenterPad()
strCommaAppendNoDuplicates()
strConfine()
StrConfineOverflowChars
strEquals()
strEqualsIgnoreCase()
strGenerateRandom()
strIndexOf()
strLeftFill()
strLeftPad()
strLength()
strLower()
strRemoveWs()
strReplace()
strReplaceIgnoreCase()
strRightFill()
strRightPad()
strSubstring()
strTrimWs()
strUpper()
toInteger()
url()
urlEscape7Bit()
xml()

4.2.23 テンプレート

次のIdoc Scriptの変数は、テンプレートに関連しています。

TemplateClass
TemplateFilePath
TemplateName
TemplateType

4.2.24 ユーザー

次のIdoc Scriptの変数および関数は、ユーザーに関連しています。

AdminAtLeastOneGroup
AllowCheckin
AllowCheckout
AuthorAddress
DefaultAccounts
DelimitedUserRoles
ExclusiveCheckout
ExternalUserAccounts
ExternalUserRoles
getUserValue()
getValueForSpecifiedUser()
HasPredefinedAccounts
IsCheckinPreAuthed
IsExternalUser
IsLoggedIn
IsSubAdmin
IsSysManager
IsUserEmailPresent
isUserOverrideSet()
SysAdminAddress
UserAccounts
UserAddress
UserAppRights
UserDefaultAccount
UserFullName
userHasAccessToAccount()
userHasGroupPrivilege()
userHasRole()
UserIsAdmin
UserName
UserRoles
wfAddUser()

4.2.25 Webサーバー

次のIdoc Scriptの変数は、Webサーバーに関連しています。

GATEWAY_INTERFACE
getCookie
HTTP_ACCEPT
HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE
HTTP_COOKIE
HTTP_HOST
HTTP_INTERNETUSER
HTTP_REFERER
HTTP_USER_AGENT
IdcAuthExtraRequestParams
PATH_INFO
QUERY_STRING
REMOTE_ADDR
REMOTE_HOST
REQUEST_METHOD
SCRIPT_NAME
SERVER_NAME
SERVER_PORT
SERVER_PROTOCOL
SERVER_SOFTWARE
setCookie
UseSSL

4.2.26 ワークフロー

次の各項では、ワークフローに関連するIdoc Scriptの変数と関数を示しています。

- 第4.2.26.1項「グローバル関数」

- 第4.2.26.2項「ワークフロー関数」

- 第4.2.26.3項「その他の変数」

4.2.26.1 グローバル関数

次のIdoc Scriptのグローバル関数は、ワークフローに関連しています。

getValueForSpecifiedUser()

4.2.26.2 ワークフロー関数

次のIdoc Scriptの関数は、ワークフローに関連しています。

wfAddActionHistoryEvent()
wfAddUser()
wfComputeStepUserList()
wfCurrentGet()
wfCurrentSet()
wfCurrentStep()
wfDisplayCondition()
wfExit()
wfGet()
wfGetStepTypeLabel
wfIsFinishedDocConversion()
wfIsNotificationSuppressed()
wfIsReleasable()
wfLoadDesign()
wfNotify()
wfReleaseDocument
wfSet()
wfSetSuppressNotification()
wfUpdateMetaData()

4.2.26.3 その他の変数

次のIdoc Scriptの変数は、ワークフローに関連しています。

AllowReview
dWfName
dWfStepName
entryCount
IsEditRev
IsWorkflow
lastEntryTs
SingleGroup
wfAction
wfJumpEntryNotifyOff
wfJumpMessage
wfJumpName
wfJumpReturnStep
wfJumpTargetStep
wfMailSubject
wfMessage
wfParentList
WfStart

第III部

コンテンツ・サーバー・インタフェースのルック・アンド・フィールの変更

この部では、Oracle WebCenter Content Serverインタフェースの外観およびナビゲーションの変更に使用できる様々な方法について説明します。

第III部は次の章で構成されています。

- 第5章「コンテンツ・サーバー・インタフェースのカスタマイズ」

- 第6章「WebCenter Contentユーザー・インタフェースのカスタマイズ」

- 第7章「動的サーバー・ページ」

5 コンテンツ・サーバー・インタフェースのカスタマイズ

この章では、Oracle WebCenter Content Serverインタフェースのルック・アンド・フィールのカスタマイズに使用できる様々な方法について説明します。ユーザー・インタフェースの外観を変更する場合はスキンとレイアウトを使用し、ナビゲーションを変更する場合は動的サーバー・ページを変更します。

この章の内容は次のとおりです。

- 第5.1項「コンテンツ・サーバー・インタフェースのカスタマイズについて」

- 第5.2項「別のスキンまたはレイアウトの選択」

- 第5.3項「新規ユーザーおよびゲスト向けのデフォルトのスキンおよびレイアウトの構成」

- 第5.4項「スキンまたはレイアウトのテンプレートの変更」

- 第5.5項「匿名ユーザー・インタフェースの変更」

- 第5.6項「ログイン・ページのURLの変更」

- 第5.7項「新規レイアウトの作成およびパブリッシュ」

- 第5.8項「パブリッシュされたファイルの使用の最適化」

ヒント:

この章で説明されている方法以外の方法でも、ユーザーに提示されるメタデータ・フィールドを変更したり、チェックイン・ページや検索ページなどのユーザー・インタフェースで使用されるプレゼンテーションのタイプを変更できます。メタデータ・フィールドの作成と変更、およびコンテンツ・プロファイルの作成の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のリポジトリ・フィールドとメタデータのカスタマイズに関する項およびコンテンツ・プロファイルの管理に関する項を参照してください。

5.1 コンテンツ・サーバー・インタフェースのカスタマイズについて

スキンとレイアウトにより、代替の色スキームと代替のナビゲーション・デザインを用意できます。コンテンツ・サーバーのインタフェースは、スキンやレイアウトを変更することでカスタマイズできます。

コンテンツ・サーバーのナビゲーション・システムは、メニュー・バーとツリー・ビューの組合せで構成されます。これは、ユーザーが使用しているレイアウト(「トップ・メニュー」または「トレイ」)に基づいた組合せになります。デフォルトのレイアウトは「トレイ」です。このレイアウトでは、ページの左側にメニュー・タイトルのリストとオプションが表示されます。事前定義済の「トップ・メニュー」レイアウトでは、これらのオプションがページの上部に沿ったメニュー・バーで選択できるようになります。

5.1.1 スキンとレイアウトのタイプ

コンテンツ・サーバーには、いくつかのスキンとレイアウトがデフォルトで同梱されています。さらに、カスタム・スキンとカスタム・レイアウトを設計することもできます。スキンまたはレイアウトを変更するときには、インタフェースのルック・アンド・フィールを変更します。スキンとレイアウトは、「ユーザー・プロファイル」ページに用意されているオプションから選択できます。

スキンまたはレイアウトを作成および変更するには、HTML、カスケード・スタイル・シートおよびJavaScriptを理解してさえいれば十分です。外観の変更後、編集されたレイアウトおよびスキンがパブリッシュされ、同じ環境内にいる他のユーザーが使用できるようになります。

注意:

新規スキンまたはカスタム・スキンを作成できるのは管理者のみです。ユーザー・インタフェースのデフォルトのルック・アンド・フィールの設定の詳細は、第5.3項「新規ユーザーおよびゲスト向けのデフォルトのスキンおよびレイアウトの構成」を参照してください。

5.1.2 スキン

スキンによって、色スキームが定義され、さらに、グラフィック、フォント、フォント・サイズなど、レイアウトの外観の他の面が定義されます。カスタム・スキンを設計したり、既存のスキンを変更できます。

コンテンツ・サーバーには次の2つの既存のスキンがあります。

- Oracle (デフォルトのスキン)

- Oracle2

5.1.3 レイアウト

レイアウトによって、ナビゲーション階層表示が定義され(デフォルトのレイアウトは「トレイ」)、カスタム・レイアウトを設計できます。カスタム・レイアウトによって、システム全体の動作とルック・アンド・フィールが変更されます。変更内容を、限定された状況にのみ適用する場合は、動的サーバー・ページを検討してみてください。用意されているレイアウトは次のとおりです。

- トレイ: 標準的なOracleスキンを備えたこのレイアウトが、デフォルトのインタフェースです。高水準のナビゲーションは、ナビゲーション・トレイを通じて実現します。

- トップ・メニュー: このレイアウトでは、ナビゲーションを提供するトップ・メニューを備えた代替ルックが実現します。

ほとんどのメニュー・アイテムはデータから生成されます。その後で、メニューにJavaScriptのフックを組み込みます。各ユーザーは、ユーザーごとのナビゲーション・リンクを生成するパーソナライズされたJavaScriptファイルを取得します。

5.2 別のスキンまたはレイアウトの選択

代替色スキームを実現する別のスキン、または代替ナビゲーション設計を実現する別のレイアウト、あるいはその両方を選択できます。

5.2.1 別のスキンまたはレイアウトの選択方法

「ユーザー・プロファイル」ページで利用可能なユーザー・パーソナライズ設定を使用すると、ユーザーは、コンテンツ・サーバーのレイアウト、またはスキンを変更できます。

重要:

このパーソナライズ機能は、Internet Explorerの7以上、またはMozilla Firefoxの3以上のバージョンで使用できます。

別のスキンまたはレイアウトを選択する手順は次のとおりです。

1. コンテンツ・サーバーの「ホーム」ページのトップ・メニュー・バーで、your_user_nameをクリックします。
「ユーザー・プロファイル」ページが表示されます。

2. 目的のスキンおよびレイアウトを選択します。

3. 「更新」をクリックして変更を表示します。

5.2.2 実行時の処理

別のスキンまたはレイアウトを選択した後は、ログインするたびに、そのスキンまたはレイアウトがコンテンツ・サーバーのユーザー・インタフェースとなります。

5.3 新規ユーザーおよびゲスト向けのデフォルトのスキンおよびレイアウトの構成

コンテンツ・サーバーのインスタンスのデフォルトの動作を変更するために、次に示す値をIntradocDir/config/config.cfgファイルに配置できます。

- LmDefaultSkin: ゲストおよび新規ユーザーによって使用されるスキンの名前。デフォルト設定は「Oracle」です。

- LmDefaultLayout: ゲストおよび新規ユーザーによって使用されるレイアウトの名前。デフォルトは「トレイ」ですが、「トップ・メニュー」に設定することもできます。

5.4 スキンまたはレイアウトのテンプレートの変更

「トレイ」レイアウトと「トップ・メニュー」レイアウトは、デフォルトでシステムに含まれています。この2つのレイアウトには、2つのスキン・オプション(OracleとOracle2」)があります。レイアウトはJavaScriptで記述されており、スキンのルックはカスケード・スタイル・シートを使用して作成されます。

コンテンツ・サーバーに付属しているテンプレート・ファイルを変更してスキンおよびレイアウトを変更することも、他のユーザーと共有可能なコンポーネントを作成して新規のスキンおよびレイアウトを設計することもできます。

5.4.1 動的パブリッシュについて

コンテンツ・サーバーが起動するか、またはPUBLISH_WEBLAYOUT_FILESサービスが実行されると、std_resource.htmファイルにあるPublishedWeblayoutFiles表が使用され、ファイルがweblayoutディレクトリにパブリッシュされます。このパブリッシュ・メカニズムをカスタム・コンポーネントで使用するようにするには、テンプレートを作成し、そのテンプレートを使用するカスタム行をPublishedWeblayoutFiles表にマージします。

他のユーザーのファイルを変更またはカスタマイズする場合は、そのユーザーのテンプレート、またはPublishedWeblayoutFiles表にあるそのユーザーの行を無効にできます。他のユーザーのテンプレートでリソース・インクルードが使用されている場合は、それらのインクルードをいずれも無効にするか、または標準的なsuper表記法を使用して独自のIdocスクリプト・コードを挿入することができます。コンポーネントが無効になっていると、ファイルはパブリッシュも変更もされなくなり、コンテンツ・サーバーはそのデフォルトの状態に戻ります。

自分の作成したものに対する変更および追加を、他のユーザーが簡単にできるようにすることに加え、Idocスクリプトを使用して、以前は静的だったこれらのファイルを構成することもできます。たとえば、カスタム構成フラグの値に応じてファイルが変更されるようにすることができます。Idocスクリプトのカスタム機能を記述し、自分のテンプレート内から参照することによって、コンテンツ・サーバーのコアなオブジェクトおよび機能を使用できます。

このIdocスクリプトはパブリッシュ時に一度評価されるため、IdcHomeDir/resources/core/idoc/std_page.idocファイルから通常使用するようにはIdocスクリプトを使用できません。ユーザーがそのファイルを要求した時点では、すでに作成されているため、作成に使用されたスクリプトは、現在のサービスのDataBinderオブジェクトにも、現在のユーザーに関するいずれの情報にもアクセスできませんでした。

これにより、これらのファイルで記述できるIdocスクリプトのタイプが制限されます。ユーザーまたはサービスとともに動的に変化する情報を必要とするCSSまたはJavaScriptを記述する場合は、このコードを必要とするページにコード・インラインを含めることを検討してください。これにより、Webサーバーによって配信されるページのサイズが増えるため、使用される帯域幅の量が増えます。

5.5 匿名ユーザー・インタフェースの変更

匿名のランダム・ユーザーのインタフェースを変更するには、ExtranetLookコンポーネントを使用できます。この例としては、コンテンツ・サーバーをベースにしたWebサイトを、外部の顧客がログインなしで利用できるようにする必要があるが、そのWebサイトに自社の従業員が投稿できるようにしたい場合があげられます。

コンテンツ・サーバーがOracle WebLogic Serverで実行中の場合は、ExtranetLookコンポーネントによって、特定のページでの権限が変更され、アクセスするには書込み権限が必要となります。またこのコンポーネントでは、静的ポータル・ページを少し変更して、匿名のランダム・ユーザーに見せないリンクを除去することも行われます。

注意:

ExtranetLookコンポーネントでは、Oracle WebLogic Serverにフォームベースの認証を提供したり、カスタマイズ可能なエラー・ページを提供することもありません。

ExtranetLookコンポーネントは、コンテンツ・サーバーとともにインストールされています。このコンポーネントを使用するには、コンポーネント・マネージャを使用して有効にする必要があります。

Webページをカスタマイズして顧客がコンテンツを簡単に検索できるようにしたり、従業員にログインを付与してログイン時にインタフェースを表示できるようにすることができます。カスタマイズを行うには、ExtranetLook.idocファイルを変更して、ユーザー・ログインに基づいてカスタマイズできる動的リソース・インクルードを提供します。IDOCファイルは、コンテンツ・サーバーのリポジトリにチェックインされるため、コンテンツ・サーバーのテンプレートによって参照できます。

5.5.1 匿名ユーザー・インタフェースの変更方法

コンテンツ・サーバーのWebサイトの匿名ユーザー・インタフェースのルック・アンド・フィールを更新するには、IntradocDir/data/usersディレクトリに格納されている次のファイルを変更します。

- prompt_login.htm

- access_denied.htm

- report_error.htm

匿名ユーザー・インタフェースを変更する手順は次のとおりです。

1. Webレイアウト・エディタを表示します。

2. 「オプション」メニューから「ポータルの更新」を選択します。

3. ポータル・ページを目的どおりに変更します。動的リソース・インクルードを使用して、このページをカスタマイズできます。

4. 「OK」をクリックします。

5. ExtranetLook.idocファイルを目的どおりにカスタマイズします。

6. コンテンツ・サーバーからExtranetLookコンテンツをチェックアウトします。

7. 改訂されたExtranetLook.idocファイルをコンテンツ・サーバーにチェックインします。

5.5.2 実行時の処理

ポータル・ページを変更し、ExtranetLook.idocファイルをカスタマイズした後は、ユーザーがログインせずにWebサイトにアクセスした場合に、その設計が常にコンテンツ・サーバーのユーザー・インタフェースとして機能します。

5.6 ログイン・ページのURLの変更

コンテンツ・サーバーのログイン・ページのURLは、そのコンテキスト・ルート(通常は/cs/)を変更することによって変更できます。HttpRelativeWebRootプロパティを使用して相対コンテキスト・ルートを設定してもURLは変更できません。それは、ログイン・ページにはこのプロパティの値が適用されないためです。ユーザーがログインするWebロケーションを変更する必要がある場合は、デプロイ・プランを使用してWebCenter Contentアプリケーションを再デプロイできます。

ログイン・ページのURLを変更する手順は次のとおりです。

1. WebCenter Contentがデプロイされているドメインの管理者として、Oracle WebLogic Server管理コンソールにログインします。

2. 左側の「ドメイン構造」エリアで、ドメイン名の下の「デプロイメント」をクリックします。

3. 「デプロイメントのサマリー」ページの「制御」タブの「デプロイメント」表で、「Oracle WebCenter Content - コンテンツ・サーバー」をクリックします。
このアプリケーションは、表の2ページ目か3ページ目にある場合もあります。

4. デプロイ・プランへのパスを書き留めます。
WebCenter Contentインスタンスのプランが指定されていない場合は、次のようにして作成できます。

1. 「Oracle WebCenter Content - コンテンツ・サーバー」ページの「設定」で「構成」をクリックします。

2. 「構成」タブ上の任意のパラメータの値を変更します。

3. 「保存」をクリックします。

4. 「デプロイメント・プランの保存」ページでデプロイ・プロセスへのパスを確定するか、またはパスを変更します。

5. 「OK」をクリックします。

5. テキスト・エディタで、次のように、デプロイ・プランの2箇所に行を追加します。

1. original_loginpage_path変数とoriginal_loginerror_path変数を、それぞれ<variable-definition>要素の<variable>要素に追加します。この例では次のようになります。

<deployment-plan xmlns="http://xmlns.oracle.com/weblogic/deployment-plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/deployment-plan
http://xmlns.oracle.com/weblogic/deployment-plan/1.0/deployment-plan.xsd">
<application-name>ServletPlugin</application-name>
<variable-definition>
<variable>
<name>original_loginpage_path</name>
<value>/content/login/login.htm</value>
</variable>
<variable>
<name>original_loginerror_path</name>
<value>/content/login/error.htm</value>
</variable>
<variable>
<name>SessionDescriptor_timeoutSecs_12996472139160</name>
<value>3600</value>
</variable>

2. cs.warファイルのweb.xmlの<module-descriptor>要素に、2つの<variable-assignment>要素を追加します。これらの要素によって、original_loginpage_path変数とoriginal_loginerror_path変数に、次の値がそれぞれ割り当てられます。

- /web-app/login-config/form-login-config/form-login-page

- /web-app/login-config/form-login-config/form-error-page
次に例を示します。

<module-override>
<module-name>cs.war</module-name>
<module-type>war</module-type>
<module-descriptor external="false">
<root-element>weblogic-web-app</root-element>
<uri>WEB-INF/weblogic.xml</uri>
</module-descriptor>
<module-descriptor external="false">
<root-element>web-app</root-element>
<uri>WEB-INF/web.xml</uri>
<variable-assignment>
<name>original_loginpage_path</name>

<xpath>/web-app/login-config/form-login-config/form-login-page</xpath>
</variable-assignment>
<variable-assignment>
<name>original_loginerror_path</name>

<xpath>/web-app/login-config/form-login-config/form-error-page</xpath>
</variable-assignment>
</module-descriptor>
</module-override>
<module-override>

6. stopManagedWebLogicスクリプトを使用して、WebCenter Content管理対象サーバー(デフォルトではUCM_server1)を停止します。

- UNIXスクリプト:
DomainHome/bin/stopManagedWebLogic.sh UCM_server1

- Windowsスクリプト:
DomainHome\bin\stopManagedWebLogic.cmd UCM_server1

7. 管理コンソールで、ドメインの名前で「デプロイメント」をクリックします。

8. 「デプロイメント」表で「Oracle WebCenter Content - コンテンツ・サーバー」を選択して、「更新」をクリックします。

9. 「このアプリケーションを次のデプロイメント・ファイルを使用して再デプロイします。」を選択し、デプロイ・プランへのパスが正しいことを確認して「終了」をクリックします。

10. 再デプロイが正常に完了したら、「変更の適用」をクリックします。

11. startManagedWebLogicスクリプトを使用して、WebCenter Content管理対象サーバーを起動します。

- UNIXスクリプト:
DomainHome/bin/startManagedWebLogic.sh UCM_server1

- Windowsスクリプト:
DomainHome\bin\startManagedWebLogic.cmd UCM_server1

12. 管理コンソールで「デプロイメント」をクリックします。

13. 「デプロイメント」表で「Oracle WebCenter Content - コンテンツ・サーバー」を選択して、「起動」メニューから「すべてのリクエストを処理」を選択します。

14. WebCenter Contentアプリケーションが起動したら、ログイン・ページのURLが変わったことを確認します。

5.7 新規レイアウトの作成およびパブリッシュ

新規レイアウトの作成およびパブリッシュに必要な一般的な手順は次のとおりです。

1. IdcHomeDir/resources/core/tables/std_publishing.htm内のLmLayouts表に表をマージして、新規レイアウトを定義します。レイアウトID、ラベル、および有効(1に設定)になっているかどうかを定義します。

2. IdcHomeDir/resources/core/tables/std_publishing.htm内のPublishedWeblayoutFiles表に表をマージします。この新しい表では、コンテンツ・サーバーのテンプレートから作成され、weblayoutディレクトリにプッシュアウトされたファイルについて説明します。それぞれのスキン・ディレクトリにプッシュアウトするために必要なskin.cssファイルを指定します。

3. std_publishing.htm内のPublishedStaticFiles表に表をマージします。ここには、imagesのように、weblayoutディレクトリにパブリッシュするファイルを含むディレクトリが一覧表示されています。

5.8 パブリッシュされたファイルの使用の最適化

コンテンツ・サーバーに対し、パブリッシュされたファイルをバンドルして一括配信して、サーバーへのページ・リクエストの数を最小に抑えるように指示することができます。さらに、パブリッシュされたページを、Idocスクリプトを使用して参照することによって、ファイルを最適化できます。

5.8.1 ファイルのバンドル

複数のリソースをまとめて、バンドルというユニットにパッケージすることができます。バンドルとは、パブリッシュされたリソースを1つ以上含む単一のファイルです。JavaScriptとcssのリソースのみを、同じタイプの他のリソースのみとバンドルする必要があります。バンドルを行うと、ページがロードされたときのクライアントのオーバーヘッドを減らすことには役立ちますが、クライアント解析、コンパイルおよび実行オーバーヘッドは増えます。一般的には、類似したテーマを持つリソース、および同時に含まれると予想されるリソースをバンドルすることをお薦めします。たとえば、リソースA、BおよびCがあらゆるページで必要であり、リソースD、EおよびFはめったに必要とはならないが、必要となるときは一括して必要になるとわかっている場合は、A、BおよびCをまとめてバンドルし、D、EおよびFは別のバンドルに入れることをお薦めします。

コンテンツ・サーバーのコア向けJavaScriptリソースはほとんどすべて、2つのバンドルのいずれかにバンドルされます。1つはyuiBundle.jsで、これにはサードパーティであるYahooユーザー・インタフェース・ライブラリによって提供されるスクリプトが含まれ、もう1つはbundle.jsで、これにはそれ以外のリソースが含まれます。

リソースをどのようにバンドルするかを決定するには、PublishedBundles表が使用されます。本質的に、バンドルを識別するのは、そのターゲットであるbundlePath、すなわちバンドルへのパス名(weblayoutディレクトリへの相対パス)、およびどのリソース・クラスが含まれているか除外されているかを記述したルールのリストです。この表にあるloadOrderの値が適用されるのは、フィルタリング・ルールの適用順序であり、バンドルでのリソースの表示順序ではありません。

注意:

Oracle Universal Content Management 10gでは、別の表を使用し、各バンドルでのリソースの順序を決定するloadOrderの値がありましたが、その後、バンドルは変化しました。

静的なweblayoutファイルの内容がクライアント・マシンおよびWebプロキシにキャッシュされ、それによって、使用されるサーバー帯域幅の量が大幅に減りました。そのため、ベスト・プラクティスとして、可能なかぎりこれらのタイプのファイルを使用してください。

ただし、クライアントのブラウザによって要求されるそれぞれの静的weblayoutファイルでは、そのファイルの最新バージョンがクライアントにあることを確認するためだけに、サーバーとの間で双方向通信を行う必要があります。これは、ファイルがキャッシュされている場合にも当てはまります。これらのファイルの数が増えると、ページ・リクエストごとにサーバーから行われるダウンロードの回数も増えます。

双方向通信の回数を最小に抑えるようにするため、コンテンツ・サーバーでは、パブリッシュされた複数のファイルをバンドルして、一括配信されるようにできます。この機能は、サーバーのIntradocDir/config/config.cfgファイルで次の構成を設定することで無効にできます。

BundlePublishedWeblayoutFiles=false

バンドルは、例5-1に示すように、
std_publishing.htmファイル内のPublishedBundles表を使用することによって実行されます。

例5-1 std_publishing.htmファイル内のPublishedBundles表

<@table PublishedBundles@>
<table border=1><caption><strong>
<tr>
<td>bundlePath</td>
<td>includeClass</td>
<td>excludeClass</td>
<td>loadOrder</td>
</tr>
<tr>
<td>resources/bundle.js</td>
<td>javascript:common</td>
<td></td>
<td>128</td>
</tr>
. . .
</table>
<@end@>

この表の列は、次のとおりです。

- bundlePath: バンドルがパブリッシュされる最終的な位置。このパスはweblayoutディレクトリに対する相対パスです。

- includeClass: これは、どのリソースをバンドルに含めるかを決定するために使用されます。

- excludeClass: これは、どのリソースをバンドルから除外するかを決定するために使用されます。

- loadOrder: includeClassフィルタとexcludeClassフィルタの適用順序。

前の例では、javascript:commonクラスのファイルは、resources/layouts/commonBundle.jsにある単一のバンドルにパブリッシュされます。このクラスに一致する、バンドルされたすべてのファイルの内容が付加されて、その位置に格納される単一のファイルが形成されます。

5.8.2 パブリッシュ済ファイルの参照

パブリッシュされたファイルのほとんどは(バンドルされているものもいないものも含めて)、ページに含めるにはHTML内から直接参照できる必要があります。そのため、指定された状況でどのファイルを含めるかを把握することが難しくなることがあります。バンドルを有効にするか無効にするかをサーバー管理者が決められる場合は特にそうです。指定されたページに、必要なファイルのすべてを容易かつ透過的に含めるには、単純なIdocスクリプト・メソッドを使用できます。

たとえば、(前述したように)javascript:commonバンドルに関連付けられているファイルをすべて含むページを記述していて、2番目の表に記述されているバンドルに加えて、最初の表に記述されているファイルのすべてを含むHTMLを記述していない場合は、ファイルごとにサーバーに尋ねられます。これではバンドルの目的が否定されます。ファイルごとに、実際に存在しているかどうかがサーバーに対してpingされるからです。

例5-2に、あるページのHEADセクション内のIdoc Scriptコードを示します。このコードによって、これらのファイルがページに適切にインクルードされます。

例5-2 ファイルのバンドルを参照するためのIdocスクリプト

<$exec createPublishedResourcesList("javascript:common")$>
<$loop PublishedResources$>
<script language="JavaScript" src="<$HttpWebRoot$><$PublishedResources.path$>" />
</script>
<$endloop$>

ここに抜粋したコードでは、バンドルがオフになっていても、javascript:commonファイルがすべて含まれます。javascript:commonでなくjavascriptが渡された場合は、javascriptをクラスの先頭とするファイルがすべて含まれます。

このResultSet PublishedResourcesはloadOrderでソートされるため、loadOrderが最も低いファイルとバンドルが最初にインクルードされます。より大きなloadOrderを持つファイルでは、それ以前に宣言されていたJavaScriptメソッドまたはCSSスタイルが無効になります。

6 WebCenter Contentユーザー・インタフェースのカスタマイズ

この章では、WebCenter Contentユーザー・インタフェースのカスタマイズに、カスタムのOracle Application Development Framework (Oracle ADF)スキンを使用する方法と、Oracle Metadata Services (MDS)シード・カスタマイズを使用する方法について説明します。

この章の内容は次のとおりです。

- 第6.1項「WebCenter Contentユーザー・インタフェースのカスタマイズについて」

- 第6.2項「Oracle JDeveloper 11.1.2.4.0 Studio Editionのインストールおよび構成」

- 第6.3項「WccAdfCustomizationアプリケーションの設定」

- 第6.4項「カスタム・スキンの定義およびWccAdfCustomSkin.jarの生成」

- 第6.5項「MDSシード・カスタマイズの定義およびWccAdfCustomization.marの生成」

- 第6.6項「インストール済環境へのカスタマイズの適用」

6.1 WebCenter Contentユーザー・インタフェースのカスタマイズについて

WebCenter Contentユーザー・インタフェースは、2つの領域でカスタマイズできます。

- カスタムOracle ADFスキン

- MDSシード・カスタマイズ

前提条件

WebCenter Contentユーザー・インタフェースをカスタマイズするには、Oracle JDeveloperを使用してスキンやシード・カスタマイズを定義する方法を理解している必要があります。Oracle ADFカスタム・スキンを作成するには、JDeveloperのスキン・エディタ、HTMLおよびカスケード・スタイルシートを熟知している必要があります。

注意:

カスタム・スキンを実装するドメインの管理者である必要があります。

WebCenter Contentユーザー・インタフェースをカスタマイズするための全体的な手順は、次のとおりです。

1. Oracle JDeveloper 11.1.2.4.0 Studio Editionをインストールおよび構成します。

2. WccAdfCustomizationアプリケーションを設定します。

3. カスタム・スキンを定義して、WccAdfCustomSkin.jarを生成します。

4. シード・カスタマイズを定義して、WccAdfCustomization.marを生成します。

5. インストール済環境にカスタマイズを適用します。

6.2 Oracle JDeveloper 11.1.2.4.0 Studio Editionのインストールおよび構成

Oracle JDeveloper 11.1.2.4.0 Studio Editionを使用すると、Oracle WebCenter Contentユーザー・インタフェースをカスタマイズできます。JDeveloperをダウンロードしてインストールした後で、シード・カスタマイズの定義をサポートするようにJDeveloperを構成できます。

WebCenter Contentユーザー・インタフェースのカスタマイズのために、JDeveloperをインストールして構成するタスクは次のとおりです。

1. JDeveloperのインストール

2. JDeveloperのパッチの適用

3. 統合されたWebLogic Serverドメインの作成

4. シード・カスタマイズの定義に向けたJDeveloperの構成

6.2.1 JDeveloperのインストール

JDeveloper 11.1.2.4.0をインストールしていない場合は、次の場所からOracle JDeveloper 11g (11.1.2.4.0) Studio Edition (ビルド6436)をダウンロードします。

http://www.oracle.com/technetwork/developer-tools/jdev/downloads/jdev11124download-1970562.html

同じディレクトリから入手可能な『Oracle Fusion Middleware Oracle JDeveloperインストレーション・ガイド』を使用して、サポートされているプラットフォーム(Windows、Linux、UNIXまたはMac OSシステム)のいずれかにJDeveloper 11.1.2.4.0 Studio Editionをインストールして起動します。

注意:

同じコンピュータに他のバージョンのJDeveloperがインストールされている場合、このバージョンのJDeveloperを最初に起動するときに、以前のインストールのプリファレンスをインポートするよう要求されます。以前のインストールのプリファレンスをインポートせずに続ける場合には、「いいえ」をクリックします。

6.2.2 JDeveloperのパッチの適用

インストールを完了するには、JDeveloperのバグ12708296に対応するパッチを適用する必要があります。

JDeveloperのパッチを適用するには:

1. JDeveloperインスタンスを停止します。

2. https://support.oracle.comから、スタンドアロンJDeveloperインストール・タイプ用のOPatch、バージョン11.1.0.0.1 (p5912518_111000_GENERIC.zip)を入手します。

3. OPatch ZIPファイルをJDEV_MW_HOME/jdeveloperに解凍します(JDEV_MW_HOMEはスタンドアロンJDeveloperインストールのMiddlewareホームになります)。これにより、JDEV_MW_HOME/jdeveloperの下にOPatchフォルダが作成されます。

4. https://support.oracle.comから、パッチ番号12708296、バージョン11.1.2.4.0 (つまりp12708296_111240_Generic.zip)を入手します。

5. p12708296_111240_Generic.zipを一時フォルダtemp_locationに解凍し、次のコマンドを実行します。

- UNIXコマンド:

JDEV_MW_HOME/jdeveloper/OPatch/opatch apply -jre JDEV_MW_HOME/jdk160_24/jre -oh JDEV_MW_HOME/temp_location/12708296

- Windowsコマンド:

JDEV_MW_HOME\jdeveloper\OPatch\opatch apply -jre JDEV_MW_HOME\jdk160_24\jre -oh JDEV_MW_HOME\temp_location\12708296

6. JDeveloperインスタンスを起動します。

6.2.3 統合されたWebLogic Serverドメインの作成

新規にインストールしたJDeveloper Studioインスタンスの場合は、統合されたOracle Weblogic Serverドメインを作成して、開発環境を設定する必要があります。

統合されたWebLogic Serverドメインを作成するには:

1. JDeveloperを開きます。

2. 「実行」メニューから、「サーバー・インスタンスの起動」を選択します。

3. パスワードを決めて入力し、確認のため再度入力します。その他すべてのフィールドにはデフォルト値が入っています。「OK」をクリックします。

4. 次のメッセージが表示されるまでログ・ウィンドウを監視します。

IntegratedWebLogicServer started.

5. サーバーを停止します。「実行」メニューから「終了」を選択し、続いて「IntegratedWebLogicServer」を選択します。

6.2.4 シード・カスタマイズの定義に向けたJDeveloperの構成

JDeveloperの構成を指定することで、シード・カスタマイズの定義を適切にサポートできるようになります。

シード・カスタマイズの定義に向けてJDeveloperを構成するには:

1. アプリケーション・ナビゲータで、「ナビゲータの表示オプション」メニューから「ライブラリの表示」を選択します。
これにより、各プロジェクトは、そのプロジェクトのすべてのライブラリを「アプリケーション・ナビゲータ」にリスト表示するようになります。

2. *.jsfファイルと*.jsffファイルをSourceモードで開きます。

1. 「ツール」で「プリファレンス. . .」メニューを選択します。

2. 左側のパネルの「ファイル・タイプ」を選択します。

3. 右側の「デフォルトのエディタ」タブをクリックします。

4. 下にスクロールしてJSFF Label (.jsffファイルの場合)の行を見つけて、そのデフォルトのエディタを「ソース」に変更します。

5. XHMTL Source (.jsfファイルの場合)の行を見つけて、そのデフォルトのエディタを「ソース」に変更します。

6. 「OK」をクリックします。

6.3 WccAdfCustomizationアプリケーションの設定

事前作成済のWccAdfCustomizationアプリケーションを使用すると、WebCenter Contentユーザー・インタフェースのカスタマイズを定義してパッケージ化できます。

WccAdfCustomizationアプリケーションを設定するには:

1. 次のファイルを、インストール済環境からJDeveloperを実行するマシンにコピーします。

WCCUI_MW_HOME/oracle_common/webcenter/wccadf/WccAdfCustomization.zip

2. WccAdfCustomization.zipを解凍します。
これにより、WccAdfCustomizationアプリケーションが含まれたWccAdfCustomizationフォルダが作成されます。

3. JDeveloperでWccAdfCustomizationアプリケーションを開きます。

1. 「アプリケーションを開く…」を選択します。

2. 「アプリケーションを開く」ダイアログ・ボックスで、手順2で作成したWccAdfCustomizationフォルダに移動します。

3. WccAdfCustomization.jwsを選択します。

4. 「開く」をクリックします。

4. RIDC接続URLを構成します。

1. アプリケーション・ナビゲータの「アプリケーション・リソース」パネルで、「ディスクリプタ」→ADF META-INFの順に開きます。

2. エディタでconnections.xmlファイルを開きます。

3. example-csを、Oracle WebCenter Content Serverインスタンスを実行している実際のホスト名と置き換えます。

4. コンテンツ・サーバーが異なるIDCポートをリスニングする場合は、IDCポート番号4444を更新します。次に例を示します。

<Contents>idc://cshost.mycompany.com:4444</Contents>

5. 「保存」をクリックします。

5. WccAdfCustomizationアプリケーションを実行します。

1. 「アプリケーション・ナビゲータ」で、ViewController→「Webコンテンツ」の順に開きます。

2. index.htmlを右クリックして、「実行」を選択します。
これにより、JDeveloper統合Weblogic Serverを起動し、WccAdfCustomizationアプリケーションをサーバーにデプロイします。

3. ブラウザにindex.htmlページが表示されたら、そのページのリンクをクリックして、WebCenter Contentユーザー・インタフェースに移動します。

4. weblogicユーザーとしてログインします

5. WebCenter Contentユーザー・インタフェースが期待どおりに動作していることを確認します。

6. WccAdfCustomizationアプリケーションを停止します。

1. 赤色の「終了」ボタンをクリックして、WccAdfCustomizationアプリケーションを停止します。

2. (オプション) IntegratedWebLogicServerアプリケーションも同様に停止できます。

6.4 カスタム・スキンの定義およびWccAdfCustomSkin.jarの生成

WccAdfCustomizationアプリケーションには、事前作成済のwcc-custom-skinというカスタム・スキンがあります。このカスタム・スキンでは、WebCenter Contentユーザー・インタフェース用のCSSカスタマイズを定義できます。このスキンは、JDeveloperではViewController→「Webコンテンツ」→「スキン」→wcc-custom-skin→wcc-custom-skin.cssにあります。また、ファイル・システムではViewController/public_html/skins/wcc-custom-skin/wcc-custom-skin.cssにあります。

このアプリケーションには、カスタム・イメージを配置できるimagesフォルダも含まれています。このフォルダは、ViewController→「Webコンテンツ」→「images」にあります。ファイル・システムでは、ViewController/public_html/images/にあります。

ブランド・バーのロゴやタイトルの変更などのユニバーサルな変更では、カスタム・スキンを作成する必要はありません。かわりに、アプリケーション構成を直接更新し、customBrandingLogoおよびcustomBrandingTitleの値を変更できます。詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』のユーザー・インタフェース・コマンドに関する項を参照してください。

スキンに対して行った変更を保存する場合、ユーザー・インタフェースをリフレッシュして結果を確認する必要があります。

注意:

特にイメージに関する変更を行う場合、ユーザー・インタフェースでの変更を見るには、ブラウザのキャッシュをクリアする必要のある場合があります。

6.4.1 カスタム・スキンのカスタマイズの設計とテスト

カスタマイズの設計とテストは、カスタム・スキンに内にある次のアイテムが対象になります。

- ブランド・バー・ロゴ

- デフォルトのフォント・サイズ

- wcc-skinセレクタ

次の各項では、スキンのカスタマイズについての説明と例を示します。JDeveloperのスキン・エディタの使用方法の詳細は、スキン・エディタ・ユーザー・ガイドを参照してください。

- 第6.4.1.1項「独自のイメージを使用したブランド・バー・ロゴのカスタマイズ」

- 第6.4.1.2項「デフォルトのフォント・サイズのカスタマイズ」

- 第6.4.1.3項「セレクタのカスタマイズ」

- 第6.4.1.4項「アプリケーションの停止」

6.4.1.1 独自のイメージを使用したブランド・バー・ロゴのカスタマイズ

自分の所有しているイメージを使用してWebCenter Contentユーザー・インタフェースのブランド・バーのロゴをカスタマイズできます。

独自のイメージを使用してブランド・バー・ロゴをカスタマイズするには:

1. カスタマイズ用のイメージを保存するローカル・ディレクトリを作成します。

1. wccadfプロジェクトで「Webコンテンツ」を右クリックして、「新規」を選択します。

2. 「新規ギャラリ」ウィンドウの「カテゴリ」セクションで「一般」をクリックし、「アイテム」で「フォルダ」を選択します。「OK」をクリックします。

3. 「フォルダ名」フィールドで、imagesなどの名前を指定し、「OK」をクリックします。

4. ファイル・システムから新しく作成したフォルダを見つけ、使用するカスタムイメージをこのフォルダにコピーします。

WccAdf/public_html/images

2. スキン・エディタの「設計」タブで、次のものを選択します。

Style Classes/Miscellaneous/.AFBrandingBarLogo

3. 「プロパティ・インスペクタ」の「共通」で、「背景イメージ」用のメニュー(右の方)をクリックし、「編集」を選択します。

4. 手順1で作成したフォルダ内の新しいロゴ・イメージの場所を指定して選択し、「OK」をクリックします。

5. 必要に応じてイメージが収まるように幅および高さのプロパティを調整します(デフォルトでは、.AFBrandingBarLogoは高さ2.5em、幅119pxとなっています)。

6. 「ファイル」メニューから「保存」を選択します。

7. 生成されたセレクタおよびルールを確認するには、「ソース」タブに切り替えます。次に例を示します。

.AFBrandingBarLogo
{
background-image: url("../../images/my-company-logo.png");
height: 3.2em;
width: 128px;
}

6.4.1.2 デフォルトのフォント・サイズのカスタマイズ

WebCenter Contentユーザー・インタフェースに独自のデフォルト・フォントサイズを指定できます。

デフォルトのフォント・サイズをカスタマイズする手順は、次のとおりです。

1. スキン・エディタの「設計」タブで、次のものを選択します。

Global Selector Aliases/Font/.AFDefaultFont:alias

2. 「プロパティ・インスペクタ」の「フォント/テキスト」で、「フォント・サイズ」に新しい値を入力します。

3. 「ファイル」メニューから「保存」を選択します。

4. 生成されたセレクタおよびルールを確認するには、「ソース」タブに切り替えます。次に例を示します。

.AFDefaultFont:alias
{
font-size: 14px;
}

6.4.1.3 セレクタのカスタマイズ

セレクタをカスタマイズするには、「ソース」タブでカスタム・スキンの.cssファイルに対して直接それらのルールを追加および修正する必要があります。

カスタマイズの基本とするセレクタ情報は、次のファイルにあります。

- wcc-styles.css: このファイルには、WebCenter Contentセレクタおよびエイリアス(接頭辞「Wcc」)のすべてが含まれます。さらに、このファイルには冒頭付近にセレクタ、グローバル・エイリアス、ブランド・バーおよび色スキームに関連するスキンのカスタマイズのヒントを一覧にしたセクションがあります。

- wcc-skin.css: このファイルには、基本のADF定義をオーバーライドするWebCenter Content拡張が含まれています。このファイルでは新しいセレクタは定義されていません。

これらのファイルのいずれかからルールを見つけてコピーし、「ソース」タブでカスタム・スキンの.cssファイルに貼り付け、そこでルールを修正すると簡単です。

注意:

wcc-styles.cssファイルおよびwcc-skin.cssファイルで直接セレクタ・ルールを修正することはできません。

カスタム・スキン用の.cssファイルは、wcc-styles.cssファイルおよびwcc-skin.cssファイルの拡張です。ルールを指定すると、これらのファイルにある関連ルールをオーバーライドします。

「ドキュメント・プロパティ」ページで小さいロゴをカスタマイズする手順は、次のとおりです。

1. スキン・エディタの左上隅の「拡張スキン」メニューをクリックし、wcc-styles.cssを選択します。

2. 「ソース」タブで、「検索」バーを使用してWccSmallBrandingBarLogoを検索します。必要に応じて、検索バー右側の下矢印を使用して後続のインスタンスを検索します。

3. 名前および関連する定義を含む行を選択し、その上で右クリックして「コピー」を選択します。

.WccSmallBrandingBarLogo
{
display: block;
width: 19px;
height: 1.3em;
background-image: url("/adf/resources/wcc/images/company-small-logo.png");
background-position: center;
background-repeat: no-repeat;
}

4. wcc-custom-skin.cssファイルをエディタで開いた場合は、そのタブをクリックしてこのファイルに切り替えます。開かれない場合、「アプリケーション・ナビゲータ」タブでその場所を指定し、ダブルクリックしてエディタで開きます。

ViewController > Web Content > skins > wcc-custom-skin > wcc-custom-skin.css

5. 「ソース」タブをクリックし、定義が必要なファイルにカーソルを置き、右クリックして「貼付け」を選択してルールを貼り付けます。

6. ロゴ・イメージ・ファイルへのパスを指定し、イメージが収まるように必要に応じて幅および高さのプロパティ・ファイルを調整します。カスタム拡張の一部としてオーバーライドしない定義のある行を削除します。次に例を示します。

.WccSmallBrandingBarLogo
{
width: 24px;
height: 1.25em;
background-image: url("../../images/my-company-small-logo.png");
}

7. 「ファイル」メニューから「保存」を選択します。

6.4.1.4 アプリケーションの停止

スキンのカスタマイズが終了したら、アプリケーションを停止します。「実行」メニューから「終了を選択し、「WccAdf (IntegratedWebLogicServerで実行)」を選択します。

6.4.2 カスタム・スキンをWccAdfCustomSkin.jarとしてパッケージ化する方法

JDeveloperでは、WebCenter Contentユーザー・インタフェースのカスタム・スキンをデプロイして、そのスキンをWccAdfCustomSkin.jarファイルにパッケージ化できます。

カスタム・スキンをパッケージ化するには:

1. 「アプリケーション・ナビゲータ」タブで、「ViewController」プロジェクトを右クリックし、「デプロイ」メニューから「WccAdfCustomSkin」を選択します。

2. 「終了」をクリックします。ViewController/deploy/の下にWccAdfCustomSkin.jarファイルが生成されます。

6.5 MDSシード・カスタマイズの定義およびWccAdfCustomization.marの生成

WebCenter Contentユーザー・インタフェースでは、customerというシード・カスタマイズ・レイヤーを定義しています。このレイヤーは、顧客がユーザー・インタフェースにシード・カスタマイズを定義するためのものです。顧客は、このcustomerレイヤーに1つまたは複数のレイヤー値を定義できます。ほとんどの場合は、1つのレイヤー値で十分です。ただし、複数のレイヤー値を定義している場合、それらのレイヤー値に対するカスタマイズは、それらの値が定義された順序で適用されます。

6.5.1 customerレイヤー値の定義

customerレイヤーの値は、adf-config.xmlファイルとCustomizationLayerValues.xmlファイルで定義できます。

1. アプリケーション・ナビゲータの「アプリケーション・リソース」パネルで、「ディスクリプタ」→ADF META-INFの順に開きます。

2. adf-config.xmlファイルをエディタで開きます。

3. 「ソース」タブで、<customerCustomizationLayerValues>タグを探して、そのタグの値を編集します。次に例を示します。

<customerCustomizationLayerValues>demo</customerCustomizationLayerValues>

4. 「概要」タブで、左側のパネルから「MDS」を選択します。

5. 右側で、「デザインタイム・カスタマイズ・レイヤー値の構成」リンクをクリックします。
これにより、新しいエディタ・ウィンドウでCustomizationLayerValues.xmlファイルを開きます。customerレイヤーを見つけて、そのレイヤーに同じレイヤー値を定義します。次に例を示します。

<cust-layer name="customer" id-prefix="c">
<cust-layer-value value="demo" display-name="Demo" id-prefix="d"/>
</cust-layer>

6. 「すべて保存」をクリックします。

6.5.2 customerレイヤーの各レイヤー値に対するシード・カスタマイズの定義

customerレイヤーでは、各レイヤー値に複数のシード・カスタマイズを定義できます。

各レイヤー値にシード・カスタマイズを定義するには:

1. 「カスタマイズ開発者」ロールを使用してJDeveloperを起動します。
「カスタマイズ開発者」ロールを使用してJDeveloperでWccAdfCustomizationアプリケーションを初めて開くと、次のエラー・メッセージが「メッセージ」ログ・ウィンドウで報告されることがあります。

Error applying Customization Context changes for the application WccAdfCustomization. Please close and re-open the application

2. このエラー・メッセージが表示されたときには、「すべて保存」をクリックしてJDeveloperを終了してから、「カスタマイズ開発者」ロールを使用してJDeveloperを再起動してください。

3. customerレイヤーのレイヤー値ごとに、次の手順を実行します。

1. 「WccAdfCustomization - カスタマイズ・コンテキスト」ウィンドウに移動して、customerヒント・レイヤーで特定のレイヤー値を選択してから、「すべて保存」をクリックします。

2. ViewControllerプロジェクトから、WccAdfLibrary.jar (通常は最後にあるライブラリ)を探して開いて、wccを開きます。
ここには、すべてのWebCenter Contentユーザー・インタフェース・ページ(.jsf)と、ページ・フラグメント(.jsff)がリスト表示されます。

3. シード・カスタマイズを定義するページまたはページ・フラグメントごとに、次のアクションを順序どおりに実行します。

- エディタで開きます。

- ページまたはページ・フラグメントにシード・カスタマイズを定義します。次に示すようなカスタマイズがありますが、これらに限定されるものではありません。
特定のUIコンポーネントを非表示または削除します。

UIコンポーネントを移動します。

新しいUIコンポーネントを追加します。

UIコンポーネントのプロパティを変更します。

リソース文字列を変更します。

- 「すべて保存」をクリックします。

4. WccAdfCustomizationアプリケーションを実行して、シード・カスタマイズをテストします。

- index.htmlを右クリックして、「実行」を選択します。

- テストが終了したら、WccAdfCustomizationアプリケーションを停止します。

6.5.3 MDSシード・カスタマイズの定義

JDeveloperでMDSシード・カスタマイズを定義することで、WebCenter Contentユーザー・インタフェースを変更できます。たとえば、次の手順は、「ドキュメント・プロパティ」ページを以下のカスタマイズ内容で変更する方法を示しています。

- 「サマリー」タブの名前を、「Overview」に変更します

- 「メタデータ」タブの「システム・メタデータ」セクションを非表示にします

「ドキュメント・プロパティ」ページにMDSシード・カスタマイズを定義するには:

1. JDeveloperのエディタで、docInfoTabs.jsffを開きます。

2. ID summtabのaf:showDetailItemコンポーネントを選択します。

3. 「プロパティ・インスペクタ」ウィンドウで、「テキスト」プロパティのメニューをプルダウンして、テキスト・ソースの選択. . .を選択します。

4. 「テキスト・リソースの選択」ダイアログ・ボックスで、次の手順を実行します。

1. 「リソース・バンドル」の選択リストをクリックして、エントリwcc.custom.view.DummyBundle (ViewController.jpr)を選択します。その次に、エントリoracle.wcc.adf.vc.resource.CustomizationBundle (ViewController.jpr)を選択します。

2. 「表示値」の入力ボックスに、Overviewと入力します。

3. 「保存して選択」をクリックします。

4. 「オーバーライドの確認」ポップアップのプロンプトが表示されたら、「はい」をクリックしてポップアップを閉じます。この確認ポップアップが再度表示されないようにする場合は、「次回このメッセージを表示しない」を選択します。

5. JDeveloperの応答が回復するまで待機します。これには数秒かかる場合があります。

5. 同じaf:showDetailItemコンポーネントを再度選択します。

6. 「プロパティ・インスペクタ」ウィンドウで、「ShortDesc」プロパティのメニューをプルダウンして、テキスト・ソースの選択. . .を選択します。

7. 「テキスト・リソースの選択」ダイアログ・ボックスで、次の手順を実行します。

1. 「リソース・バンドル」の選択リストをクリックして、エントリwcc.custom.view.DummyBundle (ViewController.jpr)を選択します。その次に、エントリoracle.wcc.adf.vc.resource.CustomizationBundle (ViewController.jpr)を選択します。

2. 「一致するテキスト・リソース」の表で、「表示値」がOverviewの行を選択します。

3. 「選択」をクリックします。

これらの変更を行うと、af:showDetailItemコンポーネントの冒頭部分は次のようになります。

<af:showDetailItem text="#{viewcontrollerBundle.OVERVIEW}" id="summtab"
shortDesc="#{viewcontrollerBundle.OVERVIEW}

8. Textプロパティの値が#{diBundle.MTAB_SYSTEM_METADATA}のaf:showDetailHeaderコンポーネントを選択します。

9. 「プロパティ・インスペクタ」ウィンドウで、「レンダリング済」プロパティの選択リストをクリックして、「False」を選択します。

10. 「すべて保存」をクリックします。

6.5.4 WccAdfCustomization.marにシード・カスタマイズをパッケージ化する方法

シード・カスタマイズの指定とテストが完了したら、そのカスタマイズをデプロイ用にWccAdfCustomization.marファイルにパッケージ化します。

シード・カスタマイズをパッケージ化するには:

1. WccAdfCustomizationアプリケーションを右クリックし、「デプロイ」→WccAdfCustomization…の順に選択します。

2. 「WccAdfCustomizationのデプロイ」ダイアログ・ボックスでは、デプロイメント・アクションをデフォルトの選択(「MARにデプロイ」)のままにして、「終了」をクリックします。
これにより、deploy/ディレクトリ内にWccAdfCustomization.marファイルが生成されます。

6.6 インストール済環境へのカスタマイズの適用

インストール済のOracle WebCenterユーザー・インタフェース環境にカスタマイズを適用するには、カスタム・スキンとシード・カスタマイズを適用します。

6.6.1 カスタム・スキンの適用

インストール済環境のWebCenter Contentユーザー・インタフェースに、新しいWccAdfCustomSkin.jarファイルで定義したカスタム・スキンを適用するには、新しいスキンをポイントして、WebCenter Contentユーザー・インタフェース・ドメイン内のWccAdfCustomSkin.jarファイルを新しいものに置換するように、ユーザー・インタフェースのアプリケーション構成を更新します。

1. WLSTコマンドを実行して、新しいスキンをポイントするようにWebCenter Contentユーザー・インタフェース・アプリケーションの構成を更新します。

1. 環境変数WL_HOMEをWCCUI_MW_HOME/wlserver_10.3に設定します。たとえば、Linuxマシンでは次を実行します。

export WL_HOME=/Oracle/WccUI/wlserver_10.3

2. WCCUI_MW_HOME/oracle_common/webcenter/wccadf/WlstResources/common/binに移動して、wlst.shまたはwlst.cmdを実行します。

3. WCCADF_server1のポートに接続します。このポートのデフォルトは、16225です。次に例を示します。

wls:/offline> connect()
Please enter your username :weblogic
Please enter your password :
Please enter your server URL [t3://localhost:7001] :t3://localhost:16225

4. updateWccAdfConfigコマンドを実行して、skinFamilyプロパティをこのカスタム・スキンを指定するように更新します。次に例を示します。

wls:/wccadf_domain/serverConfig> updateWccAdfConfig(appName='Oracle WebCenter Content - Web UI', skinFamily='wcc-custom-skin')

2. WebCenter Contentユーザー・インタフェース・ドメインで、WCCADF_server1を停止します。

3. WCCUI_MW_HOME/oracle_common/webcenter/wccadf内のWccAdfCustomSkin.jarファイルを、生成したファイルに置き換えます。

4. WebCenter Contentユーザー・インタフェース・ドメインで、WCCADF_server1を再起動します。

新しいWccAdfCustomSkin.jarファイルで定義されたカスタム・スキンが、ただちに有効になります。ブラウザのキャッシュをクリアし、WebCenter Contentユーザー・インタフェースにログインして、カスタマイズを確認します。

6.6.2 WebCenter Contentユーザー・インタフェースに対するシード・カスタマイズの適用

インストール済環境内のWebCenter Contentユーザー・インタフェースに、WccAdfCustomization.marファイルで定義したシード・カスタマイズを適用するには、customerカスタマイズ・レイヤーの値を定義し、WebCenter Contentユーザー・インタフェース・ドメインのMDSリポジトリにWccAdfCustomization.marファイルをインポートするように、WebCenter Contentユーザー・インタフェース・アプリケーションの構成を更新します。

WebCenter Contentユーザー・インタフェースにシード・カスタマイズを適用するには:

1. WccAdfCustomization.marファイルをステージングの場所(例: /tmp/WccAdfCustomization.mar)にコピーします。

2. WLSTコマンドを実行して、customerカスタマイズ・レイヤーの値を定義するように、WebCenter Contentユーザー・インタフェース・アプリケーション構成の構成を更新します。

1. 環境変数WL_HOMEをWCCUI_MW_HOME/wlserver_10.3に設定します。たとえば、Linuxマシンでは次を実行します。

export WL_HOME=/Oracle/WccUI/wlserver_10.3

2. WCCUI_MW_HOME/oracle_common/webcenter/wccadf/WlstResources/common/binに移動して、wlst.shまたはwlst.cmdを実行します。

3. WCCADF_server1のポートに接続します。このポートのデフォルトは、16225です。次に例を示します。

wls:/offline> connect()
Please enter your username :weblogic
Please enter your password :
Please enter your server URL [t3://localhost:7001] :t3://localhost:16225

4. updateWccAdfConfigコマンドを実行して、customerCustomizationLayerValuesプロパティをcustomerレイヤーの値に更新します。次に例を示します。

wls:/wccadf_domain/serverConfig> updateWccAdfConfig(appName='Oracle WebCenter Content - Web UI', customerCustomizationLayerValues='demo')

3. WLSTコマンドを実行して、WccAdfCustomization.marファイルをWCCUIドメインのMDSリポジトリにインポートします。

1. WCCUI_MW_HOME/oracle_common/common/binに移動して、wlst.shまたはwlst.cmdを実行します。

2. 管理サーバーのポート(デフォルトでは、7001)に接続します。次に例を示します。

wls:/offline> connect()
Please enter your username :weblogic
Please enter your password :
Please enter your server URL [t3://localhost:7001] :

3. importMetadataコマンドを実行して、WccAdfCustomization.marファイルで定義したメタデータをMDSリポジトリにインポートします。次に例を示します。

wls:/wccadf_domain/serverConfig> importMetadata('Oracle WebCenter Content - Web UI', 'WCCADF_server1', '/tmp/WccAdfCustomization.mar')

4. WebCenter Contentユーザー・インタフェース・ドメインで、WCCADF_server1を停止します。

5. WebCenter Contentユーザー・インタフェース・ドメインで、WCCADF_server1を再起動します。

このWccAdfCustomization.marファイルで定義したシード・カスタマイズは、すぐに有効になります。ブラウザのキャッシュをクリアし、WebCenter Contentユーザー・インタフェースにログインして、カスタマイズを確認します。

7 動的サーバー・ページの作成

この章では、動的サーバー・ページを作成してWebページの外観およびナビゲーションを変更するために必要なビルディング・ブロックの使用方法について説明します。

この章の内容は次のとおりです。

- 第7.1項「動的サーバー・ページについて」

- 第7.2項「Webページの外観およびナビゲーションの変更」

- 第7.3項「動的サーバー・ページ用のカスタム・インクルードを含むIDOCファイルの作成」

- 第7.4項「HCSTページの作成」

- 第7.5項「HCSPページの作成」

- 第7.6項「HCSFページの作成」

- 第7.7項「HCST、HCSP、HCSFの各ページのWebブラウザでの表示の確認」

7.1 動的サーバー・ページについて

動的サーバー・ページとは、Oracle WebCenter Content Serverにチェックインされ、Webページを動的に生成するために使用されるファイルのことです。動的サーバー・ページは通常、Webページのルック・アンド・フィールおよびナビゲーションを変更するために使用されます。たとえば、動的サーバー・ページは、次のタスクを実行するために使用できます。

- HTMLフォームを実装する

- Webサイト全体で一貫性のあるルック・アンド・フィールを維持する

動的サーバー・ページには、次のようなファイル形式があります。

- IDOC: 独自のスクリプト言語です。

- HCST: Hypertext Content Server Template。IdcHomeDir/resources/core/templatesディレクトリに格納されているコンテンツ・サーバーの標準的なテンプレートに似ています。

- HCSP: Hypertext Content Server Page。HTMLに対応したバージョンのHCSTページで、通常はパブリッシュ済のコンテンツに使用されます。

- HCSF: Hypertext Content Server Form。HCSPページおよびHCSTページに似ていますが、Webブラウザから記入して送信することのできるHTMLフォーム・フィールドが含まれています。

動的サーバー・ページを使用すると、コンテンツ・サーバーでは、コンテンツ・サーバーにチェックインしたカスタム・テンプレート(HCST、HCSP、HCSFいずれかのファイル)を使用して、Webページが動的にアセンブルされます。このテンプレートでは、同じくコンテンツ・サーバーにチェックインしたテキスト・ファイル(IDOCファイル)からHTMLインクルードが呼び出されます。

Webページのルック・アンド・フィールおよびナビゲーションを変更するには、HCS*テンプレート・ページまたはIDOCファイル、あるいはその両方を変更して、改定後のファイルを新たなリビジョンとしてチェックインします。変更内容がすぐにわかります。

コンテンツ・サーバーとともに動的サーバー・ページを使用すると、次のメリットが得られます。

- カスタマイズの導入とテストを迅速かつ容易に行うことができます。動的サーバー・ページのリビジョンをチェックインするだけで変更内容が即座に実装され、コンテンツ・サーバーを再起動する必要はありません。

- Webページでは、標準的なHTMLにはない機能を利用できます。たとえば、CGIスクリプトなしで、HTMLフォームをコンテンツ・サーバーに直接送信できます。また、Idocスクリプトを使用すると、コンテンツ・サーバーに関する環境および状態の情報を直接操作できます。

- コンポーネント・ファイルをインストールしたり常時監視する必要はありません。ファイルが大量にあったり、システムが高度にカスタマイズされている場合は、コンポーネントの維持とトラブルシューティングが難しくなることが考えられます。動的サーバー・ページのほうが、カスタマイズのすべてを含んだコンテンツ・アイテムを少しチェックインするだけなので、操作しやすくなります。

- カスタマイズを個々のページに適用できます。動的サーバー・ページを使用すると、グローバルではなく単一のページにカスタマイズを適用できるため、コンテンツ・サーバーのページの標準的なコーディングに手を入れなくてすみます。

動的サーバー・ページを使用するかどうかを判断する際には、次の制約事項を頭に入れてください。

- 動的サーバー・ページは、コンテンツ・サーバーのコアな機能の変更には使用できません。動的サーバー・ページは、Web設計とフォーム・ページのカスタマイズに最も役立ちます。

- 動的サーバー・ページを頻繁に改定すると、廃止されるコンテンツ・アイテムが大量に発生する場合があります。本番インスタンスにデプロイする前に、開発システムでできるだけ多くの作業を済ませてください。また、古くなったページを定期的に削除することをお薦めします。

図7-1は、動的サーバー・ページを生成および使用するプロセスを示しています。

図7-1 動的サーバー・ページのプロセス

7.1.1 ページ・タイプ

動的サーバー・ページには次の4つのタイプがあり、ファイル名の4文字の拡張子によってコンテンツ・サーバーで識別されます。

- IDOC

- HCST

- HCSP

- HCSF

7.1.1.1 IDOCファイル

IDOCファイルは、HCST、HCSP、HCSFの各ページによって呼び出されるHTMLインクルードを含むテキスト・ファイルです。

詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」を参照してください。

7.1.1.2 HCSTファイル

Hypertext Content Server Template (HCST)ファイルは、コンテンツ・サーバーの標準的なテンプレート・ページに似たテンプレート・ページであり、Webページをアセンブルする際にフレームワークとして使用されます。

- HCSTページが使用される代表的なケースは、ページのコンテンツ自体が動的な場合、または、検索ページ、検索結果ページ、カスタム・チェックイン・ページなどでコンテンツ・サーバー機能が必要とされる場合です。

- このタイプのページは、動的にアセンブルされたコードでほとんどが構成されているため、HCSTファイルはコンテンツ・サーバー内で索引が付けられません。

7.1.1.3 HCSPファイル

Hypertext Content Server Page (HCSP)ファイルはパブリッシュ済のWebページであり、実際のWebサイトのコンテンツを表示します。

- HCSPファイルは一般的に、HCSTページをテンプレートとして使用するか、HCSFページによってコンテンツ・サーバーでフォームを送信することによって作成されます。

- このタイプのページは、Web表示可能なコンテンツが含まれているため、HCSPファイルはコンテンツ・サーバー内で索引が付けられます。

7.1.1.4 HCSFファイル

Hypertext Content Server Form (HCSF)ファイルは、HCSPファイルに似ていますが、Webブラウザから記入して送信することのできるHTMLフォーム・フィールドが含まれている点が違います。

- ユーザーがHCSFページからフォームを記入して送信すると、HCSFページのXML要素によってメタデータが定義された別のコンテンツ・アイテムとして、HCSPファイルがチェックインされます。

- このタイプのページは、Web表示可能なコンテンツが含まれているため、HCSFファイルはコンテンツ・サーバー内で索引が付けられます。
HCSFページの詳細は、第7.1.1.4項「HCSFファイル」を参照してください。

7.2 Webページの外観およびナビゲーションの変更

動的サーバー・ページは、カスタム・コンポーネントとは異なる形でコンテンツ・サーバーに実装されていますが、WebCenter Contentコンポーネントのアーキテクチャ概念、特にコンテンツ・サーバーのテンプレートおよびHTMLインクルードに精通している必要があります。詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」を参照してください。

動的サーバー・ページとともにコンテンツ・サーバーのインスタンスをカスタマイズするには、次の基本手順を実行します。

1. カスタム・インクルードを含むIDOCファイルを作成します。

2. IDOCファイルをコンテンツ・サーバーにチェックインします。

3. IDOCファイルを参照するHCSTファイル、HCSPファイルまたはHCSFファイルを作成します。

4. HCS*ファイルをコンテンツ・サーバーにチェックインします。

5. コンテンツ・サーバーで検索するか、またはパブリッシュされたWebページからリンクすることによって、WebブラウザでHCS*ファイルを表示します。

7.2.1 構文

異なるタイプの動的サーバー・ページは、解釈も表示も異なっているため、ファイル内のIdocスクリプトは、異なるコーディングを行う必要があります。次の表は、それらの違いをまとめたものです。

ファイル・タイプ

.idoc

.hcst

.hcsp

.hcsf

全文索引作成

いいえ

いいえ

はい

はい

Idoc Scriptの式

<$ … $>

<$ … $>

<!--$ … -->

[!--$ … --]

<!--$ … -->

[!--$ … --]

比較演算子

記号(==)

記号(==)

特殊演算子(eq)

特殊演算子(eq)

特殊文字

記号(&)

記号(&)

エスケープ・シーケンス(&amp;)

エスケープ・シーケンス(&amp;)

メタデータの参照

必須

必須

必須

必須

注意:

Idocスクリプトでは、標準的なHTMLインクルードのコーディングを使用します。詳細は、第18.2.1項「HTMLインクルード」を参照してください。

HCSTでは、コンテンツ・サーバーの標準的なテンプレートのコーディングを使用します。詳細は、第18.2.8.1項「テンプレート・ページとレポート・ページ」を参照してください。

HCSPとHCSFでは特殊なコーディングが使用され、ページを静的にも動的にもレンダリングでき、全文索引を作成できます。

7.2.1.1 Idoc Scriptの式

HCSPページとHCSFページでは、Idocスクリプトの式は一般的に、HTMLコメント・タグ間に配置されます。ページが静的に表示されるときには、このように配置することによって、Webブラウザでページ・コンテンツを表示でき、コンテンツの書式設定に使用されている動的コードがあっても無視されます。またこれによって、全文索引作成エンジンが、これらのページのコンテンツの索引を正常に作成できます。

次に、いくつかの例を示します。

- IDOCファイルまたはHCSTファイル: <$include MyIdocExpression$>

- HCSPファイルまたはHCSFファイル: <!--$include MyIdocExpression-->

状況によっては、HTMLコメントの開始と終了を制御することもできます。HCSPファイルとHCSFファイルでは、この操作を行うには、例7-1に示すように、Idocスクリプトの式の後にある終了タグで、ダッシュ(-)を他の文字に置換します。

例7-1 HCSPファイルまたはHCSFファイルでのHTMLコメントのシャープ記号によるデリミタ

<!--$a="ab"##> HTML comment remains open
<a href="<!--$myUrlAsVariable##>">MyUrl</a> Static view does not see this
<!--$dummy=""--> <!—Ended the comment area-->.

例7-1では、ダッシュ(-)がシャープ記号(#)に置換されています。

HCSPファイルとHCSFファイルでの別のオプションとしては、例7-2に示すように、標準的なHTMLコメントの開始タグおよび終了タグ(< >)を大カッコ([])に置換します。このように置換すると、XHTMLパーサーでは、静的に表示されたときにすべてのスクリプトを適切に識別できます。

例7-2 HCSPファイルまたはHCSFファイルでのHTMLコメントの大カッコによるデリミタ

<!--$a="ab"--] HTML comment remains open
<a href="[!--$myUrlAsVariable--]">MyUrl</a> Static view does not see this
[!--$dummy=""--> <!—Ended the comment area-->.

7.2.1.2 比較演算子

HCSPページとHCSFページでは、(==などの)標準的な比較演算子は、HTMLパーサーにとっては特殊な意味があるため使用できません。動的サーバー・ページでは、次の比較演算子を使用します。

IDOCファイルまたはHCSTファイル

HCSPファイルまたはHCSFファイル

説明

==

eq

等価かどうかをテストします。

!=

ne

非等価かどうかをテストします。

<

lt

より小さいかどうかをテストします。

>

gt

より大きいかどうかをテストします。

<=

le

以下かどうかをテストします。

>=

ge

以上かどうかをテストします。

たとえば、次のコードは、変数countの値が10より大きいかどうかを評価します。

IDOCファイルまたはHCSTファイル

HCSPファイルまたはHCSFファイル

<$if count > 10$>
<$"Count is greater than"$>
<$endif$>

<!--$if count gt 10-->
<!--$"Count is greater than"-->
<!--$endif-->

7.2.1.3 特殊文字

HCSPページとHCSFページでは、アンパサンド(&)などの特殊文字は、HTMLパーサーにとっては特殊な意味があるため使用できません。HTMLまたはXMLの標準的なエスケープ・フォーマット(&amp;や&#038;など)を使用する必要があります。

注意:

HCSPページまたはHCSFページからdocLoadResourceIncludes関数をコールするときには、エスケープ文字&amp;を使用することが特に重要です。詳細は、第7.2.2.1項「docLoadResourceIncludes関数」を参照してください。

次の例に示すように、Idocスクリプトでは、先頭にバックスラッシュ文字を置くことによって、文字列に引用符を含めることができますが、HCSPページまたはHCSFページでは、引用符はHTMLのエスケープ文字で表す必要があります。

- IDOCファイルまたはHCSTファイル: "Enter \"None\" in this field."

- HCSPファイルまたはHCSFファイル: "Enter &quot;None&quot; in this field."

HCSTページでは、\nを使用して行送りが挿入されます。HCSPページでは、行送りをファイルに直接挿入するか、または行送りの数値ASCII番号を使用してXML内にエンコードします。

注意:

&文字列の結合演算子をjoinという単語に置換できるようになりました。たとえば、[!--$a join b--]と記述できます。それまでは、[!--$a & b--]と記述していました。要素の属性内のXMLパーサーでは、最初のものは受け入れられますが、2番目のものは受け入れられません。

7.2.1.4 メタデータの参照

動的サーバー・ページでは、いくつかのメタデータ値が、ref:という接頭辞付きで格納されており、その値はページで利用できますが、ResultSetの値を置換するものではありません。(このため、動的サーバー・ページによるResultSetの汚染が防止されます。)

動的サーバー・ページで次のメタデータ値のいずれかを参照する場合は、ref:接頭辞を含める必要があります。

- hasDocInfo

- dDocName

- dExtension

- dSecurityGroup

- isLatestRevision

- dDocType

たとえば、次の文では、ドキュメント・タイプがPageであるかどうかを判別します。

<$if strEquals(ref:dDocType,"Page"))$>

7.2.2 Idoc Scriptの関数

動的サーバー・ページでは、Idocスクリプトの次の2つの特殊関数が必要です。

- docLoadResourceIncludes

- executeService

7.2.2.1 docLoadResourceIncludes関数

IDOCファイルでHTMLインクルードを使用できるようにするには、次の例に示すように、HCS*ファイルでdocLoadResourceIncludes関数をコールする必要があります。この関数では、現在のページのアセンブルに使用できるように、指定されたIDOCファイルからすべてのインクルードがロードされます。例7-3に、HCSTファイルからこの関数をコールする形式を示します。

例7-3 HCSTファイルでのdocLoadResourceIncludes関数コール

<$docLoadResourceIncludes("dDocName=system_std_page&RevisionSelectionMethod=Latest")$>

例7-4に、HCSPファイルまたはHCSFファイルからこの関数をコールするフォーマットを示します。

例7-4 HCSPファイルまたはHCSFファイルでのdocLoadResourceIncludes関数コール

<!--$docLoadResourceIncludes("dDocName=system_std_page&amp;RevisionSelectionMethod=Latest")-->

7.2.2.1.1 docLoadResourceIncludes関数をコールするための要件

- 指定されたコンテンツ・アイテムのネイティブ・ファイルでは、拡張子が.idocになっている必要があります。

- docLoadResourceIncludesコールは、HCS*ファイル内で最初のインクルードの前に配置する必要があります。この関数は、ページのHEADセクション内に配置することをお薦めします。

- HCS*ページからdocLoadResourceIncludes関数をコールするときには、正しいアンパサンド文字を使用する必要があります。詳細は、第7.2.1.3項「特殊文字」を参照してください。

7.2.2.1.2 パラメータ

どのIDOCファイルを呼び出すかを指定するには、docLoadResourceIncludes関数で次のパラメータを使用します。

- dDocNameとdIDのいずれかを定義する必要があります。両方のパラメータをいっしょに使用することはやめてください。

- dDocNameを定義する場合は、RevisionSelectionMethodをLatestまたはLatestReleasedに定義する必要があります。

- dIDを定義する場合は、RevisionSelectionMethodを定義しないでください。あるいは、RevisionSelectionMethodをSpecificに定義します。

パラメータ

説明

dDocName

IDOCファイルのコンテンツIDを指定します。

このパラメータは、コンテンツIDの値がわかっているときには常に存在している必要があります。エラー・メッセージは、フォームなど、他の機能と同様に、これが存在しているという想定に基づいています。

dID

IDOCファイルの特定のリビジョンの一意のID番号を指定します。

RevisionSelectionMethod

このIDOCファイルのいずれのリビジョンを使用するかを指定します。

- Latest: 最後にチェックインされたリビジョンのドキュメントが使用されます(ワークフロー内のリビジョンを含みます)。

- LatestReleased: 最後にリリースされたリビジョンのドキュメントが使用されます。

- Specific: dIDを使用した場合にのみ使用します。

Rendition

このIDOCファイルのいずれのレンディションを使用するかを指定します。

- Primary: プライマリ(ネイティブ)ファイル。これは、Renditionの値が指定されていない場合に有効となるデフォルト値です。

- Web: Web表示可能ファイル。

- Alternate: 代替ファイル。

7.2.2.2 executeService関数

executeService関数は、動的サーバー・ページ内からコンテンツ・サーバーのサービスを実行します。次に例を示します。

HCSTファイル: <$executeService("GET_SEARCH_RESULTS")$>

HCSPファイルまたはHCSFファイル: <!--$executeService("GET_SEARCH_RESULTS")-->

- executeService関数でコールできるサービスは、パラメータ入力が必要でないという意味で、「スクリプト可能」である必要があります。

- スクリプト可能なサービスのアクセス・レベルは32以上です。詳細は、第25章「環境へのWebCenter Contentの統合のスタート・ガイド」を参照してください。

- コンテンツ・サーバーの標準的なサービスについては、IdcHomeDir/resources/core/tables/std_services.htmファイルを参照してください。

- executeService関数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

- サービスの詳細は、第25章「環境へのWebCenter Contentの統合のスタート・ガイド」を参照してください。

パフォーマンスに関するヒント:

サービスの使用は控えめにしてください。ページ上でサービス・コールが多すぎると、パフォーマンスが影響を受けたり、スケーラビリティが制限される場合があります。

7.2.3 開発に関する推奨事項

動的サーバー・ページの開発を支援するための次の推奨事項には、一般的なガイドラインとHCSFのガイドラインが含まれています。

7.2.3.1 一般的なガイドライン

次の推奨事項は、すべてのタイプの動的サーバー・ページの開発に当てはまります。

- テンプレートは、できるだけ簡略でコードのないものにします。テンプレートはHTMLインクルードのみにして、コードと条件はすべてIDOCファイルに入れるようにします。これが特に役立つのはHCSFページで、そこでは、送信されたフォームも、IDOCファイルに対する変更に反映されます。

- Oracle WebCenter Content Serverのインスタンスをカスタマイズする場合は常に、開発作業を本番システムから切り離してください。動的サーバー・ページを頻繁に改定すると、廃止されるコンテンツ・アイテムが大量に発生する場合があることを頭に入れてください。本番インスタンスにデプロイする前に、開発システムでできるだけ多くの作業を済ませてください。また、古くなったページを定期的に削除することをお薦めします。

- 動的サーバー・ページを使用してWebサイトを開発するときには、開発プロセスとコントリビューション・プロセスを、所有の観点で考えます。

- 構造(サイトの設計とナビゲーションを含む)は、Webマスターが所有しています。動的サーバー・ページを使用するときには、構造は、IDOCファイルに定義されているインクルードに含まれており、そのインクルードとともに制御されます。

- コンテンツ、すなわちWebページの実際のテキストは、コントリビュータが所有しています。動的サーバー・ページを使用するときには、コンテンツは主として、IDOCファイル内のインクルードを利用するHCSPファイルに含まれています。

- 一貫性のある命名規則を使用します。たとえば、「システム」レベルのインクルードの場合は、IDOCファイルにsystem_std_pageという名前を付け、そのファイル内の各インクルードに、system_を接頭辞とする名前を付けることができます。こうすると、インクルードを見つけやすくなります。

- 動的サーバー・ページのタイプごとにコンテンツ・タイプを作成することをお薦めします(HCSF_templatesやsubmitted_formsなど)。

- 優れたコーディング手法に従って、動的サーバー・ページに常にコメントを入れて、カスタマイズの記録を残してください。

7.2.3.2 HCSFガイドライン

次の推奨事項は、HCSFページの開発にのみ当てはまります。

- フォームを設計する際には、テンプレートがどのように使用されるかを検討してください。

- このテンプレートは、フォームを送信するユーザーのロールに応じて変わるか

- 送信されたコンテンツは、重要なワークフローに入るか

- どのようなデフォルトのメタデータ値を設定するか

- 複数のライン入力に対するResultSetがフォームに含まれるか

- フォームのパラメータがWebブラウザからWebサーバーに渡され、コンテンツ・サーバーを通じてフィルタリングされてWebブラウザに戻されるときに、そのパラメータが表示されるようにするには、次のようにして、インクルード・コードのmethod属性をPOSTからGETに変更します。

<form name="<$formName$>" method="GET" action="<$HttpCgiPath$>">

- DataScriptというフォーム・フィールドを、送信されているフォームに追加した場合、その値に対するIdocスクリプトがあれば、コンテンツ・サーバーがフォームを処理するときにそのスクリプトを評価します。

7.2.4 HCSFページ

コンテンツ・サーバーのテンプレートおよびHTMLフォームに対する標準的な書式設定ルールを遵守することに加えて、HCSFページでは、コンテンツ・サーバーによる処理を可能とする特殊なセクションとタグがいくつか必要です。これらの特殊セクションは、通常のHCSFファイルでは次の順序で表示されます。

1. ロード・セクション

2. データ・セクション

3. フォーム・セクション

完全なHCSFページの例は、第7.1.1.4項「HCSFファイル」を参照してください。

7.2.4.1 ロード・セクション

HCSFページの先頭にあるロード・セクションでは、ファイルをHTMLファイルとして宣言し、IDOCファイルをロードして、ページに関する他の情報をロードします。例7-5は、一般的なロード・セクションを示しています。

例7-5 HCSFページのロード・セクション

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<!--$docLoadResourceIncludes("dDocName=my_idoc_page&amp;RevisionSelectionMethod=Latest")-->
<meta NAME="idctype" CONTENT="form; version=1.0">
<!--$defaultPageTitle="Department News Form"-->
<!--$include std_html_head_declarations-->
</head>

ロード・セクションには、次の3つのアイテムがあります。

- HTML宣言

- docLoadResourceIncludes関数

- meta要素

- 変数とインクルード

7.2.4.1.1 HTML宣言

HTML宣言では、次の構文でファイルをHTMLファイルとして指定しています。

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">

7.2.4.1.2 docLoadResourceIncludes関数

docLoadResourceIncludes関数では、現在のページのアセンブルに使用できるように、指定されたIDOCファイルからすべてのインクルードがロードされます。詳細は、第7.2.4.1.2項「docLoadResourceIncludes関数」を参照してください。

7.2.4.1.3 meta要素

meta要素は特別な種類のページを識別します。

- この要素は必要ではありません。

- meta要素は、HTMLファイルのHEADセクションの内側に配置する必要があります。

- metaタグには次の構文を使用します。

<meta NAME="idctype" CONTENT="form; version=1.0">

7.2.4.1.4 変数とインクルード

HCSFページのHEADセクションには、必要に応じて、変数定義とHTMLインクルードが含まれる場合があります。HEADセクションの中で、デフォルトのページ・タイトルを定義し、std_html_head_declarationsコードをロードする行を、例7-6に示します。

例7-6 HCSFページのHEADセクションにおける変数定義とインクルード

!--$defaultPageTitle="Department News Form"-->
<!--$include std_html_head_declarations-->

7.2.4.2 データ・セクション

HCSFページのデータ・セクションには、フォームの処理に使用されるルールおよびメタデータ情報が含まれます。データ・セクション内の情報とページの表示との間には、次のように緊密な関係があります。

- HCSFページがユーザーに配信された時点で、データ・セクション内の情報がDataBinderオブジェクトに解析され、フォーム・セクションにマージされます。

- フォームが送信された時点で、データ・セクション内の情報がリクエストとマージされ、データ・セクションに再び書き出されます。詳細は、第12章「データ・バインダ」および第12.1.3.1.1項「HDAファイル内の要素」を参照してください。

7.2.4.2.1 データ・セクションの構造

例7-7に示すように、データ・セクションは、Idocスクリプトのタグidcbegindataとidcenddataの間に配置されたXML要素で構成されます。

例7-7 HCSFページのデータ・セクション

<!--$idcbegindata-->
<idcformrules isFormFinished="0"/>
<model_number content="html">AB-123</model_number>
<revision>12</revision>
…
<!--$idcenddata-->

データ・セクションには次のルールが適用されます。

- データ・セクションは、HTMLファイルの、フォーム・セクションの先頭より前にある<BODY>セクションの内側に配置する必要があります。

- Idocスクリプトの変数定義とインクルードは、データ・セクションの中ではなく、前後に配置します。

- データ・セクションで使用されるXML要素のタイプは、次の2つです。

- idcformrules要素

- メタデータ要素

- データ・セクションでは、次のタイプの書式設定を使用することもできます。

- ネストされた要素

- XML要素の参照

- フォーム要素

- ResultSet

7.2.4.2.2 idcformrules要素

idcformrules要素では、データ・セクションにおけるコンテンツ・サーバーのルールを定義します。この要素では、isFormFinishedとresultsetsのいずれか1つの属性が必要です。

- IsFormFinished属性: isFormFinished属性は、フォームを再送信できるかどうかを示します。

- フォームを再送信可能と指定する場合は、次の属性値を使用します。

<idcformrules isFormFinished="0"/>

- フォームを再送信不可能と指定する場合は、次の属性値を使用します。

<idcformrules isFormFinished="1"/>

このコードでは、読取り専用のフォームになります。

- resultsets属性: resultsets属性は、データ・セクション内のいずれのXML要素がResultSetと解釈されるかを示します。

- この属性では、1つ以上のXMLタグ名をカンマで区切って指定します。次に例を示します。

<idcformrules resultsets="volume,chapter">

- ユーザーへのHCSFページの配信中に、コアのコンテンツ・サーバーがresultsets属性を読み取り、必要に応じて、指定した名前を持つ空のResultSetをDataBinderオブジェクトに配置して、マージに利用できるようにします。
データ・セクションにおけるResultSetの書式設定の詳細は、第7.2.4.2.7項「ResultSet」を参照してください。

7.2.4.2.3 メタデータ要素

メタデータ要素では、ブラウザにフォームを表示するときにフォーム・フィールドに表示されるメタデータ値を指定します。次に例を示します。

<model_number>AB-123</model_number>

各メタデータ要素には、その要素にどのタイプのコンテンツが含まれるかを示すcontent属性を割り当てることができます。次に例を示します。

<model_number content="html">AB-123</model_number>

- content属性の値としては、htmlとtextのいずれかが可能です。textは、この要素のコンテンツを、厳密にテキストと解釈することを示します。htmlは、この要素のコンテンツをHTMLと解釈することを示します。

- メタデータ要素にcontent属性が指定されていない場合は、デフォルトでhtmlが設定されます。

7.2.4.2.4 ネストされた要素

データ・セクション内でネストされたXML要素(ノードともいう)を使用できます。例7-8は、<chapter>要素内でネストされた<section>要素を示しています。

例7-8 データ・セクション内でネストされたXMLタグ

<chapter title="Chapter 1">
This is the beginning of the chapter.
<section title="First Section">
This is the first section of the chapter.
</section>
</chapter>

7.2.4.2.5 XML要素の参照

ネストされたXML要素を参照するには、ルートレベルの要素から始め、要素レベルの間に感嘆符(!)を使用します。次に例を示します。

chapter!section

任意の要素の属性を参照するには、タグ名の後ろにコロン(:)を使用します。次に例を示します。

chapter!section:title

- データ・セクション内の要素を参照する場合は、次の文のいずれかが真の場合にのみ、フォームの送信時に要素の値を元のデータ・セクションにマージできます。

- root要素がすでに、データ領域で参照されています。

- root要素が、ExtraRootNodesフォーム要素内で参照されています。

- タグの接頭辞部分が、resultsetsフォーム要素内のResultSetとして参照されています。

- デフォルト値は、タグ・パスに:default接尾辞を適用することによって指定できます。デフォルトの要素には、後で評価できるように、Idocスクリプトが含まれている場合もあります。例7-9に、dDocTitleのデフォルト値を指定するための書式を示します。

例7-9 メタデータのデフォルト値の指定

<input type=hidden name="dDocTitle:default" value="<$'MyTitle ' & dateCurrent()$>">0

7.2.4.2.6 フォーム要素

- ExtraRootNodesフォーム要素を使用すると、フォームのデータ・セクション内のタグを指定するのではなく、Idocスクリプトの変数を作成してそれにタグ名を付加することによってタグを追加できます。フォームの最後で、ExtraRootNodesの値に文字列の値を代入して、元のデータ・セクションにマージできます。

- resultsetsフォーム要素を使用すると、データ・セクション内のResultSetを指定するのではなく、ResultSetとしてタグを追加できます。

- ExtraRootNodesフォーム要素とResultSetフォーム要素では、カンマで区切られたタグのリストを使用します。

idcformrules resultsets属性にmychapters!chapter要素がまだ定義されていない場合に、有効なResultSetとしてそれを追加するフォーム要素を、例7-10に示します。また、必要に応じて、ルート要素mychaptersも追加されます。

例7-10 ResultSetに要素を追加するフォーム要素

<input type=hidden name="resultsets" value="mychapters!chapter">
<input type=hidden name="ExtraRootNodes" value="mychapters">

7.2.4.2.7 ResultSet

次のように、HCSFページのデータ・セクション内のXML要素を使用して、ResultSetを定義できます。

- idcformrules要素のresultsets属性を使用して、ResultSetを指定する必要があります。

- 要素名は完全修飾されている必要があり、ルート・ノードからの参照のフルパスを使用する必要があります。

- ResultSetの列は、要素コンテンツおよび要素属性です。

ResultSetでのXML要素の繰返しとネストに対する制限については、例7-13と例7-15を参照してください。

例7-11は、volumeとchapterという2つのResultSetを定義するXML要素を示しています。

例7-11 HCSFページのデータ・セクションにおけるResultSetを定義するためのXML要素

<idcformrules resultsets="volume,chapter">
<volume title="First Volume">
Volume content here
</volume>
<chapter title="First Chapter">
Chapter content here
</chapter>

このコードでは、それぞれ2つの列を持つ2つのResultSetに評価されます。例7-12は、これらのResultSetを示しています。

例7-12 XML要素で定義されたResultSet

@ResultSet volume
2
volume
volume:title
Volume content here
First Volume
@end
@ResultSet chapter
2
chapter
chapter:title
Chapter content here
First Chapter
@end

データ・セクションでは、ResultSetに対して繰り返された要素を使用できます。繰り返された要素は通常、コードをループ処理してResultSetを作成する場合に役立ちます。

繰り返された要素は、ResultSetの一部でないかぎり許可されません。

例7-13は、chapter ResultSetのためにchapter要素がどのように繰り返されるかを示しています。

例7-13 ResultSetのために繰り返された要素

<idcformrules resultsets="chapter">
<chapter title="First Chapter">
Some content here
</chapter>
<chapter title="Second Chapter">
More content here
</chapter>

このコードでは、2つの列と2つの行を持つResultSetに評価されます。例7-14は、このResultSetを示しています。

例7-14 繰り返された要素で作成されたResultSet

@ResultSet chapter
2
chapter
chapter:title
Some content here
First Chapter
More content here
Second Chapter
@end

ResultSetにはネストされた要素があってかまいませんが、例7-15に示すように、ネストされた要素を親要素内で繰り返すことはできません。この例に示したコードでは、最初の<chapter>要素内で<section>要素を追加しようとしても許可されません。

例7-15 ResultSetのために繰り返されたネスト済要素

<idcformrules resultsets="chapter">
<chapter title="First Chapter">
Some content here
<section title="First Section of First Chapter">
Section content
</section>
</chapter>
<chapter title="Second Chapter">
More content here
</chapter>

例7-16に示すように、このコードでは、4つの列と4つの行を持ち、最後の2つのセルが空白のResultSetに評価されます。

例7-16 繰り返されたネスト済要素で作成されたResultSet

@ResultSet chapter
4
chapter
chapter:title
chapter!section
chapter!section:title
Some content here
First Chapter
Section Content
First Section of First Chapter
More content here
Second Chapter

@end

ResultSetの編集には、次のガイドラインが適用されます。

- ResultSet内の特定の行を更新するには、リクエスト・パラメータでResultSetの行番号を指定する必要があります。シャープ記号(#)がコンテンツ・サーバーによって使用され、特定の行を示します。#文字を使用して行を指定しない場合は、行が付加されます。まだ存在していない行番号を指定した場合は、十分な空の行が追加されて、編集対象となる行が提供されます。
例7-17は、ResultSetの最初の行(行0)を更新する方法を示しています。

例7-17 ResultSetでの行の要素

<input type="text" name="comment#0"
value="new comment">
<input type="text" name="comment!title#0"
value="new title"

- 感嘆符(!)を使用して、ResultSetに新規の行を挿入します。
たとえば、comment ResultSetに作成者とタイトルのフィールドを挿入するには、入力フィールドにcomment!authorとcomment!titleという名前を付けることができます。これらのフィールドがResultSetにまだない場合は、フォームの送信時に追加されます。

- ResultSetから行を削除するには、例7-18に示すように、すべてのフィールド値を空にして、空白となるようにします。

例7-18 ResultSetからの最初の行の削除

<input type="hidden" name="comment#0" value="">
<input type="hidden" name="comment!title#0" value="">
<input type="hidden" name="comment!date#0" value="">
<input type="hidden" name="comment!author#0" value="">

ResultSetから行を削除するための別の方法としては、DeleteRowsフォーム要素を、ResultSet名と行番号のカンマで区切られたペアのリストに設定します。たとえば、comment ResultSetから行2を削除し、book ResultSetから行5を削除するには、DeleteRowsフォーム要素を次のコンマで区切られたペアに設定します。

comment:2,book:5

7.2.4.3 フォーム・セクション

フォーム・セクションには、HTMLフォーム要素の表示など、ページに必要な機能のためのコードが含まれます。アセンブルされたWebページのフォーマットを制御するために、HTML表内に、フォーム・プロパティ、フォーム・フィールドおよびフォーム・ボタンが配置されます。

コードの例は、第7.6.1項「フォームの共通コード」を参照してください。

7.2.4.3.1 フォームの先頭

例7-19に示すように、フォーム・セクションの先頭は、2行のIdocスクリプトです。

例7-19 フォーム・セクションを開始するためのIdocスクリプト

<!--$formName="HTMLForm"-->
<!--$include std_html_form_submit_start-->

the std_page.idocリソース・ファイルのstd_html_form_submit_startインクルードには、POSTメソッドを使用して標準的なHTMLフォームを作成し、IdcServiceの値をSUBMIT_HTML_FORMに設定して、dID変数を現在のHCSFページの値に設定するためのコードが含まれます。例7-20は、このコードを示しています。

例7-20 HCSFページの標準的なHTMLフォーム

<form name="<$formName$>" method="POST"action="<$HttpCgiPath$>">7
<input type=hidden name="IdcService"value="SUBMIT_HTML_FORM">
<input type=hidden name="dID" value="<$SourceID$>">

7.2.4.3.2 フォーム・プロパティ

フォーム表は通常、プロパティの定義で始まります。この定義とは、フォーム・フィールドとしてフォームを作成し、そのフィールドを編集可能にして、フィールド・キャプション領域のサイズを設定するものです。例7-21は、これらのプロパティ定義を示しています。

例7-21 フォーム表のフィールド・プロパティ定義

<!--$isFormSubmit=1,isEditMode=1-->
<!--$captionFieldWidth=200, captionEntryWidth=80-->

7.2.4.3.3 フォーム・フィールド

例7-22に示すように、それぞれの入力フィールドを作成するには通常、数行のコードが使用されます。

例7-22 フォーム上に入力フィールドを作成するためのコード

<!--$eval("<$product_name:maxLength=250$>")-->
<!--$fieldName="model", fieldCaption="Model Number"-->
<!--$include std_display_field-->

注意:

表示が適切に行われるようにするために、追加のコードが必要となるフィールドもあります。たとえば、テキスト領域のサイズを増やすために、標準的なstd_memo_entryインクルードのオーバーライドが必要になる場合があります。そのためには、次のように、IDOCファイルにカスタム・インクルードを定義します。

<@dynamicalhtml std_memo_entry@>
<textarea name="<$fieldName$>" rows=15 cols=50 wrap=virtual><$fieldValue$></textarea>
<@end@>

- DataScript: DataScriptというフォーム・フィールドを、送信されているフォームに追加した場合、その値に対するIdocスクリプトがあれば、コンテンツ・サーバーがフォームを処理するときにそのスクリプトを評価します。
(HCSPフォーム内のデータ・アイランドから生成された)表が2つあり、1つの表の中にあるエントリがもう1つの表の中のエントリを参照しています。最初の表の行を更新するときに、2番目の表の特定の列および行の値を変更することが目標です。この値変更を行うために、例7-23に示すように、Idocスクリプトを使用し、JavaScriptを記述してDataScriptの値を設定できます。

例7-23 表の行を更新するときの、別の表のフィールド値の変更

modifyRowAndColumn(row, column, value)
{
document.myform.DataScript = "<$setValue('#local', 'table2!'"+ column + "#'"+ row +
"','" + value + "')$>";
}

次に、更新フォームの送信中に、column = "myColumn"、row="1"、value = "Test"とした関数をコールすると、送信前のDataScript値は次のようになります。

DataScript.value = <$setValue('#local', 'table2!myColumn#1', 'Test')$>

フォームが送信された後、表table2の行1の列table2!myColumnが更新されて、値Testが反映されます。

DataScriptを使用すると、データ・アイランドにある他のエントリを、その名前を参照するHTMLフォーム・フィールドを実際に作成しなくても、自由に編集できると言うこともできます。

7.2.4.3.4 フォームのボタン

フォームの送信ボタンとリセット・ボタンを作成するには通常、2行のコードが使用されます。例7-24は、これらの行を示しています。

例7-24 フォームの送信ボタンとリセット・ボタンを作成するためのコード

<input type=submit name=Submit value=" Submit ">
<input type=reset name=Reset value="Reset">

7.2.4.3.5 フォームの末尾

フォーム要素とデフォルト値がすべて定義された後、</form>タグでフォームを終了する必要があります。

7.3 動的サーバー・ページ用のカスタム・インクルードを含むIDOCファイルの作成

動的サーバー・ページが相互に連携することによって、コンテンツ・サーバーの動作を変更することができます。動的サーバー・ページを作成できるようにするには、参照するページ用のカスタム・インクルードを含むIDOCファイルを作成しておく必要があります。

動的サーバー・ページ用のカスタム・インクルードを含むIDOCファイルを作成する手順は次のとおりです。

1. 例7-25に示すフォーマットで、カスタム・インクルードを含むIDOCファイルを作成します。

例7-25 カスタム・インクルード

<@dynamichtml HelloWorld@>
<H1>Hello World/<H1>
<@end@>

この例では、最初のインクルードはHelloWorldと名付けられ、2番目のインクルードでは、HTMLコードを1行定義しています。

2. 拡張子を.idocとしてこのファイルを保存します(例、helloworld.idoc)。

3. このIDOCファイルをコンテンツ・サーバーにチェックインします。このとき、helloworldのように、別のファイルから参照できるコンテンツIDを指定します。

このIDOCファイルは、参照元のいずれのHCS*ページでも利用可能です。

7.4 HCSTページの作成

HCSTファイルでIDOCファイルを参照することによって、HCST動的サーバー・ページを作成できます。

HCSTページを作成する手順は次のとおりです。

1. 例7-26に示すHCSTファイルのような、IDOCファイル内のインクルードを参照するHCSTファイルを作成します。

例7-26 カスタム・インクルードを参照するHCSTファイル

<HTML>
<HEAD>
<$docLoadResourceIncludes("dDocName=helloworld&RevisionSelectionMethod=LatestReleased")$>
</HEAD>
<BODY>
You should see it:
<$include HelloWorld$>
</BODY>
</HTML>

この例では、<HEAD>タグの後の行によってhelloworld.idocファイルがロードされ、IDOCファイル内のインクルードがこのHCSTページで利用可能となります。<BODY>タグの後の2番目の行によって、helloworld.idocファイルのHelloWorldインクルードのコードが表示されます。Idocスクリプトの標準的なタグ<$...$>が使用されていることに注意してください。

2. 拡張子を.hcstとしてこのファイルを保存します(例: helloworld.hcst)。

3. HCSTファイルをコンテンツ・サーバーにチェックインします。

7.5 HCSPページの作成

HCSPファイルでIDOCファイルを参照することによって、HCSP動的サーバー・ページを作成できます。

HCSPページを作成する手順は次のとおりです。

1. 例7-27に示すHCSPファイルのような、IDOCファイル内のインクルードを参照するHCSPファイルを作成します。

例7-27 カスタム・インクルードを参照するHCSPファイル

<HTML>
<HEAD>
<!--$docLoadResourceIncludes("dDocName=helloworld&amp;RevisionSelectionMethod=LatestReleased")-->
</HEAD>
<BODY>
You should see it:

<!--$include HelloWorld-->
</BODY>
</HTML>

この例では、<HEAD>タグの後の行によってhelloworld.idocファイルがロードされ、IDOCファイル内のインクルードがこのHCSPページで利用可能となります。<BODY>タグの後の2番目の行によって、helloworld.idocファイルのHelloWorldインクルードのコードが表示されます。HTMLコメント・タグ<!--...-->が使用されていることに注意してください。

2. 拡張子を.hcspとしてこのファイルを保存します(例: helloworld.hcsp)。

3. HCSPファイルをコンテンツ・サーバーにチェックインします。

7.6 HCSFページの作成

一般的なHCSFページとそれに関連付けられたIDOCファイルを例7-28に示します。この例では、ユーザーが記入して送信し、コンテンツ・アイテムとして製品の説明を入力できるフォームを作成します。

HCSFページを作成する手順は次のとおりです。

1. 例7-28に示すように、form_std_pageというIDOCファイルを参照するHCSFファイルを作成します。

例7-28 HCSFファイル内の製品の説明フォーム

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<!--$docLoadResourceIncludes("dDocName=form_std_page&amp;
RevisionSelectionMethod=Latest")-->

<head>
<meta NAME="idctype' CONTENT="form; version=1.0">

<!--$include form_head_section-->

</head>

<!--$include form_pre_xml_section-->

<!--$idcbegindata-->
<idcformrules isFormFinished="0"/>
<product_name content="html">

</product_name?
<model_number content="html">
SC-
</model_number>
<summary_description>
Enter a summary here.
</summary_description>
<full_description>
Enter a full description here.
</full_description>
<author>
<division>
Household Products
</division>
<revision>

</revision>
<!--$idcenddata-->

<!--$include form_post_xml_section-->

</body>
</html>

この例では、htmlタグの後の行によって、form_std_pageをコンテンツIDとするIDOCファイルがロードされ、IDOCファイル内のインクルードがこのHCSFページで利用可能となります。

form_std_page IDOCファイルに定義されている、metaタグの後の2つのインクルードによって、Webページの先頭にコードが生成されます。

idcformrulesタグのisFormFinished属性によって、フォームが未完成であることがコンテンツ・サーバーに伝えられるため、フィールドを編集してフォームを送信できます。

タグごとにcontentプロパティを設定する必要はなく、デフォルトでhtmlが設定されます。

idcbegindataタグとidcenddataタグによってXMLタグ付き領域が定義され、それによって、フォームのルールおよび初期メタデータが指定されます。

XMLタグの各セットのテキストが、フォーム上の対応するフィールドに入力されます。

form_std_page IDOCファイルに定義されている、この例の最後のインクルードによって、Webページの末尾にコードが生成されます。

2. product_form.hcsfとしてこのファイルを保存します。

3. HCSFファイルをコンテンツ・サーバーにチェックインします。

4. 例7-29に示すように、カスタム・インクルードを含むIDOCファイルを作成します。

例7-29 カスタム・インクルードを含むIDOCファイル

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<body>

<@dynamichtml form_head_section@>
<!--standard includes for a standard hcsp page-->
<$defaultPageTitle="Product Description Form"$>
$include std_html_head_declarations$>
<@end@>

<@dynamichtml form_pre_xml_section@>
<!--This code is here for static viewing.-->
<$if 0$>
<body>
<$endif$>

<$include body_def$>
<@end@>

<@dynamichtml form_post_xml_section@>

<$include std_page_begin$>
<$include std_header$>

<$formName="HTMLForm"$>
<$include std_html_form_submit_start$>

<table>

<$if strEquals(ref:dExtension,"hcsf"))$>
<$isHcsf=1$>
<$else$>
<$isHcsp=1$>
<$endif$>

<$if isHcsf$>
<$isFormSubmit=1,isEditMode=1$>
<$endif$>

<$captionFieldWidth=150, captionEntryWidth=200$>

<$eval("<$product_name:maxLength=250$>")$>
<$fieldName="product_name", fieldCaption="Product Name"$>
<$if isHcsp$><isInfoOnly=1$><$endif$>
<$include std_display_field$>

<$eval("<$model_number:maxLngth=250$>")$>
<$fieldName="model_number", fieldCaption="Model Number"$>
<$if isHcsp$><$isInfoOnly=1$><$endif$>
<$include std_display_field$>

<$fieldName="summary_description",
fieldCaption="Summary Description",
fieldType="Memo"$>
<$if isHcsp$><$isInfoOnly=1$><$endif$>
<$include std_display_field$>

<fieldName="full_descripton",
fieldCaption="Full Description",
fieldType="Memo"$>
<$if isHcsp$><$isInfoOnly=1$><$endif$>
<$include std_display_field$>

<$eval("<$author:maxLength=250$>")$>
<$fieldName="author", fieldCaption="Author"$>
<$if isHcsp$><$isInfoOnly=1$><$endif$>
<$include std_display_field$>

<$eval("<$division:maxLength=250$>")$>
<$fieldName="division", fieldCaption="Division"$>
<$if isHcsp$><$isInfoOnly=1$><$endif$>
<$include std_display_field$>

<$eval("<$revision:maxLength=250$>")$>
<$fieldName="revision", fieldCaption="Revision"$>
<$if isHcsp$><$isInfoOnly=1$><$endif$>
<$include std_display_field$>

<tr>
<td colspand=2><hr></td>
</tr>
<tr>align=center>
<td colspan=2>
<$if isHcsf$>
<input type=submit name=Submit value=" Submit ">
<input type=reset name=Reset Value="Reset">
<$endif$>
<input type=hidden name="dDocTitle:default"
value="<$"Product Description  " & dateCurrent()$>">
</td>
</tr>
</table>
</form>
<$include std_page_end$>

<@end@>

</body>
</html>

この例では、form_head_sectionインクルードによって、ページ・タイトルと、(std_page.htmリソース・ファイル内のstd_html_head_declarationsインクルードを参照する)HTMLの標準的なheadセクションのコードが定義されます。

form_pre_xml_sectionインクルードによって、ページが静的に表示できるようになり、(std_page.htmリソース・ファイル内のbody_defインクルードを参照する)コンテンツ・サーバーの標準的なWebページのコードが定義されます。

form_post_xml_sectionインクルードでは、フォーム・フィールドが定義されます。std_page.htmリソース・ファイルに定義されている、std_page_beginインクルードとstd_headerインクルードによって、コンテンツ・サーバーの標準的なWebページのコードが定義されます。これらのインクルードの後の2行によって、フォーム名と、(std_page.htmファイル内のstd_htm_form_submit_startインクルードを参照する)HTMLの標準的なフォームのコードが定義されます。

tableタグの後の条件では、これが送信済の編集可能なフォームまたはページであるかが、ファイル名の拡張子に基づいて判別されます。これが編集可能なページ(isHcsf=1)の場合は、次の条件によって、フィールドをフォーム・フィールドとして作成して編集可能にする変数が設定されます。条件の後の行では、フィールド・キャプションの表セルの幅が150ピクセルに設定され、入力フィールドの表セルの幅が200ピクセルに設定されています。

eval関数では、テキスト・フィールドの最大長が250文字に設定されています。

fieldNameタグでは、フィールドの名前、キャプションおよびタイプが定義されます。fieldTypeが定義されていない場合は、デフォルトでTextが設定されます。

これが送信済のフォーム(isHcsp=1)の場合は、if isHcsp条件によって、フォーム・フィールドを読取り専用にする変数に設定されます。

std_page.htmリソース・ファイルに定義されているstd_display_fieldインクルードによって、フォーム・フィールドを作成するコードが定義されます。

これが編集可能なフォーム(isHcsf=1)の場合は、if isHcsf条件によって、「送信」ボタンと「リセット」ボタンが作成されます。

if isHcsf条件の後の行では、ドキュメント・タイトル(dDocTitle)が自動的に生成されます。

std_page.htmリソース・ファイルに定義されているstd_page_endインクルードによって、Webページの末尾にコードが生成されます。

5. form_std_page.idocとしてこのファイルを保存します。

6. このIDOCファイルをコンテンツ・サーバーにチェックインします。このとき、コンテンツIDをform_std_pageに指定します。(これは、HCSFページによって参照される名前です。)

7. コンテンツ・サーバーでHCSFコンテンツ・アイテムを検索します。

8. フォームを表示するためのリンクをクリックして、WebブラウザにHCSFページを作成します。フォームは、図7-2のサンプルのようになります。

図7-2 Webブラウザに表示するHCSFページを作成するためのフォーム

9. サンプルの値をいくつか使用してフォームに記入し、「送信」をクリックします。
HCSPページとしてコンテンツ・アイテムが作成されます。

10. コンテンツ・サーバーでHCSPページを検索します。

11. WebブラウザにHCSPページを表示するためのリンクをクリックします。図7-3は、ページがどのように表示されるかを示しています。

図7-3 HCSPページ

7.6.1 フォームの共通コード

HCSFページおよび関連付けられているIDOCファイルで広く使用されている機能は次のとおりです。

- ファイル情報の取得

- ファイル拡張子の参照

- フォーム情報の定義

- フォーム・フィールドの定義

- 非表示フィールドの定義

- フォームの送信

7.6.1.1 ファイル情報の取得

DOC_INFO_SIMPLEサービスを実行すると、特定のファイルのメタデータがページで利用可能になります。例7-30は、このサービスを実行するためのIdocスクリプトを示しています。

例7-30 メタデータを取得するためのIdocスクリプト

<$dID=SourceID$>
<$executeService("DOC_INFO_SIMPLE")$>

7.6.1.2 ファイル拡張子の参照

例7-31に示すように、フォームのif文でファイル拡張子を参照して、フォームが送信済(.hcspファイル)か未送信(.hcsfファイル)かを判別できます。

例7-31 ファイル拡張子を参照するための文

<$if (strEquals(ref:dExtension,"hcsf"))$>
<$isHcsf=1$>
<$else$>
<$isHcsp=1$>
<$endif$>

ref:接頭辞については、第7.2.1.4項「メタデータの参照」を参照してください。

7.6.1.3 フォーム情報の定義

例7-32に示すように、2行のコードによって、フォーム名と、HTMLフォームを開始するための標準的なインクルードが定義されます。

例7-32 HTMLフォームの名前と標準的なインクルード

<$formName="HTMLForm"$>
<$include std_html_form_submit_start$>

例7-33は、フォーム・プロパティを定義するための一般的なコードを示しています。

例7-33 フォーム・プロパティ

<table border=0 width=100%>
<$isEditMode=1,isFormSubmit=1$>
<$captionFieldWidth="25%", captionEntryWidth="75%"$>

7.6.1.4 フォーム・フィールドの定義

例7-34に示すように、フォーム・フィールドを表示するには、標準的なIdocスクリプト変数とstd_display_fieldインクルードを使用します。

例7-34 フォーム・フィールドを表示するための標準的なIdocスクリプト

<$fieldName="news_author",fieldDefault=dUser,fieldCaption="Author",isRequired=1,requiredMsg = "Please specify the author."$>
<$include std_display_field$>

フィールドが正しく表示されるようにするために、追加のコードが必要となるフィールドもあります。たとえば、メモの標準的なテキスト領域は縦が3行、横が40列ですが、テキスト領域のサイズを増やすために、標準的なインクルードを無効にすることが必要になる場合があります。例7-35は、標準的なstd_memo_entryインクルードを示しています。

例7-35 メモ・フィールドの標準的なインクルード

<@dynamichtml std_memo_entry@>
<textarea name="<$fieldName$>" rows=3 cols=40 wrap=virtual> <$fieldValue$></textarea>
<@end@>

指定したサイズ(この場合は、縦が15行、横が50列)にテキスト領域を増やすために、カスタムstd_memo_entryインクルードを使用する方法を、例7-36に示します。

例7-36 メモ・フィールドのカスタム・インクルード

<@dynamichtml std_memo_entry@>
<textarea name=<$fieldName$> rows=15 cols=50 wrap=virtual><$fieldValue$></textarea>
<@end@>

7.6.1.5 非表示フィールドの定義

コントリビュータが変更できない非表示フィールドを定義することによって、送信されたフォーム(HCSP)のメタデータを指定できます。たとえば、次のコードでは、送信された各フォームにドキュメント・タイプNews_Formsが割り当てられます。

<input type=hidden name="dDocType" value="News_Forms">

次のコードでは、送信されたフォームのセキュリティ・グループが指定されます。

<input type=hidden name="dSecurityGroup" value="Public">

7.6.1.6 フォームの送信

フォームの送信時に、Java関数をコールして追加の検証または処理を実行することもできます。次に例を示します。

<input type=button name=Submit value="Save" onClick="postCheckIn(this.form)">

7.7 HCST、HCSP、HCSFの各ページのWebブラウザでの表示の確認

HCST、HCSP、HCSFいずれかのファイルを保存した後で、例7-37に示すように、Webブラウザでのページ表示を確認できます。

例7-37 HCSTページとHCSPページの表示

1. コンテンツ・サーバーでhelloworldコンテンツ・アイテムを検索します。

2. WebブラウザにHCSTファイルとHCSPファイルを表示します。両方とも、図7-4の例のようになります。

図7-4 Webブラウザに表示されるHelloWorldコンテンツ・アイテム

第IV部

コンテンツ・サーバーの機能の変更

この部では、Oracle WebCenter Content Serverの基本機能を変更する方法について説明します。

第IV部の構成は次のとおりです。

- 第8章「システム設定の変更」

- 第9章「構成情報の変更」

- 第10章「サービスのカスタマイズ」

- 第11章「アクション・メニューの生成」

8 システム設定の変更

この章では、Oracle WebCenter Content Serverの基本機能を変更する方法について説明します。

この章の内容は次のとおりです。

- 第8.1項「システム設定の変更について」

- 第8.2項「構成ページを使用したシステム設定の変更」

- 第8.3項「システム・プロパティ・アプリケーションを使用したシステム設定の変更」

- 第8.4項「Webレイアウト・エディタを使用したライブラリおよびシステム・ホーム・ページのカスタマイズ」

- 第8.5項「ユーザー管理アプリケーションを使用したユーザーのセキュリティおよびアカウントの定義」

この章で示している手順は、Oracle WebLogic Serverでシステム設定を変更するためのものです。Oracle WebCenter Contentは、IBM WebSphere Application Serverにデプロイすることもできます。詳細は、Oracle Fusion Middlewareサード・パーティ・アプリケーション・サーバー・ガイドを参照してください。

8.1 システム設定の変更について

コンテンツ・サーバーには、必要に応じてシステム全体の機能を変更するために設定可能な機能が数多く用意されています。たとえば、コンテンツ管理システム設定をカスタマイズするには、コンテンツ・サーバー内にある次の管理ツールが使用できます。

- 構成ページは、「管理」→「管理サーバー」メニュー・オプションからアクセス可能です。

- システム・プロパティ・ユーティリティ

- Webレイアウト・エディタ

- ユーザー管理アプリケーション

- その他の管理カスタマイズ
これらのツールを使用してシステム設定を変更することに加えて、別のやり方で他の設定を変更して自社のサイトのニーズを満たすことができます。

- 「管理アプレット」メニューから利用できるワークフロー管理ツールを使用して、ワークフローを設計、カスタマイズおよび実装できる

- 構成マネージャを使用して、新規のカスタム・メタデータ・フィールドを作成してデフォルト値を設定できる

- コンテンツ・プロファイルを使用して、カスタマイズされたアクション画面(チェックイン、検索、チェックアウトなど)を作成できる

8.2 構成ページを使用したシステム設定の変更

コンテンツ・サーバーは、コンテンツ・サーバーのシステム全体の設定を構成するときに使用できるWebページを提供します。これらのWebページのいずれかにアクセスするには、「管理」トレイまたはメニューから「管理サーバー」を選択し、メニュー・オプションの1つを選択します。

- コンポーネント・マネージャ

- 一般構成

- コンテンツ・セキュリティ

- インターネットの構成

構成ページでのシステム設定の変更方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のシステム・プロパティの構成に関する項を参照してください。

8.3 システム・プロパティ・アプリケーションを使用したシステム設定の変更

コンテンツのセキュリティ、インターネット設定、ローカライゼーションなどの設定について、Oracle WebCenter Contentのシステム全体の設定を構成する場合には、システム・プロパティ管理アプリケーションを使用します。システム・プロパティ・アプリケーションでは、次のオプションを設定できます。

- コンテンツ・サーバーのオプション機能

- コンテンツ・アイテムのセキュリティに関連するオプション

- インターネットおよびWebとの対話に関連するオプション

- JDBC接続性オプション

- タイムゾーンやIPフィルタなどの機能

- ローカライズ機能

- ディレクトリ・パス

Oracle WebCenter Contentのシステム・プロパティを設定するための主要なツールはアプリケーション・サーバーですが、目的によっては、システム・プロパティ・アプリケーションを使用する必要があります。これらのオプションを設定するには、管理レベルの権限は不要で、インスタンスがインストールされているディレクトリにアクセスするだけです。

システム・プロパティ・アプリケーションからのシステム設定の変更の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のスタンドアロン・モードでの管理アプリケーションの実行に関する項を参照してください。

8.4 Webレイアウト・エディタを使用したライブラリおよびシステム・ホーム・ページのカスタマイズ

ライブラリおよびシステム・ホーム(ポータル)ページのカスタマイズには、Webレイアウト・エディタを使用します。このエディタにアクセスするには、「管理アプレット」ページで「Webレイアウト・エディタ」をクリックします。Webレイアウト・エディタ内では、ライブラリ内のローカルWebページの構成を変更し、自社のサイトの新規ポータル・ページを構築できます。自社のローカル・サイトの外にあるWebサイトへのリンクを作成できます。

詳細は、付録B「Webサイトの構築」を参照してください。

8.5 ユーザー管理アプリケーションを使用したユーザーのセキュリティおよびアカウントの定義

ユーザー管理機能を使用して、自社のサイトのユーザーのセキュリティ・グループ、エイリアス、ロールおよびアカウントを定義できます。この画面にアクセスするには、「管理」トレイまたはメニューから「管理アプレット」を選択して、ユーザー・ページの管理アプレットで「ユーザー管理」をクリックします。この画面にあるオプションは、エイリアスの作成、セキュリティ・グループの権限の設定、ロールおよびそれらのロールに関連付けられている権限の確立、およびユーザーに関して格納されている情報のカスタマイズを行うために使用します。

詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のログインおよびエイリアスの管理に関する項を参照してください。

9 構成情報の変更

この章では、Idocスクリプトのカスタム・スクリプト言語を使用して、または他の開発ツールおよびテクノロジを使用して、Oracle WebCenter Content Serverの構成を変更する方法について説明します。

この章の内容は次のとおりです。

- 第9.1項「構成情報の変更について」

- 第9.2項「Idocスクリプトのカスタム・スクリプト言語を使用した構成の変更」

- 第9.3項「他の開発ツールおよびテクノロジを使用した構成の変更」

9.1 構成情報の変更について

構成情報は、コンテンツ・サーバーのサーバー側の専用スクリプト言語であるIdocスクリプトを使用して変更できます。Idocスクリプトを使用すると、変数を参照したり、条件付きでコンテンツをHTMLページに含めたり、問合せから返された結果をループ処理できます。Idocスクリプトは(クライアント側でなく)サーバー側で評価されるため、ページ要素が評価されるのは、ブラウザが要求してから、要求されたページがクライアントに返されるまでの間です。

高度なカスタマイズ、および他のビジネス・システムとの統合には、コンテンツ・サーバーでサポートされている、他の開発ツールおよびテクノロジを使用できます。

9.2 Idocスクリプトのカスタム・スクリプト言語を使用した構成の変更

Idocスクリプトは主に、次の状況で使用されます。

- インクルード・コードの場合、インクルードは、コンテンツ・サーバーWebページの作成に使用されるコードを定義します。これは、リソース・ファイル内で一度定義されたら、必要に応じてテンプレート・ファイルによって参照されます。インクルードは、コンテンツ・サーバーのWebサイトのほとんどすべてのページで使用されます。
既存のインクルードに対する例外を定義するスーパー・タグも使用できます。スーパー・タグはインクルードに対して、既存のインクルードで始め、指定されたコードを使用して、そのインクルードに追加するか、またはそのインクルードを変更するように指示します。

- 変数の場合は、変数を使用してコンテンツ・サーバーの動作をカスタマイズできます。変数の値は、config.cfgファイルなどの環境リソースに格納でき、コンテンツ・サーバーで事前設定されているものも数多くあります。独自のカスタム変数を定義することもできます。

- 関数の場合は、数多くの組込みグローバル関数がContent Serverで使用されています。これらによって、日付フォーマットや文字列比較などのアクションが実行されます。結果を返す関数もあれば、「プロファイル」ページにあるようなパーソナライズ機能に使用される関数もあります。

- 条件の場合は、コードをテストしたり、アセンブルされたWebページにコードを含めたり、アセンブルされたWebページからコードを除外する場合に、条件を使用できます。

- ループの場合は、Idocスクリプトを使用して利用できるループ処理には2つのタイプがあります。1つはResultSetループで、問合せから返されたResultSetの行ごとに、一連のコードが繰り返されます。もう1つはwhileループで、これは条件付きループです。

- 管理領域(ワークフローのカスタマイズ、Webレイアウト、アーカイバ、検索式など)において。

使用法、構文および構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

9.3 他の開発ツールおよびテクノロジを使用した構成の変更

高度なカスタマイズ、および他のビジネス・システムとの統合のために、コンテンツ・サーバーでは、次の開発ツールおよびテクノロジをサポートしています。

- VBScript

- ASP

- J++

- JavaScript

- ASP+

- J2EE

- Java

- JSP

- COM

- Visual Basic

- DreamWeaver

- .Net

- C++

- Visual InterDev

10 サービスのカスタマイズ

この章では、Oracle WebCenter Content Serverのサービスをカスタマイズする方法について説明します。

この章の内容は次のとおりです。

- 第10.1項「サービスのカスタマイズについて」

- 第10.2項「コンテンツ・サーバーと通信するためのサービスのカスタマイズ」

- 第10.3項「データベースにアクセスするためのサービスのカスタマイズ」

10.1 サービスのカスタマイズについて

コンテンツ・サーバーのサービスは、コンテンツ・サーバーにより実行される関数またはプロシージャです。コンテンツ・サーバーと通信したりデータベースにアクセスするには、コンテンツ・サーバーのサービスをコールする(サービス・リクエストを行う)ことが唯一の方法です。

いずれのサービスも、(コンテンツ・サーバーの外から)外部的にコールするか、(コンテンツ・サーバー内から)内部的にコールできます。クライアント・サービスは通常、外部的にコールされ、管理サービスは内部的にコールされます。サービスでは、サービスに渡された任意のパラメータに基づいて、サービス自体の属性、およびリクエストを実行するアクションを使用します。

コンテンツ・サーバーの標準的なサービスは、DomainHome/resources/core/tables/std_services.htmのStandardServices表に定義されています。サービス定義には、メインの要素として次の3つが含まれています。

- サービス名。

- サービス属性。サービスの次の面を定義します。

- サービス・クラス: サービスからアクセスできるJavaクラスを指定します。これによって、サービスで実行できるアクションが決定されます。

- アクセス・レベル: サービスにユーザー権限レベルを割り当てます。

- テンプレート・ページ: サービスの結果を表示するテンプレートを指定します。

- サービス・タイプ: サービスを別のサービス内でサブサービスとして実行する場合に指定します。

- 通知された件名: サービスによって通知されるサブシステムを指定します。

- エラー・メッセージ: アクション・エラー・メッセージによってオーバーライドされない場合、サービスによって返されます。

- サービス・アクション。アクションの次の面を定義する、コロンで区切られたリストです。

- アクション・タイプ

- アクション名

- アクション・パラメータ

- アクション制御マスク

- アクション・エラー・メッセージ

サービスを理解して使用することは、コンポーネントの作成とコンテンツ・サーバーのカスタマイズにおける不可欠の部分です。詳細は、第25章「環境へのWebCenter Contentの統合のスタート・ガイド」を参照してください。

10.2 コンテンツ・サーバーと通信するためのサービスのカスタマイズ

クライアントでは、コンテンツ・サーバーと通信するためのサービスを使用しています。クライアントとサーバーどちらの側からもサービス・コールを実行できるため、Webブラウザのクライアントの代理としても、システム自体の内部でもサービスを実行できます。

サービスの詳細は、第18.2.7項「サービス」を参照してください。

サービスのカスタマイズの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』のサービスのカスタマイズに関する項を参照してください。

10.3 データベースにアクセスするためのサービスのカスタマイズ

クライアントでは、Oracle WebCenter Contentデータベースにアクセスするためのサービスを使用しています。いずれのプログラムでもHTMLページでも、コンテンツ・サーバーに情報を要求するサービスを使用できます。

サービスの詳細は、第18.2.7項「サービス」を参照してください。

サービスのカスタマイズの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』のサービスのカスタマイズに関する項を参照してください。

11 アクション・メニューの生成

この章では、Oracle WebCenter Content Serverのアクション・メニューの生成方法について説明します。

この章の内容は次のとおりです。

- 第11.1項「「アクション」メニューの生成について」

- 第11.2項「表示表の作成」

- 第11.3項「「アクション」メニューのカスタマイズ」

11.1 「アクション」メニューの生成について

旧バージョンのコンテンツ・サーバーでは、コンポーネントの作者は、検索結果ページで使用される表のようなHTML表を作成して、HTMLコードをコピーおよび貼付けする必要がありました。表の中の情報はHTMLと混合しており、データと表示は区切られていませんでした。

同じ問題は、「アクション」メニューにも当てはまっていました。表およびメニューではデータと表示が緊密に結合していたため、CSS変更で行われた変更を除き、コンテンツ・サーバーのすべての表に対してグローバルな変更を実行することはできませんでした。表とメニュー両方の特定の面を、コンポーネントでターゲットにしたり変更することも困難でした。

ページの「アクション」メニューをカスタマイズするために、開発者は、次のインクルード・ファイルのいずれかをオーバーライドして、PageMenusData ResultSetを変更することができます。これらのインクルードはすべて、DomainHome/resources/core/resources/std_page.idocファイルに定義されています。

- custom_searchapi_result_menus_setup

- custom_docinfo_menus_setup

- custom_query_page_menus_setup

- custom_audit_info_menus_setup

さらに、データのResultSetを設定し、そのデータを使用してページを表示する特定のリソース・インクルードをコールすることによって、検索結果ページで使用されるような表を作成できます。ResultSetは、「キュー内のワークフロー」ページや「検索結果」ページにあるような「アクション」メニューの作成にも使用できます。

「アクション」メニューとHTML表の表示フレームワークを使用すると、開発者は、システムの残り部分のルック・アンド・フィールと一致する迅速かつ柔軟なWebページを作成できます。また、コンポーネントの作者がこれらを使用すると、サーバー上の「ヘッドライン表示」表と「サムネイル表示」表のいずれか、またはすべて、さらに「アクション」メニューのいずれかに対して、拡張、追加およびオーバーライドを容易に行うことができます。

11.2 表示表の作成

次の表示タイプごとに、検索結果ページには別々の表が使用されます。

- ヘッドライン表示

- サムネイル表示

例11-1に示すように、どのような表の設定でも、最初の手順の1つは、表示するドキュメントを取得することです。

例11-1 ドキュメントを取得するためのコード

<$QueryText = "dDocAuthor <matches> `sysadmin`"$>
<$executeService("GET_SEARCH_RESULTS")$>

11.2.1 ヘッドライン表示表

次の例は、「ヘッドライン表示」表の作成方法を示しています。ここで説明する概念は、他の表タイプの作成にも使用されます。

例11-2に示すように、このプロセスの最初の手順は、表の列を記述するResultSetを作成することです。

例11-2 表の列を記述するためのResultSet

<$exec rsCreateResultSet("ColumnProperties",
"id,width,headerLabel,rowAlign")$>

<$exec rsAppendNewRow("ColumnProperties")$>
<$ColumnProperties.id = "dDocName"$>
<$ColumnProperties.width = "150px"$>
<$ColumnProperties.headerLabel = lc("wwDocNameTag")$>
<$ColumnProperties.rowAlign = "center"$>

<$exec rsAppendNewRow("ColumnProperties")$>
<$ColumnProperties.id = "dDocTitle"$>
<$ColumnProperties.width = "auto"$>
<$ColumnProperties.headerLabel = lc("wwTitle")$>
<$ColumnProperties.rowAlign = "left"$>

<$exec rsAppendNewRow("ColumnProperties")$>
<$ColumnProperties.id = "actions"$>
<$ColumnProperties.width = "75px"$>
<$ColumnProperties.headerLabel = lc("wwActions")$>
<$ColumnProperties.rowAlign = "center"$>

ColumnPropertiesというResultSetが作成されます。表の各行は、作成する表の列に対応しています。各列には、いくつかの属性を関連付けることができます。より共通性の高い属性をいくつか、次に示します。

- id: これは必須の属性です。作成中の表の各列には、IDを関連付ける必要があります。このIDは、あらゆる行で何を表示するかを決定するために、後で使用されます。

- width: 列の幅。これは、100px、15em、autoなどのCSS幅宣言のいずれかにでき、これによってサイズが自動指定され、表のできるだけ多くの部分が埋められます。

- headerLabel: この列のヘッダーに表示するテキスト。

- rowAlign: コンテンツを左詰め、右詰め、中央揃えのいずれにするかを示すもの。

- headerURL: 列ヘッダーのテキストをURLにリンクするために使用されます。

例11-3に示すように、次の手順は、表の各行にどのデータを表示するかを指定することです。

例11-3 ResultSetに表示するデータ

<$exec rsCreateResultSet("RowData","dDocName,dDocTitle,actions")$>
<$exec rsAppendNewRow("RowData")$>
<$RowData.dDocName = "<$dDocName$>"$>
<$RowData.dDocTitle = "<$dDocTitle$>"$>
<$RowData.actions = "<$include doc_info_action_image$>"$>

ColumnProperties ResultSetには、技術的に表の各列に行がある一方、RowDataにある行は1つのみです。このResultSetに入力されるデータは、次の形式になります。

<$RowData.%COLUMN_ID% = "%IDOCSCRIPT%"$>

RowData ResultSetの各列は、最終的な表に表示される実際の列を参照します。このResultSetの各列には、前に宣言されたColumnProperties ResultSetで対応するIDがあります。このResultSetの各セルには、Idoc Scriptの式が割り当てられます。さらに、これがHTMLドキュメントに書き込まれるにつれて、各行の表示中に評価されます。

次に、表に各行を表示するために、リソース・インクルードを作成する必要があります。

<$include create_slim_table_row_include$>

このリソース・インクルードを呼び出すと、slim_table_row_includeリソース・インクルードが作成されます。RowData ResultSetの解析と評価は、表の行ごとに行うのでなく、一度だけ行われます。

複数の行インクルードを設定するには(たとえば、アイテムのタイプごとに別々の行を表示する単一の表の場合)、次の手順を使用します。

1. RowData ResultSetを削除して再作成します。

2. 作成するリソース・インクルードの名前にrowIncludeNameを設定します。

3. create_slim_table_row_includeをもう一度インクルードします。

例11-4は、表を表示するコードを示しています。

例11-4 表を表示するためのコード

<$include slim_table_header$>
<$loop SearchResults$>
<$include slim_table_row_include$>
<$endloop$>
<$include slim_table_footer$>

表の外観を検索結果ページの表のようにするには、スクリプトで次の値を設定します。

<$UseRowHighlighting = true$>

「ヘッドライン表示」表に、ある特殊なカスタマイズを行うと、コンポーネントの作者または管理者は誰でも、任意の列のデータの表示方法を簡単にオーバーライドできます。例11-5は、コンポーネント内から宣言できるカスタム・インクルードを示しています。

例11-5 コンポーネント内でのカスタム・インクルード宣言

<@dynamichtml slim_table_title@>
<b><$dDocTitle$></b>
<@end@>

dDocTitle:slimTableCellInclude=slim_table_titleがIntradocDir/config/config.cfgファイルに追加されるか、またはスクリプト内から設定された場合は、定義されたカスタム・インクルードを使用して、dDocTitleを列IDとする「ヘッドライン表示」表がすべて表示されます。これによって、これらの列ではRowDataが無効となります。

11.2.2 サムネイル表示表

「サムネイル表示」の表は、別のやり方で作成されます。ResultSet ColumnPropertiesおよびRowDataは構成されません。そのかわり、例11-6に示すように、列の数が設定され、各セルのペイントにはIdocスクリプトのインクルード名が使用されます。これは、他の方法に比べて、カスタマイズの容易さもデータドリブン性も劣っていますが、このタイプの表は、構造もずっと単純です。

例11-6 「サムネイル表示」表のセルのコード

<$numDamColumns = 4$>
<$damCellIncludeName = "my_sample_dam_cell"$>
<$include dam_table_header$>
<$loop SearchResults$>
<$include dam_table_item$>
<$endloop$>
<$include dam_table_footer$>

11.3 「アクション」メニューのカスタマイズ

カスタマイズの最初の手順は、 Actions列に「アクション」メニュー・アイコンを追加することです。例11-7では、前に使用されたサンプルの「ヘッドライン表示」表の各行に、「アクション」メニューを組み込んでいます。

例11-7 行にアクション・メニューを組み込むためのコード

<$RowData.actions = "<$include action_popup_image$>" &
" <$include doc_info_action_image$>"$>

これによって、適切な列にアクション・イメージが挿入されます。ただし、それをクリックしても何も起りません。実際のメニューがHTMLページに書き込まれているわけではないからです。例11-8は、このメニューの構成に使用するデータを作成するコードを示しています。

例11-8 アクション・メニューを構成するデータ

<$exec rsCreateResultSet("PopupProps",
"label,onClick,function,class,id,ifClause")$>

<$exec rsAppendNewRow("PopupProps")$>
<$PopupProps.label = lc("wwCheckOut")$>
<$PopupProps.function = "<$HttpCgiPath$>?IdcService=CHECKOUT" &
"&dID=<$dID$>&dDocName=<$url(dDocName)$>" &
"&dDocTitle=<$url(dDocTitle)$>"$>
<$PopupProps.class = "document"$>
<$PopupProps.id = "checkout"$>

<$exec rsAppendNewRow("PopupProps")$>
<$PopupProps.label = lc("wwGetNativeFile")$>
<$PopupProps.function = "<$HttpCgiPath$>?IdcService=GET_FILE" &
"&dID=<$dID$>&dDocName=<$url(dDocName)$>" &
"&allowInterrupt=1"$>
<$PopupProps.ifClause = "showNativeFileLink"$>
<$PopupProps.class = "document"$>
<$PopupProps.id = "getNativeFile"$>

<$exec rsAppendNewRow("PopupProps")$>
<$PopupProps.label = lc("wwTest")$>
<$PopupProps.function = "javascript:alert('<$js(dDocName)$>');"$>
<$PopupProps.ifClause = "showTestAction"$>
<$PopupProps.class = "debug"$>
<$PopupProps.id = "alertDocName"$>

このコードでは、PopupPropsというResultSetが作成され、その各行は作成中のメニューのアクションに対応しています。各アクションには、いくつかの属性を関連付けることができます。より共通性の高い属性をいくつか、次に示します。

- label: アクションのラベルとして表示される文字列。

- function: このアクションに関連付けるURLまたはJavaScriptメソッド。

- class: このアクションの分類。これは、「検索」、「ドキュメント」、「ワークフロー」のように単純なもの、さらにはコンポーネントの名前にすることができます。アクションがグループに配置され、その同じグループ内の残りのアクションで有効か無効かを迅速に設定できます。

- id: 別の分類方法で、「class」よりずっと具体的です。この方法はアプリケーションに固有のもので、これを使用すると、特定のアクションがメニュー内に表示されないようにすることができます。

- ifClause: そのアクションをHTMLドキュメントに書き込もうとするたびに評価されるオプションの属性。この句がFALSEに評価された場合、このアクションは表示されません。

- isDisabled: 1に設定された場合、このアクションは絶対に表示されません。

- linkTarget: このリンクでページを別のウィンドウに表示する場合に使用されます。この属性は、任意のアンカー・タグのターゲットを指します。

例11-9に示すように、このデータが設定されたら、この「アクション」メニューを書き込むIdocスクリプトのリソースの作成に使用できます。

例11-9 「アクション」メニューを書き込むためのリソース

<$include create_action_popup_container_include$>

このリソースは、create_slim_table_row_includeのように機能します。action_popup_container_includeというIdocスクリプトの新規リソースが作成されます。その名前を変更するために、スクリプトで<$actionPopupContainerIncludeName = new_include_name$>と設定できます。

例11-10は、「ヘッドライン表示」表の各行でこのインクルードが呼び出されるようにするコードを示しています。

例11-10 表の各行でインクルードを呼び出すためのコード

<$exec rsCreateResultSet("PopupData", "actions")$>
<$exec rsAppendNewRow("PopupData")$>
<$PopupData.actions="<$include action_popup_container_include$>"$>

このコードでは、RowData ResultSetに類似したPopupData ResultSetが作成されます。これは同じような構造になっており、ユーザーがアクション・イメージをクリックするまで非表示になっている「アクション」メニューのコンテナの出力先として使用されます。

ここで作成された表には「アクション」メニューがあり、これは、適切なイメージをクリックするたびに検索結果ページに通常表示されるものに似ています。

これらのアクションの編集は、PopupProps ResultSetに行を追加するか、またはそのResultSetから行を削除したり、すでに存在している行を編集することによって行われます。このタイプのカスタマイズ以外にも、disabledActionPopupClasses変数およびdisabledActionPopupIds変数を設定することによって、アクションを非表示にすることができます。例11-11に示すように、これらは、config/config.cfgファイルまたはIdocスクリプト自体で設定できます。

例11-11 「アクション」メニューでアイテムを非表示にするためのコード

<$disabledActionPopupClasses = "workflow,folders"$>
<$disabledActionPopupIds = "getNativeFile,alertDocName"$>

これらの変数を設定すると、workflowとfoldersのいずれかをクラスとするアクション、またはgetNativeFileとalertDocNameのいずれかをIDとするアクションが、常に非表示となります。これらの変数を使用すると、コンテンツ・サーバーの管理者およびコンポーネントの作者は、グローバルに、または特定のページで、特定のアクションを非表示にすることができます。

コンポーネントの作者は、Idocスクリプトのリソース・インクルードの数をオーバーライドして、グローバルに、またはターゲットを絞って、この領域の機能を変更できます。次に示すインクルードは、利用可能なリソース・インクルードのごく一部です。

- custom_add_to_action_popup_data

- custom_modify_action_popup_data

- classic_table_row_pre_display

- slim_table_row_pre_display

- custom_row_pre_display

第V部

コンポーネントによるコンテンツ・サーバーのカスタマイズ

この部では、Oracle WebCenter Content Serverのコンポーネント(コンテンツ・サーバーの機能を変更するプログラム)を操作する方法について説明します。

第V部は次の章で構成されています。

- 第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」

- 第13章「コンテンツ・サーバーのコンポーネントの有効化と無効化」

- 第14章「コンポーネント構成の更新」

- 第15章「Content Trackerのカスタマイズ」

- 第16章「Content Categorizerのカスタマイズ」

- 第17章「カスタム・コンポーネントのダウンロード」

- 第18章「カスタム・コンポーネントの作成」

- 第19章「コンポーネントのインストール」

- 第20章「コンポーネントのアンインストール」

12 コンテンツ・サーバーのコンポーネントのスタート・ガイド

この章では、Oracle WebCenter Content Serverのコンポーネント(コンテンツ・サーバーの機能変更に使用されるプログラム)を操作する方法について説明します。

この章の内容は次のとおりです。

- 第12.1項「標準コンポーネント、システム・コンポーネントおよびカスタム・コンポーネントについて」

- 第12.2項「コンポーネントを管理するためのツール」

- 第12.3項「コンポーネント・ファイル」

- 第12.4項「Webページをアセンブルするためのリソース」

12.1 標準コンポーネント、システム・コンポーネントおよびカスタム・コンポーネントについて

コンポーネントとは、実行時にコンテンツ・サーバーと対話するように設計されたモジュール式のプログラムです。コンテンツ・サーバーのコアな標準機能を追加または変更するために、コンテンツ・サーバーには、標準コンポーネント、システム・コンポーネントおよびカスタム・コンポーネントが含まれています。

12.1.1 コンポーネント・ファイルの概要

カスタム・コンポーネントを定義するときには、次のファイルを作成または変更します。

- idcshort-product-id_components.hdaファイル: どのコンポーネントが有効になっているか、また各コンポーネントの定義ファイルがどこにあるかを、コンテンツ・サーバーに伝えます。

- コンポーネント定義(またはglue)ファイル: カスタム・コンポーネントのリソースがどこにあるかをコンテンツ・サーバーに伝えます。

- 異なるカスタム・リソース・ファイル: コンテンツ・サーバーの標準リソースに対するカスタマイズを定義します。

- テンプレート・ファイル: カスタム・テンプレート・ページを定義します。

- その他のファイル: コンテンツ・サーバーのグラフィック、Javaコード、ヘルプ・ファイルなどに対するカスタマイズが含まれています。

これらのファイルの詳細は、第12.1.3項「ディレクトリおよびファイルについて」を参照してください。

コンポーネントにはどのようなタイプのファイルを含めることもできますが、最も頻繁に使用されるファイル形式は次のとおりです。

- HDA

- HTM

- CFG

- Java CLASS

コンポーネント・ウィザードでコンポーネントを構築または解凍する場合、あるいはコンポーネント・マネージャでコンポーネントをアップロードおよびダウンロードする場合は、次のファイルを使用します。

- 圧縮されたZIPファイル: 他のコンテンツ・サーバーのインスタンスにコンポーネントをデプロイするために使用されます。

- manifest.hdaファイル: コンポーネントZIPファイルから解凍またはアップロードされたファイルをどこに配置するかを、コンテンツ・サーバーに伝えます。

12.1.2 コンポーネントの使用

コンポーネントとは、実行時にコンテンツ・サーバーと対話するように設計されたモジュール式のプログラムです。コンポーネント・アーキテクチャ・モデルは、オブジェクト指向のテクノロジから派生したもので、巨大ですべてを包括した(ただし扱いにくい)アプリケーションを作成するのではなく、小さなモジュールを使用して、必要に応じてコンテンツ・サーバーをカスタマイズすることを促進しています。

注意:

必要なファイルとリソースを手動で作成することによって、カスタム・コンポーネントを作成できます。ただし、コンポーネント・ウィザードは、手動の方法に比べて制限がなく、これを使用すると、よくある誤りが多く発生することはありません。

コンポーネントは通常、コンテンツ・サーバーのコアな機能を変更するために使用されます。たとえば、コンポーネントを使用して、次のタスクのいずれかを実行することもできます。

- 標準的なセキュリティ機能を変更する

- 検索結果が要求され、返されるやり方を変更する

- (Macintoshクライアントや専用のCADプログラムなど)特定のシステムとコンテンツ・サーバーが提携できるようにする

コンテンツ・サーバーとともにコンポーネント・アーキテクチャを使用すると、次のメリットが得られます。

- 製品の整合性を損なわずにソース・コードを変更できます。
コンテンツ・サーバーでは、そのリソースの多くが外部のテキスト・ファイルからロードされるため、ファイルを表示してシステムの状況を分析し、そのファイルを要件に合わせてコピーおよび変更できます。

- 複数のプラットフォームにわたり、複数のインスタンスでカスタム・コンポーネントを使用できます。
カスタム・コンポーネントを作成してある場合は、それをZIPファイルとしてパッケージ化し、他のコンテンツ・サーバーのインスタンスにロードできます。数多くのカスタム・コンポーネントは、元の開発プラットフォーム以外のコンテンツ・サーバー・プラットフォームで機能できます。

- トラブルシューティングのために、個別のコンポーネントの有効と無効を切り替えることができます。
カスタマイズをグループ化して、各コンポーネントがコンテンツ・サーバーの特定の関数または領域をカスタマイズするようにできます。障害が発生した場合は、コンポーネントを1つずつ無効にすると、トラブルを迅速に隔離できます。

- コンテンツ・サーバーのインスタンスは、カスタマイズを損なわずに再インストールまたはアップグレードできます。
カスタム・コンポーネントは、既存の製品リソースを置換するのではなく、無効にします。コンテンツ・サーバーの標準ファイルを置換しても、カスタマイズに影響が発生しない場合もあります。

カスタム・コンポーネントを使用するかどうかを判断する際には、次の制約事項を頭に入れてください。

- カスタム・コンポーネントによって、システム全体の動作とルック・アンド・フィールが変更されます。変更内容を、限定された状況にのみ適用する場合は、動的サーバー・ページを検討してみてください。

- カスタム・コンポーネントは、コンテンツ・サーバーのコアな機能に対する変更の影響を受ける場合があります。新機能によってコンポーネントの動作が変わる場合があるので、コンテンツ・サーバーの将来のリリースでカスタマイズが機能するという保証はありません。アップグレードするたびに、カスタム・コンポーネントを調べてテストする必要があります。

- 単純なカスタマイズでは、コンポーネントが不要な場合もあります。単純なコンポーネントの数が多いと、管理が難しくなる可能性があります。

コンポーネントをインストールして、コンテンツ・サーバーによる使用を有効にする必要があります。コンテンツ・サーバーに付属しているコンポーネントは自動的にインストールされ、デフォルトで有効か無効になります。カスタム・コンポーネントをインストールして、使用可能にする必要があります。コンポーネントの操作に際しては、次のいくつかのツールが利用可能です。

- コンポーネント・ウィザードを使用すると、カスタム・コンポーネントの作成プロセスが自動化されます。コンポーネント・ウィザードは、コンポーネントの新規作成や既存のコンポーネントの変更を行う場合、およびコンポーネントをパッケージ化して他のコンテンツ・サーバーのインスタンスで使用できるようにする場合に使用できます。詳細は、第12.2.1項「コンポーネント・ウィザード」を参照してください。

- 拡張コンポーネント・マネージャは、コンテンツ・サーバーでカスタム・コンポーネントを管理する手段です。拡張コンポーネント・マネージャを使用すると、新規コンポーネントを追加したり、コンポーネントをコンテンツ・サーバーで有効または無効にできます。詳細は、第12.2.2項「拡張コンポーネント・マネージャ」を参照してください。

- ComponentToolは、コンテンツ・サーバーに、コンポーネントのインストール、有効化および無効化を行うためのコマンドライン・ユーティリティです。

コンポーネントのアーキテクチャおよび作成の詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」を参照してください。

12.1.3 ディレクトリおよびファイルについて

コンポーネントの作成に使用されるファイルは次のとおりです。

- HDAファイル

- カスタム・リソース・ファイル

- manifestファイル

- その他のファイル(サイト用にカスタマイズされたファイル、コンポーネントZIPファイル、カスタム・インストール・パラメータ・ファイルなど)

WebCenter Contentの標準的なディレクトリ構造では、コンポーネントのファイルは、DomainHome/ucm/short-product-id/customディレクトリのcomponentディレクトリに格納されています。

コンテンツ・サーバーでは、変数値や参照キーなどのデータをキャッシュするために、データ・バインダを使用します。

12.1.3.1 HDAファイル

HyperData (HDA)ファイルは、構造化された単純なASCIIファイル形式で、プロパティおよび表データを定義するために使用されます。これは、どのコンポーネントが有効および無効になっているか、またそのコンポーネントの定義ファイルがどこにあるかを判別するために、コンテンツ・サーバーによって使用されるテキスト・ファイルです。

HDAファイル形式が役立つのは、頻繁に変わるデータです。それは、サイズがコンパクトで形式が単純であれば、コンテンツ・サーバーでデータ通信が、より高速かつ簡単になるからです。

HDAファイル・タイプは、次のコンポーネント・ファイルの定義に使用されます。

- コンポーネント・ファイル(idcshort-product-id_components.hda)

- コンポーネント定義ファイル

- manifestファイル

- 動的表リソース・ファイル

- テンプレート・リソース・ファイル

例12-1は、customhelpというコンポーネントを指すidccs_components.hdaファイルを示しています。

例12-1 コンポーネントのidccs_components.hdaファイル

<?hda charset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
@end
@ResultSet Components
2
name
location
customhelp
custom/customhelp/customhelp.hda
@end

12.1.3.1.1 HDAファイル内の要素

それぞれのHDAファイルには、ヘッダー行と、1つ以上のセクションが含まれます。ヘッダー行では、コンテンツ・サーバーのバージョン、文字セット、およびHDAファイルのJavaエンコーディングが特定されます。HDAファイルにダブルバイト(アジア言語)の文字が含まれている場合は、正しい文字セットとエンコーディングを指定して、コンテンツ・サーバーがファイルを適切に読み取れるようにする必要があります。ヘッダー行はシングルバイト文字には不要ですが、HDAファイルに含めておくことをお薦めします。

PropertiesとResultSetという2種類のセクションは、コンポーネント開発に該当します。これらのセクションは、ファイルのプロパティ(名前や場所など)や、データの表または列および行を定義するResultSetを定義する場合に使用されます。ResultSetは、問合せの結果を表すことがよくあります。それ以外のセクションのタグはすべて、内部アプリケーションでの使用に目的が限定されています。

HDAファイル内のセクションではコメントは使用できません。ただし、HDAファイルの最初のセクションの前、セクションの間、または最後のセクションの後であればコメントを挿入できます。HDAファイルのセクション内の空白行はNULL値として解釈されます。最初のセクション、セクション間または最後のセクションの後の空白行は無視されます。HDAファイルには、必須のセクション・タイプがないため、未使用のセクションは削除できます。

- Propertiesセクションには、名前と値のペアのグループが含まれます。カスタム・コンポーネントの場合、Propertiesセクションで最も一般的な名前はLocalDataであり、これは、名前と値のペアが、現在のHDAファイルに対してのみ有効という意味です。
EnvironmentというPropertiesセクションで、名前と値のグローバルなペアを定義することもできますが、このセクションが使用されることはめったにありません。config.cfgなどの構成ファイルで、グローバルな環境変数を定義することをお薦めします。

例12-2は、HDAファイルのPropertiesセクションを示しています。

例12-2 HDAファイルのPropertiesセクション

@Properties LocalData
PageLastChanged=952094472723
LocationInfo=Directory,Public,
IsJava=1
refreshSubMonikers=
PageUrl=/intradoc/groups/public/pages/index.htm
LastChanged=-1
TemplatePage=DIRECTORY_PAGE
IdcService=PAGE_HANDLER
LinkSelectedIndex=0
PageName=index
HeaderText=This is a sample page.  The Page Name must remain index.  The Page Properties for this index page should be customized.
PageFunction=SavePage
dSecurityGroup=Public
restrictByGroup=1
PageType=Directory
PageTitle=Content Server Index Page
@end

- HDAファイルの各ResultSetセクションでは、データの表または列および行を定義します。ResultSetは、データベースに情報を渡すか、またはデータベース問合せの結果を表すために使用できます。ResultSetセクションの構造を次に示します。

- 最初の行では、@ResultSet resultset_nameという形式を使用して、ResultSet表の名前を定義します。

- 2番目の行では、列の数を定義します。

- 次のn行では、列名を定義します。

- 残りの行では、表の各セルの値を定義します。

- セクションの最後の行は、@endという形式を使用して、この表を終了しています。

例12-3は、列が4つ、行が3つあるScoresというResultSetを示しています。

例12-3 HDAファイルのResultSetセクション

@ResultSet Scores
4
name
match1
match2
match3
Margaret
68
67
72
Sylvia
70
66
70
Barb
72
71
69
@end

次の表は、ResultSetデータを列形式で示しています。ResultSetには、どのような名前でも指定できます。

name

match1

match2

match3

Margaret

68

67

72

Sylvia

70

66

70

Barb

72

71

69

コンテンツ・サーバーでは、事前定義されたResultSetをいくつか、次の名前で使用します。それらの名前は、カスタム・コンポーネントの表には使用しないでください。

ResultSet名

場所

目的

Components

IntradocDir/data/components/
idcshort-product-id_components.hda

作成した任意のカスタム・コンポーネントの名前と場所を定義します。short-product-idの短縮製品ID (cs、ibr、urm)を指定する必要があります。

IntradocReports

IdcHomeDir/resources/core/reports/
reports.hda

コンテンツ・サーバーのデフォルトのレポート・テンプレートを指定します。

IntradocTemplates

IdcHomeDir/resources/core/templates/
templates.hda

コンテンツ・サーバーのデフォルトのテンプレートをすべて指定します(検索結果テンプレートとレポート・テンプレートは除く)。

ResourceDefinition

DomainHome/ucm/short-product-id/custom/
component_name/component_name.hda

カスタム・コンポーネントのリソースを定義します。

SearchResultTemplates

IdcHomeDir/resources/core/templates/
templates.hda

コンテンツ・サーバーのデフォルトの検索結果テンプレートを指定します。

12.1.3.1.2 idccs_components.hdaファイル、idcibr_components.hdaファイルまたはidcurm_components.hdaファイル

idcshort-product-id_components.hdaファイルは、どのコンポーネントが有効になっているか、また各コンポーネントの定義ファイルがどこにあるかを、コンテンツ・サーバーに伝えるテキスト・ファイルです。

idcshort-product-id_components.hdaファイルは常に、IntradocDir/data/componentsディレクトリに格納されています。必要に応じてこのファイルを変更するために、コンポーネント・ウィザード、コンポーネント・マネージャおよびComponentToolを使用できます。

注意:

リリース11gR1では、components.hdaファイルとedit_components.hdaファイルが、idcshort-product-id_components.hdaという1つのファイルに結合されました。コンテンツ・サーバーでidcshort-product-id_components.hdaファイルが見つからず、レガシー・ファイルが見つかった場合は、そのレガシー・ファイルのデータが移行され、適切なデータを含むidcshort-product-id_components.hdaファイルが作成されます。

例12-4は、スキーマ・コンポーネント、構成の移行コンポーネント、SOAPコンポーネントなど、いくつかの有効なコンポーネントをリストしたidccs_components.hdaファイルを示しています。

例12-4 複数の有効なコンポーネントのidccs_components.hdaファイル

@properties LocalData
blDateFormat=M/d/yy
@end
@ResultSet Components
2
name
location
SchemaDCL
custom/SchemaDCL/SchemaDCL.hda
ConfigMigrationUtility
custom/ConfigMigrationUtility/Cmu.hda
Soap
custom/Soap/Soap.hda
@end

12.1.3.1.3 コンポーネント定義ファイル

コンポーネント定義ファイルは、定義したカスタム・リソースを指します。このファイルでは、カスタム・リソース、ResultSetおよびマージ・ルールに関する情報を指定します。このコンポーネント定義ファイルは、コンポーネントをまとめる「glue(接着剤)」の役割を果たすので、glueファイルと呼ばれることもあります。

コンポーネントの定義ファイルは通常、component_name.hdaという名前であり、DomainHome/ucm/short-product-id/custom/component_name/ディレクトリに置かれています。

注意:

idcshort-product-id_components.hdaファイルとcomponent_name.hdaファイルを混同しないでください。idcshort-product-id_components.hdaファイルは、インストールされているすべてのコンポーネントの追跡に使用されます。component_name.hdaファイルには、1つのコンポーネントに固有の情報が含まれます。

12.1.3.2 カスタム・リソース・ファイル

カスタム・リソース・ファイルでは、コンテンツ・サーバーのカスタマイズを定義します。通常はHDAファイルですが、HTMファイルの場合もあります。

コンポーネントのカスタム・リソース・ファイルは通常、DomainHome/ucm/short-product-id/custom/component_name/ディレクトリに置かれています。リソース・ファイルの中には、resources/core/templates/のようなサブディレクトリに置かれるものもあります。

これらのリソースを表12-1に示します。

表12-1 カスタム・リソース・ファイル

リソース・タイプ

ファイル・タイプ

目次

HTMLインクルード

HTM

インクルードの定義

文字列

HTM

ローカライズされた文字列の定義

動的表

HDA

頻繁に変化するデータの表

静的表

HTM

めったに変化しないデータの表

問合せ

HTM

問合せを定義する表

サービス

HTM

サービス・スクリプトを定義する表

テンプレート

HDA

テンプレート・ページの場所とファイル名を定義する表

環境

CFG

構成変数の名前と値のペア

これらのファイルの詳細は、第12.4項「Webページをアセンブルするためのリソース」を参照してください。

また、Webページをアセンブルするために、コンテンツ・サーバーによってtemplate.htmページが使用されます。template.hdmファイルの詳細は、第18.2.8項「テンプレート」を参照してください。

ResultSet HTM表ファイルが、その他のリソースによって使用されます。HTMファイルのResultSet表は、データのレイアウトにHTML表のタグを使用することを除き、HDAファイルのResultSetに似ています。静的表リソース、サービス・リソースおよび問合せリソースはすべて、この表形式を使用しています。

HTMファイルのResultSet表は、先頭が<@table table_name@>で末尾が<@end@>です。開始タグと終了タグの間にあるマークアップがHTML表です。HDAファイル内のResultSetとは異なり、表のタグによって列の数が暗示されています。

データ構造を定義していないHTML構文があれば、表のロード時に無視されます。そのため、HTMファイルの表の中ではHTMLコメントが許可されており、Webブラウザでのデータの表示を向上させるために、HTMLのstyle属性を使用できます。

12.1.3.3 データ・バインダ

コンテンツ・サーバーでは、(変数の値や参照キーなどの)データが、データ・バインダに内部でキャッシュされます。データ・バインダ内のデータはすべて、どこから来たか、またどのように作成されたかに従って分類されます。サービス・リクエストを満たすために値が必要な場合は、データ・バインダ内のデータが、次に示すデフォルトの順序で評価されます。

1. LocalData

2. ResultSets

3. Environment

この優先順位は、Idocスクリプトの関数を使用して変更できます。詳細は、付録A「Idoc Scriptの関数と変数」を参照してください。

12.1.3.3.1 LocalData

HDAファイル内の@Properties LocalDataセクションは、データ・バインダのLocalDataカテゴリにマップされます。LocalData情報は、名前と値のペアで構成されています。

LocalData情報が保持されるのは、コンテンツ・サーバーのリクエストとレスポンスが有効になっている期間のみです。めったに変化しないサーバー環境に関する情報と異なり、各リクエストのLocalData情報は動的です。

HTTPリクエストの観点で見ると、LocalDataの初期情報は、REQUEST_METHOD、CONTENT_LENGTH、QUERY_STRINGの各HTTP環境変数から収集されます。サービス・リクエストを処理するときに、LocalDataの名前と値のペアを追加または変更できます。

12.1.3.3.2 ResultSets

HDAファイルの各@ResultSetセクションは、DataBinderオブジェクトにおける名前付き結果にマップされます。いくつかのResultSetがアクティブになって、値検索時に他のResultSetより優先される場合があります。ResultSetは、ページのアセンブリ中にループされたときにアクティブになります。アクティブなResultSetは、DataBinderオブジェクトの値検索時に、他のいずれのResultSetより優先されます。サービス・リクエストにデータが必要で、LocalDataにもアクティブなResultSetにも値が見つからなかった場合は、(アクティブでない)残りのResultSetが次に検索されます。

12.1.3.3.3 環境

環境の値は、名前と値のペアとしてDataBinderオブジェクトに配置されます。このペアは、IntradocDir/config/config.cfg、intradoc.cfg、環境タイプのリソース・ファイルなどの構成ファイルで定義されています。

12.1.3.4 manifestファイル

manifestファイルは、コンテンツ・サーバーにコンポーネントZIPファイルをアップロードまたは展開するために使用されます。このファイルは、コンポーネントZIPファイルに含まれている個別のファイルをどこに配置するかを、コンテンツ・サーバーに伝えます。manifestファイルは、コンポーネント・ウィザードでコンポーネントを構築したときや、拡張コンポーネント・マネージャを使用してコンポーネントをダウンロードしたときに、自動的に作成されます。

manifestファイルはすべて、manifest.hdaと呼ぶ必要があります。manifest.hdaファイルは、他のコンポーネント・ファイルとともに、コンポーネントZIPファイルに含まれています。これは、ZIPファイル・ディレクトリ構造の最上位のレベルにある必要があります。

manifest.hdaファイルには、ManifestというResultSet表が含まれており、この表は次の2つの列で構成されています。

- entryType列では、manifestファイルのエントリのタイプを定義しています。

エントリ・タイプ

説明

デフォルト・パス

Classes

Javaクラス・ファイル

DomainHome/ucm/short-product-id/classes/

Common

共通ファイル

DomainHome/ucm/short-product-id/weblayout/common/

Component

コンポーネント・リソース・ファイル

DomainHome/ucm/short-product-id/custom/

ComponentExtra

関連付けられているファイル(readmeなど)

DomainHome/ucm/short-product-id/custom/

Help

オンライン・ヘルプ・ファイル

DomainHome/ucm/short-product-id/weblayout/help/

Images

グラフィック・ファイル

DomainHome/ucm/short-product-id/weblayout/images/

Jsp

JavaServerページ

DomainHome/ucm/short-product-id/weblayout/jsp/

注意:

エントリ・タイプCommon、Help、ImagesおよびJspの使用は避けてください。これらは、WebCenter Content 11gでは非推奨になっているからです。WebCenter Contentには、コンポーネントからweblayoutディレクトリにファイルをプッシュする公開エンジンがあります。以前のリリースと同じ動作を望む場合は、公開エンジンを使用します。そうしないと、公開エンジンによって、カスタム・コンポーネントからweblayoutディレクトリにファイルが直接配置され、既存のファイルが上書きされる場合があります。上書きされたファイルは、永続的に失われる可能性があります。

- location列では、エントリに関連付けられているファイルがインストールされているディレクトリを定義し、一部のエントリ・タイプのファイル名を指定しています。

- Componentエントリ・タイプの場合、場所は定義ファイルのパスとファイル名です。次に定義ファイルは、どのリソース・ファイルがコンポーネントに含まれるかを、コンテンツ・サーバーに伝えます。

- その他のエントリ・タイプの場合、場所は、ファイル名なしのパス(特定のサブディレクトリ内のファイルをすべて指定するとき)、またはファイル名付きのパス(個別のファイルを指定するとき)になります。

- 場所は、DomainHome/ucm/short-product-id/customディレクトリからの相対パスを指定する必要があります。絶対パスを使用することもできますが、その場合は、コンポーネントをインストールできる場所が、インストール・ディレクトリのパスが同じコンテンツ・サーバーのインスタンスのみとなります。

例12-5は、manifest.hdaファイルを示しています。

例12-5 manifest.hdaファイル

@ResultSet Manifest
2
entryType
location
component
MyComponent/MyComponent.hda
componentExtra
MyComponent/readme.txt
images
MyComponent/
@end

12.1.3.5 その他のファイル

カスタム・コンポーネントには、機能のために、またはそのルック・アンド・フィールを生成するために、コンテンツ・サーバーが使用する任意のタイプのファイルを含めることができます。

12.1.3.5.1 サイト用にカスタマイズされたファイル

自社サイト用にカスタマイズされたファイルを追加して、コンテンツ・サーバーの外観またはアクションを変更できます。たとえば、カスタム・リソースでは、次のタイプのファイルが頻繁に参照されます。

- Graphics
標準的なコンテンツ・サーバー・インタフェースを構成するアイコン、背景およびロゴを置換します。

- Help
コンサルティング・サービスの助けがあれば、コンテンツ管理システム用にヘルプ・ファイルをカスタマイズできます。

- Classes
Javaコードでは、コンテンツ・サーバーの機能を変更または拡張できます。Javaクラス・ファイルは、DomainHome/ucm/short-product-id/classes/ディレクトリに配置するために、ディレクトリにパッケージ化する必要があります。

注意:

グラフィック・ファイルとヘルプ・ファイルは、weblayoutディレクトリに手動で配置することは避けてください。WebCenter Content 11gの公開エンジンがコンポーネントからweblayoutディレクトリにファイルをプッシュして、ファイルを上書きする場合があるからです。以前のリリースと同じ動作を望む場合は、公開エンジンを使用します。そうしないと、公開エンジンによって、カスタム・コンポーネントからこのディレクトリにファイルが直接配置され、既存のファイルが上書きされる場合があります。上書きされたファイルは、永続的に失われる可能性があります。これらのファイルをweblayoutディレクトリに手動で配置する必要がある場合は、Oracle Consulting Servicesにご連絡ください。

12.1.3.5.2 コンポーネントZIPファイル

コンポーネントZIPファイルには、コンテンツ・サーバーのコンポーネントを定義するファイルがすべて含まれます。これを解凍すると、他のコンテンツ・サーバーのインスタンスにコンポーネントをデプロイできます。

12.1.3.5.3 カスタム・インストール・パラメータ・ファイル

カスタム・インストール・パラメータを1つ以上定義すると、コンポーネント・ファイルの基本構造を構成するファイル以外に、追加のファイルがいくつか作成されます。

コンポーネントのインストール・パラメータが作成された場合は、コンポーネントのインストール・プロセス中に、コンポーネント・インストーラによって、data/components/ディレクトリ内のコンポーネントのディレクトリに、2つのファイルが自動的に配置されます。これらのファイルには、次のようなプリファレンス・データが保持されています。

- config.cfgファイル: インストール後に認識可能となるパラメータが含まれます。

- install.cfgファイル: プリファレンス・データ定義とプロンプトへの応答が含まれます。

- バックアップZIPファイル: コンポーネントが現在インストールされているか、または再インストール中の場合に作成されるバックアップ・ファイル。

12.1.3.6 一般的なディレクトリ構造

コンポーネント・ウィザードを使用してカスタム・コンポーネントを作成した場合は、適切なディレクトリにファイルが格納されます。

カスタム・コンポーネントごとに異なるコンポーネント・ディレクトリが、DomainHome/ucm/short-product-id/custom/ディレクトリに確立されます。各コンポーネント・ディレクトリ内に、レポート、テンプレートおよびリソースに個別のサブディレクトリが確立され、それぞれに適切な名前が付けられます(たとえば、component_name/resources/)。component_name.hdaファイル(定義ファイル)は、component_nameディレクトリに格納されます。

12.1.4 開発に関する推奨事項

次の各項では、カスタム・コンポーネントの開発を支援するためのガイドラインをいくつか提供します。

- 12.1.4.1項「コンポーネントの作成」

- 第12.1.4.2項「コンポーネント・ファイルでの作業」

- 第12.1.4.3項「開発コンテンツ・サーバーの使用」

- 第12.1.4.4項「コンポーネント・ファイルの編成」

- 第12.1.4.5項「命名規則」

コンポーネントの作成または変更の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』、またはオンライン・ヘルプを参照してください。

12.1.4.1 コンポーネントの作成

コンテンツ・サーバーの機能のうち、既存のコンポーネントでは提供されていないものが、自社のサイトで必要になった場合、コンテンツ・サーバーのインスタンスにカスタム・コンポーネントを作成できます。

12.1.4.1.1 カスタム・コンポーネントの作成方法

定義ファイルにカスタム・コンポーネントを作成し、そのコンポーネントを有効にしてコンテンツ・サーバーに適用できます。

カスタム・コンポーネントを作成して有効にする手順は次のとおりです。

1. 定義ファイルを作成します。

2. 定義ファイルへの参照をidcshort-product-id_components.hdaファイルに加えて、このコンポーネントを有効にします。

3. コンテンツ・サーバーを再起動して、このコンポーネントを適用します。

4. リソースなどのファイルを作成して、カスタマイズを定義します。カスタム・リソース・ファイルを作成するには、コンテンツ・サーバーの標準ファイルをコピー、名前変更および変更することをお薦めします。

5. 必要に応じて、カスタマイズをテストして改定します。変更内容を適用するには、コンテンツ・サーバーの再起動が必要になる場合もあります。

6. 後で使用したり他のコンテンツ・サーバーのインスタンスにデプロイできるように、コンポーネントをパッケージ化する場合は、コンポーネントを構築してコンポーネントZIPファイルを作成します。

12.1.4.2 コンポーネント・ファイルでの作業

コンポーネント・ファイルの操作に際しては、次のツールが利用可能です。

- コンポーネント・ウィザード
コンポーネント・ウィザードは、コンテンツ・サーバーのユーティリティの1つで、コンポーネント・ファイルの作成と編集に役立ちます。コンポーネント・ウィザードは、コンポーネントのパッケージ化、解凍、有効化および無効化にも使用できます。このユーティリティの使用に関する詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

- テキスト・エディタ
ほとんどのコンポーネント・ファイルはプレーン・テキスト・ファイルなので、ファイルの作成と編集はお好みのテキスト・エディタでできます。

カスタム・コンポーネントを操作するときは、できるだけコンポーネント・ウィザードを使用してください。

コンポーネント・ウィザードはいくつものタスクをユーザーにかわって行うので、テキスト・エディタでユーザーが行う必要のある作業が最小限に抑えられます。コンポーネント・ウィザードを使用すると、推奨されるファイル構造と命名規則を遵守しやすくなります。コンポーネント・ウィザードでは、コンポーネントの構築時にreadmeテキスト・ファイルが自動的に追加され、カスタマイズをドキュメントに残す作業がやりやすくなります。コンポーネント・ファイルにはコメントも含める必要があります。

コンポーネント・ウィザードの使用に関する詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

12.1.4.3 開発コンテンツ・サーバーの使用

コンテンツ・サーバーをカスタマイズする場合は常に、開発作業を本番システムから切り離してください。本番コンテンツ・サーバーに定義したのと同じカスタム・メタデータ・フィールドを、本番コンテンツ・サーバーに忘れずに含めてください。

開発コンテンツ・サーバーで変更のテストが成功したら、コンポーネント・ウィザードを使用してコンポーネントZIPファイルを構築し、本番システムでコンポーネントを解凍します。

コンポーネントを有効または無効にした後で、コンテンツ・サーバーを忘れずに再起動してください。

カスタム・コンポーネントのインストール後にコンテンツ・サーバーに問題が発生した場合は、そのコンポーネントを無効にしてコンテンツ・サーバーを再起動します。これで問題が解決した場合はおそらく、コンポーネントのトラブルシューティングが必要になります。問題が解決しない場合は、コンポーネント・ウィザードを使用してコンポーネントを完全に除去して、問題がコンポーネントにあるのかコンテンツ・サーバーにあるのかを判別することが必要になると考えられます。

12.1.4.4 コンポーネント・ファイルの編成

カスタム・コンポーネントを整理するには、次のファイル構造ガイドラインを遵守します。詳細は、第12.1.3.6項「一般的なディレクトリ構造」を参照してください。

注意:

コンポーネント・ウィザードを使用した場合は、コンポーネント・ディレクトリが作成され、適切なディレクトリにコンポーネント・ファイルが配置されます。

それぞれのカスタム・コンポーネントは、DomainHome/ucm/short-product-id/custom/というディレクトリ内の専用のディレクトリに置いてください。リソース・タイプまたはテンプレート・タイプ、あるいはその両方のリソースがカスタム・コンポーネントに含まれている場合、componentディレクトリには、IdcHomeDir/data/resources/core/ディレクトリの構造を遵守したサブディレクトリが必要です。

- resources/: HTMLインクルードと表リソース・ファイルを保持

- resources/lang/: 文字列リソース・ファイルを保持

- templates/: テンプレート・ファイルを保持

- reports/: レポート・ファイルを保持

ファイルとその編成を検討する際には、次の点を頭に入れてください。

- 各カスタム・コンポーネントの定義ファイルは、コンポーネントのディレクトリの最上位レベルに配置します。

- コンポーネント内の他のファイルを参照するときには、絶対パス名ではなく相対パス名を使用します。相対パス名を使用すると、コンポーネント内のファイルのすべてを編集する必要なしに、コンポーネントを別の場所に移動できます。

- コンテンツ・サーバーはJavaベースのアプリケーションなので、すべてのパス名にスラッシュを使用する必要があります。

- カスタム・コンポーネントをコンテンツ・サーバーと同じコンピュータに格納する必要はありませんが、すべてのコンポーネント・ファイルは、コンテンツ・サーバーのインスタンスからアクセス可能である必要があります。

- コンテンツ・サーバーのWebページによって参照されるイメージとその他のオブジェクトは、DomainHome/ucm/short-product-id/weblayout/ディレクトリ内に常駐している必要があります(Webサーバーからこれらのオブジェクトにアクセスできるようにするためです)。

12.1.4.5 命名規則

コンポーネント・ファイルを整理して、コンテンツ・サーバーでファイルが適切に動作するようにするには、ディレクトリ、個別ファイルおよびファイルの内容に対して、次の命名規則を遵守します。

- コンポーネント・ディレクトリおよびコンポーネント・ファイルのすべてに対して、一意で意味のある名前を指定する必要があります。各コンポーネントがコンテンツ・サーバーにロードされたときに、同じファイル名を持つリソースがあればオーバーライドされるため、重複するファイル名は、特定のコンポーネントを優先させたい場合に限り使用すべきであることを頭に入れてください。

- コンテンツ・サーバーの標準ファイルをコピーする場合、元のファイル名の前に接頭辞としてcustom_を配置することが一般的な手法です。これにより、デフォルトのテンプレートが上書きされることはいっさいなく、カスタマイズは容易に特定できます。

- HTMファイル・タイプの拡張子は.htm、HDAファイル・タイプの拡張子は.hdaとします。

- ワードパッドのようなテキスト・エディタでコンポーネント・ファイルを新規作成した場合には、引用符の内側のファイル名を「保存」ダイアログ・ボックスに配置して、適切なファイル拡張子が割り当てられるようにします(たとえば、myfile.hda)。ファイル名を定義する際に引用符の使用に失敗すると、ファイル名がmyfile.hda.txtのようになる場合があります。

- 大文字と小文字は、ファイル・システムで区別されていなくても、コンテンツ・サーバーでは区別されます。たとえば、ファイル名がMy_Templateの場合、コンテンツ・サーバーでは、my_templateやMY_TEMPLATEのような、大文字と小文字のバリエーションは認識されません。

- ローカライズされた文字列リソースの場合は、コンテンツ・サーバーで文字列が認識されるようにするために、ファイルの標準命名規則を遵守する必要があります。カスタム文字列の名前を付けるときには、標準的な2文字接頭辞(cs、sy、apまたはww)も使用する必要があります。詳細は、第1.5.5項「ローカライズされた文字列の解決」を参照してください。

12.2 コンポーネントを管理するためのツール

コンポーネントの管理に使用できるツールは次のとおりです。

- コンポーネント・ウィザード

- コンポーネント・マネージャ

- 拡張コンポーネント・マネージャ

- ComponentTool

12.2.1 コンポーネント・ウィザード

コンポーネント・ウィザード・ユーティリティでは、カスタム・コンポーネントに必要なすべてのファイルの作成や編集など、カスタム・コンポーネントの作成プロセスが自動化されます。コンポーネント・ウィザードは、既存のコンポーネントを変更する場合や、コンテンツ・サーバーで使用できるようにコンポーネントのパッケージ化と解凍を行う場合にも使用できます。

図12-1は、コンポーネント・ウィザードへのインタフェースを示しています。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のコンポーネント・ウィザードを使用したコンポーネントの作成に関する項を参照してください。

図12-1 コンポーネント・ウィザードのインタフェース

コンポーネント・ウィザードにアクセスする手順は次のとおりです。

- UNIXオペレーティング・システム: DomainHome/ucm/short-product-id/bin/に格納されているComponentWizardを実行します。
コンポーネント・ウィザードのメイン・ページが表示されます。

- Windowsオペレーティング・システム: 「スタート」メニューからインスタンス名を選択し、「ユーティリティ」、「コンポーネント・ウィザード」の順に選択します。
コンポーネント・ウィザードのメイン・ページが表示されます。

12.2.2 拡張コンポーネント・マネージャ

拡張コンポーネント・マネージャは、コンテンツ・サーバーでカスタム・コンポーネントを管理する手段です。拡張コンポーネント・マネージャを使用すると、コンポーネントを有効または無効にしたり、コンテンツ・サーバーに新規コンポーネントを追加することが簡単にできます。

拡張コンポーネント・マネージャを使用する手順は次のとおりです。

1. 「管理」トレイまたはメニューから、「管理サーバー」→「コンポーネント・マネージャ」を選択します。
「コンポーネント・マネージャ」ページが表示されます。

2. 「コンポーネント・マネージャ」ページの最初の段落で、「拡張コンポーネント・マネージャ」をクリックします。
「拡張コンポーネント・マネージャ」ページが開きます。図12-2はこのページを示しており、有効なコンポーネントと無効なコンポーネントのリストがあります。

図12-2 「拡張コンポーネント・マネージャ」ページ

3. 「拡張コンポーネント・マネージャ」ページで、次のタスクを実行できます。

- カテゴリなどのフィルタ別に、有効なコンポーネントと無効なコンポーネントのリストを表示する

- 選択したコンポーネントに関する詳細の表示

- コンポーネントを有効化する

- コンポーネントを無効化する

- カスタム・コンポーネントをインストールする

- カスタム・コンポーネントをアンインストールする

詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のコンポーネントの管理に関する項を参照してください。

12.2.3 ComponentTool

ComponentToolは、コンテンツ・サーバーに、コンポーネントのインストール、有効化および無効化を行うためのコマンドライン・ユーティリティです。インストールしたコンポーネントは、ComponentToolによって自動的に有効化されます。ComponentToolは、DomainHome/ucm/cs/bin/ディレクトリにあります。

12.3 コンポーネント・ファイル

idcshort-product-id_components.hdaファイルは、どのコンポーネントが有効になっているか、また各コンポーネントの定義(glue)ファイルがどこにあるかを、コンテンツ・サーバーに伝えます。11gリリース1 (11.1.1)では、このファイルには3つのフォームがあり、idccs_components.hda (Content Server用)、idcibr_components.hda (Inbound Refinery用)、idcurm_components.hda (Records用)というように、WebCenter Contentアプリケーションのそれぞれに1つずつです。このファイルは常に、IntradocDir/data/components/ディレクトリに格納されています。

これらのファイルは、手動で作成しないでください。コンポーネント・ファイルの作成には、必ずコンポーネント・ウィザードを使用します。

12.3.1 idc製品の_components.hdaファイル

idcshort-product-id_components.hdaファイルには常に、各定義ファイルの名前とファイル・パスを定義するComponentsというResultSetが含まれます。コンポーネントのHDAファイルを変更するには、コンポーネント・ウィザードまたはコンポーネント・マネージャを使用できます。詳細は、第13章「コンテンツ・サーバーのコンポーネントの有効化と無効化」を参照してください。

例12-6は、コンテンツ・サーバーで有効にされている2つのコンポーネント、MyComponentとCustomHelpを指定しているidccs_components.hdaファイルを示しています。

例12-6 idccs_components.hdaファイル

<?hda version="5.1.1 (build011203)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
blFieldTypes=
@end
@ResultSet Components
2
name
location
MyComponent
custom/MultiCheckin/my_component.hda
CustomHelp
custom/customhelp/customhelp.hda
@end

12.3.2 Components ResultSet

Components ResultSetにコンポーネントがリストされている順序によって、コンテンツ・サーバーの起動時にコンポーネントがロードされる順序が決まります。ResultSetで後にリストされたコンポーネントに、それより前にリストされたコンポーネントと同じ名前のリソースがある場合は、後のコンポーネントのリソースが優先されます。

Components ResultSetには、次の2つの列があります。

- name列には、各コンポーネントの内容を記述した名前が提供されており、この名前は、コンポーネント・ウィザード、コンポーネント・マネージャおよびコンテンツ・サーバーのエラー・メッセージに使用されます。

- location列では、各コンポーネントの定義ファイルの場所を定義しています。この場所は、絶対パス、またはコンテンツ・サーバーのインストール・ディレクトリを基準とした相対パスで指定できます。

注意:

locationパスでは、必ずスラッシュを使用してください。

12.3.3 コンポーネント定義(glue)ファイル

コンポーネント定義ファイル、すなわちglueファイルは、定義したカスタム・リソースを指します。コンポーネントの定義ファイルはcomponent_name.hdaという名前であり、通常はDomainHome/ucm/short-product-id/custom/component_nameディレクトリの中にあります。定義ファイルの作成と変更には、コンポーネント・ウィザードを使用できます。

定義ファイルにはResourceDefinition ResultSetが含まれており、MergeRules ResultSet、Filters ResultSet、ClassAliases ResultSet、またはこれらのResultSetの任意の組合せが含まれる場合もあります。例12-7は、一般的なコンポーネント定義ファイルを示しています。

例12-7 コンポーネント定義ファイル

<?hda jcharset=UTF8 encoding=utf-8?>
@Properties LocalData
classpath=$COMPONENT_DIR/classes.jar
ComponentName=Custom DCL Component
serverVersion=7.3
version=2010_10_22
@end
@ResultSet ResourceDefinition
4
type
filename
tables
loadOrder
template
dcl_templates.hda
DCLCustomTemplates
1
resource
dcl_resource.htm
null
1
resource
dcl_upper_clmns_map.htm
DCLColumnTranslationTable
1
resource
dcl_data_sources.htm
dclDataSources
1
service
dcl_services.htm
CustomServices
1
query
dcl_query.htm
CustomQueryTable
1
resource
dcl_checkin_tables.hda
null
1
@end

@ResultSet MergeRules
3
fromTable
toTable
column
DCLCustomTemplates
IntradocTemplates
name
DCLColumnTranslationTable
ColumnTranslation
alias
DCLDataSources
DataSources
name
CustomDCLServiceQueries
ListBoxServiceQueries
dataSource
@end

@ResultSet Filters
4
type
location
parameter
loadOrder
loadMetaOptionsLists
intradoc.server.ExecuteSubServiceFilter
GET_CHOICE_LIST_SUB
1
@end

12.3.3.1 ResourceDefinition ResultSet

ResourceDefinition ResultSet表では、タイプ、ファイル名、表の名前、およびカスタム・リソースのロード順序が定義されます。例12-8に、ResourceDefinition ResultSetの構造を示します。

例12-8 ResourceDefinition ResultSet

@ResultSet ResourceDefinition
4
type
filename
tables
loadOrder
template
dcl_templates.hda
DCLCustomTemplates
1
resource
dcl_resource.htm
null
1
resource
dcl_upper_clmns_map.htm
DCLColumnTranslationTable
1
resource
dcl_data_sources.htm
dclDataSources
1
service
dcl_services.htm
CustomServices
1
query
dcl_query.htm
CustomQueryTable
1
resource
dcl_checkin_tables.hda
null
1
@end

12.3.3.1.1 ResourceDefinition ResultSetの列

ResourceDefinition ResultSetは、次の4つの列で構成されています。

- type列ではリソース・タイプを定義しており、その値は次のいずれかである必要があります。

- resource: HTMLインクルード(HTM)、文字列(HTM)、動的表(HDA)または静的表(HTM)のリソース・ファイルを指します。

- environment: 環境のリソース(CFG)ファイルを指します。

- template: テンプレートのリソース(HDA)ファイルを指します。

- query: 問合せのリソース(HTM)ファイルを指します。

- service: サービスのリソース(HTM)ファイルを指します。

- filename列では、カスタム・リソース・ファイルのパスとファイル名を定義しています。これには、絶対パスと相対パスのどちらを指定してもかまいません。相対パスは、DomainHome/ucm/short-product-id/custom/component_name/ディレクトリを基準にしています。

- tables列では、リソース・ファイルからロードするResultSet表を定義しています。ResultSet名はカンマで区切られています。リソース・ファイルにResultSetが含まれていない場合は、この値はNULLになります。たとえば、HTMLインクルード・リソースには表定義が含まれていないため、HTMLインクルード・ファイルでは、tables列の値は常にNULLとなります。

- loadOrder列では、リソースがロードされる順序を定義しています。リソースは、loadOrderが1のリソースを最初に、昇順でロードされます。loadOrderの同じリソースが複数ある場合、リソースは、ResourceDefinition ResultSetにリストされている順にロードされます。名前の同じリソースが複数ある場合、最後にロードされるリソースは、システムによって使用されるリソースです。通常の場合、あるリソースを常に他のリソースの後にロードする特別な理由がある場合を除き、loadOrderは1に設定してください。

12.3.3.2 MergeRules ResultSet

MergeRules ResultSet表では、カスタム・コンポーネントで定義されている新規の表を特定し、既存の表のうち、新規のデータがいずれの表にロードされるかを指定します。MergeRulesは、カスタム・テンプレートのリソースでは必須ですが、カスタムの動的表および静的表のリソースではオプションです。MergeRulesは、サービス、問合せ、HTMLインクルード、文字列、環境の各リソースでは、必須ではありません。

例12-9に、MergeRules ResultSetを示します。

例12-9 MergeRules ResultSet

@ResultSet MergeRules
4
fromTable
toTable
column
loadOrder
DCLCustomTemplates
IntradocTemplates
name
1
DCLColumnTranslationTable
ColumnTranslation
alias
1
DCLDataSources
DataSources
name
1
CustomDCLServiceQueries
ListBoxServiceQueries
dataSource
1
@end

12.3.3.2.1 MergeRules ResultSetの列

MergeRules ResultSetは、次の3つの列で構成されています。

- fromTable列では、カスタム・リソースによってロードされ、既存のデータとマージされる新規データを含む表を指定します。マージを適切に実行するには、toTable表と同じ数の列および同じ列名が、fromTable表にある必要があります。

- toTable列では、新規データのマージ先となる既存の表の名前を指定します。通常、toTableの値は、IntradocTemplatesやQueryTableなど、コンテンツ・サーバーの標準的な表のいずれかです。

- column列では、データの比較と更新にコンテンツ・サーバーが使用する表の列の名前を指定します。

- コンテンツ・サーバーでは、fromTableとtoTableのcolumnの値を比較します。toTableの現在値と同一のfromTableの値ごとに、toTableの行がfromTableの行に置換されます。toTableの現在値と同一でないfromTableの値ごとに、toTableに新規の行が追加され、fromTableの行のデータが移入されます。

- columnの値は通常、nameです。この値をNULLに設定すると、デフォルトに設定されるのは最初の列であり、それは一般的にname列です。

12.3.3.3 Filters ResultSet

Filters ResultSet表では、新規コンテンツがチェックインされたりサーバーが最初に起動するなど、コンテンツ・サーバーの特定のイベントがトリガーされたときにカスタムJavaコードの実行に使用されるフィルタを定義します。例12-10は、標準的なFilters ResultSetを示しています。

例12-10 Filters ResultSet

@ResultSet Filters
4
type
location
parameter
loadOrder
loadMetaOptionsLists
intradoc.server.ExecuteSubServiceFilter
GET_CHOICE_LIST_SUB
1
@end

12.3.3.4 ClassAliases ResultSet

ClassAliases ResultSet表は、コンテンツ・サーバーのJavaクラス全体の機能を拡張するために使用されるカスタムJavaクラス・ファイルを指します。例12-11は、標準的なClassAliases ResultSetを示しています。

例12-11 ClassAliases ResultSet

@ResultSet ClassAliases
2
classname
location
WorkflowDocImplementor
WorkflowCheck.CriteriaWorkflowImplementor
@end

12.4 Webページをアセンブルするためのリソース

リソースとは、コンテンツ・サーバーに対して実際に行うカスタマイズを定義および実装するファイルです。リソースには、HTMLコードの断片、動的ページの要素、データベースからデータを収集する問合せ、コンテンツ・サーバーのアクションを実行するサービス、または情報を条件付きで書式設定する特殊コードが考えられます。

コンポーネントのカスタム・リソース・ファイルは通常、DomainHome/ucm/short-product-id/custom/component_nameディレクトリの中にあります。コンポーネントに含まれるリソースが多い場合は、コンポーネント・ディレクトリ内のサブディレクトリ(component_name/resourcesやcomponent_name/templatesなど)にファイルを配置すると、維持がしやすくなります。

リソースの作成には、必ずコンポーネント・ウィザードを使用します。リソース・ファイルは手動で作成しないでください。リソース・ファイルの作成後に編集するやり方には、次の2つがあります。

- コンポーネント・ウィザード
リソース・ファイルは、コンポーネント・ウィザードを使用して追加、編集、またはコンポーネントから削除できます。コンポーネント・ウィザードでは、事前定義されたリソースに対して、カスタム・リソースを作成するときの開始ポイントとして使用できるコードが用意されています。リソース・ファイルは、コンポーネント・ウィザード内からテキスト・エディタで開くこともできます。

- テキスト・エディタでの手動編集
リソース・ファイルは、コンポーネント・ウィザードで作成した後に、必要に応じて、テキスト・エディタで開いてコードを手動で編集できます。

詳細は、第18.2項「コンポーネントのリソースの作成」を参照してください。

注意:

リソース・ファイルを変更したら、コンテンツ・サーバーを再起動する必要があります。

13 コンテンツ・サーバーのコンポーネントの有効化と無効化

この章では、Oracle WebCenter Content Serverにインストールされているコンポーネントを有効化する方法と無効化する方法について説明します。

この章の内容は次のとおりです。

- 第13.1項「コンポーネントの有効化と無効化について」

- 第13.2項「コンポーネントの有効化」

- 第13.3項「コンポーネントの無効化」

13.1 コンポーネントの有効化と無効化について

コンポーネントは本来、idcshort-product-id_components.hdaファイルのComponents ResultSetで適切に定義されていれば有効化されます。エントリがないか、またはエントリが正しく書式設定されていなければ、コンポーネントは無効化されます。

13.2 コンポーネントの有効化

次に示すように、コンポーネントを有効化するやり方はいくつかあります。

- ComponentTool: DomainHome/ucm/short-product-id/bin/ComponentToolを実行して、コンポーネントを有効化します。次に例を示します。

ComponentTool -enable component_name

- コンポーネント・ウィザード: 「オプション」メニューから「有効化」を選択します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

- コンポーネント・マネージャ: コンポーネント名の横にあるチェック・ボックスを選択して、「コンポーネント・マネージャ」画面で指定されたサーバー・コンポーネントを有効化します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

- 拡張コンポーネント・マネージャ: 「拡張コンポーネント・マネージャ」ページでコンポーネント名を選択し、「有効化」をクリックしてコンポーネントを有効化します。

13.3 コンポーネントの無効化

次に示すように、コンポーネントを無効化するやり方はいくつかあります。

- ComponentTool: DomainHome/ucm/short-product-id/bin/ComponentToolを実行して、コンポーネントを無効化します。次に例を示します。

ComponentTool -disable component_name

- コンポーネント・ウィザード: 「オプション」メニューから「無効化」を選択します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

- コンポーネント・マネージャ: コンポーネント名の横にあるチェック・ボックスの選択を解除して、「コンポーネント・マネージャ」画面でサーバー・コンポーネントを無効化します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

- 拡張コンポーネント・マネージャ: 「拡張コンポーネント・マネージャ」ページでコンポーネント名を選択し、「無効化」をクリックしてコンポーネントを無効化します。

14 コンポーネント構成の更新

この章では、Oracle WebCenter Content Serverでのコンポーネントの構成の更新について説明します。

この章の内容は次のとおりです。

- 第14.1項「コンポーネント構成の更新について」

- 第14.2項「拡張コンポーネント・マネージャを使用したコンポーネント構成の更新」

- 第14.3項「「instanceの構成」画面を使用したコンポーネント構成の更新」

14.1 コンポーネント構成の更新について

コンテンツ・サーバーのいくつかのコンポーネントが有効であっても無効であっても、拡張コンポーネント・マネージャまたは「インスタンスの構成」画面を使用して、更新または変更できます。拡張コンポーネント・マネージャには、「コンポーネント構成の更新」フィールドで構成を変更できるコンポーネントのリストがあります。「インスタンスの構成」画面から、指定されたコンポーネントの構成を変更できる場合は、そのコンポーネントの「コンポーネント構成の更新」画面が表示され、変更できない場合はメッセージが表示されます。

コンテンツ・サーバーには、次のコンポーネントに対して「コンポーネント構成の更新」画面があります。

- Folders_g

- PDF Watermark

- Content Tracker

- Content Tracker Reports

- Site Studio

- DesktopIntegrationSuite

- DesktopTag

- EmailMetadata

14.2 拡張コンポーネント・マネージャを使用したコンポーネント構成の更新

拡張コンポーネント・マネージャを使用したコンポーネント構成の更新の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のコンポーネント・マネージャを使用したコンポーネント構成の変更に関する項を参照してください。

14.3 「instanceの構成」画面を使用したコンポーネント構成の更新

「インスタンス」画面の「構成」からのコンポーネント構成の更新の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のコンポーネント・マネージャを使用したコンポーネント構成の変更に関する項を参照してください。

15 Content Trackerのカスタマイズ

Content TrackerとContent Trackerレポートは、どちらもOracle WebCenter Content Serverのオプションのコンポーネントで、Oracle WebCenter Contentとともにインストールされます。これらのコンポーネントが有効になっているときには、最もアクセス頻度の高いコンテンツ・アイテムや、ユーザーまたは特定グループにとって最も価値の高いコンテンツなど、システム使用に関する情報が提供されます。これらのコンポーネントをカスタマイズして、組織のコンテンツの消費パターンに関する特定の情報を提供できます。

この章の内容は次のとおりです。

- 15.1項「Content Trackerについて」

- 第15.2項「構成変数によるContent Trackerのカスタマイズ」

- 第15.3項「サービス・コールの構成」

- 第15.4項「アクティビティ・メトリックのSQL問合せのカスタマイズ」

- 第15.5項「Webビーコンによるコンテンツへの間接アクセスの追跡」

デフォルト設定でのContent Trackerの使用の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

15.1 Content Trackerについて

Content Trackerでは、コンテンツ・サーバーのインスタンスのアクティビティが監視され、それらのアクティビティについて選択した詳細が記録されます。さらに、システムがどのように使用されているかを示すレポートが生成されます。この項では、Content TrackerおよびContent Trackerレポートの機能について概要を説明します。

Content Trackerには、構成変数によって制御されるいくつかの最適化機能が組み込まれています。変数のデフォルト値によって、大規模な本番環境で可能なかぎり効率的に機能するようにContent Trackerを設定できます。Content Trackerの構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

15.1.1 Content Trackerレポート

Content Trackerでは、様々なアクティビティに関するシステムおよびレコードの情報が監視されます。この情報は様々なソースから収集され、マージされてコンテンツ・サーバー・データベース内の一連の表に書き込まれます。Content Trackerでは、次のアクセスおよびサービスに基づいてアクティビティを監視できます。

- コンテンツ・アイテム・アクセス: コンテンツ・アイテムの使用に関する情報
データは、Webフィルタ・ログ・ファイル、コンテンツ・サーバー・データベースおよびその他の外部アプリケーション(ポータルやWebサイトなど)から取得されます。コンテンツ・アイテム・アクセスのデータには、日付、時刻、コンテンツIDおよび現在のメタデータが含まれます。

- コンテンツ・サーバー・サービス: コンテンツを返すすべてのサービス、および検索リクエストを処理するサービス。デフォルトでは、Content Trackerがログに記録するのは、コンテンツ・アクセス・イベント・タイプを持つサービスのみですが、構成を変更すれば、Content Trackerは、カスタム・サービスまで含め、コンテンツ・サーバーのいかなるサービスでも監視できます。

- ユーザー・アクセス: ユーザー・プロファイルのサマリーの収集や統合など、コンテンツ・アクセス・イベント以外の他の情報。このデータには、ユーザー名およびユーザー・プロファイル情報が含まれます。

Content Trackerでデータが抽出され、データベース表に移入された後、Content Trackerレポート使用して次のタスクを実行できます。

- レポートの生成: Content Trackerレポートでは、表を問い合せて、コンテンツ・アイテムのアクティビティのサマリー・レポートおよび使用状況履歴が生成されます。これらのレポートを使用すると、コンテンツまたはユーザーの特定グループを、メタデータ、ファイル拡張子またはユーザー・プロファイルに基づいて分析できます。事前定義されたレポートを使用してカスタマイズするか、または互換性のあるサード・パーティのレポート作成パッケージを使用します。

- コンテンツ管理プラクティスの最適化: レポートされたデータを、コンテンツ保存管理に使用できます。アクセス頻度に応じて、一部のアイテムをアーカイブまたは削除できます。同様に、アプリケーションではこのデータを使用して、特定タイプのユーザーの上位アクセス・コンテンツをポートレットに提供できます。

15.1.2 Content Trackerのコンポーネントおよび機能

Content Trackerにはデバッグ構成変数SctDebugServiceBinderDumpEnableがあり、有効にすると、サービス・ハンドラ・フィルタが構成されてサービスDataBinderオブジェクトがダンプ・ファイルに書き込まれます。フィールド・マップ画面を開発するときに、これを診断ツールとして使用できます。ダンプ・ファイルを使用すると、特定のサービス・イベントが記録されるときに使用可能なデータを参照できます。

15.1.2.1 DataBinderダンプ機能

Content Trackerによって特定のサービスがログ・ファイルに記録されると、そのサービスのDataBinderオブジェクトの内容が、シリアル化されたダンプ・ファイルに書き込まれます。これらのファイルの内容は、拡張されたサービス・コール・トラッキング機能を使用するためのフィールド・マップを作成する際に、デバッグ用に役立ちます。これらのダンプ・ファイルを使用して、記録されたサービスに使用可能なLocalDataフィールドを確認できます。

Content Trackerサービス・ハンドラ・フィルタによってDataBinderオブジェクトのダンプ・ファイルが作成されるのは、関連付けられたサービスがSctServiceFilter.hdaファイル内に定義されている場合のみです。

注意:

DataBinderオブジェクトのダンプ・ファイルは、手動で削除しないかぎり蓄積され続けます。SctDebugServiceBinderDumpEnabled構成変数は、必要な場合にのみ使用してください。

15.1.2.1.1 DataBinderダンプ機能の値

この構成変数の値は、FalseまたはTrueになります。

- SctDebugServiceBinderDumpEnabled=Falseに設定すると、Content Trackerサービス・ハンドラ・フィルタによってDataBinderオブジェクトはダンプ・ファイルに書き出されません。これはデフォルト値です。

- SctDebugServiceBinderDumpEnabled=Trueに設定すると、DataBinderオブジェクトがダンプ・ファイルに書き出されるようにContent Trackerサービス・ハンドラ・フィルタが構成されます。ダンプ・ファイルは、拡張されたサービス・ロギング用のフィールド・マップを開発する際の診断ツールとして使用します。サービス用のフィールド・マップを作成する場合は、ダンプ・ファイルを使用すると、サービス・イベントの記録時に使用可能なデータを確認できます。

15.1.2.1.2 DataBinderオブジェクトのダンプ・ファイルの場所

シリアル化されたDataBinderオブジェクトは、ダンプ・ファイルに書き込まれます。

IntradocDir/data/ContentTracker/DEBUG_BINDERDUMP/dump_file_name

15.1.2.1.3 DataBinderオブジェクトのダンプ・ファイルの名前

DataBinderオブジェクトのダンプ・ファイルはテキスト・ファイルで、その名前は次の3つの部分で構成されます。

service-name_filter-function_serial-number.hda

ここで:

- service-nameは、ログに記録されたサービスの名前(GET_FORM_FILEなど)です。

- filter-functionは、次の値のいずれかになります。

- End: フィルタ・イベント「on EndServiceRequestActions」
この値は、正常なサービス終了イベントに対するものです。

- EndSub: フィルタ・イベント「on EndScriptSubServiceActions」
この値は、サブサービスとして呼び出されたサービスの正常なサービス終了に対するものです。

- Error: フィルタ・イベント「on ServiceRequestError」
この値は、発生したエラーにおけるサービスの終了に対するものです。Endフィルタ・イベントに加えて発生する場合があります。

- serial-numberは、ファイルに割り当てられた一意の識別番号です。
この番号によって、Content Trackerでは、1つの特定のサービスに対してDataBinderオブジェクトのダンプ・ファイルを複数作成できます。

例:

GET_SEARCH_RESULTS_End_1845170235.hda

15.1.2.2 パフォーマンスの最適化

Content Trackerでは、コンテンツ・アクセス・イベントのデータのみが収集および記録されます。この処理では、検索などのコンテンツ・アクセス・イベント以外での情報収集や、ユーザー・プロファイルのサマリーの収集および統合は除外されます。

Content Trackerには、構成変数で制御される最適化関数がいくつか組み込まれています。変数のデフォルト値は、Content Trackerが大規模な本番環境で可能なかぎり効率的に機能するようにを設定できます。代替値は、インストール時に設定するか、または後で変更できます。

次のパフォーマンス変数を使用できます。

- SctTrackContentAccessOnly
コンテンツ・アクセスのみ: この変数により、収集される情報のタイプが決定します。これを有効(デフォルト)にすると、コンテンツ・アクセス・イベントのみが記録されます。

- SctDoNotPopulateAccessLogColumns
列の除外: この変数の値は、Content TrackerでSctAccessLog表に移入されない列のリストです。デフォルトでは、出力表のサイズを削減するために、大規模な情報やほとんど使用しない情報は収集されません。

- SctSimplifyUserAgent
ユーザー・エージェントの簡素化: この変数によって、SctAccessLog表のcs_userAgent列に格納される情報が最小限になります。

- SctDoNotArchive
アーカイブしない: この変数によって、すべてのContent Trackerデータベース表には最近のデータが格納され、期限切れの表行はアーカイブされずに破棄されます。デフォルトでは、SctAccessLog表のみ移入され、期限切れの行はアーカイブされません。ただし、SctTrackContentAccessOnlyとSctDoNotArchiveの両方を無効にすると、すべての表が移入され、期限切れデータがアーカイブされます。

15.1.2.3 インストールに関する考慮事項

グリニッジ標準時(GMT)を使用するには、SctUseGMT構成パラメータをtrueに設定します。デフォルトでは、ローカル時間を使用するように、falseに設定されています。以前のバージョンのContent Trackerをアップグレードする場合、アクセス時間が1回前に戻ります(地域によっては先に進みます)。年2回のサマー・タイム実施に対応するために、記録されるユーザー・アクセス時間に中断が生じます(ローカル時間の使用および地域によって異なります)。

15.2 構成変数によるContent Trackerのカスタマイズ

Content Trackerのカスタマイズには、構成変数を使用できます。

15.2.1 構成変数について

次の表に、現行バージョンのContent Trackerで使用される構成設定のデフォルト値を示します。これらの構成変数は、Content Tracker構成ファイルに含まれています。

cs_root/data/contenttracker/config/sct.cfg

構成設定

デフォルト値

注釈

SctAutoTruncateDataStrings

FALSE

使用: JAVA

削減プロセスでデータ文字列を対応する表列に収まるように切り捨てるかどうかを指定します。

SctComponentDir

cs_root/data/
contenttracker/

使用: JAVA

Content Trackerがインストールされているディレクトリへのパス。

SctDebugLogEnabled

FALSE

使用: JAVA

TRUEに設定すると、Javaコード実行トレースが有効化されます。SctDebugLogFilePathとともに使用されます。

SctDebugLogFilePath

cs_root/data/
contenttracker/log/
SCT_DEBUG_TRACE.log

使用: JAVA

Javaコード実行トレースのディレクトリ。SctDebugLogEnabledとともに使用されます。

SctDebugServiceBinderDumpEnabled

FALSE

使用: JAVA

TRUEに設定すると、サービス・ロギング中にサービスDataBinderオブジェクトの診断出力が有効化されます。

SctExternalUserLogEnabled

TRUE

使用: JAVA

TRUEに設定すると、外部ユーザー・アカウントおよびロールの情報のUserSecurityAttributes表へのレプリケーションが有効化されます。

SctFilterPluginLogDir

cs_root/data/
contenttracker/data/

使用: フィルタ・プラグイン

フィルタ・プラグインによってイベント・ログが格納されるディレクトリへのパス。

SctIdcAuthExtraConfigParams

[なし]

フィルタ・プラグインに渡され、Content Tracker起動フィルタによってidcAuthExtraConfigParamsにプログラムでマージされるContent Tracker構成パラメータのリスト。

SctIgnoreDirectories

DomainHome/ucm/cs/
resources/;
DomainHome/ucm/cs/
common/

使用: フィルタ・プラグイン

リストされたディレクトリ・ルート内に含まれるURLを無視するようにフィルタ・プラグインに指示します。

SctIgnoreFileTypes

gif、jpg、js、css

使用: フィルタ・プラグイン

リストされたファイル・タイプを持つURLを無視するようにフィルタ・プラグインに指示します。

SctLogDir

cs_root/data/
contenttracker/data/

使用: JAVA

Content Trackerが未加工のイベント・ログ(sctLogなど)を探す1つ以上のディレクトリへのパス。このパラメータは、dir1;dir2;...;dirnとして複数値になる場合があります。

SctLogEnabled

TRUE

使用: フィルタ・プラグイン、JAVA

FALSEの場合、すべてのイベントを無視してログを作成しないようにサービス・ハンドラ・フィルタおよびWebサーバー・フィルタ・プラグインに指示します。これは、Content Trackerマスターのオン/オフのスイッチです。

SctLogSecurity

TRUE

使用: フィルタ・プラグイン、JAVA

TRUEの場合、IMMEDIATE_RESPONSE_PAGEイベントをsctSecurityLogイベント・ログに記録するようにフィルタ・プラグインに指示し、イベント・ログを読み取るように削減プロセスに指示します。

SctMaxRecentCount

5

使用: JAVA

削減済のデータが「最新」状態として保持される最大日数。「最新」からオーバーフローしたデータは「アーカイブ」状態に移行します。

SctMaxRereadTime

3600

使用: JAVA

特定のユーザーが特定のコンテンツ・アイテム(PDFファイルなど)を連続して参照したとき、連続する参照が1つの持続するアクセスとしてみなされる最大の秒間隔。次の参照との時間間隔が大きい場合は、個別のアクセスとしてカウントされます。

SctReductionAvailableDatesLookback

0

使用: JAVA

使用可能な日付範囲を制限するためにSctReductionRequireEventLogsとともに使用されます。単位 = 日数。ゼロ = 無制限。

SctReductionLogDir

cs_root/data/
contenttracker/log/

使用: JAVA

Content Tracker削減ログが格納されるディレクトリへのパス。

SctReductionRequireEventLogs

TRUE

使用: JAVA

添付解除された構成で使用されます。FALSEは、イベント・ログが見つからない場合でも削減を続行することを示します。

SctScheduledReductionEnable

TRUE

使用: JAVA

複数JVM構成において、削減を実行するコンテンツ・サーバー・インスタンスを選択するために使用されます。

SctSnapshotEnable

FALSE

使用: JAVA

TRUEに設定すると、スナップショット機能が有効化されます。データ・エンジン・コントロール・センターから設定します。

SctSnapshotLastAccessEnable

FALSE

使用: JAVA

TRUEに設定すると、最終アクセス日付のスナップショット機能が有効化されます。データ・エンジン・コントロール・センターから設定します。

SctSnapshotLastAccessField

[なし]

使用: JAVA

最終アクセス日付のメタデータ・フィールド名(xLastAccessDateなど)。データ・エンジン・コントロール・センターから設定します。

SctSnapshotLongCountEnable

FALSE

使用: JAVA

TRUEに設定すると、長期間隔アクセス・カウントのスナップショット機能が有効化されます。データ・エンジン・コントロール・センターから設定します。

SctSnapshotLongCountField

[なし]

使用: JAVA

長期間隔カウントのメタデータ・フィールド名(xAccessesInLast90Daysなど)。データ・エンジン・コントロール・センターから設定します。

SctSnapshotLongCountInterval

[なし]

使用: JAVA

長期間隔の日数。データ・エンジン・コントロール・センターから設定します。

SctSnapshotShortCountEnable

FALSE

使用: JAVA

TRUEに設定すると、短期間隔アクセス・カウントのスナップショット機能が有効化されます。データ・エンジン・コントロール・センターから設定します。

SctSnapshotShortCountField

[なし]

使用: JAVA

短期間隔カウントのメタデータ・フィールド名(xAccessesInLast10Daysなど)。データ・エンジン・コントロール・センターから設定します。

SctSnapshotShortCountInterval

[なし]

使用: JAVA

短期間隔の日数。データ・エンジン・コントロール・センターから設定します。

SctUseGMT

FALSE

使用: フィルタ・プラグイン、JAVA

TRUEに設定すると、記録されたイベント時間を世界標準時に変換します。FALSEに設定すると、ローカル時間が使用されます。

次の変数は、sct.cfgファイルでは利用できず、コンポーネント・マネージャを使用した場合にのみアクセスできます。

構成設定

デフォルト値

注釈

SctPostReductionExec

[なし]

使用: JAVA

削減後実行可能ファイルへのパス(IntradocDir/custom/ContentTracker/bin/内と想定)。

SctProxyNameMaxLength

50

使用: JAVA

構成内のコンテンツ・サーバー・プロキシ・サーバー名の最大文字数。Content Trackerの表作成でユーザー名フィールドのサイズを増やす場合に使用されます。

SctUrlMaxLength

3000

使用: JAVA

URLフィールドの予測される最大長(文字数)。表の作成時に列幅を決定するために使用されます。1つの特定の表にこのような列が複数存在する場合があります。

SctWebBeaconIDList

[なし]

使用: フィルタ・プラグイン

Webビーコン・オブジェクトのリスト(オブジェクトがゼロの場合もあります)。クライアント側タグを使用してデータをContent Trackerにフィードする機能を追加する場合に必要です。Content Trackerで、キャッシュされたページのデータや、キャッシュされたサービスから生成されたページのデータを収集できるようになります。

Content Trackerの構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

15.2.1.1 アクセス制御リストおよびContent Trackerレポートのセキュア・モード

Content Trackerレポートのコンポーネントをインストールすると、セキュリティ・チェック・プリファレンス変数(SctrEnableSecurityChecks)が設定されます。このプリファレンス変数では、2つのセキュリティ・モード(セキュア・モードおよび非セキュア・モード)のいずれかを選択できます。セキュリティ・チェック・プリファレンスには、個々のユーザー・ロールおよびアカウント情報を使用して、レポート結果におけるコンテンツ・アイテム情報の表示を制限するためのオプションがあります。

これは、生成されるレポートでユーザーに表示されるコンテンツ・アイテム(およびその後のメタデータ)を制御することを意味します。ユーザーがコンテンツ・サーバー検索で見つけられなかった内容はContent Trackerレポートでも表示されないようにすることが理想的です。セキュア・モードを使用すると、生成されるレポートの情報は、ユーザーのロールおよびアカウント権限に基づいてフィルタ処理されます。

ただし、コンテンツ・サーバーのインスタンスに対してアクセス制御リスト(ACL)が有効化されている場合、Content Trackerレポートのセキュア・モード・オプションは機能しません。インストール時は、セキュリティ・チェック・プリファレンス・チェックボックスを空白にしておきます。これは、ACLベースのシステムでは、セキュア・モードが無効になっている必要があることを意味します。この場合、システム管理者以外のユーザーに、本来はアクセスと表示の権限を付与していないコンテンツ・アイテムの情報が表示される可能性があります。

15.2.1.2 セキュリティ・チェック・プリファレンス変数の値

セキュリティ・チェック・プリファレンス変数は、次の値のいずれかになります。

- SctrEnableSecurityChecks=Trueに設定すると、セキュリティ・チェック・インストール・プリファレンスが有効化され、Content Trackerレポートがセキュア・モードで動作するように構成されます。
セキュア・モードでは、コンテンツ・サーバーの検索結果を制限するために使用されたのと同じセキュリティ基準(ロールおよびアカウントの制限)が、「Content Trackerレポートの生成」の問合せおよび生成されるレポートにも適用されます。このため、2つの異なるユーザーが「上位アクセス・コンテンツ・アイテム」レポートを実行した場合、異なる結果が表示されることがあります。

- SctrEnableSecurityChecks=Falseに設定すると、セキュリティ・チェック・インストール・プリファレンスが無効化され、Content Trackerレポートが非セキュア・モードで動作するように構成されます。これがデフォルトの設定です。
非セキュア・モードの場合、コンテンツ・サーバーの検索結果を制限するのに使用された追加のロールおよびアカウント基準は、「Content Trackerレポートの生成」の問合せおよび生成されるレポートに適用されません。このため、システム管理者以外のユーザーに、アクセスと表示の権限を付与していないコンテンツ・アイテムの情報が表示される可能性があります。

15.2.1.3 SctAccessLogのエントリのファイル・タイプ

デフォルトでは、Content TrackerによってGIF、JPG、JS、CSS、CABおよびCLASSファイル・タイプへのアクセスはログに記録されません。したがって、これらのファイル・タイプのエントリは、データ削減後、結合された出力表に挿入されません。

これらのファイル・タイプをログに記録するには、IntradocDir/custom/ContentTracker/resources/ディレクトリにあるsct.cfgファイル内でファイル・タイプを有効化する必要があります。SctIgnoreFileTypes構成変数(gif,jpg,js,css)のデフォルトの設定を変更します。デフォルト設定では、これらのファイル・タイプは除外されます。これらのファイル・タイプの一部のみを含めるには、リストから目的の各ファイル・タイプを削除します。この変更を有効にするには、Webサーバーおよびコンテンツ・サーバーを再起動する必要があります。

15.2.2 Content Tracker構成変数の設定

Content Tracker構成変数を設定または編集する手順は、次のとおりです。

1. テキスト・エディタで、sct.cfgファイルを開きます。
cs_root/data/contenttracker/config/sct.cfg

2. 編集する構成ファイルを検索します。

3. 適用可能な値を入力します。

4. sct.cfgファイルを保存して閉じます。

5. コンテンツ・サーバーを再起動して変更内容を適用します。

データ・エンジン・コントロール・センターに組み込まれているユーザー・インタフェースを使用して、アクティビティ・メトリック・メタデータ・フィールドの構成変数を追加または編集します。次のような変数があります。

- SctSnapshotEnable

- SctSnapshotLastAccessEnable

- SctSnapshotLastAccessField

- SctSnapshotLongCountEnable

- SctSnapshotLongCountField

- SctSnapshotLongCountInterval

- SctSnapshotShortCountEnable

- SctSnapshotShortCountField

- SctSnapshotShortCountInterval

ユーザー・インタフェースとアクティビティ・メトリック関数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のデータ追跡関数に関する項を参照してください。

15.2.3 外部ユーザーおよびコンテンツ・アイテムの追跡

Content Trackerで適用可能レポートに外部ユーザー・アクセスに関するデータを含めるかどうかを制御するオプションがあります。これらの認証済ユーザーは、ユーザー・ロールおよびアカウントに基づいて権限を与えられています。デフォルトでは、構成パラメータSctExternalUserLogEnabledはtrue(有効)に設定されています。これによって、Content Trackerでは、外部ユーザー・ログインが監視され、そのロールおよびアカウント情報がUserSecurityAttributes表に自動的に伝播されます。

SctExternalUserLogEnabled構成変数が有効か無効かに関係なく、外部ユーザーのコンテンツ・アイテム・アクセス情報はすべて追跡されて記録されます。ただし、この構成変数が有効化されている場合は、外部で認証されたユーザー名とそれに関連付けられたユーザー・ロールおよびアカウントとの相関関係を明示的に示すレポートに、このデータが含められます。具体的には、「ユーザー・ロール別上位アクセス・コンテンツ・アイテム」レポートおよび「ユーザー・ロール別ユーザー」レポートに、外部ユーザーによるすべてのコンテンツ・アイテム・アクセス・アクティビティが含められます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のContent Trackerレポートに関する項を参照してください。

注意:

SctExternalUserLogEnabled構成変数を手動で無効にする方法の詳細は、第15.2.2項「Content Tracker構成変数の設定」を参照してください。

15.3 サービス・コールの構成

サービス・コール構成ファイルでサービス・コールを構成し、イベントをログに記録するようにContent Trackerロギング・サービスを構成して、サービス・コール情報を管理できます。

15.3.1 サービス・コール構成ファイルについて

Content Trackerサービス・ハンドラ・フィルタを使用すると、コンテンツ・リクエスト以外のコンテンツ・サーバー・アクティビティに関する情報が収集できます。サービス・ハンドラ・フィルタによってサービス・リクエスト詳細が収集され、リアルタイムでSctAccessLog表に格納されます。詳細は、サービス・コールに付随するDataBinderから取得されます。コンテンツ・サーバー・サービス・コールをログに記録するには、サービス・コール構成ファイル(SctServiceFilter.hda)内にそのエントリが存在している必要があります。

SctServiceFilter.hdaファイルはユーザーが変更可能な構成ファイルで、ログに記録されるサービス・コールの数を制限するために使用されます。これによって、ログに記録されるサービスを選択的に管理できます。SctServiceFilter.hdaファイルに含まれている任意のサービス・コールのデータ・ロギング機能を拡張して、特定のサービスに関連する特定のDataBinderフィールドのデータ値を記録および追跡することもできます。詳細は、第15.3.1.2項「拡張されたサービス・コール・トラッキング機能」を参照してください。

サービス・トラッキングは、サーバー・ソケット・ポートを介してコールされる最上位レベルのサービスに制限されます。サブサービス、または内部で呼び出されるサービスは追跡できません。

SctServiceFilter.hdaファイルの目的は、ユーザーがコンテンツ・サーバーのどの部分に特に関心があるかを定義することです。SctServiceFilter.hdaファイルにリストされていないコンテンツ・サーバー・サービスは、Content Trackerで無視されます。また、このファイルにリストされていないサービスは、Content Trackerロギング・サービスでのみログに記録できます。詳細は、第15.3.2項「Content Trackerロギング・サービスについて」を参照してください。

SctServiceFilter.hdaファイルは、次の2つの方法で変更できます。

- データ・エンジン・コントロール・センターから、新規サービスを追加し、ファイル内の既存のサービス・コール・パラメータを編集します。

- SctServiceFilter.hdaファイルを手動で編集します。
詳細は、第15.3.3.1項「SctServiceFilter.hdaファイルの手動編集」を参照してください。

ヒント:

ログに記録するサービスを制御するには、SctServiceFilter.hdaファイルにサービスを追加するか、またはファイルから除外します。この方法は、特定のサービスまたはすべてのサービスに対するロギングを制御する場合に効率的です。また、拡張されたサービス・コール・トラッキング機能を使用すると、特定のサービスに対してログに記録されるデータのタイプをカスタマイズできます。

15.3.1.1 一般的なサービス・コール・ロギング

SctServiceFilter.hdaファイルにリストされたサービスはContent Trackerサービス・ハンドラ・フィルタによって検出され、選択されたデータ・フィールドの値が取得されます。その後に、Content Trackerでは指定されたサービス・コールがログに記録されます。タイムスタンプなどとともに、情報がSctAccessLog表に動的に書き込まれます。

Content Trackerでは、有効になっているサービスごとに、dUserやdDocNameなど、特定の標準のDataBinderフィールドが自動的にログに記録されます。また、拡張されたサービス・コール・トラッキング機能に関連付けられているDataBinderフィールドのログが、SctAccessLog表の汎用の列に記録されます。

データは、Content Tracker固有のサービス順序番号およびサービスのタイプ指定Sを使用して、SctAccessLog表にリアルタイムで挿入されます。(Wの指定は、静的URLイベント・タイプを示します。)手動削減、スケジュールされた削減、あるいはその両方での削減が必要になるのは、Webサーバー・フィルタによって収集された静的URLアクセス情報を処理する場合のみです。

15.3.1.2 拡張されたサービス・コール・トラッキング機能

拡張されたサービス・コール・トラッキング機能を使用すると、コンテンツ・サーバーのサービス・コールをログに記録でき、構成された各サービス・コールでログに記録される標準のDataBinderフィールド以外に1つ以上の追加DataBinderフィールドから関連データ値をログに記録することによって、この情報を補完することもできます。

15.3.1.2.1 サービス・コールResultSetの組合せ

SctServiceFilter.hdaファイルに含まれるServiceExtraInfo ResultSet内に、Content Trackerによってログに記録される各サービスのエントリが存在している必要があります。Content Trackerでは、各種の標準のDataBinderフィールド(dUser、dDocNameなど)が自動的にログに記録されます。ただし、追加のDataBinderフィールドから関連データ値を記録および追跡することによって、Content Trackerで記録されるサービス関連データを拡張できます。

拡張サービス・コール・トラッキング機能を実装するには、ServicesExtraInfo ResultSet内のエントリをフィールド・マップResultSetにリンクします。各フィールド・マップResultSetには、データ・フィールド名、ソース格納場所およびSctAccessLog表内の宛先表列名のセットが1つ以上含まれます。このグループ化によって、関連付けられたサービス・コールに関連するデータ・フィールドを選択し、SctAccessLog表の指定された列にデータ値を記録できます。

拡張されたトラッキング機能を使用すると複数の拡張サービスを記録できるため、記録されるサービスが不明な場合は、SctAccessLog表の汎用列の内容を適切に解釈できません。サービス名は常にsc_scs_idcService列に記録されます。問合せでは、この列と任意のサービス名を一致させてください。

注意:

フィールド・マップResultSetでは、SctAccessLog表の既存の標準列にデータ・フィールドをマップできます。標準のフィールド・データ値が収集されると、拡張されたサービス・マッピングが実行されます。表の標準の列フィールドは、いずれもオーバーライドできます。

たとえば、ログに記録するサービスのデータ・フィールドに特定のユーザー名(たとえば、MyUserName=john)が含まれるとします。拡張されたトラッキング機能を使用して、sc_scs_dUser列の内容をオーバーライドできます。この場合は、MyUserNameとsc_scs_dUserを結合して、データ・フィールド、格納場所、およびフィールド・マップResultSet内の表列のセットとして使用します。

ログに記録されるデータがSctAccessLogの列タイプと適合していることを確認する必要があります。

リンクされたサービス・エントリとResultSetの例については、第15.3.1.4.2項「リンクされたサービス・エントリとフィールド・マップResultSet」を参照してください。SctAccessLog表のコンテンツと、データ・フィールドにマップされる汎用列のコンテンツの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』の結合された出力表に関する項を参照してください。

15.3.1.2.2 出力表の汎用列

拡張されたサービス・トラッキング用のフィールド・マップResultSet内で、DataBinderフィールドをSctAccessLog表の列にマップします。汎用列(extField_1からextField_10)はマッピングに使用できます。これらの列には、特定のサービスに対するロギングおよびトラッキングに適した任意のデータ値を挿入できます。標準の表列がオーバーライドされることを回避するために、これらの列を使用することをお薦めします。

ヒント:

サービスの名前は常にsc_scs_idcService列に記録されます。拡張フィールドのコンテンツを使用する問合せには、修飾子としてこれを含めます。SctAccessLog表の列が関わる特定のSQL問合せが含まれているカスタム・レポートの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のレポート作成タイプに関する項を参照してください。

15.3.1.3 サービス・コール構成ファイルの内容

最初のサービス・コール構成ファイル(SctServiceFilter.hda)は、共通に使用されてコンテンツ・サーバーに固有のコンテンツ・アクセス、検索およびユーザー認証サービスで構成されます。このファイルには、ログに記録される各サービスに1つずつエントリが存在するResultSet構造が含まれます。拡張されたサービス・コール・トラッキング機能をサポートするために、ServiceExtraInfo ResultSet内のサービス・エントリにリンクされたフィールド・マップResultSetをこのファイルに含めることもできます。

データ・エンジン・コントロール・センターからアクセスする「サービス」ユーザー・インタフェースを使用して、SctServiceFilter.hdaファイルに新規のエントリを追加するか、既存のエントリを編集するか、またはその両方を行います。あるいは、ファイル内のエントリを手動で変更します。詳細は、第15.3.3.1項「SctServiceFilter.hdaファイルの手動編集」を参照してください。

注意:

Content TrackerによってSctAccessLog表に記録される最初のサービスのセットを確認するには、次のSctServiceFilter.hdaファイルを参照してください。

cs_root/data/contenttracker/config/SctServiceFilter.hda

次の表に、サービス・コール構成ファイルのResultSetスキーマの詳細を示します。値は、SctAccessLog表内の対応する列に直接コピーされます。

ServiceExtraInfo ResultSetのコンテンツ

機能

説明

サービス名(sctServiceName)

ロギングされるサービスの名前。GET_FILEなど。指定されたサービスについてResultSet内に行が存在しない場合、そのサービスは記録されません。

呼出し元製品(sctCallingProduct)

任意の文字列。この文字列は、通常、すべての標準コンテンツ・サーバー・エントリに対して「Core Server」に設定されています。

イベント・タイプ(sctEventType)

任意の文字列。この文字列は、通常、すべての標準コンテンツ・サーバー・エントリに対して「Content Access」に設定されています。

参照 (sctReference)

SctAccessLog表のsc_scs_referenceフィールドを設定するために使用します。空白の場合は、内部getReferenceロジックが使用されます。

フィールドの変更(sctFieldMap)

SctServiceFilter.hdaファイルに追加されるフィールド・マップResultSetの名前。このフィールドは、拡張されたサービス・コール・トラッキング機能を使用する場合にのみ必要です。この機能により、DataBinderフィールド情報を、SctAccessLog表の1つ以上の汎用列にロギングできます。

フィールド・マップResultSetの内容

機能

説明

「フィールドの変更」リンク

フィールド・マップResultSetの名前。

サービスDataBinderオブジェクトを書き出す構成変数を設定できます。これにより、イベントが記録されるときに使用可能なデータを参照できます。

「DataBinder」フィールド(dataFieldName)

SctAccessLog表の汎用列にデータ値が記録されるDataBinderフィールドの名前。「フィールドの変更」画面の「フィールド名」フィールドも参照してください。

データの場所(dataLocation)

ログに記録されるフィールドが配置されているコンテンツ・サーバー・サービスDataBinderのセクション。「フィールドの変更」画面の「フィールドの場所」フィールドも参照してください。

アクセス・ログ列(accessLogColumnName)

指定したDataBinderフィールドのデータ値がロギングされるSctAccessLog表の特定の汎用列。「フィールドの変更」画面の「列名」フィールドも参照してください。

DataBinderからコピーされてSctAccessLog表に挿入されるフィールドには、dID、dDocName、IdcService、dUser、SctCallingProduct、SctEventTypeおよびSctReferenceがあります。最後の3つのフィールドの値がSctServiceFilter.hdaファイル内のサービスのエントリに含まれている場合は、それらの値はデータ・フィールド内の対応する値をオーバーライドします。

サービス・ハンドラ・フィルタを介してログに記録されるサービスと、Content Trackerロギング・サービスを介してログに記録されるサービスとの間に、重複や競合はないはずです。サービスの名前がContent Trackerサービス・ハンドラ・フィルタ・ファイルに指定されている場合、そのサービスは自動的にログに記録されるため、Content Trackerロギング・サービスによる記録は不要です。

ヒント:

必要なサービス・コールをSctServiceFilter.hdaファイルに追加し、この方法を使用して特定のアクティビティを記録すると、CallingProduct、EventTypeおよびReferenceフィールドの値を指定できる長所があります。割り当てた値は、SctAccessLog表内の対応する列に直接コピーされます。

15.3.1.4 ResultSetの例

デフォルトのSctServiceFilter.hdaファイルには、各種の共通のサービス・コールが含まれています。

注意:

Content TrackerによってSctAccessLog表に記録される最初のサービスのセット、サービス・エントリおよびフィールド・マップResultSetを確認するには、次のSctServiceFilter.hdaファイルを参照してください。

cs_root/data/contenttracker/config/SctServiceFilter.hda

これらのサービスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

15.3.1.4.1 ServiceExtraInfo ResultSetエントリ

次のリストに、SctServiceFilter.hdaファイルのServiceExtraInfo ResultSetに含まれるサービス・エントリの例をいくつか示します。

- GET_FILE_BY_NAME
Core Server

Content Access

- GET_DYNAMIC_URL
Core Server

Content Access

- GET_DYNAMIC_CONVERSION
Core Server

Content Access

- GET_EXTERNAL_DYNAMIC_CONVERSION
Core Server

Content Access

- GET_ARCHIVED_FILE
Core Server

Content Access

- COLLECTION_GET_FILE
Folders

Content Access

15.3.1.4.2 リンクされたサービス・エントリとフィールド・マップResultSet

次の表に、フィールド・マップResultSetにリンクされたサービス・エントリの例をいくつか示します。これらの例やその他の類似する例は、最初のSctServiceFilter.hdaファイルに含まれています。

サービス・エントリ

フィールド・マップResultSet

GET_SEARCH_RESULTS
Core Server
Search

SearchFieldMap

@ResultSet SearchFieldMap
3
dataFieldName 6 255
dataLocation 6 255
accessLogColumnName 6 255
MiniSearchText
LocalData
extField_1
TranslatedQueryText
LocalData
extField_2
IsSavedQuery
LocalData
extField_7
@end

PNE_GET_SEARCH_RESULTS
Core Server
Search

SearchFieldMap

@ResultSet SearchFieldMap
3
dataFieldName 6 255
dataLocation 6 255
accessLogColumnName 6 255
MiniSearchText
LocalData
extField_1
TranslatedQueryText
LocalData
extField_2
IsSavedQuery
LocalData
extField_7
@end

GET_FILE
Core Server
Content Access

GetFileFieldMap

@ResultSet GetFileFieldMap
3
dataFieldName 6 255
dataLocation 6 255
accessLogColumnName 6 255
RevisionSelectionMethod
LocalData
extField_1
Rendition
LocalData
extField_2
@end

15.3.2 Content Trackerロギング・サービスについて

Content Trackerロギング・サービスは、アプリケーションによって1つのイベントをSctAccessLog表に記録できる単一のサービス・コール(SCT_LOG_EVENT)です。このサービスは、URLを介して直接呼び出すか、サービス・スクリプト内のアクションとして呼び出すか、またはIdoc ScriptからexecuteService()を使用して呼び出すことができます。呼出し元アプリケーションによって、記録されるサービスDataBinder内の一部または全部のフィールドが設定され、これには、Content TrackerのSctServiceFilter.hda構成ファイルにリストされている記述フィールドが含まれます。

SCT_LOG_EVENTサービスによって、サービスDataBinderから情報がコピーされます。このデータは、Content Tracker固有のサービス順序番号およびサービスのタイプ指定「S」を使用して、SctAccessLog表にリアルタイムで挿入されます。手動またはスケジュール実行、あるいはその両方での削減が必要になるのは、Webサーバー・フィルタによって収集された静的URLアクセス情報を処理する場合のみです。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のデータの削減に関する項を参照してください。

注意:

サービス・ハンドラ・フィルタを介してログに記録されるサービスと、Content Trackerロギング・サービスを介してログに記録されるサービスとの間に、重複や競合はないはずです。サービスの名前がContent Trackerサービス・ハンドラ・フィルタ・ファイルに指定されている場合、それらのサービスは自動的にログに記録されるため、Content Trackerロギング・サービスによる記録は不要です。ただし、Content Trackerでは、このような重複を回避する処理は行われません。

15.3.3 サービス・コール情報の管理

この項では、コンテンツ・サーバー・サービスからのデータを結合された出力データベース表(SctAccessLog)にマップして記録するための情報およびタスクの手順について説明します。

15.3.3.1 SctServiceFilter.hdaファイルの手動編集

SctServiceFilter.hdaファイルのエントリを追加または変更する手順は、次のとおりです。

1. テキスト・エディタで、SctServiceFilter.hdaファイルを開きます。
cs_root/data/contenttracker/config/.../SctServiceFilter.hda

2. 既存のエントリを編集するか、または新規のサービス・エントリを追加します。たとえば、GET_FORM_FILEサービスを追加する場合は、次のサービス・エントリをファイル内のServiceExtraInfo ResultSetに入力します。

GET_FORM_FILE
Threaded Discussion
Content Access
optional_reference_value
optional_field_map_link_value

拡張されたサービス・コール・トラッキング機能を実装する場合には、optional_field_map_link_valueをサービス・エントリ内で指定します。この場合は、対応するフィールド・マップResultSetを追加または編集します。

3. 拡張されたサービス・トラッキングを使用する場合は、対応するフィールド・マップResultSetを追加または編集します。たとえば、SS_GET_PAGEサービスを追加し、追加のデータ・フィールド値を追跡するには、次のサービス・エントリおよび対応するフィールド・マップResultSetをファイルに入力します。

サービス・エントリ

フィールド・マップResultSet

SS_GET_PAGE
Site Studio
Web Hierarchy Access
web
SSGetPageFieldMap

@ResultSet SSGetPageFieldMap
3
dataFieldName 6 255
dataLocation 6 255
accessLogColumnName 6 255
DataBinder_field_name
data_field_location_name
access_log_column_name
@end

注意:

DataBinderフィールド、格納場所および表列名のセットは、必要な数だけ含めてください。

4. ファイルを保存して閉じます。

5. コンテンツ・サーバーを再起動して、新しい定義を適用します。

注意:

検索リクエスト・イベントはリアルタイムでSctAccessLog表に記録され、削減する必要はありません。データ・エンジン・コントロール・センターに組み込まれているユーザー・インタフェースを使用して、サービスを追加または編集します。

15.3.3.2 Content Trackerロギング・サービスを呼び出すための必要なDataBinderフィールドの設定

次の表に、Content Trackerロギング・サービス(SCT_LOG_EVENT)が呼び出されたときにContent Trackerで検索されるSctAccessLogの列名および対応するDataBinderフィールドを示します。アプリケーションでは、Content Trackerロギング・サービスを呼び出すときに、Content Trackerで検索されるサービスDataBinder内の必要なフィールドを設定します。SctAccessLogフィールドの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』の結合された出力表に関する項を参照してください。

SctAccessLogの列名

サービスDataBinder LocalDataフィールド

SctDateStamp

[計算される]

SctSequence

SctSequence

SctEntryType

"S"

eventDate

[計算される]

SctParentSequence

SctParentSequence

c_ip

REMOTE_HOST

cs_username

HTTP_INTERNETUSER

cs_method

REQUEST_METHOD

cs_uriStem

HTTP_CGIPATHROOT

cs_uriQuery

QUERY_STRING

cs_host

SERVER_NAME

cs_userAgent

HTTP_USER_AGENT

cs_cookie

HTTP_COOKIE

cs_referer

HTTP_REFERER

sc_scs_dID

dID

sc_scs_dUser

dUser

sc_scs_idcService

IdcService (またはSctIdcService)

sc_scs_dDocName

dDocName

sc_scs_callingProduct

sctCallingProduct

sc_scs_eventType

sctEventType

sc_scs_status

StatusCode

sc_scs_reference

sctReference (さらに...)

comp_username

[計算される - HTTP_INTERNETUSERまたは...]

sc_scs_isPrompt

n/a

sc_scs_isAccessDenied

n/a

sc_scs_inetUser

n/a

sc_scs_authUser

n/a

sc_scs_inetPassword

n/a

sc_scs_serviceMsg

StatusMessage

15.3.3.3 アプリケーションからのContent Trackerロギング・サービスの呼出し

SCT_LOG_EVENTサービスをアプリケーションから呼び出すことができます。これは、アプリケーション開発者、またはアプリケーション・サービス・スクリプトを変更するユーザーが実行できます。アプリケーションではJavaからSCT_LOG_EVENTを呼び出すことができます。または、アプリケーションでSCT_LOG_EVENTへのコールをサービス・スクリプトに含めることもできます。

15.3.3.4 IdocスクリプトからのContent Trackerロギング・サービスの呼出し

executeService()関数を使用して、Idoc Scriptから間接的にSCT_LOG_EVENTサービスをコールすることができます。これは、アプリケーションからのSCT_LOG_EVENTサービスの呼出しと同じですが、アプリケーションJavaコードではなくIdocスクリプトから呼び出されます。Content Trackerでは、SCT_LOG_EVENTサービスの呼出し元がJavaかIdocスクリプトかは区別できません。

15.3.4 サービス・コール管理およびユーザー・インタフェース

Content Trackerでは、サービス・コールを、関連付けられたサービスに関連するデータ値とともにログに記録できます。ログに記録する各サービスには、サービス・コール構成ファイル(SctServiceFilter.hda)内にサービス・エントリが存在している必要があります。ログに記録するサービスに加えて、対応するフィールド・マップResultSetをSctServiceFilter.hdaに含めることができます。

Content Trackerでは、コンテンツ・アクセスのイベント・タイプを持つサービス、またはDocHistory表への入力が発生するサービスのみがログに記録されます。これにより、パフォーマンスは最大になりますが、一部のサービス・イベントはログに記録されません。

有効化されたサービスによって、一般的なDataBinderフィールド(dUser、dDocNameなど)が自動的に記録されます。フィールド・マップResultSetをサービス・エントリにリンクすると、拡張されたサービス・コール・トラッキング機能を使用できます。

SctAccessLogデータベース表には、拡張されたサービス・コール・トラッキング機能で使用できる追加の列が用意されていて、この列には、関連付けられたサービス・コールに適した任意のデータ値を入力できます。フィールド・マップResultSet内にデータ・フィールド名をリストする場合は、データ・フィールドのソースの格納場所名、およびデータの記録先の表列名もリストします。

注意:

フィールド・マップResultSetでは、SctAccessLog表の既存の標準列にデータ・フィールドをマップできます。標準のフィールド・データ値が収集されると、拡張されたサービス・マッピングが実行されます。したがって、表の標準の列フィールドは、いずれもオーバーライドできます。

たとえば、ログに記録するサービスのデータ・フィールドに特定のユーザー名(MyUserName=john)が含まれるとします。拡張されたトラッキング機能を使用して、sc_scs_dUser列の内容を上書きできます。この場合は、MyUserNameとsc_scs_dUserを結合して、データ・フィールド、格納場所、およびフィールド・マップResultSet内の表列のセットとして使用します。

ログに記録されるデータがSctAccessLogの列タイプと適合していることを確認する必要があります。

15.3.4.1 サービス・エントリの追加、編集または削除

サービスを追加または編集するには、次の手順を実行します。

1. 「メイン」メニューから「管理」→「Content Tracker管理」を選択します。「データ・エンジン・コントロール・センター」を選択します。
データ・エンジン・コントロール・センターが開きます。

2. 「サービス」タブをクリックします。

3. 「追加」をクリックしてサービス・エントリを新規作成するか、または「サービス名」リストから既存のサービス・エントリを選択し、「編集」をクリックします。
「拡張されたサービス・トラッキング」画面が開きます。新規のサービス・エントリを追加したときには、フィールドは空です。既存のサービス・エントリを編集する場合は、編集可能な値がフィールドに移入されます。

4. 適用可能なフィールド値を入力または変更します(「フィールドの変更」フィールドの値を除く)。
このサービス・エントリをフィールド・マップResultSetにリンクするには、適用可能な名前を「フィールドの変更」フィールドに入力して、フィールドをリンクします。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のアクティビティ・メトリックのメタデータ・フィールドへのリンクに関する項を参照してください。

5. 「OK」をクリックします。
「確認」ダイアログ・ボックスが表示されます。

6. 「OK」をクリックします。
「サービス」リストで、「サービス」タブが、新規のサービスまたは新たに編集されたサービスを反映して再表示されます。サービス状態およびContent TrackerのSctServiceFilter.hdaファイルが更新されます。

Content Trackerでは、データ・エンジン・コントロール・センターの拡張されたサービス・トラッキング機能に対して、エラー・チェック(フィールド・タイプやスペルの検証など)は実行されません。削減が実行されるまで、エラーは生成されません。これらのフィールドでは、大/小文字が区別されます。新規のサービスを追加したり、既存のサービスを編集する場合は、サービス・コール名を正確に入力するように注意してください。すべてのフィールド値が正しいスペルおよび大/小文字になるようにします。

エントリを削除するには、前の手順を実行してエントリを選択し、「削除」を選択します。

15.3.4.2 フィールド・マップResultSetの追加、編集または削除

拡張されたサービス・コール・トラッキング機能を実装するには、サービス・エントリをSctServiceFilter.hdaファイル内のフィールド・マップResultSetにリンクする必要があります。

フィールド・マップを追加してリンクするには、次の手順を実行します。

1. 「メイン」メニューから「管理」→「Content Tracker管理」を選択します。「データ・エンジン・コントロール・センター」を選択します。
データ・エンジン・コントロール・センターが開きます。

2. 「サービス」タブをクリックします。

3. 新規のエントリを追加するには、第15.3.4.1項「サービス・エントリの追加、編集または削除」で説明した手順を実行します。「サービス名」リストからサービス・エントリを選択します。

4. 「編集」をクリックします。
「拡張されたサービス・トラッキング」画面が開きます。必要な場合は、フィールド・マップResultSetの追加に加えて、このサービス・エントリの値をここで編集します。

このサービスがすでにフィールド・マップResultSetにリンクされている場合は「フィールドの変更」フィールドに名前がリストされ、データ・フィールド、格納場所および表列の1つ以上のセットが「フィールド」領域にリストされます。

5. 選択したサービスがセカンダリResultSetにリンクされていない場合、「フィールドの変更」フィールドは空です。フィールド・マップResultSetの名前を入力してください。選択したサービスがすでにリンクされている場合は、この手順をスキップしてください。

6. 「追加」をクリックします。
「フィールドの変更」画面が開きます。

7. 次のフィールドに適切な値を入力します。

- フィールド名: データ値がSctAccessLog表の汎用列にロギングされるサービスDataBinderのデータ・フィールドの名前。

- フィールドの場所: ログに記録されるデータ・フィールドが配置されているコンテンツ・サーバー・サービスDataBinderのセクション。次の値が使用できます。

- LocalData (デフォルト値)

- 環境

- BinderResultSet。これは、ResultSet内のすべての値を含むカンマ・デリミタを返します。サイズがカンマなども含めて255文字に制限されているため、この値が役立つのは、ResultSetが小さい場合のみです。
より多くの文字に対応するには、標準データベース・ツールを使用してSctAccessLog表の列を拡張/再定義します。たとえば、extField_3を2047に広げると、同量のデータが保持されます。ただし、ほとんどのデータベースには、ページ・サイズの制限があります。また、SQLでは文字列が効率的に解析されません。

- 列名: 指定したDataBinderフィールドのデータ値がロギングされるSctAccessLog表の列。

8. 「OK」をクリックします。
「フィールドの変更」画面が閉じ、値が「フィールド名」および「列名」フィールドに追加されます。

9. 「OK」をもう一度クリックします。
確認ダイアログ・ボックスが表示されます。

「サービス」タブが、更新された情報を反映して再表示されます。

10. 「OK」をクリックします。

Content Trackerでは、データ・エンジン・コントロール・センターの拡張されたサービス・トラッキング機能に対して、エラー・チェック(フィールド・タイプやスペルの検証など)は実行されません。削減が実行されるまで、エラーは生成されません。これらのフィールドでは、大/小文字が区別されます。新規のフィールド・マップResultSetを追加したり、既存のフィールド・マップResultSetを編集する場合は、正確な名前を入力し、フィールドの値がすべて、スペルも大文字/小文字も正しいことを確認してください。

フィールド・マップを編集するには、前の手順を実行し、必要に応じてエントリを編集します。

エントリを削除するには、前の手順を実行してサービス・エントリを選択し、「削除」を選択します。

15.4 アクティビティ・メトリックのSQL問合せのカスタマイズ

スナップショット機能を使用すると、検索関連カスタム・メタデータ・フィールドをログに記録して追跡できます。Content Trackerでは、特定のコンテンツ・アイテムの人気度を反映するコンテンツ・アイテム使用状況およびアクセス情報がこれらのフィールドに挿入されます。この情報には、2つの異なる時間間隔における最新アクセスの日付およびアクセス数が含まれます。スナップショット機能の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のアクティビティ・スナップショットに関する項を参照してください。

スナップショット機能およびアクティビティ・メトリックが有効化されている場合は、削減処理フェーズに続いて、カスタム・メタデータ・フィールドの値が更新されます。ユーザーがコンテンツ・アイテムにアクセスすると、適用可能な検索関連メタデータ・フィールドの値がそれに応じて変わります。その後、Content Trackerでは、削減処理後の手順として3つのSQL問合せが実行され、レポート作成期間中にアクセスされたコンテンツ・アイテムが特定されます。処理後の削減ステップの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のアクティビティ・メトリックによるデータ削減プロセスに関する項を参照してください。

SQL問合せは、リソースとして使用可能であり、最終トラッキング・データから情報をフィルタ処理するようにカスタマイズできます。たとえば、表形式の結果から、特定のユーザーによるアクセスを除外できます。

SQL問合せは、sctQuery.htmファイルに含まれています。

IntradocDir/custom/ContentTracker/resources/SctQuery.htm

注意:

通常、SQL問合せ内のWHERE句は変更できます。これ以外は変更しないことをお薦めします。

検索関連カスタム・メタデータ・フィールドには、次のSQL問合せが使用されます。

- qSctLastAccessDate: 最終アクセス機能の場合、この問合せではSctAccessLog表が使用されます。この問合せでは、削減日におけるすべてのコンテンツ・アイテム・アクセスがチェックされ、dIDごとに最新のタイムスタンプが収集されます。この問合せのパラメータは、削減日です。この場合、最終アクセス日付の比較テストによって変更が示されるのは、提示された新しい値よりも既存のDocMeta値が古い場合のみであるため、日付はランダムな順序で削減できます。

- qSctAccessCountShortおよびqSctAccessCountLong: 短期と長期のアクセス・カウント機能の場合、SQL問合せのqSctAccessCountShortおよびqSctAccessCountLongは、カウントの列名以外は同じです。これらの問合せでは、SctAccessLog表を使用して、それぞれに指定された時間間隔(日数)にわたる各dIDの全アクセスについて合計が計算されます。パラメータは、適用可能なロールアップの開始日および終了日です。

15.4.1 外部ユーザーによるコンテンツ・アイテムへのアクセスの追跡

Content Trackerで適用可能レポートに外部ユーザー・アクセスに関するデータを含めるかどうかを制御するオプションがあります。これらの認証済ユーザーは、ユーザー・ロールおよびアカウントに基づいて権限を与えられています。デフォルトでは、構成パラメータSctExternalUserLogEnabledはtrue(有効)に設定されています。これによって、Content Trackerでは、外部ユーザー・ログインが監視され、そのロールおよびアカウント情報がUserSecurityAttributes表に自動的に伝播されます。

SctExternalUserLogEnabled構成変数が有効か無効かに関係なく、外部ユーザーのコンテンツ・アイテム・アクセス情報はすべて追跡されて記録されます。ただし、この構成変数が有効化されている場合は、外部で認証されたユーザー名とそれに関連付けられたユーザー・ロールおよびアカウントとの相関関係を明示的に示すレポートに、このデータが含められます。具体的には、「ユーザー・ロール別上位アクセス・コンテンツ・アイテム」レポートおよび「ユーザー・ロール別ユーザー」レポートに、外部ユーザーによるすべてのコンテンツ・アイテム・アクセス・アクティビティが含められます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のカスタム・レポート問合せの作成に関する項を参照してください。

注意:

SctExternalUserLogEnabled構成変数を手動で無効化する方法は、第15.2.2項「Content Tracker構成変数の設定」を参照してください。

15.5 Webビーコンによるコンテンツへの間接アクセスの追跡

重要:

Webビーコン機能の実装要件は、関連するシステム構成に依存しています。このドキュメントでは、すべての要素には対応できません。Content Trackerで収集および処理されるアクセス・レコードに関する情報は、正確なカウントではなく、一般的なユーザー・アクティビティを示すものです。

Webビーコンは、Webページまたは他の管理対象コンテンツへの間接ユーザー・アクセスを容易に追跡するための特別サポートを提供する管理対象オブジェクトです。Content Trackerの以前のリリースでは、キャッシュされたページのデータや、キャッシュされたサービスから生成されたページのデータは収集できませんでした。キャッシュされたWebページやコンテンツ・アイテムにユーザーがアクセスした場合、コンテンツ・サーバーやContent Trackerではこれらのリクエストが発生したことを認識できていません。Webビーコン参照を使用しないと、Content Trackerではこのようなリクエストを記録してカウントできません。

Webビーコンを使用すると、クライアント側では、コンテンツ・サーバー内の管理対象ビーコン・オブジェクトへの目にみえない参照として埋込み参照を使用できます。これにより、Content Trackerでは、コンテンツ・サーバーからコンテンツを直接取得せずに、再配布のために外部エンティティによってコピーされた管理対象コンテンツ・アイテムに対するユーザー・アクセス・リクエストを記録してカウントできます。これが使用されるような状況の詳細は、第15.5.1項「Webビーコンのユースケース」を参照してください。

キャッシュされたコンテンツがコンシューマに提供されると、ユーザーは、リクエストされたオブジェクトがコンテンツ・サーバーで提供されていたことを認識します。管理対象コンテンツは実際には、動的ではないコンテンツ配信方法を使用して提供されます。この状況では、管理対象コンテンツは静的Webサイト、リバース・プロキシ・サーバーまたはファイル・システム外から対応されます。Webビーコン機能によって、このタイプのアクティビティが確実に追跡されます。

15.5.1 Webビーコンのユースケース

特に、Webビーコン機能を使用するだけの価値があると思われる状況は、リバース・プロキシ・アクティビティとSite Studio使用の2つです。

リバース・プロキシ・シナリオでは、リバース・プロキシ・サーバーは、ユーザーとコンテンツ・サーバーの間に位置します。リバース・プロキシ・サーバーはリクエストされたオブジェクトのコピーを作成することにより、管理対象コンテンツ・アイテムをキャッシュします。別のユーザーが次回にドキュメントを要求すると、プライベート・キャッシュ内のコピーが表示されます。リバース・プロキシ・サーバーのキャッシュ内にオブジェクトが存在しない場合は、コピーがリクエストされます。

リバース・プロキシ・サーバーはキャッシュされたコンテンツを配信するため、コンテンツ・サーバーと直接相互作用することはありません。したがって、Content Trackerではこれらのリクエストを検出できないため、このユーザー・アクセス・アクティビティを追跡できません。

リバース・プロキシ・サーバーは、キャッシュしたり、ファイアウォールの内側にあるアプリケーションやサイトへのWebアクセスを管理することによって、Webパフォーマンスを向上させるために使用されることがよくあります。そのような構成では、頻繁にアクセスされるコンテンツのコピーをWebサーバーに移動し、そこでスケジュールに基づいて構成を更新することによってロード・バランシングが実現します。

Webビーコン機能を有効にするために、各ユーザー・アクセスには、コンテンツ・サーバーの管理対象ビーコン・オブジェクトへの追加リクエストが含まれています。これによって通常のリクエストよりもオーバーヘッドが増加しますが、Webビーコン・オブジェクトは非常に小さいため、リバース・プロキシ・サーバーのパフォーマンスに大きな影響を与えることはありません。必要なのが、特に追跡するオブジェクトにWebビーコン参照を埋め込む操作のみであることに注意してください。

別の使用シナリオに関係するのがSite Studioです。これは、コンテンツ・サーバーで格納および管理されるWebサイトを作成するために使用される製品です。Site StudioとContent Serverが同じサーバーに存在する場合、Content Trackerは適用可能なユーザー・アクセスを自動的に追跡するように構成されます。収集されたSite Studioアクティビティ・データは、事前定義済レポートで使用されます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のSite Studio Webサイトのアクティビティ・レポートに関する項を参照してください。

注意:

Site StudioとContent Trackerの統合には2つのモードを使用できます。1つは、Site Studioがインストールされたときに自動的に行われる既存の組込み統合のタイプです。通常、これが使用されるのは、Webサイトが作成中で、Webページがコンテンツ・サーバーで管理されている場合です。

もう1つは、Webビーコン機能を使用して、Content TrackerがSite Studioを他のWebサイト・ジェネレータと同様に扱う形式です。通常、これが使用されるのは、Webサイトが本番モードで、コンテンツがコンテンツ・サーバーで管理されなくなった場合です。

Webサイトが外部対象者向けの場合は、サイトのコピーを作成して、別のサーバーに転送できます。このソリューションでは、サイトをパブリックに表示すること以外に、開発サイトと本番サイトを別々にすることも可能です。ただし、この配置の場合は、Webビーコン機能を実装して、Content Trackerでユーザー・アクティビティを収集および処理できるようにします。

15.5.2 Webビーコンの概要

Content Trackerでは、コンテンツ・サーバーで管理されているオブジェクトに対するリクエストが記録されカウントされます。Webビーコン機能を使用すると、外部エンティティ(リバース・プロキシ・サーバーや、コンテンツ・サーバーに関与しない他の機能など)でコピーされた管理対象オブジェクトに対するリクエストがカウントされます。

次のリストでは、Webビーコン機能および実装要件の概要を簡単に説明します。

- Webビーコン機能の実装を開始するには、Webビーコン・オブジェクトを作成します。これは通常、小さなオブジェクト(縦横1ピクセルの透明なイメージなど)です。次に、このオブジェクトをチェックインし、Content TrackerのWebビーコン・オブジェクト名リストに追加します。

- 次に、チェックインしたWebビーコン・オブジェクトへのWebビーコン参照を作成して、キャッシュされたHTMLページまたは管理対象コンテンツ・アイテムに埋め込みます。参照の最初の部分はWebビーコン・オブジェクトへのURL参照であり、2番目の部分は疑似問合せパラメータとしてエンコードされている識別情報です。

- Content Trackerでは、ビーコン・オブジェクトに対するWebビーコン参照がログに記録され、Webビーコン参照に対して削減処理が実行されます。データ削減中に、Content Trackerでは、登録されたWebビーコンのリストと照合して各参照先オブジェクトのdDocName値が確認されます。dDocName値がリストに存在する場合、問合せパラメータは、URLリクエストがWebビーコン・オブジェクトではなくタグ付きオブジェクト(Webページや管理対象コンテンツ・アイテム)に対するリクエストとしてログに記録されるように処理されます。

15.5.3 Webビーコン・オブジェクト

Webビーコン・オブジェクトとして使用するには、1つ以上のコンテンツ・アイテムを作成する必要があります。これらは通常、縦横1ピクセルの透明なイメージなど、オーバーヘッドが小さくページのレンダリングを妨げないものが適しています。コンテンツがないWebビーコン・オブジェクトが理想的です。複数のWebビーコン・オブジェクトを作成できますが、必要なのは1つのみです。オブジェクトが、SctIgnoreFileType構成変数に含まれるファイル・タイプでないことを確認してください。

完成したオブジェクトをチェックインして、Content TrackerのSctWebBeaconIDList構成変数を更新します。データ削減中に、Content Trackerでは、SctWebBeaconIDList設定が確認され、イベント・ログ内のWebビーコン参照リストの処理方法が決定されます。適用可能なWebビーコン・オブジェクトがリストされている場合、Content Trackerではデータが適切に処理されます。構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

インストール中に、Webビーコン・オブジェクトのdDocName値をSctWebBeaconIDListプリファレンス変数に入力できます。また、後で追加または編集することもできます。IDリストでオブジェクト名を追加または編集するには、次の手順を実行します。

1. 「管理」トレイまたはメニューから、「管理サーバー」→「コンポーネント・マネージャ」を選択します。
「コンポーネント・マネージャ」ページが表示されます。

2. 最初の段落で、「拡張コンポーネント・マネージャ」をクリックします。
「拡張コンポーネント・マネージャ」ページが開きます。

3. 「コンポーネント構成の更新」フィールドで、リストから「Content Tracker」を選択します。

4. 「更新」をクリックします。
「コンポーネント構成の更新」ページが表示されます。

5. SctWebBeaconIDListプリファレンス・フィールドに、適用可能なWebビーコン・オブジェクトのdDocNameをカンマで区切って入力します。

6. 「更新」をクリックします。

7. コンテンツ・サーバーを再起動して変更内容を適用します。

15.5.4 Webビーコン参照

Webビーコン・オブジェクトを作成してチェックインした後で、対応する参照を作成します。異なる問合せ文字列がWebビーコンの静的URLに付加されることによって各参照が一意になるため、ほとんどのシステムでWebビーコン・オブジェクトは1つで十分です。また、各問合せパラメータ・セットは、キャッシュされた特定のWebページまたは管理対象コンテンツ・アイテムを識別する変数の個別の組合せで構成されます。

15.5.4.1 URL参照のフォーマット構造

WebビーコンURL参照は、コンテンツ・サーバーで管理されるWebビーコン・オブジェクトへのアクセスに使用するWebビーコン静的URL、およびコンテンツ・アイテム変数を指定した擬似問合せ文字列で構成されます。

参照を作成するときは、コンテンツ・サーバー内のWebビーコン静的URLに、SctIgnoreDirectories構成変数に含まれるディレクトリ・ルートが使用されていないことを確認してください。URLが、リストされている値のいずれかである場合は、Content Trackerではアクティビティ・データが収集されません。SctIgnoreDirectories構成変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

問合せパラメータ・セットは、ユーザーがアクセスした実際の管理対象コンテンツ・アイテムをContent Trackerに通知するコードとして機能します。問合せパラメータの1つがアイテムのdIDです。問合せパラメータ値の一意のセットを含めることによって、コピーおよびキャッシュされた管理対象オブジェクトに対する間接ユーザー・アクセス・アクティビティを監視できます。問合せ文字列が実際に実行されることはありませんが、問合せパラメータ値によって、関連付けられている管理対象オブジェクトをContent Trackerが識別するために十分な情報が提供されます。

次の例では、Webビーコン機能に関連する一般的なフォーマット構造について説明します。これらの例では、異なる問合せ文字列を数に制限なく作成しながら、1つのWebビーコン・オブジェクトを使用する方法について説明します。すべての例で、同じWebビーコン・オブジェクト(dDocName = bcn_2.txt)を使用します。このWebビーコン・オブジェクトに対するリクエストは、問合せパラメータを変えることによって、リポジトリ内のすべての管理対象オブジェクトに対するリクエストをContent Trackerに通知できます。

これらの例では、次のことを想定しています。

- Webビーコン・オブジェクト(bcn_2.txt)はチェックインされ、Webビーコン・リスト(SctWebBeaconIDList)に含まれています。

- 適用可能なWebビーコン参照は、関連付けられた管理対象コンテンツ・アイテム(doc1、doc2およびdoc3)に埋め込まれています。

- Webビーコン参照を解決するために、ブラウザではWebビーコン・オブジェクトのコピーをコンテンツ・サーバーからリクエストする必要があります。

- ユーザーが関連するコンテンツ・アイテムを間接的にリクエストするため、Webビーコン・リクエストが発生します。

例15-1 問合せパラメータを使用しないWebビーコン・リクエスト

http://myhost.somewhere.else/idc/groups/public/documents/adacct/bcn_2.txt

これは、Webビーコン・オブジェクトへの静的Web参照から始まります。これはWebビーコン・オブジェクトへの正当な直接アクセスですが、問合せパラメータは追加されていません。Content Trackerでは、このアクセス・イベントをWebビーコン・オブジェクト自体に対するリクエストとして処理します。

例15-2 doc1を追跡するためのWebビーコン・リクエスト

http://myhost.somewhere.else/idc/groups/public/documents/adacct/bcn_2.txt?sct_dDocName=doc1&sct_dID=1234&...

これも、このビーコン・オブジェクトへの通常の静的Web参照から始まります。これには任意の数の問合せパラメータを含む擬似問合せ文字列が追加されています。これらの問合せパラメータに含まれる値によって、ユーザーがリクエストした特定の管理対象オブジェクト(doc1)に関する情報が通知されます。

例15-3 doc2を追跡するためのWebビーコン・リクエスト

http://myhost.somewhere.else/idc/groups/public/documents/adacct/bcn_2.txt?sct_dDocName=doc2&sct_Ext_2=WebSite4

これは、例15-4に似ています。パラメータ値によって、ユーザーがリクエストしたコンテンツ・アイテム(doc2)に関する情報が提供されます。この例では、問合せ文字列に、タグ付きアイテムに関する追加情報を通知するための別のパラメータが含まれています。追加されたパラメータではextField列名が使用されます。値WebSite4はSctAccessLog表のextField_2列にコピーされます。extField列の置換はオプションで、アプリケーションに依存しています。

例15-4 doc3を追跡するためのWebビーコン・リクエスト

http://myhost.somewhere.else/idc/groups/public/documents/adacct/bcn_2.txt?sct_dDocName=doc2&sct_Ext_2=WebSite4&sct_Ext_8=SubscriptionClass6

この例では、2番目(ただし、シーケンシャルでない)のextField列名を追加することによって、例15-3を変更します。この場合、WebSite4はSctAccessLog表のextField_2列にコピーされ、SubscriptionClass6はextField_8列にコピーされます。extField列の置換はオプションで、アプリケーションに依存しています。

15.5.4.2 配置および取得スキーム

追跡する管理対象オブジェクトに、特別に作成されたWebビーコン参照を埋め込む必要があります。Webビーコン参照はHTMLページに埋め込むことができます。ユーザーは、変更された管理対象コンテンツ・アイテムへのアクセスを、外部のSite Studio Webサイトまたはリバース・プロキシ・サーバーを介して、間接的にリクエストします。

ブラウザでは、ページのレンダリング中にWebビーコン参照を検出します。管理対象オブジェクトを表示するたびに(オブジェクトの取得方法に関係なく)、ブラウザではWebビーコン・オブジェクトのコピーをコンテンツ・サーバーから直接リクエストします。ブラウザがWebビーコン参照を解決すると、Content Trackerでは、Webビーコン参照、および管理対象コンテンツ・アイテムを識別するための擬似問合せパラメータを含むデータを取得します。

15.5.4.3 データの取得と格納

通常、静的URL内の問合せパラメータは、Webブラウザに対してなにも機能しません。ただし、Webビーコン静的URLを解決するとき、Webブラウザでは、Content TrackerのWebサーバー・フィルタ・プラグインで記録できる長さの追加問合せパラメータは無視されます。擬似問合せパラメータが実行されることはありませんが、Content Trackerでは、問合せパラメータ値とともに、クライアントIPアドレスや日時スタンプなどの他のデータも取得します。Content Trackerでは、データをWebアクセス・イベント・ログに記録します。

15.5.5 Webビーコン参照の削減処理

データ削減中に、特別に作成されたWebビーコン参照が処理されると、Content Trackerでは、WebビーコンのdDocName値をSctWebBeaconIDリストのdDocName値のリストと比較して、通常のコンテンツ・アイテムではなくWebビーコン・オブジェクトに対するリクエストであるかどうかを判別します。

一致するものがない場合、または問合せパラメータがWebビーコン参照に追加されていない場合、Content Trackerではアクセス・イベントを通常どおりに処理します。WebビーコンのdDocNameが特定された場合、Content Trackerでは処理を続行し、関連付けられたURLの問合せパラメータを解釈します。また、データ削減プロセスでは、Webビーコン・アクセス・リクエストが、Webページまたはコンテンツ・アイテムへのリクエストとして扱われます。

データ削減中に、Content Trackerでは、問合せパラメータを解析し、最終的にSctAccessLogに書き込まれるフィールドの様々な値の置換を実行します。問合せパラメータ値は次のようにマップされます。

- sct_dIDはWebビーコン・オブジェクトのdID値を置換します。

- sct_dDocNameはWebビーコン・オブジェクトのdDocName値を置換します。

- sct_uriStemはWebビーコン・オブジェクトのURIステム(疑問符?より前の部分)を置換します。

- sct_uriQueryはWebビーコン・オブジェクトのURI問合せ部分(疑問符?より後の部分)を置換します。

- sct_Ext_nはSctAccessLogの拡張フィールドnに直接コピーされます。

例15-5 問合せパラメータ値のデータ削減処理

/idc/groups/public/documents/adacct/bcn_2.txt?sct_dDocName=WW_1_21&sct_dID=42&sct_Ext_1=WillowStreetServer&sct_Ext_2=SubscriptionTypeA

データ削減の後、Content Trackerでは、このWebビーコン・タイプのリクエストを、bcn_2.txtではなくWW_1_21へのアクセスとしてSctAccessLog表に記録します。ユーザー名、アクセス時刻、クライアントIPなど、他のデータがHTTPリクエストから導出されます。さらに、WillowStreetServerはSctAccessLog表のextField_1列にコピーされ、SubscriptionTypeAはextField_2列にコピーされます。(最後の2つのフィールド置換はオプションで、アプリケーションに依存しています。)

15.5.6 制限事項とガイドライン

Content TrackerのWebビーコン機能を実装するには、次の手順を実行します。

1. Webビーコン・オブジェクトを作成します。

2. これをチェックインします。

3. SctWebBeaconIDListを更新します。

4. Webビーコン参照を定義します。

5. これらを、追跡対象になるキャッシュ済コンテンツ・アイテムまたはWebサイト(あるいはその両方)に埋め込みます。

15.5.6.1 制限

次の制限事項を検討してください。

- 1つの難点は、Webビーコン参照をタグ付きオブジェクトに添付する方法を決定することです。リクエストされたオブジェクトに参照を埋め込むことができない場合があります(PDF文書やWord文書など)。この場合は、実際のコンテンツ・アイテムがリクエストされる前に、Webビーコン・オブジェクトをコンテンツ・サーバーから直接リクエストする必要があります。

- Webビーコン機能は、特定のブラウザ構成の場合など、多くの状況で動作しません。ユーザーがブラウザのクロスドメイン参照を無効化し、Webページとコンテンツ・サーバー・インスタンスが異なるドメインに存在する場合、Webビーコン・オブジェクトはコンテンツ・サーバーからリクエストされることはなく、ユーザー・アクセスはカウントされません。

- リバース・プロキシ・サーバーを経由して最初に管理対象コンテンツ・アイテムにアクセスすると、コンテンツ・サーバーがアイテムをリバース・プロキシ・サーバーに提供したときに1回、ブラウザがWebビーコン・オブジェクトをリクエストしたときに1回の計2回カウントされます。

- 特定の構成によっては、リバース・プロキシ・サーバーおよび外部のSite StudioがWebビーコン・オブジェクト自体をキャッシュしない方法を考案する必要があります。ブラウザでもキャッシュが行われます。この状況では、コンテンツ・サーバーは関連するコンテンツ・アクセスをカウントできません。これを回避するには、この例にあるように、乱数を含む1回かぎりの問合せパラメータをWebビーコン参照に追加します。
dDocName=vvvv_1_21&FoolTheProxyServer=12345654321

各リクエストの数値を変更することによって、キャッシュ、Webサーバーおよびブラウザは、リクエストを新規とみなします。

15.5.6.2 ガイドライン

次のガイドラインを考慮する必要があります。

- Webビーコン参照のsct_dDocNameおよびsct_dIDパラメータ値は、リクエストされたWebビーコン・オブジェクトを提供するコンテンツ・サーバー・インスタンス内で実際の管理対象コンテンツ・アイテムに解決される必要があります。

- SctAccssLog表のExtField列の使用はオプションで、アプリケーションに依存しています。

- ExtField_10は、Webビーコン・オブジェクトのdDocName値用に使用するために予約されています。これによって、レポート作成者は、実際の管理対象コンテンツ・アイテムへのアクセスを通知するのに使用されたWebビーコン・オブジェクトを判別できます。

- 問合せパラメータ名のスペルおよび大/子文字は正確である必要があります。

- 問合せパラメータ値に、カンマや空白を埋め込むことはできません。

- Webビーコン参照には通常、管理対象オブジェクトのdDocNameおよびdIDの値が含まれますが、正当なアクセス・リクエストとみなされるには、両方とも含まれる必要はありません。標準フィールドの一部が欠落している場合、Content Trackerでは次のように識別情報パラメータが解決されます。

- dIDを指定すると、Content Trackerではコンテンツ・アイテムのdDocName値を判別できます。

- dDocNameを指定すると、Content Trackerではコンテンツ・アイテムのdID値を判別できます。dIDはコンテンツ・アイテムの最新リビジョンです。コンテンツ・アイテムがキャッシュされた後にリビジョンが変更された場合、ユーザーには古いバージョンが表示されます。ただし、Content Trackerでは、コンテンツ・アイテムの最新リビジョンの表示としてこのアクセス・リクエストがカウントされます。

- 適切なURIステムを指定すると、Content Trackerではコンテンツ・アイテムのdDocNameを判別できますが、最新リビジョンのdID値であるとみなされます。

- Webビーコン・リスト(SctWebBeaconIDList)の変更後に、コンテンツ・サーバーを再起動します。

- ファイル・タイプを使用するWebビーコン・オブジェクトを作成したり、Content Trackerで無視するように構成されているディレクトリ内にWebビーコン・オブジェクトを配置しないでください。

- Content Trackerでは、キャッシュされたコンテンツ・アイテムが配信されたかどうかを確認できません。

- Content Trackerでは、静的URLアクセスの通常の折りたたみ動作が実行されます。ユーザーが同じコンテンツ・アイテムを繰返しリクエストし、別のドキュメントに対するリクエストが途中で介入しない場合、Content Trackerでは連続するリクエストは同じドキュメントであるとみなされます。この場合、これらのアクセス・リクエストはすべて1つのアクセス・リクエストとみなされます。

- 問合せパラメータは任意の管理対象オブジェクトを表すことができ、必ずしもユーザーに実際に表示されている内容である必要はありません。

15.5.7 Webビーコン埋込みの例

Webビーコン機能を実装するには、いくつかの埋込み方法を使用できます。各方法にはそれぞれ長所と短所があり、特定の状況に応じて最適な方法は異なります。システム構成には違いがあるため、最適な1つの方法があるわけではありません。

以降に示す例ではすべて、次の情報を使用しています。

- WebBeacon.bmp Webビーコン・オブジェクト

- コンテンツ・サーバーのインスタンスIFHE.comcast.net/idc/

- dDocName値wb_bmp

すべての例のコード・フラグメント・ファイルは、Content Trackerのドキュメント・ディレクトリに含まれています。これらの例は、一般的なアプローチを示すことを意図したものであり、開始ポイントとして提供されています。使用しているアプリケーションやネットワーク・トポロジで機能するように調整が必要になります。

15.5.7.1 埋込みHTMLの例

管理対象コンテンツ・アクセスを追跡するWebビーコンを最も簡単かつ直接的に使用するには、ビーコンへの参照を対象のWebページのHTLMソースに直接埋め込みます。リクエスト・ユーザーのブラウザでは、ページをレンダリングするとき、Webビーコン・オブジェクトが存在するインスタンスにリクエストが送信されます。

この例では、追跡対象のWebページにイメージ・タグが配置されます。イメージのsrc attributeは、インスタンスにチェックインされているWebビーコン・オブジェクト(wb_bmp)を参照します。ユーザーのブラウザでインスタンスからイメージをロードすると、追加の問合せ情報が記録され、最終的にdDocName BOPRへの参照として解釈されます。

この方法は簡単ですが、ユーザーのブラウザまたはリバース・プロキシ・サーバーでWebビーコン・オブジェクトのコピーがキャッシュされるという短所があります。このため、インスタンスに直接送信される追加リクエストはなく、このWebビーコンがタグ付けされているコンテンツへの追加アクセスはカウントされません。

この方法のHTMLフラグメントは次のように記述できます。

<!-- WebBeaconEmbeddedHtml.htm - Adjust the Web Beacon web location and managed object identfiers in the img src attribute, then paste into your web page -->
<img src="http://IFHE.comcast.net/idc/groups/public/documents/adacct/wb_bmp.bmp?sct_dID=1&sct_dDocName=BOPR&sct_uriStem=http://IFHE.comcast.net/idc/groups/public/documents/adacct/bopr.pdf&sct_Ext_1=Sample_Html_Beacon_Access" width="21" height="21" />

15.5.7.2 埋込みJavaScriptの例

Webビーコンのキャッシュに関する問題は、HTMLのかわりにJavaScriptを使用することによって解決でき、このJavaScriptを埋め込む方法には、2つのスクリプト・タグが必要です。

- cs_callWebBeacon関数は、実際のWebビーコン・リクエストを発行します。

- 名前の付いていないブロックでは、コンテキスト値を特定のJavaScript変数に割り当ててcs_callWebBeacon関数を呼び出します。

管理対象コンテンツ・オブジェクトに関して識別される情報は変数のリストに定義されるため、読みやすくなります。乱数を擬似問合せパラメータに追加することによって、Webビーコン・リクエストを効率的に一意にすることもできます。

デメリットとしては、管理対象のコードが増えることや、Webビーコン・サーバーのURLが各Webページにハードコードされることなどがあります。また、ユーザーのブラウザで、JavaScriptが有効になっていない場合も考えられます。

この方法のJavaScriptフラグメントは次のように記述できます。

// WebBeaconEmbeddedJavascript.js - Adjust the managed object and Web Beacon descriptors,
then paste this into your web page.
//

<script type="text/javascript" >

var cs_obj_dID = "" ;
var cs_obj_dDocName = "" ;
var cs_obj_uriStem = "" ;
var cs_extField_1 = "" ;
var cs_extField_2 = "" ;
var cs_extField_3 = "" ;
var cs_extField_4 = "" ;
var cs_extField_5 = "" ;
var cs_extField_6 = "" ;
var cs_extField_7 = "" ;
var cs_extField_8 = "" ;
var cs_extField_9 = "" ;
var cs_beaconUrl = "" ;

function cs_void( ) { return ; }

function cs_callWebBeacon( ) {
//
var cs_imgSrc = "" ;
var cs_inQry = false ;

if ( cs_beaconUrl && cs_beaconUrl != "" ) {
cs_imgSrc += cs_beaconUrl ;
}

if ( cs_obj_dID && cs_obj_dID != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_dID=" + cs_obj_dID ;
}

if ( cs_obj_dDocName && cs_obj_dDocName != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_dDocName=" + cs_obj_dDocName ;
}
if ( cs_obj_uriStem && cs_obj_uriStem != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_uriStem=" + cs_obj_uriStem ;
}

if ( cs_extField_1 && cs_extField_1 != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_Ext_1=" + cs_extField_1 ;
}

if ( cs_extField_2 && cs_extField_2 != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_Ext_2=" + cs_extField_2 ;
}

<!-- and so on for the remaining extended fields -->

if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}

var dc = Math.round( Math.random( ) * 2147483647 ) ;
cs_imgSrc += "sct_defeatCache=" + dc ;

var wbImg = new Image( 1, 1 ) ;
wbImg.src = cs_imgSrc ;
wbImg.onload = function( ) { cs_void( ) ; }

}

</script>

<script type="text/javascript">
//
var cs_obj_dID = "1" ;
var cs_obj_dDocName = "BOPR" ;
var cs_obj_uriStem = "http://IFHE.comcast.net/idc/groups/public/documents/adacct/bopr.pdf" ;
var cs_extField_1 = "Sample_Javascript_Beacon_Access" ;
var cs_beaconUrl = "http://IFHE.comcast.net/idc/groups/public/documents/adacct/wb_bmp.bmp" ;

cs_callWebBeacon( ) ;

</script>

15.5.7.3 処理済JavaScriptの例

「JavaScriptを埋め込む方法の例」で説明したWebビーコン・サーバーのハードコードに関する問題は、コードを2つのフラグメントに分割することによって解決します。

- 管理対象コード・フラグメントには、cs_callWebBeacon関数が含まれています。これは、コンテンツ・サーバー・インスタンス(Webビーコンを管理するインスタンス、または他のインスタンスのいずれか)にチェックインして管理できます。ページ内コード・フラグメントに含まれるsrc属性は管理対象コード・フラグメントを参照し、これによってWebページに動的にロードされます。

- ページ内コード・フラグメントは2つの<script>タグで構成されますが、最初のタグには、コード自体ではなくcs_callWebBeaconコードへの参照のみが含まれます。この方法の長所は、cs_callWebBeacon関数に対する変更を一元管理できるため、すべてのタグ付きWebページをそれぞれ変更する必要がないことです。
このソリューションでは管理対象コードをユーザーのブラウザ上のWebページにロードするため、追加のネットワーク・オーバーヘッドが発生します。ただし、Webビーコンに対する要件は追跡処理の支援であるため、ネットワーク環境には効率的なリバース・プロキシ・サーバーや他のキャッシング・メカニズムが含まれています。また、管理対象オブジェクトへのアクセスに同じキャッシュを使用することによって、コードのダウンロードによる影響を最小限に抑えることもできます。

管理対象コード・フラグメント

// WebBeaconServedJavascript_Checkin.js - Check this in to your Content Server, then fixup
// the JavaScript include src attribute in WebBeaconManagedJavascriptIncludeSample.js
//
var cs_obj_dID = "" ;
var cs_obj_dDocName = "" ;
var cs_obj_uriStem = "" ;
var cs_extField_1 = "" ;
var cs_extField_2 = "" ;
var cs_extField_3 = "" ;
var cs_extField_4 = "" ;
var cs_extField_5 = "" ;
var cs_extField_6 = "" ;
var cs_extField_7 = "" ;
var cs_extField_8 = "" ;
var cs_extField_9 = "" ;
var cs_beaconUrl = "http://IFHE.comcast.net/idc/groups/public/documents/adacct/wb_bmp.bmp" ;

function cs_void( ) { return ; }

function cs_callWebBeacon( ) {
//
var cs_imgSrc = "" ;
var cs_inQry = false ;

if ( cs_beaconUrl && cs_beaconUrl != "" ) {
cs_imgSrc += cs_beaconUrl ;
}

if ( cs_obj_dID && cs_obj_dID != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_dID=" + cs_obj_dID ;
}

if ( cs_obj_dDocName && cs_obj_dDocName != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_dDocName=" + cs_obj_dDocName ;
}

if ( cs_obj_uriStem && cs_obj_uriStem != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_uriStem=" + cs_obj_uriStem ;
}

if ( cs_extField_1 && cs_extField_1 != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_Ext_1=" + cs_extField_1 ;
}

if ( cs_extField_2 && cs_extField_2 != "" ) {
if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}
cs_imgSrc += "sct_Ext_2=" + cs_extField_2 ;
}

<!-- and so on for the remaining extended fields -->

if ( cs_inQry ) {
cs_imgSrc += "&" ;
} else {
cs_imgSrc += "?" ;
cs_inQry = true ;
}

var dc = Math.round( Math.random( ) * 2147483647 ) ;
cs_imgSrc += "sct_defeatCache=" + dc ;

var wbImg = new Image( 1, 1 ) ;
wbImg.src = cs_imgSrc ;
wbImg.onload = function( ) { cs_void( ) ; }

}

ページ内コード・フラグメント

<script type="text/javascript" src="http://IFHE.comcast.net/idc/groups/public/documents/adacct/wbmjcs.js" >
</script>

<script type="text/javascript">
//
var cs_obj_dID = "1" ;
var cs_obj_dDocName = "BOPR" ;
var cs_obj_uriStem = "http://IFHE.comcast.net/idc/groups/public/documents/adacct/bopr.pdf" ;
var cs_extField_1 = "Sample_Managed_Javascript_Beacon_Access" ;

cs_callWebBeacon( ) ;

</script>

16 Content Categorizerのカスタマイズ

この章では、Oracle WebCenter Contentとともに自動的にインストールされるオプションのコンポーネントであるContent Categorizerのカスタマイズについて説明します。有効化されている場合、Content Categorizerは、Oracle WebCenter Content Serverにチェックイン中であるドキュメントに対してメタデータ値を提案します。

- 第16.1項「Content Categorizerについて」

- 第16.2項「サイトに対するContent Categorizerの設定とカスタマイズ」

16.1 Content Categorizerについて

Content Categorizerでは、コンテンツ・サーバーにチェックインする新しいドキュメントのメタデータ値と、メタデータ値がすでに存在するかどうかに関係なく、既存のドキュメントのメタデータ値が推奨されます。これらのメタデータ値は、システム管理者が指定した検索ルールに従って決定されます。

Content Categorizerで構造プロパティを認識するためには、コンテンツにXML変換(eXtensible Markup Language)を行う必要があります。

Content Categorizerのバッチ・ユーティリティでは、大量のファイルを検索したり、適切なメタデータ・フィールド値を含むバッチ・ローダー制御ファイルを作成できます。バッチ・ユーティリティは、既存のコンテンツ(リポジトリにチェックイン済)を再分類するために使用することもできます。

16.2 サイトに対するContent Categorizerの設定とカスタマイズ

自社のサイト向けにContent Categorizerをカスタマイズするために、XML変換メソッドを設定したり、メタデータ・フィールドのフィールド・プロパティを定義したり、ファイル・タイプごとの検索ルールを定義することができます。自社のサイトのドキュメント処理ニーズに対応するため、XML変換用に独自のeXtensible Style Sheet Language Transformations (XSLT)を定義することもできます。

Content Categorizerの設定とカスタマイズの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のコンテンツの分類とリンクに関する項を参照してください。

17 カスタム・コンポーネントのダウンロード

この章では、パッケージ化されているカスタム・コンポーネントをOracle WebCenter Content Serverにダウンロードする方法について説明します。

この章の内容は次のとおりです。

- 第17.1項「カスタム・コンポーネントのダウンロードについて」

- 第17.2項「拡張コンポーネント・マネージャを使用したコンポーネントのダウンロード」

- 第17.3項「Oracle Technology Networkからのコンポーネントのダウンロード」

17.1 カスタム・コンポーネントのダウンロードについて

コンテンツ・サーバーのカスタム・コンポーネントは、拡張コンポーネント・マネージャを使用して、またはOracle Technology Networkからダウンロードできます。

17.2 拡張コンポーネント・マネージャを使用したコンポーネントのダウンロード

拡張コンポーネント・マネージャを使用して、コンテンツ・サーバーのコンポーネントをダウンロードできます。

拡張コンポーネント・マネージャからコンポーネントをダウンロードするには:

1. 「管理」トレイまたはメニューで、「管理サーバー」→「コンポーネント・マネージャ」を選択します。
「コンポーネント・マネージャ」ページが表示されます。

2. 「コンポーネント・マネージャ」ページの最初の段落で、「拡張コンポーネント・マネージャ」をクリックします。
これで「拡張コンポーネント・マネージャ」ページが表示され、ダウンロードできるコンポーネントのリストが提示されます。

3. パッケージ化するコンポーネントを、「コンポーネントのダウンロード」リストから選択します。

4. 「ダウンロード」をクリックし、「ファイルのダウンロード」画面を表示します。

5. 「このファイルをディスクに保存」を選択して、「OK」をクリックします。

6. 「別名保存」ダイアログ・ボックスで、ディレクトリに移動して、必要に応じてファイル名を変更し、「保存」をクリックします。

17.3 Oracle Technology Networkからのコンポーネントのダウンロード

コンテンツ・サーバーのコンポーネントは、Oracle Technology Network (OTN)からダウンロードできます。

OTNからコンポーネントをダウンロードする手順は次のとおりです。

1. Webブラウザで、OTNのWebサイト(http://www.oracle.com/technetwork/middleware/downloads/index.html)にアクセスします。

2. Oracle Fusion Middleware 11gソフトウェアのダウンロード・ページで、左側の「WebCenter Content」をクリックします。

3. 「Oracle WebCenter Content」ページで「Core Capabilities」をクリックします。

4. 「Oracle WebCenter Content Core Capabilities」ページで「Download」をクリックします。

5. 「Downloads」ページで「Individual UCM Component Downloads」をクリックして、目的のコンポーネントをダウンロードします。

18 カスタム・コンポーネントの作成

この章では、Oracle WebCenter Content Serverで使用するカスタム・コンポーネントを作成する方法について説明します。

この章の内容は次のとおりです。

- 第18.1項「カスタム・コンポーネントの作成について」

- 第18.2項「コンポーネントのリソースの作成」

- 第18.3項「コンポーネント定義ファイルの作成」

- 第18.4項「コンテンツ・サーバーの再起動によるコンポーネントの適用」

18.1 カスタム・コンポーネントの作成について

カスタム・コンポーネントを使用すると、システムのデフォルトの変更、新機能の追加または反復性の機能の整備ができます。カスタム・コンポーネントを作成および使用して、システムの整合性を失わないでコンテンツ・サーバーのインスタンスを変更できます。

18.2 コンポーネントのリソースの作成

コンテンツ・サーバーをカスタマイズするには、次のタイプのリソースを使用できます。

- HTMLインクルード

- 動的データ表

- 文字列リソース

- 動的表

- 静的表

- 問合せ

- サービス

- テンプレート

- 環境リソース

18.2.1 HTMLインクルード

インクルードは、HTMリソース・ファイルの<@dynamichtml name@>タグと<@end@>タグの中に定義されます。続いてインクルードは、次の構文を使用して呼び出されます。

<$include name$>

インクルードには、Idocスクリプトおよび有効なHTMLコード(JavaScript、Javaアプレット、カスケード・スタイルシート、コメントなど)を含めることができます。インクルードは、呼出し元と同じファイルで定義するか、または別のHTMファイルで定義することができます。標準的なHTMLインクルードは、IdcHomeDir/resources/core/idocファイルで定義されます。

HTMLインクルード、文字列および静的表は、同じHTMファイルにあってもかまいません。HTMLインクルード・リソースには、マージ・ルールは不要です。

18.2.1.1 superタグ

既存のHTMLインクルードに対する例外を定義するには、superタグを使用します。superタグはインクルードに対して、既存のインクルードで始め、指定されたコードを使用して、そのインクルードに追加するか、またはそのインクルードを変更するように指示します。

superタグが特に役立つのは、大規模なインクルードに小規模なカスタマイズを行う場合や、ソフトウェアが次のバージョンになったときに変わる可能性の高い標準コードをカスタマイズする場合です。新しいバージョンのコンテンツ・サーバーにアップグレードする場合は、superタグによって、コンポーネントが、最新バージョンのインクルードを使用し、インスタンスのカスタマイズに必要な特定のコードのみを変更するようになります。

superタグでは、次の構文を使用します。

<@dynamichtml my_resource@>
<$include super.my_resource$>
exception code
<@end@>

superタグを使用して、標準的なインクルードまたはカスタム・インクルードを参照できます。superタグには、最後にロードされたインクルードが組み込まれます。

注意:

superタグの配置によって、Idocスクリプトがどのように評価されるかが決まります。

例18-1は、superタグの使用例を示しています。

例18-1 superタグ

この例では、コンポーネントによって、my_resourceインクルードが次のように定義されます。

<@dynamichtml my_resource@>
<$a = 1, b = 2$>
<@end@>

後でロードされた別のコンポーネントでは、superタグを使用して、my_resourceインクルードが拡張されます。次の拡張を行うと、aには値1が割り当てられ、bには値3が割り当てられます。

<@dynamichtml my_resource@>
<$include super.my_resource$>
<!--Change "b" but not "a" -->
<$b = 3$>
<@end@>

18.2.1.2 HTMLインクルード・リソースの編集

コンポーネント・ウィザードを使用して既存のHTMLインクルード・リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストでリソースを選択します。

3. リソース・ファイルに複数のタイプのリソースが含まれている場合は、右側の「インクルード」タブをクリックします。

4. 「カスタムHTMLインクルード」リストでインクルードを変更します。

- 既存のインクルードを編集するには、インクルードを選択して「編集」をクリックし、コードを変更して「OK」をクリックします。

- リソース・ファイルにインクルードを追加するには、「追加」をクリックします。

- インクルードを削除するには、インクルードを選択して「削除」をクリックし、「はい」をクリックして確定します。

18.2.2 動的データ表

動的データ表のリソースはdynamicdata表です。このタイプのリソースを使用すると、HTML表定義、インタフェース・メニュー・アクション、またはメタデータ・フィールドに関する情報をロードするIdocスクリプト内から、あるいは、SharedObjectにロードされた静的表に対する代替としてJavaコード内から、データの表を定義できます。

SharedObjectにロードされる表は静的でめったに変更されませんが、dynamicdata表がユーザーのコンテキストにロードされると、コンテンツ・サーバー内の数多くのコードによって、この表の内容が変更されます。dynamicdataのリソースを使用すると、ユーザーが実行している具体的なアクションに対するセキュリティ属性の任意の要素に応じて、様々なデータをユーザーの画面に表示できます。コンポーネントは、このリソース・タイプで作成された表に、ターゲットを絞ったマージを実行でき、Idocスクリプト・ページは行の選択とソートができます。

例18-2に示すように、dynamichtml構成を含めることのできる任意のリソース・ファイルで、dynamicdataリソースを宣言できます。

例18-2 dynamicdataリソース

<@dynamicdata NameOfTable@>
<?formatoftable properties-of-table?>
table-data
<@end@>

dynamicdata表は、リソース・ファイルの<@dynamicdata name@>タグと<@end@>タグの中に定義されます。dynamicdata表を参照するには、Idocスクリプトの関数を使用する必要がありますが、その関数は、ddLoadResultSetのように、名前の先頭がddで、マージされたdynamicdata表をロードし、現在のデータ・バインダにResultSetを作成するものです。

IdcHomeDir/resources/core/idocファイルでは、標準的なdynamicdataリソースを定義します。

18.2.2.1 表の形式の指定

dynamicdataリソースのformatoftableパラメータでは、次の2つの形式タイプのいずれかを指定できます。

- commatable

- htmltable

デフォルトの形式はcommatableです。

commatable

commatableとは、値に行送りも改行もない表の形式です。例18-3に示すように、この形式では、フィールド名のカンマ区切りのリストを1つの行に入力し、値のカンマ区切りのリストを後続の行に入力できます。この場合、1行の対象が各フィールドになります。

例18-3 commatable形式

<@dynamicdata SampleTable@>
<?commatable?>
col1,   col2
val1_1, val1_2
val2_1, val2_2
<@end@>

値にカンマ(,)を挿入する必要がある場合は、カンマでなく曲折アクセント記号(î)を使用します。例18-4に示すように、曲折アクセント記号を挿入する必要がある場合は、エスケープ・シーケンスの番号記号-曲折アクセント記号(#î)を入力し、番号記号または曲折アクセント記号が後に続く番号記号(#)を挿入する必要がある場合は、エスケープ・シーケンスの番号記号-番号記号(##)を入力します。

例18-4 値での特殊文字

<@dynamicdata SampleTable@>
field1, field2
AîB,    C##îD#îE#FîG
<@end@>

このdynamicdataリソースでは、field1の値がA,B、field2の値がC#îDîE#F,Gになる表の行がロードされます。

行送りも改行もエスケープはできません。これらの文字列のいずれかを含む値を指定する必要がある場合は、htmltable形式を使用してください。

htmltable

例18-5に示すように、htmltable形式は、コンテンツ・サーバーにおける静的なHTML表構成と同じ形式です。

例18-5 htmltable形式

<@dynamicdata SampleTable@>
<?htmltable?>
<table>
<tr>
<td>col1</td>
<td>col2</td>
</tr>
<tr>
<td>val11</td>
<td>val12</td>
</tr>
<tr>
<td>val21</td>
<td>val22</td>
</tr>
</table>
<@end@>

18.2.2.2 動的データ表リソースの編集

コンポーネント・ウィザードを使用して既存のdynamicdataリソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストでリソースを選択します。

3. リソース・ファイルに複数のタイプのリソースが含まれている場合は、右側の「インクルード」タブをクリックします。

4. カスタム・リソース定義におけるdynamicdata表のいずれかを変更したり、dynamicdata表を追加したり、dynamicdata表を削除することができます。

- 既存のdynamicdata表を編集するには、表を選択して「編集」をクリックし、コードを変更して「OK」をクリックします。

- リソース・ファイルにdynamicdata表を追加するには、「追加」をクリックします。

- dynamicdata表を削除するには、表を選択して「削除」をクリックし、「はい」をクリックして確定します。

18.2.2.3 表のプロパティの指定

dynamicdataリソースのproperties-of-tableパラメータの形式は次のとおりです。

field1="value1" field2="value2" . . .

プロパティは、XMLノードに定義された属性に似ています。例18-6は、一般的な表宣言を示しています。

例18-6 表定義における表のプロパティ

<@dynamicdata ExampleTable@>
<?commatable mergeField="fieldA" indexedColumns="fieldA,fieldB"?>
fieldA, fieldB
1,      2
3,      4
<@end@>

値を囲む引用符は、空白のない値では省略可能であり、引用符は一重と二重のどちらでも使用できます。また、プロパティのデフォルト値は1であるため、表のプロパティの値が1の場合は、値の割当てを省略できます。

この値を省略することは、notrimやmergeBlanksのようなブール型プロパティの場合に役立ちます。例18-7は、値をトリミングしない表を指定する宣言を示しています。

例18-7 notrimプロパティ

<@dynamicdata ExampleTable@>
<?commatable mergeField="fieldA" indexedColumns="fieldA,fieldB" notrim?>
fieldA, fieldB
1, 2
3, 4
<@end@>

この例では、2または4の前に空白があってもトリミングされません。(フィールド名は常にトリミングされます。)

次の種類の表のプロパティを指定できます。

- マージ・プロパティ

- アセンブリ・プロパティ

- ソート・プロパティ

- フィルタとdynamicdata表のプロパティ

18.2.2.3.1 マージ・プロパティ

dynamicdata表は自動的にまとめてマージでき、これは、これらの表を使用することの力の一部です。名前の同じdynamicdata表が2つ、別々のリソース・ファイルにある場合は、自動的にマージされます。mergeOtherDataオプションを使用して、別の既存の表を現在の既存の表にマージできます。この手法を使用すると、他の様々な表からすべてマージされた複雑な表を構築できます。このマージを行うと、データの可読性を向上でき、一部の表を他の表のサブセットにすることができます。

dynamicdataリソースのproperties-of-tableパラメータで、次のマージ・プロパティを1つ以上指定できます。

- mergeKey: マージの実行場所とするフィールドの名前。この値は、オーバーレイを行うときに、この表と既存の表の両方に適用されます。ただし、mergeNewKeyが設定されている場合は、既存の表にのみ適用されます。この値が設定されていない場合は、マージ・キーによって、この表の最初の列がデフォルトに設定されます。mergeKeyが、既存の表に存在していない列を参照している場合は、既存の表にこの表が付加されます。ただし、mergeRuleが、別の結果を指定する値に設定されている場合は除きます。このプロパティにはマージ・スコープが指定されています。

- mergeNewKey: この表の中で、既存の表のmergeKey列と比較するときの基準として使用するフィールドの名前。デフォルトは、mergeKeyの値となります。このプロパティにはマージ・スコープが指定されています。

- mergeRule: 2つの表のマージを実行するときに使用するルール。このプロパティには3つの値を指定でき、そのデフォルトはmergeです。このプロパティにはマージ・スコープが指定されています。

- merge: マージを実行するためにmergeKey(および、指定した場合はmergeNewKey)のプロパティを使用したマージ。

- mergenoappend: マージを実行しますが、新規の行はいっさい付加しません。実行する有効なマージがない(たとえば、mergeKeyが、既存の表の有効な列を参照しない)場合は、マージはいっさい実行されず、表が重なっても最終結果に影響はありません。

- replace: 既存の表をこの表に置換します。このオプションの結果として、先行する表のリソースが抑制されます。これは、dynamichtmlリソースでスーパー・インクルードを使用しないのと同じです。

- mergeBlanks: デフォルトでは、この表から既存の表に値がマージされたときには、この表に空白の値があれば、既存の表で重ね合される値は置換されません。これにより、既存の表にある列の値をターゲットに絞り、この表で置換ができます。ただし、このオプションが有効になっている(値なしで設定されているか、あるいは値を1またはtrueにして設定されている)場合は、この表の空白によって、既存の表の空白でない値が置換されます。デフォルトは0(またはfalse)で、このプロパティにはマージ・スコープが指定されています。

- mergeAppendColumns: これは、この表における列のカンマ区切りのリストです。このリストで言及されている任意の値では、その列に対するこの表における列値は、その列に対する既存の表における値を置換しませんが、そのかわり、(区切り文字としてカンマを使用して)現在の値に新しい値を付加するか、または新しい値を現在の値に置換します。カンマ区切りのリストにあるサブ値のそれぞれは、key=value形式で、=value部分は省略可能と想定されています。この表で、カンマ区切りのリストに同じキーがある場合、そのkey=valueのペアは、既存の表における値を置換します。たとえば、既存の表に形式a=1,b=2の列値があり、この表に値b=3,c=4がある場合、マージ後はa=1,b=3,c=4となります。このプロパティにはマージ・スコープが指定されています。

- cssStyleMergeAppendFormat: これはブール型プロパティで、mergeAppendColumnsプロパティに使用されている区切り文字を変更します。通常の場合、mergeAppendColumnsで言及されているフィールドの値は、名前=値のペアのカンマ区切りのリストで、等号演算子(=)は代入演算子です。このプロパティが有効になっている場合は、リストの区切り文字はセミコロン(;)になり、名前と値のペアは代入にコロン(:)を使用します。そのため、フィールド値の形は、A=1,B=2ではなく、A:1;B:2となります。デフォルトはfalseで、このプロパティにはマージ・スコープが指定されています。

- wildcard: 通常の場合、マージが実行されると、マージ・テストで一致比較を行う際に、大文字と小文字が区別されません。このオプションが有効になっている場合は、比較がコンテンツ・サーバーの標準ワイルドカード一致(* = 0個以上の任意の文字、? = 任意の単一文字)です。一般的にこのオプションは、mergeKey以外の列にmergeNewKeyを設定した状態で使用し、多くの場合、mergeKeyは、この表にある有効な列を参照することさえしません。デフォルトは0(またはfalse)で、このプロパティにはマージ・スコープが指定されています。

- mergeOtherData: このリソースにマージするための、他のdynamicdataリソースのカンマ区切りのリスト。このリソースにマージされる前に、他のdynamicdataリソースのそれぞれは完全にマージされます。(他のリソースもmergeOtherDataを使用している場合、それらのマージが先に行われます。このコードには再帰検出があります。)参照されているdynamicdataリソースの1つで、複数のファイルに複数の定義がある場合は、このリソースにマージするために使用されるマージ・キーは、その他のリソースでマージ順序が最も高い(最後にマージされる)と定義されたマージ・キーです。このdynamicdataリソース(mergeOtherDataプロパティのあるリソース)で、複数のファイルに複数の定義がある場合は、マージ・スタックにあるすべてのリソースから参照された名前付きリソースをすべてマージすることによって、mergeOtherDataパラメータが生成されます。デフォルトはNULLで、グローバルなスコープが指定されています。

18.2.2.3.2 アセンブリ・プロパティ

dynamicdataリソースのproperties-of-tableパラメータで、次のアセンブリ・プロパティを1つ以上指定できます。

- notrim: このオプションは、commatable形式にのみ適用されます。通常の場合は、表のリソースに対して解析されるすべての値がトリミングされます。このオプションを設定すると、値はトリミングされません。これはめったに使用されないオプションと推定されます。デフォルトは0(またはfalse)で、このプロパティにはローカルな表スコープが指定されています。

- indexedColumns: このプロパティは、索引付き参照用に最適化する必要のある列をリストしています。Idocスクリプトの特殊関数は、索引付き列のいずれかを利用するために存在しています。索引付き列に対して参照を行うときには、列名と値を指定する必要があります。索引付き列の値と関数に渡された値が(大文字と小文字を区別して)一致した行のみで構成される、フィルタリング済表が返されます。これらの索引付き列の参照がすべて、ロード時およびマージ時に計算され、すぐに取り出せるようにハッシュ表に格納されることに注意してください。すべての重なり合う表の索引付き列の値のリストがまとめてマージされ、索引計算はマージの終了後に行われます。このプロパティにはグローバルな表スコープが指定されています。

- countColumn: この値は、全面的にマージされた表の中で、行数の値が入力される列を指定します。このカウントは1で始まり、表の中の行ごとに増えていきます。マージされた表のその列に値がある場合は、その値がカウント値に置換されます。このプロパティを使用すると、行ごとに迅速な一意のキーを作成できます。このプロパティのデフォルト値はcountなので、countという名前の列があって、別のcountColumnを指定していない表があれば、その列にカウンタ値が自動的に入力されます。このプロパティの値は、最終的にマージされた表の列名と一致していない場合には無視されます。重ね合せる側の表のリソースで、前の表のリソースで指定されたものとは異なるcountColumnが指定されている場合は、重ね合せる側の表のリソースが使用されます。このプロパティにはグローバルな表スコープが指定されています。

- defaultValues -- このプロパティは、表に適用するデフォルト値のカンマ区切りのリストを指定します。このリストにあるそれぞれのデフォルト値は、fieldname:valueという形式です。値が空の文字列の場合は、コロンを省略できます。たとえば、文字列field1:val1,field2:val2,field3では、デフォルト値を、field1にはval1、field2にはval2、field3には空の文字列と指定します。コロンはアスタリスク(*)でエスケープでき、アスタリスクは前に番号記号(#)を置くことでエスケープできます。番号記号に番号記号またはアスタリスクのいずれかが続く場合には、別の番号記号を追加することで番号記号をエスケープできます(前述のカンマをエスケープする同様の規則を参照)。最終的にマージされた表に、デフォルト値の構成で指定されたフィールドがない場合は、新規のフィールドとして追加され、その表のすべての行のデフォルト値が指定されます。そのフィールドがある場合は、その表でそのフィールドに空白の値があれば、デフォルト値によってオーバーライドされます。新しい重ね合せる側の表のdefaultValuesの定義が、既存の表の実際の定義と照合されます。あるデフォルト値の定義に競合があった場合は、新しい重ね合せる側の表が優先されます。このプロパティのデフォルトはNULLで、グローバルな表スコープが指定されています。

- derivedColumns: このプロパティは、他の列の値から構築する列を指定します。一般的な構文は、導出された列定義のカンマ区切りのリストで、そのフォームはderivedColumnDef1,derivedColumnDef2,...であり、それぞれの列定義はfieldName:sourceField1+sourceField2+...というフォームです。fieldNameは、作成されるフィールドの名前を指し、sourceFieldNは、導出された列を作成するときのソースとなる値を持つフィールドを指します。導出された列には、二重コロン(::)で区切られたソース・フィールドの値が保持されます。導出された列があり、そこに空でない値が入っている場合は置換されません。defaultValuesプロパティの場合と同様に、最終的な表がアセンブルされた後に2番目のパスがあり、導出された値のいずれかに入力する必要がまだあるかどうかが判別されます。導出された列の最も代表的な使用法としては、マージ基準を指定するために、1つのdynamicdataリソースで、1つの列だけでなく複数の列を使用できるようにすることです。導出された列は、マージのターゲットとして使用され、既存の表の定義で定義されます。導出された列の定義は、新しい重ね合せる側の表に継承されます。また、ある導出された列の定義に競合があった場合は、新しい重ね合せる側の表の定義が優先されます。そうでない場合は、既存の表と新しい表の、導出された列の定義がまとめて照合されます。このプロパティのデフォルト値はNULLで、グローバルな表スコープが指定されています。

18.2.2.3.3 ソート・プロパティ

dynamicdataリソースのproperties-of-tableパラメータで、次のソート・プロパティを1つ以上指定できます。

- sortColumn: ソートする列を選択します。重ね合せる側の表のリソースで、前の表のリソースで指定されたものとは異なるsortColumn値が指定されている場合は、重ね合せる側の表のリソースの値が使用されます。この列の名前が、最終的にマージされた表の列名と一致していない場合には、ソートは実行されません。デフォルト値はsortOrderです。そのため、この名前の列を作成すると、表が自動的にソートされます。このプロパティにはグローバルな表スコープが指定されています。

- sortType: ソートされる列をどのデータ型と想定するかを指定します。この型は、sortColumnとsortParentColumnの両方に適用されます。この値は、int、stringまたはdateです。このプロパティのデフォルト値はintです。このプロパティを指定する両方の、重ね合せる側の表のルールは、sortColumnと同一です。このプロパティにはグローバルな表スコープが指定されています。

- sortOrder: ソートを実行するときに使用するソート順序を指定します。使用可能な値は、asc (昇順の場合)とdesc (降順の場合)です。デフォルトはascです。このプロパティを指定する両方の、重ね合せる側の表のルールは、sortColumnと同一です。このプロパティにはグローバルな表スコープが指定されています。

- sortIsTree: ソートが実際に、sortChildColumnとともにsortParentColumn がソートされたツリー・ソートであるかどうかを指定します。その場合は、sortParentColumnにおける子の行の値を使用して、そのsortChildColumnフィールドで値が一致している親の行を見つけることによって、子から親への行マッピング関係が行われると想定されています。最上位レベルの親が最初にソートされ、次に、それぞれの親の子がそれぞれの親のサブグループとしてソートされ、さらに子のすべての子が再帰的にソートされるというようにソートが実行されます。デフォルト値は0 (またはfalse)です。このプロパティを指定する両方の、重ね合せる側の表のルールは、sortColumnと同一です。このプロパティにはグローバルな表スコープが指定されています。

- sortParentColumn: この値は、sortIsTreeオプションが有効になっている場合に指定する必要があります。このプロパティの値が欠落しているか、または無効な列を指定している場合、sortIsTreeオプションは無視され、効果はありません。その内容の詳細は、sortIsTreeプロパティの前述の説明を参照してください。sortParentColumnプロパティのデフォルトはNULLです。このプロパティを指定する両方の、重ね合せる側の表のルールは、sortColumnと同一です。このプロパティにはグローバルなスコープが指定されています。

- sortChildColumn: この値は、sortIsTreeオプションが有効になっている場合に指定する必要があります。このプロパティの値が欠落しているか、または無効な列を指定している場合、sortIsTreeオプションは無視され、効果はありません。その内容の詳細は、sortIsTreeプロパティの前述の説明を参照してください。sortChildColumnプロパティのデフォルトはNULLです。このプロパティを指定する両方の、重ね合せる側の表のルールは、sortColumnと同一です。このプロパティにはグローバルなスコープが指定されています。

- sortNestLevelColumn: この値は、sortIsTreeオプションが有効になっている場合にのみ使用できます。このプロパティの値は、無効な列を参照している場合には効果がありません。有効な列が指定されている場合、その列は、そのネスト・レベル(最初の値は0)を指定する整数値を取得します。ネスト・レベルは、自身に親のない親に到達するまでに横断する必要のある、直接の親の数として定義されます。このプロパティのデフォルト値はnestLevelで、グローバルなスコープが指定されています。

18.2.2.3.4 フィルタおよびインクルードのプロパティ

dynamicdataリソースのproperties-of-tableパラメータで、次のフィルタおよびインクルードのプロパティを1つ以上指定できます。

- filterInclude: このプロパティは、表(索引付きの列が副表の選択に使用されている場合は副表)の各行に実行するインクルードを指定します。これは、現在のユーザーのコンテキストに表がロードされたときに実行されます。その主な目的は、副作用を生みだすこと、または行を除外する必要があるかどうかを判別することです。最終的なResultSetに行がロードされないようにするために、変数ddSkipRowを1(<$ddSkipRow=1$>)に設定できます。このインクルードの実行時に表はアクティブにされ、表の値へのアクセスと値の置換を簡単にできます。このプロパティのデフォルト値はnullで、グローバルなスコープが指定されています。

- includeColumns: このプロパティは、実行するリソース・インクルードの名前が行の値になっている列のカンマ区切りのリストを指定します。リソース・インクルードが実行された後で、結果がResultSetにフィードバックされ、その行のその列の新しい値となります。実行のタイミングおよびルールはfilterIncludeと同じですが、includeColumnsでは、行をロードすることを抑制できません。フィルタ・インクルードが指定され、アクティブなインクルード列がある場合は、一時的にアクティブなResultSetをループ処理する際に、インクルード列の値が最初に実行され、次にフィルタ・インクルードが実行されます。最終的にマージされた表に、指定されたインクルード列のいずれかがない場合は、効果はありません。インクルード列にある空の値は無視されます。includeColumns属性は、一般的にはdefaultValues属性と結合され、他の列から値が導出される列が作成されます。このプロパティのデフォルト値はnullで、グローバルなスコープが指定されています。

注意:

includeColumnsは、最初に表示されたときほどには役に立たないことがあります。リソース・インクルードが実行されるのは、表をロードするためにIdocスクリプトの関数が実行されたときですが、出力をカスタマイズするコンポーネントによって列の値が決定されるのが、さらに処理を行った後(この表に他の表がマージされたり、行統計のサマリーが計算されたりなどした後)に限定される場合もあります。

18.2.2.4 Dynamicdata Idocスクリプト関数の使用

動的データ表の場合は、次のdynamicdata Idocスクリプト関数を使用できます。

- ddAppendIndexedColumnResultSet

- ddAppendResultSet

- ddApplyTableSortToResultSet

- ddGetFieldList

- ddIncludePreserveValues

- ddLoadIndexedColumnResultSet

- ddLoadResultSet

- ddMergeIndexedColumnResultSet

- ddMergeResultSet

- ddMergeUsingIndexedKey

- ddSetLocal

- ddSetLocalByColumnsFromFirstRow

- ddSetLocalByColumnsFromFirstRowIndexed

- ddSetLocalEmpty

- ddSetLocalEmptyByColumns

18.2.3 文字列リソース

stringリソースは、エラー・メッセージおよびコンテンツ・サーバーWebページとアプレットで使用される、ロケールに依存するテキスト文字列を定義します。Webページがアセンブルされるか、アプレットが開始されるか、またはエラー・メッセージが表示されるたびに、文字列がコンテンツ・サーバーによって解決されます。

stringは、次の形式を使用して、HTMファイルで定義されます。

<@stringID=Text string@>

stringは、次のIdocスクリプト関数を使用して、HTMテンプレートから呼び出されます。

<$lc("wwStringID")$>

注意:

コンテンツ・サーバーWebページでは、ww_strings.htmファイルには文字列のみを使用してください。

標準的な英語文字列は、IdcHomeDir/resources/core/langディレクトリで定義されます。他にサポートされている言語の文字列は、ローカライゼーション・コンポーネントによって提供されます。

HTMLインクルード、文字列および静的表は、同じHTMファイルにあってもかまいません。stringリソースには、マージ・ルールは不要です。

string値に次の特殊文字を含めるには、HTMLエスケープ・エンコーディングを使用する必要があります。

エスケープ・シーケンス

文字

&at;

@

\&lf;

行送り(ASCII 10)

\&cr;

改行(ASCII 13)

\&tab;

タブ(ASCII 9)

\&eatws;

次の空白以外の文字まで空白を食いつぶします。

\&lt;

<(より小さい)

\&gt;

>(より大きい)

\&sp;

空白(ASCII 32)

\&#xxx;

10進数で表すASCII文字(nnn)

すべての言語にシングルバイト文字がある場合、またはマルチバイト文字がある場合は、言語識別子接頭辞を使用して、同じリソース・ファイルで複数の言語の文字列を指定できます。例18-8は、リソース・ファイルにおける、複数の言語による文字列の接頭辞を示しています。

例18-8 同じリソース・ファイルにおける複数の言語

<@myString=Thank you@>
<@es.myString=Gracias@>
<@fr.myString=Merci@>
<@de.myString=Danke@>

注意:

シングルバイト文字列とマルチバイト文字列は、同じリソース・ファイルで指定しないでください。シングルバイト文字列用とマルチバイト文字列用に、別々のリソース・ファイルを作成してください。

カスタム文字列リソースでマルチバイト文字列を指定する場合は、HTMLページでの文字セット指定が、適切なエンコーディングに変更されるようにしてください。リソース・ファイルには正しいhttp-equiv charsetタグを指定して、コンテンツ・サーバーが正しく読み取るようにしてください。

18.2.3.1 文字列パラメータ

テキスト文字列には変数パラメータを含めることができ、そのパラメータは、中カッコ内にパラメータ引数を配置(たとえば、{1})することによって指定されます。文字列がローカライズされると、この引数は、文字列ID、およびロケール情報を含むExecutionContext値とともに渡されます。パラメータ化された文字列の構文は次の表のとおりです。

構文

意味

例

{{}

開始側の中カッコ。(リテラルとして表現する必要があるのは、開始側の中カッコのみです。)

{{}中カッコ内のテキスト}

{n}

n番目の引数を代入します。

コンテンツID {1}が見つかりません

{ni}

n番目の引数を整数形式で代入します。

dID {1i}は存在しません

{nx}

n番目の引数を16進数の整数形式で代入します。

{nd}

n番目の引数を日付形式で代入します。

リリース日は{1d}です

{nD}

n番目の引数を日付形式で代入します。引数はODBC形式にする必要があります。

リリース日は{1D}です

{nt}

n番目の引数を日時形式で代入します。

リリース日は{1t}です

{ne}

n番目の引数を経過時間形式で代入します。

{nT}

n番目の引数を日時形式で代入します。引数はODBC形式にする必要があります。

リリース日は{1T}です

{nfm}

n番目の引数を浮動小数点形式で代入します。

距離は{1f3}マイルです。

{nk}

n番目の引数を使用してローカライズした文字列を文字列IDとして代入します。

{2}の{1k}リビジョンが見つかりません

{nm}

n番目の引数を、文字列スタック・メッセージであるかのようにローカライズします。(たとえば、引数には、連結されたテキスト文字列およびローカライズされた文字列IDを含めることができます。)

索引付けの内部エラー: {1m}

{nl}

n番目の引数をリストとして代入します。数は、カンマ(,)およびカレット(î)を区切り文字とするリストである必要があります。

アドオン: {1l}

{nK}

カンマで区切られたローカライゼーション・キー名のリストを利用し、各キーをリストにローカライズします。

サポートされていないバイト機能: {1K}

{nM}

メッセージ文字列のリストを利用し、各メッセージをリストにローカライズします。

{1q}コンポーネント、バージョン{2q}は、現在有効になっているバージョンより古いバージョンの機能を提供します。{3M}

{nq}

n番目の引数がNULLでなく、長さがゼロでない場合は、引用符で引数を代入します。それ以外の場合は、文字列syUndefinedを代入します。

コンテンツ・アイテム{1q}を正常にチェックインできませんでした。

{no}

n番目の引数に対して、順序を示す代入を実行します。たとえば、1st、2nd、3rdなどです。引数は整数である必要があります。

"I am {1o}."で引数を7とすると、"I am 7th."にローカライズされます。

{n?text}

n番目の引数の値が1でない場合は、テキストを代入します。

{1}ファイル{1?s}が削除されました

{n?text1:text2}

- n番目の引数の値が1でない場合は、text1を代入します。

- n番目の引数の値が1の場合は、text2を代入します。

必要なだけの数の置換変数を使用して(n?)関数を拡張できます。リスト内の最後の変数は常に、値1に対応します。

There {1?are:is} currently {1} active search{1?es}.

{n?text1:text2:text3}

- n番目の引数の値が1でも2でもない場合は、text1を代入します。

- n番目の引数の値が2の場合は、text2を代入します。

- n番目の引数の値が1の場合は、text3を代入します。

必要なだけの数の置換変数を使用して(n?)関数を拡張できます。リスト内の最後の変数は常に、値1に対応します。

Contact {1?their:her:his} supervisor.

18.2.3.2 文字列リソースの編集

コンポーネント・ウィザードを使用して既存の文字列リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストでリソースを選択します。

3. リソース・ファイルに複数のタイプのリソースが含まれている場合は、右側の「文字列」タブをクリックします。

4. 「カスタム・文字列」リストで文字列を変更します。

- 既存の文字列を編集するには、文字列を選択して「編集」をクリックし、文字列テキストを変更して「OK」をクリックします。

- リソース・ファイルに文字列を追加するには、「追加」をクリックします。

- 文字列を削除するには、文字列を選択して「削除」をクリックし、「はい」をクリックして確定します。

18.2.4 動的表

動的表のリソースは、HDAファイル形式で定義されます。HDA ResultSet表の詳細と例は、第12.1.3.1.1項「HDAファイル内の要素」を参照してください。

18.2.4.1 動的表のマージ・ルール

カスタム・リソースのデータによって既存の表のデータが置換される場合は、動的表にマージ・ルールが必要です。カスタム・リソースのデータが新規の表に配置される場合は、動的表にマージ・ルールは不要です。

18.2.4.2 動的表リソースの編集

コンポーネント・ウィザードを使用して既存の動的表リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストからリソースを選択します。

3. 「エディタの起動」をクリックします。

4. テキスト・エディタで表を変更します。

5. リソース・ファイルを保存して閉じます。
変更内容は、「リソースの定義」タブの右側に反映されます。

18.2.5 静的表

静的表、HTMLインクルードおよび文字列は、同じHTMファイルにあってもかまいません。

18.2.5.1 静的表のマージ・ルール

カスタム・リソースのデータによって既存の表のデータが置換される場合は、静的表にマージ・ルールが必要です。カスタム・リソースのデータが新規の表に配置される場合は、動的表にマージ・ルールは不要です。

18.2.5.2 静的表リソースの編集

コンポーネント・ウィザードで既存の静的表リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストからリソースを選択します。

3. 「エディタの起動」をクリックします。

4. テキスト・エディタで表を変更します。

5. リソース・ファイルを保存して閉じます。変更内容は、「リソース表」リストに反映されます。

18.2.6 問合せ

問合せリソースは、コンテンツ・サーバーのデータベース内の情報を管理するために使用されるSQL問合せを定義します。問合せをサービス・スクリプトで使用して、データベースに対するデータの追加、削除、取得などのタスクを実行します。

コンテンツ・サーバーの標準的な問合せは、IdcHomeDir/resources/core/tables/query.htmファイルのQueryTable表に定義されています。特殊目的の問合せは、IdcHomeDir/resources/core/tablesディレクトリに格納されているindexer.htmファイルとworkflow.htmファイルにもあります。問合せリソースにマージ・ルールは不要です。

問合せリソースは、name、queryStr、parametersの3つの列があるResultSet表を使用したHTMファイルで定義されます。

- name列では、各問合せの名前を定義しています。既存の問合せをオーバーライドするには、同じ名前をカスタム問合せに使用します。新規の問合せを追加するには、一意の問合せ名を使用します。新規の問合せに名前を付けるときには、次の文字のいずれかを名前の先頭に付けて、問合せのタイプを特定します。

先頭文字

問合せタイプ

D

削除

I

挿入

Q

選択

U

更新

- queryStr列では、問合せ式を定義しています。問合せ式は、SQLの標準構文にします。データベースに渡すパラメータ値がある場合、その場所は、疑問符(?)をエスケープ文字として固定されます。

- parameters列では、サービスから問合せに渡されるパラメータを定義しています。Webブラウザからのリクエストによってサービスが呼び出され、さらにそこから問合せが呼び出されます。HTTPの標準パラメータである問合せパラメータに値を提供するのは、Webブラウザの役割です。ブラウザは、URLから、またはWebページ内のFORM要素から、問合せパラメータを渡すことができます。たとえば、QdocInfo問合せでは、パラメータとしてdID(リビジョンID)を渡す必要があるため、この値は、サービス・リクエストのURLから取得されます。

18.2.6.1 問合せの例

図18-1に示している標準的なQdocInfo問合せは、IntradocDir/core/config/resources/query.htmファイルで定義されています。この問合せでは、DOC_INFOテンプレート・ページに表示するメタデータ情報が取得されます。このテンプレート・ページは、検索結果ページでユーザーが「情報」アイコンをクリックしたときに表示されるページです。

図18-1 標準的なQDocInfo問合せ

WebブラウザのURLから渡されるパラメータはdIDであり、これは、コンテンツ・アイテム・リビジョンの一意のID番号です。リビジョンにDELETEDステータスがない場合、問合せ式では、「リビジョン」、ドキュメント、DocMetaの各データベース表から、プライマリ・リビジョンのdIDと一致するデータを選択します。

例18-9に、query.htmファイルの内容を示します。

例18-9 query.htmファイル

<HTML>
<HEAD>
<META HTTP-EQUIV='Content-Type' content='text/html; charset=iso-8859-1'>
<TITLE>Query Definition Resources</TITLE>
</HEAD>
<BODY>
<@table QueryTable@>
<table border=1><caption><strong>Query Definition Table</strong></caption>
<tr>
<td>name</td>
<td>queryStr</td>
<td>parameters</td>
</tr>
<tr>
<td>QdocInfo</td>
<td>SELECT Revisions.*, Documents.*, DocMeta.*
FROM Revisions, Documents, DocMeta
WHERE Revisions.dID=? AND Revisions.dID=Documents.dID AND DocMeta.dID = Documents.dID AND Revisions.dStatus<>'DELETED' AND Documents.dIsPrimary<>0</td>
<td>dID int</td>
</tr>
</table>
<@end@>
</BODY>
</HTML>

18.2.6.2 問合せリソースの編集

コンポーネント・ウィザードを使用して問合せリソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストでリソースを選択します。

3. リソースに複数の表がある場合は、編集する問合せ表を「表名」リストから選択します。

4. 選択した問合せ表を変更します。

- 表に問合せを追加するには、「追加」をクリックします。

- 既存の問合せを編集するには、問合せを選択して「編集」をクリックし、問合せ式またはパラメータ、あるいはその両方を変更して「OK」をクリックします。

- 問合せを削除するには、問合せを選択して「削除」をクリックし、「はい」をクリックして確定します。

18.2.7 サービス

サービス・リソースは、コンテンツ・サーバーで実行される関数またはプロシージャを定義します。クライアントとサーバーどちらの側からもサービス・コールを実行できるため、Webブラウザのクライアントの代理としても、システム自体の内部でもサービスを実行できます。次に例を示します。

- クライアント側のリクエスト: コンテンツ・サーバーのWebページで「検索」リンクをクリックすると、GET_DOC_PAGEサービスによってWebブラウザに標準的な検索ページが表示されます。このとき、次のURLセグメントが使用されます。

IdcService=GET_DOC_PAGE&Action=GetTemplatePage&Page=STANDARD_QUERY_PAGE

- サーバー側のリクエスト: START_SEARCH_INDEXサービスを使用すると、バックグラウンド・スレッドで自動的に、検索索引が更新または再構築されます。

サービスは、クライアントがサーバーと対話したりデータベースにアクセスすることのできる唯一の手段です。いずれのプログラムでもHTMLページでも、コンテンツ・サーバーに情報を要求するサービス、または指定された機能を実行するサービスを実行できます。

コンテンツ・サーバーの標準的なサービスは、IdcHomeDir/resources/core/tables/std_services.htmファイルのStandardServices表に定義されています。特殊目的のサービスは、IdcHomeDir/resources/core/tables/ディレクトリに格納されているworkflow.htmファイルにもあります。コンテンツ・サーバーが提供する標準サービスと特殊目的のサービスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

サービスが機能を実行する際には、他のリソース定義に左右されます。HTMLを返すサービスでは、テンプレートを指定する必要があります。広く知られている例外はPING_SERVERサービスであり、このサービスはブラウザにページを返しません。

ほとんどのサービスでは問合せを使用します。広く知られている例外はSEARCHサービスであり、このサービスは検索コレクションにリクエストを直接送信します。サービス・リソースにマージ・ルールは不要です。

図18-2に、サービス定義の例を示します。

図18-2 サービス定義の例

サービス・リソースは、次の3つの列があるResultSet表を使用したHTMファイルで定義されます。

- Name列では、各サービスの名前を定義しています。クライアント側のリクエストでは、これはURLの中で呼び出される名前です。既存のサービスをオーバーライドするには、同じ名前をカスタム・サービスに使用します。新規のサービスを追加するには、一意のサービス名を使用します。

- Attributes列では、各サービスの次の属性を定義しています。

属性

説明

例(DELETE_DOCサービスの属性)

サービス・クラス

サービスで実行できるアクションの一部を決定します。

DocService 4 MSG_PAGE null documents !csUnableToDeleteItem(dDocName)

アクセス・レベル

サービスにユーザー・アクセス・レベルを割り当てます。この数値は、使用可能な次のビット・フラグの合計です。

READ_PRIVILEGE = 1

WRITE_PRIVILEGE = 2

DELETE_PRIVILEGE = 4

ADMIN_PRIVILEGE = 8

GLOBAL_PRIVILEGE = 16

SCRIPTABLE_SERVICE=32

DocService 4 MSG_PAGE null documents !csUnableToDeleteItem(dDocName)

テンプレート・ページ

サービスの結果を表示するテンプレートを指定します。サービスの結果にページ表示が必要ない場合は、この属性はnullにします。

DocService 4 MSG_PAGE null documents !csUnableToDeleteItem(dDocName)

サービス・タイプ

サービスを別のサービスの内側で実行する場合は、この属性はSubServiceにします。それ以外の場合はnullにします。

DocService 4 MSG_PAGE null documents !csUnableToDeleteItem(dDocName)

通知された件名

サービスによって通知される件名(サブシステム)を指定します。件名が通知されない場合は、この属性はnullにします。

DocService 4 MSG_PAGE null documents !csUnableToDeleteItem(dDocName)

エラー・メッセージ

アクション・エラー・メッセージによってオーバーライドされない場合、サービスによって返されるエラー・メッセージを定義します。これは、実際のテキスト文字列にも、ロケールに依存する文字列への参照にすることもできます。詳細は、第1.5.5項「ローカライズされた文字列の解決」を参照してください。

DocService 4 MSG_PAGE null documents !csUnableToDeleteItem(dDocName)

- Actions列では、各サービスのアクションを定義しています。アクションとは、サービス・スクリプトの一部として実行される操作です。アクションは、SQL文の実行、問合せの実行、コードの実行、問合せの結果のキャッシュまたはオプション・リストのロードを行うことができます。各サービスにはアクションが1つ以上含まれていて、実行時に何が起こるかを指定します。

Actions列の<br>タグは、ブラウザ表示のみを目的としたものなので、省略可能です。ただし、</td>タグは、アクションの直後に置くもので、その間に改行を入れてはなりません。アクションは、次の形式を使用して定義されます。

type:name:parameters:control mask:error message

セクション

説明

例(DELETE_DOCサービスの最初のアクション)

type

アクションのタイプを定義します。

QUERY_TYPE = 1

EXECUTE_TYPE = 2

CODE_TYPE = 3

OPTION_TYPE = 4

CACHE_RESULT_TYPE = 5

5:QdocInfo:DOC_INFO:6:!csUnableToDeleteItem(dDocName)!csRevisionNoLongerExists

name

アクションの名前を指定します。

5:QdocInfo:DOC_INFO:6:!csUnableToDeleteItem(dDocName)!csRevisionNoLongerExist

parameters

アクションに必須のパラメータを指定します。必須のパラメータがない場合は、この部分を空白にしておきます(1つの行の中の2つの列)。

5:QdocInfo:DOC_INFO:6:!csUnableToDeleteItem(dDocName)!csRevisionNoLongerExist

control mask

データベースへの問合せ結果を制御します。この数値は、使用可能な次のビット・フラグの合計です。

制御マスクなし= 0

CONTROL_IGNORE_ERROR = 1

CONTROL_MUST_EXIST = 2

CONTROL_BEGIN_TRAN = 4

CONTROL_COMMIT_TRAN = 8

CONTROL_MUST_NOT_EXIST = 16

5:QdocInfo:DOC_INFO:6:!csUnableToDeleteItem(dDocName)!csRevisionNoLongerExist

Error message

このアクションで表示するエラー・メッセージを定義します。このエラー・メッセージは、サービスの属性として用意されているエラー・メッセージをオーバーライドします。これは、実際のテキスト文字列にも、ロケールに依存する文字列への参照にすることもできます。詳細は、第1.5.5項「ローカライズされた文字列の解決」を参照してください。

5:QdocInfo:DOC_INFO:6:!csUnableToDeleteItem(dDocName)!csRevisionNoLongerExist

18.2.7.1 サービスの例

DOC_INFOサービスでは、サービス、問合せおよびテンプレートがまとまってどのように機能しているかの好例が提供されています。図18-3は、DOC_INFOサービスで実行できるアクションを示しています。

図18-3 DOC_INFOサービス

例18-10は、IntradocDir/config/resources/std_services.htmファイル内のDOC_INFOサービスの定義を示しています。

例18-10 std_services.htmファイル内のDOC_INFOサービス定義

<HTML>
<HEAD>
<META HTTP-EQUIV='Content-Type' content='text/html; charset=iso-8859-1'>
<TITLE>Standard Scripted Services</TITLE>
</HEAD>
<BODY>
<@table StandardServices@>
<table border=1><caption><strong>Scripts For Standard Services</strong></caption>
<tr>
<td>Name</td><td>Attributes</td><td>Actions</td>
</tr>
<tr>
<td>DOC_INFO</td>
<td>DocSgervice
33
DOC_INFO
null
null<br>
!csUnableToGetRevInfo</td>
<td>5:QdocInfo:DOC_INFO:2:!csItemNoLongerExists2
3:mapNamedResultSetValues:DOC_INFO,dStatus,dStatus,dDocTitle,dDocTitle:0:null
3:checkSecurity:DOC_INFO:0:!csUnableToGetRevInfo2(dDocName)
3:getDocFormats:QdocFormats:0:null
3:getURLAbsolute::0:null
3:getUserMailAddress:dDocAuthor,AuthorAddress:0:null
3:getUserMailAddress:dCheckoutUser,CheckoutUserAddress:0:null
3:getWorkflowInfo:WF_INFO:0:null
3:getDocSubscriptionInfo:QisSubscribed:0:null
5:QrevHistory:REVISION_HISTORY:0:!csUnableToGetRevHistory(dDocName)</td>
</tr>
</table>
<@end@>
</BODY>
</HTML>

18.2.7.1.1 属性

次の表では、前述のDOC_INFOサービスの属性について説明します。

属性

値

説明

サービス・クラス

DocService

このサービスは、コンテンツ・アイテムに関する情報を提供しています。

アクセス・レベル

33

32 =このサービスは、IdocスクリプトのexecuteService関数で実行できます。

1 = サービスをリクエストするユーザーには、コンテンツ・アイテムに対するRead権限が必要です。

テンプレート・ページ

DOC_INFO

このサービスでは、DOC_INFOテンプレート(doc_info.htm ファイル)を使用しています。アクションの結果がこのテンプレートにマージされて、ユーザーの画面に表示されます。

サービス・タイプ

null

このサービスは、サブサービスではありません。

通知された件名

null

このサービスの影響を受ける件名はありません。

エラー・メッセージ

!csUnableToGetRevInfo

このサービスが英語コンテンツ・サーバー・システムで失敗した場合は、「リビジョンに関する情報を取得できません。」というエラー・メッセージ文字列が返されます。

18.2.7.1.2 アクション

DOC_INFOサービスでは、次のアクションを実行します。

- 5:QdocInfo:DOC_INFO:2:!csItemNoLongerExists2

アクション定義

説明

5

問合せを使用してデータベースから情報を取得する、キャッシュされた問合せアクション。

QDocInfo

このアクションでは、query.htmファイル内のQDocInfo問合せを使用して、コンテンツ・アイテム情報を取得します。

DOC_INFO

この問合せの結果がパラメータDOC_INFOに割り当てられ、後で使用できるように格納されます。

2

CONTROL_MUST_EXIST制御マスクによって、問合せがレコードを返す必要があるのか、アクションが失敗するのかが指定されます。

!csItemNoLongerExists2

このアクションが英語コンテンツ・サーバー・システムで失敗した場合は、「該当コンテンツ・アイテムはもはや存在しません。」というエラー・メッセージ文字列が返されます。

- 3:mapNamedResultSetValues:DOC_INFO,dStatus,dStatus,dDocTitle,dDocTitle:0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

mapNamedResultSetValues

このアクションでは、DOC_INFO ResultSetの最初の行からdStatusおよびdDocTitleの値を取得して、ローカル・データに格納します。(これによってスピードが上がり、正しい値が使用されるようになります。)

DOC_INFO,dStatus,dStatus,dDocTitle,dDocTitle

mapNamedResultSetValuesアクションに必須のパラメータ。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 3:checkSecurity:DOC_INFO:0:!csUnableToGetRevInfo2(dDocName)

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

checkSecurity

このアクションでは、DOC_INFOパラメータに割り当てられているデータを取得し、割り当てられているセキュリティ・レベルを評価して、ユーザーがこのアクションを実行する権限があることを確認します。

DOC_INFO

checkSecurityアクションによって評価されるセキュリティ情報を含むパラメータ。

0

制御マスクが指定されていません。

!csUnableToGetRevInfo2(dDocName)

このアクションが英語コンテンツ・サーバー・システムで失敗した場合は、「''{dDocName}"に対する情報を取得できません。」というエラー・メッセージ文字列が返されます。

- 3:getDocFormats:QdocFormats:0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

getDocFormats

このアクションでは、query.htmファイル内のQdocFormats問合せを使用して、コンテンツ・アイテムのファイル形式を取得します。ファイル形式のカンマ区切りのリストが、dDocFormatsとしてローカル・データに格納されます。

QdocFormats

ファイル形式の取得に使用される問合せを指定します。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 3:getURLAbsolute::0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

getURLAbsolute

このアクションでは、コンテンツ・アイテムのURLを解決し、DocUrlとしてローカル・データに格納します。

blank

このアクションではパラメータを利用しません。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 3:getUserMailAddress:dDocAuthor,AuthorAddress:0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

getUserMailAddress

このアクションでは、コンテンツ・アイテムの作者の電子メール・アドレスを解決します。

dDocAuthor,AuthorAddress

このアクションでは、パラメータとしてdDocAuthorとAuthorAddressを渡します。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 3:getUserMailAddress:dCheckoutUser,CheckoutUserAddress:0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

getUserMailAddress

このアクションでは、コンテンツ・アイテムがチェックアウトされているユーザーの電子メール・アドレスを解決します。

dCheckoutUser,CheckoutUserAddress

このアクションでは、パラメータとしてdCheckoutUserとCheckoutUserAddressを渡します。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 3:getWorkflowInfo:WF_INFO:0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

getWorkflowInfo

このアクションでは、コンテンツ・アイテムがワークフローの一部かどうかを評価します。WF_INFOが存在している場合は、ワークフロー情報がDOC_INFOテンプレートにマージされます。

WF_INFO

このアクションでは、パラメータとしてWF_INFOを渡します。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 3:getDocSubscriptionInfo:QisSubscribed:0:null

アクション定義

説明

3

サービスを実装するJavaクラスの一部であるモジュールを指定するJavaメソッドのアクション。

getDocSubscriptionInfo

このアクションでは、現在のユーザーがコンテンツ・アイテムをサブスクライブしているかどうかを評価します。

- ユーザーがサブスクライブしている場合は、「サブスクライブ解除」ボタンが表示されます。

- ユーザーがサブスクライブしていない場合は、「サブスクライブ」ボタンが表示されます。

QisSubscribed

サブスクリプション情報の取得に使用される問合せを指定します。

0

制御マスクが指定されていません。

null

エラー・メッセージが指定されていません。

- 5:QrevHistory:REVISION_HISTORY:0:!csUnableToGetRevHistory(dDocName)

アクション定義

説明

5

問合せを使用してデータベースから情報を取得する、キャッシュされた問合せアクション。

QrevHistory

このアクションでは、query.htmファイル内のQrevHistory問合せを使用して、リビジョン履歴情報を取得します。

REVISION_HISTORY

この問合せの結果がパラメータREVISION_HISTORYに割り当てられます。DOC_INFOテンプレートでは、このパラメータをループで使用し、各リビジョンに関する情報を表示します。

0

制御マスクが指定されていません。

!csUnableToGetRevHistory(dDocName)

このアクションが英語コンテンツ・サーバー・システムで失敗した場合は、次のエラー・メッセージ文字列が返されます。

''{dDocName}''に対するリビジョン履歴を取得できません。

18.2.7.2 サービス・リソースの編集

コンポーネント・ウィザードを使用してサービス・リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストでリソースを選択します。

3. リソースに複数の表がある場合は、編集するサービス表を「表名」リストから選択します。

4. 選択したサービス表を変更します。

- 表にサービスを追加するには、「追加」をクリックします。

- 既存のサービスを編集するには、サービスを選択して「編集」をクリックし、サービス属性またはアクション、あるいはその両方を変更して「OK」をクリックします。

- サービスを削除するには、サービスを選択して「削除」をクリックし、「はい」をクリックして確定します。

18.2.8 テンプレート

テンプレート・リソースは、コンポーネント用にロードされるカスタム・テンプレートの名前、タイプおよび場所を定義します。

実際のテンプレート・ページは、テンプレート・リソース・ファイルで参照される別々の.htmファイルです。テンプレートHTMファイルには、Webページをアセンブルするためにコンテンツ・サーバーが使用するコードが含まれています。テンプレート・ファイル内のHTMLマークアップでは、ページの基本レイアウトが定義され、テンプレート・ファイル内のIdocスクリプトでは、ページのリクエスト時にWebページの追加のHTMLコードが生成されます。HTMテンプレート・ファイルには、最終ページがアセンブルされるまでコンテンツ・サーバーによって解決されないスクリプトが大量に含まれているため、これらのファイルは表示できないWebページです。

HTMファイルのテンプレート・タイプは、次のコンポーネント・ファイルの定義に使用されます。

- テンプレート・ページ:標準的なテンプレート・ページは、IdcHomeDir/resources/core/templatesディレクトリの中にあります。

- レポート・ページ:標準的なレポート・ページは、IdcHomeDir/resources/core/reportsディレクトリの中にあります。

テンプレート・リソース(templates.hda)は、HDAファイル形式で定義されます。標準的なテンプレートは、IdcHomeDir/resources/core/templates/templates.hdaファイルで定義されます。HDA ResultSet表の詳細と例は、第12.1.3.1.1項「HDAファイル内の要素」を参照してください。

IntradocTemplates表またはSearchResultTemplates表に新規のテンプレート定義をマージする際には、マージ・ルールが必要です。通常、マージはname列にあります。例18-11に、テンプレートのMergeRules ResultSetを示します。

例18-11 MergeRules ResultSet

@ResultSet MergeRules
4
fromTable
toTable
column
loadOrder
MultiCheckinTemplates
IntradocTemplates
name
1
@end

標準的なtemplates.hdaファイルでは、次の3つのResultSet表を定義しています。

- IntradocTemplates ResultSet表では、コンテンツ・サーバーのすべてのWebページ(検索結果ページは除く)のテンプレート・ページを定義しています。この表は、次の5つの列で構成されています。

- name列では、各テンプレート・ページの名前を定義しています。コンテンツ・サーバーCGI URLおよびコード内では、この名前を使用してテンプレートが参照されます。

- class列では、テンプレートの一般カテゴリを定義しています。最も一般的なclassタイプはDocumentです。

- formtype列では、ページで実現しようとする特定のタイプの機能を定義しています。formtypeは通常、フォームの名前と同じですが、小文字であることが異なります。

- filename列では、テンプレート・ファイルのパスとファイル名を定義しています。この場所は、絶対パスで指定できます。また、テンプレート・ページとテンプレート・リソース・ファイルが同じディレクトリの中にある場合には、テンプレート・リソース・ファイルを基準とした相対パスで指定することもできます。

- description列では、テンプレートの説明を定義しています。

- VerifyTemplates ResultSet表は、コンテンツ・サーバーで使用されなくなりましたが、この表は、下位互換性を維持するために、レガシー・コードとしてtemplates.hdaファイルに残っています。

- SearchResultTemplates表では、検索結果ページのテンプレート・ページを定義しています。テンプレート・ページでは、ライブラリの検索結果ページに問合せ結果がどのように表示されるかを定義しています。問合せ結果ページは、特殊なタイプの検索結果ページです。この表は、次の6つの列で構成されています。

- name列では、各テンプレート・ページの名前を定義しています。コンテンツ・サーバーCGI URL、コードおよびWebレイアウト・エディタ・ユーティリティ内では、この名前を使用してテンプレートが参照されます。

注意:

StandardResultsテンプレート(search_results.htmファイル)は通常、ライブラリの標準的な検索結果ページおよび問合せ結果ページのグローバル・テンプレートとして使用されます。テンプレートを新規作成するか、またはWebレイアウト・エディタを使用してStandardResultsテンプレートのflexdata値を変更できます。ただし、それらの変更は、templates.hdaファイルのSearchResultTemplates表でなく、別のファイル(IntradocDir/data/results/custom_results.hda)に保存されます。

- formtype列では、ページで実現しようとする特定のタイプの機能を定義しています。ResultsPageは、検索結果ページに対して現在サポートされている唯一のフォーム・タイプです。

- filename列では、テンプレート・ファイルのパスとファイル名を定義しています。この場所は、絶対パスで指定できます。また、テンプレート・ページとテンプレート・リソース・ファイルが同じディレクトリの中にある場合には、テンプレート・リソース・ファイルを基準とした相対パスで指定することもできます。

- outfilename列は将来使用するためのもので、値は常にNULLです。

- flexdata列では、検索結果ページの各行に表示するメタデータを定義しています。flexdata列のテキストの形式は次のとおりです。

Text1 "text 1 contents"%<Tab>Text2 "text 2 contents"%

この形式では、各検索結果行の最初の行にはText1値が表示され、2番目の行にはText2値が表示されます。<Tab>は、リテラル・タブ文字を表しています。

flexdataフィールドの内容を定義する際には、Idocスクリプトを使用できます。Webレイアウト・エディタを使用してStandardResultsテンプレートのflexdata値を変更することもできます。ただし、それらの変更は、templates.hdaファイルのSearchResultTemplates表でなく、別のファイル(IntradocDir/data/results/custom_results.hda)に保存されます。

- description列では、テンプレートの説明を定義しています。

カスタム・コンテンツ管理ページ(multicheckin_doc_man.htm)およびカスタム検索結果ページ(MultiCheckin_search_results.htm)を指すカスタム・テンプレート・リソース・ファイルを、例18-12に示します。

例18-12 カスタム・テンプレート・リソース・ファイル

<?hda version="5.1.1 (build011203)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
blFieldTypes=
@end
@ResultSet MultiCheckinTemplates
5
name
class
formtype
filename
description
DOC_MANAGEMENT_LINKS
DocManagement
DocManagementLinks
multicheckin_doc_man.htm
Page containing links to various document management functions
@end
@ResultSet MultiCheckin_2
6
name
formtype
filename
outfilename
flexdata
description
StandardResults
SearchResultsPage
MultiCheckin_search_results.htm
null
Text2 <$dDocTitle$> <$dInDate$>%       Text1 <$dDocName$>%
apStandardResultsDesc
@end

18.2.8.1 テンプレート・ページとレポート・ページ

テンプレート・ページとレポート・ページは、プレゼンテーション・ページとも呼ばれます。コンテンツ・サーバーでは、これらのページが、Webページ・リクエストの結果をアセンブル、書式設定および提示するために使用されるからです。

標準的なテンプレート・ページは、IdcHomeDir/resources/core/templatesディレクトリの中にあります。標準的なレポート・ページは、IdcHomeDir/resource/core/reportsディレクトリの中にあります。

18.2.8.1.1 テンプレート・ページの例

標準「コンテンツ管理」ページのテンプレート・ファイルはdoc_man.htmです。例18-13に、このファイルの内容を示します。

例18-13 doc_man.htmファイル

<$include std_doctype_html_decl$>

<head>
<$defaultPageTitle=lc("wwContentMgmt")$>
<$include std_html_head_declarations$>
</head>

<$include body_def$>

<$include std_page_begin$>

<$include std_header$>

<table border="0" cellpadding="2" cellspacing="2" width="450" summary="">

<$include std_doc_man_pages$>

</table>

<table  cellpadding="7" cellspacing="7" summary="">
<$if showQuickHelp$>
<tr><td><form><INPUT type=Button onClick="QuickHelp('<$getHelpPage("QH_DocMan")$>', 'QH_DocMan')"
value="<$lc("wwQuickHelp")$>"></form></td></tr>
<$endif$>
</table>

<$include std_page_end$>

</body>
</html>

この例では、std_doctype_html_declインクルードは、コンテンツ・サーバーの標準的なドキュメント・タイプを参照しています。<head>要素はページ・タイトルを参照し、headセクションのコードは、std_page.htmリソース・ファイル内のstd_html_head_declarationsインクルード・コードを使用して構築されます。ページ定義におけるその他の要素は次のとおりです。

1. コンテンツ・サーバーのほとんどのWebページに共通するページ要素は、std_page.htmリソース・ファイル内のインクルード・コードであるbody_def、std_page_beginおよびstd_headerを使用して構築されます。

2. 「コンテンツ管理」ページ上のリンクは、std_page.htmリソース・ファイル内のインクルード・コードを使用して構築されます。

3. 例にある<table>要素では、「コンテンツ管理」ページに「クイック・ヘルプ」ボタンを表示するかどうかを定義しています。

4. ページの末尾のコードは、std_page.htmリソース・ファイル内のstd_page_endインクルード・コードを使用して構築されます。

図18-4は、「コンテンツ管理」ページを示しています。

図18-4 「コンテンツ管理」ページ

18.2.8.1.2 レポート・ページの例

標準「ドキュメント・タイプ」レポート・ページのテンプレート・ファイルは、doc_types.htmにあります。例18-14に、このファイルの内容を示します。

例18-14 doc_types.htmファイル

<$include std_doctype_html_decl$>

<head>
<$defaultPageTitle=lc("wwDocumentTypes")$>
<$include std_html_head_declarations$>
</head>

<$include body_def$>

<$include std_page_begin$>

<$include std_header$>

<!--Directory Title--->
<table border="0" cellpadding="0" cellspacing="0" summary="">
<tr>
<td width="75"><$if PageParent$><a href="<$PageParent$>">
<$strTrimWs(inc("open_folder_image"))$></a>
<$endif$></td>
<td colspan="2" width="390"><span class=title><$PageTitle$></span></td>
</tr>
</table>

<$if IsSavedQuery$>
<!---Parameters for historical reports-->
<table border="0" cellpadding="0" cellspacing="0" summary="">
<tr>
<td width="75" height="45">&nbsp;</td><!---Indent-->
<td><strong><span class=highlightField><$lc("wwReportCreated")$></span> <$ReportCreationDate$></strong></td>
</tr>
</table>
<$endif$>

<!--Directory Header--->
<table  border="0" cellspacing="0" summary="">
<tr>
<td width="75" height="45">&nbsp;</td><!---Indent-->
<td colspan="2" width="390"><$HeaderText$></td>
</tr>
</table>

<!---Doc types report-->
<table border=0 cellpadding=0 cellspacing=0 summary="">
<tr><td>&nbsp;</td></tr>
<tr>
<td align=center width=<$StdPageWidth$>>
<h1 class="underlinePageTitle"><$lc("wwDocumentTypes")$></h1>
</td>
</tr>
<tr><td>&nbsp;</td></tr>

<$if IsMultiPage$>
<!---Navigation Bar-->
<tr>
<td width=565 align="center"><$include std_page_nav_bar$></td>
</tr>
<$endif$>

<tr>
<td>
<table class="xuiTable" width=<$StdPageWidth$> summary="<$stripXml(lc("wwReportResultsTable"))$>">
<tr class="xuiAltHeader">
<td width=12% class="xuiAltHeader" scope="col"></td>
<td width=29% class="xuiAltHeader" scope="col"><$lc("wwDocumentType")$></td>
<td width=49% class="xuiAltHeader" scope="col"><$lc("wwDescription")$></td>
<td width=12% class="xuiAltHeader" scope="col"><$lc("wwImageFileName")$></td>
</tr>
<$rowCount=0$>

<$loop DocTypes$>
<$if rowCount%2 == 0$>
<$rowClass="xuiRow"$>
<$else$>
<$rowClass="xuiAltRow"$>
<$endif$>
<tr class="<$rowClass$>">
<!--Document types are localized to each instance, so we must use direct path to images directory.-->
<td><img src="<$HttpWebRoot$>images/docgifs/<$dGif$>" alt="<$stripXml(lc("wwDoctypeIcon"))$>" border=0></td>
<td><$dDocType$></td>
<td><$dDescription$></td>
<td><$dGif$></td>
</tr>
<$rowCount=rowCount+1$>
<$endloop$>
</table>
</td>
</tr>
</table>

<$include std_page_end$>

</body>
</html>

この例では、std_doctype_html_declインクルードは、コンテンツ・サーバーの標準的なドキュメント・タイプを参照しています。例にある<head>要素はページ・タイトルとメタデータを参照し、headセクションのコードは、std_page.htmリソース・ファイル内のstd_html_head_declarationsインクルード・コードを使用して構築されます。ページ定義におけるその他の要素は次のとおりです。

1. コンテンツ・サーバーのほとんどのWebページに共通するページ要素は、std_page.htmリソース・ファイル内のインクルード・コードであるbody_def、std_page_beginおよびstd_headerを使用して構築されます。

2. 例にあるDirectory Titleセクションには、開いたフォルダのイメージが表示され、そのイメージが親ページにリンクされて、ページ・タイトルが表示されます。

3. Parameters for historical reportsセクションには、履歴レポートの元の問合せ日付が表示されます。

4. Directory Headerセクションには、レポートの説明が表示されます。

5. Doc types reportセクションには、表のタイトルが表示されます。

6. Navigation Barセクションには、履歴レポートに2ページ以上が必要な場合に、ページのナビゲーション・バーが表示されます。

7. 次の<table>要素では、最初の部分に表の列ヘッダーが表示されます。

8. <table>要素の最後の部分はドキュメント・タイプでループし、レポート表の行が作成されます。

9. ページの末尾のコードは、std_page.htmリソース・ファイル内のstd_page_endインクルード・コードを使用して構築されます。

18.2.8.2 テンプレート・リソースの編集

コンポーネント・ウィザードを使用して既存のテンプレート・リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストでリソースを選択します。

3. テンプレート定義表を削除するか、またはテンプレート定義を手動で編集するには、「カスタム・リソース定義」領域で「エディタの起動」をクリックします。

4. リソースに複数の表がある場合は、編集するテンプレート表を「表名」リストから選択します。

5. 選択したテンプレート表を変更します。

- 表にテンプレート定義を追加するには、「追加」をクリックします。

- 既存のテンプレート定義を編集するには、定義を選択して「編集」をクリックし、パラメータを変更して「OK」をクリックします。

- テンプレート定義を削除するには、定義を選択して「削除」をクリックし、「はい」をクリックして確定します。

18.2.9 環境リソース

環境リソースは、新規変数の値を作成するか既存の値を置換して、構成変数を定義します。カスタム・リソースは、標準的なconfig.cfgファイルがロードされた後でロードされるので、カスタム環境リソースで定義された変数の値が、元の変数の値を置換します。

環境リソースは、次のような名前と値のペア形式を使用して、CFGファイルで定義されます。

variable_name=value

変数の値を定義した後で、次のIdocスクリプト・タグを使用して、テンプレートなどのリソース・ファイル内の変数を参照できます。

<$variable_name$>

環境リソース・ファイルには、次のように#記号で指定されたコメント行を含めることができます。

#Set this variable to true to enable the function.

18.2.9.1 環境リソースの例

例18-15に、環境リソース・ファイルの内容を示します。

例18-15 環境リソース・ファイル

# Use this to turn on or off alternate row coloring
nsUseColoredRows=0

# These are the nested search field definitions.

nsFld1Caption=Document Text
nsFld1Name=
nsFld1Type=FullText
nsFld1OptionKey=
#
nsFld2Caption=Text
nsFld2Name=xtext
nsFld2Type=Text
nsFld2OptionKey=
#
nsFld3Caption=Date
nsFld3Name=xdate
nsFld3Type=Date
nsFld3OptionKey=
#
nsFld4Caption=Integer
nsFld4Name=xinteger
nsFld4Type=Int
nsFld4OptionKey=
#
nsFld5Caption=Option List
nsFld5Name=xoptionlist
nsFld5Type=OptionList
nsFld5OptionKey=optionlistList
#
nsFld6Caption=Info Topic
nsFld6Name=xwfsInfoTopic
nsFld6Type=OptionList
nsFld6OptionKey=wfsInfoTopicList

ネストされた検索コンポーネントにあるcolored_search_resource.htmテンプレート・リソース・ファイルは、次のようにnsUseColoredRows変数を参照します。

<$if isTrue(#active.nsUseColoredRows)$>
<$useColoredRows=1, bkgHighlight=1$>
<$endif$>

標準的な構成変数は、IntradocDir/config/config.cfgファイルで定義されます。構成変数の完全なリストは、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

18.2.9.2 環境リソースの編集

コンポーネント・ウィザードを使用して既存の環境リソースを編集するには、次の手順を実行します。

1. コンポーネント・ウィザードで、編集対象のリソースが含まれるコンポーネントを開きます。

2. 「カスタム・リソース定義」リストからリソースを選択します。

3. 「エディタの起動」をクリックします。

4. テキスト・エディタで構成変数を変更します。

5. リソース・ファイルを保存して閉じます。
変更内容は、「カスタム環境パラメータ」リストに反映されます。

注意:

「カスタム環境パラメータ」リストでの構成設定の表示順は、リソース・ファイルでの実際の表示順とは異なる場合があります。わかりやすく表示するために、テキスト・エディタを起動します。

18.3 コンポーネント定義ファイルの作成

コンポーネント定義ファイルを作成または変更するには、コンポーネント・ウィザードを使用できます。

例18-16は、customhelp_environment.cfgという環境リソース・ファイルを指すコンポーネント定義ファイルを示しています。

例18-16 環境リソースのコンポーネント定義ファイル

<?hda version="5.1.1 (build011203)" jcharset=Cp1252 encoding=iso-8859-1?>
@Properties LocalData
blDateFormat=M/d{/yy} {h:mm[:ss] {aa}[zzz]}!tAmerica/Chicago!mAM,PM
blFieldTypes=
@end
@ResultSet ResourceDefinition
4
type
filename
tables
loadOrder
environment
customhelp_environment.cfg
null
1
@end

18.4 コンテンツ・サーバーの再起動によるコンポーネントの適用

コンテンツ・サーバーは、カスタム・コンポーネントを適用する前に再起動する必要があります。コンテンツ・サーバーを再起動するには、管理コンソール、停止スクリプトと起動スクリプト、またはFusion Middleware Controlを使用して、WebCenter Content管理対象サーバーを再起動します。

次の例では、stopManagedWebLogicおよびstartManagedWebLogicスクリプトでWebCenter Contentを再起動する方法を示します。

詳細は『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のシステム・プロセスの管理に関する項を参照してください。

WebCenter Content管理対象サーバーをコマンドラインからスクリプトを使用して再起動する手順は、次のとおりです。

1. stopManagedWebLogicスクリプトを使用して、WebCenter Content管理対象サーバーを停止します。

- UNIXスクリプト:
DomainHome/bin/stopManagedWebLogic.sh UCM_server1

- Windowsスクリプト:
DomainHome\bin\stopManagedWebLogic.cmd UCM_server1

2. 管理サーバーをstopWebLogicスクリプトで停止します。

- UNIXスクリプト: DomainHome/bin/stopWebLogic.sh

- Windowsスクリプト: DomainHome\bin\stopWebLogic.cmd

3. 管理サーバーをstartWebLogicスクリプトで起動します。

- UNIXスクリプト: DomainHome/bin/startWebLogic.sh

- Windowsスクリプト: DomainHome\bin\startWebLogic.cmd

4. startManagedWebLogicスクリプトを使用して、WebCenter Content管理対象サーバーを起動します。

- UNIXスクリプト:
DomainHome/bin/startManagedWebLogic.sh UCM_server1

- Windowsスクリプト:
DomainHome\bin\startManagedWebLogic.cmd UCM_server1

19 コンポーネントのインストール

この章では、Oracle WebCenter Content Serverに追加のコンポーネントをインストールする方法について説明します。

この章の内容は次のとおりです。

- 第19.1項「コンポーネントのインストールについて」

- 第19.2項「インストールするコンポーネントのパッケージ化」

- 第19.3項「拡張コンポーネント・マネージャを使用したコンポーネントのインストール」

- 第19.4項「コンポーネント・ウィザードを使用したコンポーネントのインストール」

- 第19.5項「ComponentToolユーティリティを使用したコンポーネントのインストール」

19.1 コンポーネントのインストールについて

コンテンツ・サーバーのサーバー・コンポーネントはデフォルトでインストールされますが、カスタム・コンポーネントおよびOracle Technology Networkからダウンロードされたコンポーネントを使用できるようにするには、それらをインストールして有効にする必要があります。

注意:

インストール済のコンポーネントの有効化または無効化のみが必要な場合は、第13章「コンテンツ・サーバーのコンポーネントの有効化と無効化」を参照してください。

次のいずれかの方法を使用してコンポーネントをインストールできます。

- 拡張コンポーネント・マネージャを使用したコンポーネントのインストール

- コンポーネント・ウィザードを使用したコンポーネントのインストール

- ComponentToolユーティリティを使用したコンポーネントのインストール

コンポーネントをインストールする前に、まず、そのコンポーネントをインスタンスにダウンロードする必要があります。次の要件を満たさないかぎり、コンポーネントをダウンロードできません。

- コンポーネントは、IdcHomeDir/system ディレクトリの外部(つまりDomainHome/ucm/idc/system)に存在する必要があります。これにより、コンポーネントにパッチがアップロードされている場合を除き、パッケージ化されているすべてのコンポーネントが除外されます。

- コンポーネントに適切な名前のZIPファイルがあり、それがカスタム・コンポーネントまたはコア・コンポーネント・ディレクトリ内に存在する必要があります。

19.2 インストールするコンポーネントのパッケージ化

コンポーネント・ウィザードを使用して、複数のコンテンツ・サーバー・インスタンス上にインストールするカスタム・コンポーネントをZIPファイルにパッケージ化することができます。

インストールするコンポーネントをパッケージ化する手順は、次のとおりです。

1. 「管理」トレイまたはメニューで、「管理サーバー」→「コンポーネント・マネージャ」を選択します。
「コンポーネント・マネージャ」ページが表示されます。

2. 「コンポーネント・マネージャ」ページの最初の段落で、「拡張コンポーネント・マネージャ」をクリックします。
これで「拡張コンポーネント・マネージャ」ページが表示され、ダウンロードできるコンポーネントのリストが提示されます。

3. パッケージ化するコンポーネントを、「コンポーネントのダウンロード」リストから選択します。

4. 「ダウンロード」をクリックし、「ファイルのダウンロード」画面を表示します。

5. 「このファイルをディスクに保存」を選択して、「OK」をクリックします。

6. 「別名保存」ダイアログ・ボックスで、ディレクトリに移動して、必要に応じてファイル名を変更し、「保存」をクリックします。
これによって、コンポーネントのインストールに使用できるコンポーネントZIPファイルが作成されます。

19.3 拡張コンポーネント・マネージャを使用したコンポーネントのインストール

拡張コンポーネント・マネージャを使用してコンポーネントをインストールするには、次の手順を実行します。

1. 「管理」トレイまたはメニューで、「管理サーバー」→「コンポーネント・マネージャ」を選択します。
「コンポーネント・マネージャ」ページが表示されます。

2. 「コンポーネント・マネージャ」ページで「参照」ボタンをクリックして、ダウンロードおよび保存されたZIPファイルを見つけます。

3. コンポーネント名を選択し、「開く」をクリックします。

4. 「インストール」をクリックします。何がインストールされるかを詳細に示すメッセージが表示されます。

5. 「続行」をクリックしてインストールを続けるか、「取消」をクリックしてインストールを停止します。

6. 「続行」をクリックした場合、インストールが正常に行われるとメッセージが表示されます。次の2つのオプションのいずれかを選択します。

- コンポーネントを有効にし、コンテンツ・サーバーを再起動します。

- コンポーネント・マネージャに戻ります(コンポーネントの追加を続けることができます)。コンポーネントの追加が完了したら、有効にするコンポーネントを選択し、「有効化」をクリックします。コンポーネントの有効化が完了したら、サーバーを再起動します。

19.4 コンポーネント・ウィザードを使用したコンポーネントのインストール

コンポーネント・ウィザードを使用してコンポーネントをインストールするには、次の手順を実行します。

1. コンポーネント・ウィザードを起動します。

- (Windowsオペレーティング・システム)「スタート」メニューから、「プログラム」→「Oracle WebCenter Content Server」→サーバー名→「ユーティリティ」→「コンポーネント・ウィザード」を選択します。

- (UNIXオペレーティング・システム) DomainHome/ucm/cs/binディレクトリでComponentWizardスクリプトを実行します。

「コンポーネント・ウィザード」のメイン画面および「コンポーネント・リスト」画面が表示されます。

2. 「コンポーネント・リスト」画面で、「インストール」をクリックします。
「インストール」画面が表示されます。

1. 「選択」をクリックします。

2. ダウンロードされて保存されたZIPファイルにナビゲートし、それを選択します。

3. 「開く」をクリックします。
ZIPファイルのコンテンツが「インストール」画面のリストに追加されます。

4. 「OK」をクリックします。コンポーネントを有効にするように求められます。

5. 「はい」をクリックします。そのコンポーネントは、「コンポーネント・リスト」画面で、有効なコンポーネントとして表示されます。

6. コンポーネント・ウィザードを終了します。

7. コンテンツ・サーバーを再起動します。

インストールするコンポーネントに応じて、「管理」トレイまたはメニューあるいは「管理アプレット」ページに新しいメニュー・オプションが表示されます。コンポーネントのなかには、単に既存の機能を拡張するだけで、別個の新しいオプションとしては表示されないものがあります。詳細は、コンポーネントのドキュメントを参照してください。

19.5 ComponentToolユーティリティを使用したコンポーネントのインストール

ComponentToolユーティリティを実行し、インストールして有効にするコンポーネントのZIPファイルを指定します。

DomainHome/ucm/cs/bin/ComponentTool path_to_file/component.zip

20 コンポーネントのアンインストール

この章では、Oracle WebCenter Content Serverからコンポーネントをアンインストールする方法について説明します。

この章の内容は次のとおりです。

- 第20.1項「コンポーネントのアンインストールについて」

- 第20.2項「コンテンツ・サーバーからのコンポーネントのアンインストール」

20.1 コンポーネントのアンインストールについて

コンテンツ・サーバーのコンポーネント・ウィザードの「コンポーネント・リスト」画面には、現在インストールされているすべてのコンポーネントが表示されます。コンポーネント・ウィザードを起動すると、この画面が表示されます。この画面で、コンポーネントのアンインストールを実行できます。

20.2 コンテンツ・サーバーからのコンポーネントのアンインストール

コンポーネント・ウィザードの「コンポーネント・リスト」画面でコンポーネントを選択して、それをアンインストールできます。

コンテンツ・サーバーからコンポーネントをアンインストールするには:

1. 第12.2.1項「コンポーネント・ウィザード」の説明に従って、コンポーネント・ウィザードを起動します。

2. 「コンポーネント・リスト」画面で、アンインストールするコンポーネントを選択します。

3. 「アンインストール」ボタンをクリックします。
これにより、選択されたコンポーネントがコンテンツ・サーバー・インスタンスから削除されます。コンポーネント・ファイルはファイル・システムに残りますが、コンポーネントのリストには表示されなくなります。

第VI部

レコードのカスタマイズ

この部では、Oracle WebCenter Content: レコードのカスタマイズについて説明します。

第VI部に含まれる章は、次のとおりです。

- 第21章「処理アクションのカスタマイズ」

- 第22章「バーコードのカスタマイズ」

- 第23章「モバイル・バーコード・リーダーの追加」

- 第24章「カスタム・レポートの作成」

21 処理アクションのカスタマイズ

この章では、Oracle WebCenter Content: Recordsに対する処理アクションのカスタマイズの方法について説明します。処理は、コンテンツのライフ・サイクル中にコンテンツに対して実行されるアクションの順序を定義する処理手順で使用されます。

この章の内容は次のとおりです。

- 第21.1項「処理アクションのカスタマイズについて」

- 第21.2項「カスタム処理の管理」

- 第21.3項「カスタム処理アクションの無効化」

- 第21.4項「カスタム処理アクションの作成」

- 第21.5項「物理コンテンツの処理ルールの作成」

21.1 処理アクションのカスタマイズについて

カットオフ、破棄、転送、移動、分類解除などの大量のビルトイン・処理アクションが組み込まれています。環境によっては、事前定義オプション以外の処理アクションが必要になる場合があります。処理アクションは、組織固有のニーズが反映されるように設計できます。

重要:

旧バージョンのRecordsシステムを使用してカスタム処理が作成されている場合、その処理を再調査して、最新のサービスとアクションを使用するように更新する必要があります。アクション・サービスのパラメータはこのソフトウェアの以前のバージョンから変更されており、既存のカスタム処理に対する変更は自動的にマップされません。

カスタム処理アクションは、処理アクションの動作を定義する特定のパラメータを使用してコールできるOracle WebCenter Contentサービスに基づいています。たとえば、NumberOfRevisions=3パラメータを指定したDELETE_ALL_BUT_LAST_N_REVISIONS_SERVICEサービスを使用して、最後の3つのリビジョンのコンテンツ・アイテムを自動的に保持する処理アクションを作成できます。

重要:

カスタム処理機能を使用するには、Rma.Admin.Customizationの権限が必要です。デフォルトでは、この権限は、事前定義されたロールには割り当てられていません。この機能を公開する前に、ロールにこの権限を割り当てる必要があります。

21.2 カスタム処理の管理

次のタスクは、処理の管理に対応しています。

- 第21.2.1項「カスタム処理アクションの作成または編集」

- 第21.2.2項「カスタム処理アクション情報の表示」

- 第21.2.3項「カスタム処理アクションの削除」

21.2.1 カスタム処理アクションの作成または編集

コンテンツ・サーバーを介して、レコードに対するカスタム処理アクションを作成または編集できます。

重要:

カスタム処理アクションを作成するには、Oracle WebCenter Contentに関して十全な技術的知識が必要です。カスタム処理アクションの定義方法については、コンサルティング・サービスに問い合せてください。

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは事前定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限をロールに割り当てる必要があります。

カスタム処理アクションを作成するには:

1. トップ・メニューから「レコード」→「構成」を選択します。その後、「処理アクション」→「カスタム」を選択します。

2. 「処理の構成」ページで、「カスタム処理アクション」セクションの「追加」をクリックします。

3. 「処理アクションの作成または編集」ページで、カスタム処理アクションの一意のIDを「アクションID」テキスト・ボックスに入力します。

4. カスタム処理アクションの名前を「アクション名」テキスト・ボックスに入力します。

5. カスタム処理アクションの説明を「簡単な説明」テキスト・ボックスに入力します。

6. カスタム処理アクションのグループ名を「グループ名」テキスト・ボックスに入力します。このフィールドのデフォルト値は、wwOptGroupLabelCustomDispositionActionsList.にあるww_strings.htmファイルに格納されます。これは、デフォルトでは、Custom Actionsに設定されています。
「カスタム・アクション」以外のグループ名を使用するには、リソース・ファイル内の文字列値を変更し、Oracle WebCenter Content Serverを再起動します。「グループ名」フィールドの推奨デフォルト値を変更しないでください。

7. カスタム処理アクションに使用するサービスを、「アクション・サービス」リストから選択します。

8. (オプション)選択したアクション・サービスに対して1つ以上のパラメータを指定します。

9. (オプション)必要に応じて、任意のチェックボックスを選択します。選択項目には、「最初であることが必要」、「最後であることが必要」、および「承認が必要」があります。これらのアクションによって、カスタム処理アクションの使用時期が決定します。

10. 「作成」をクリックします。
処理アクションが正常に作成されたことを示すメッセージが、アクション情報とともに表示されます。

11. 「OK」をクリックします。

次のアクション・サービス・パラメータは、特定のアクション・サービスに必要です。

処理/イベント

サービス・パラメータ

差替え

isScrub=1

すべてのリビジョンを削除(メタデータを破棄)

NumberOfRevisions=0, isDestroy=1, dRevRank=0

リビジョンの削除

NumberOfRevisions=0, isDestroy=1

転送完了としてマーク

NumberOfRevisions=0, isDestroy=1, dRevRank=0

移動完了としてマーク

NumberOfRevisions=0, isDestroy=1, dRevRank=0

登録を完了としてマーク

NumberOfRevisions=0, isDestroy=1, dRevRank=0

以前のリビジョンの削除

NumberOfRevisions=1

古いリビジョンを削除する

NumberOfRevisions=1

アーカイブ完了としてマーク

NumberOfRevisions=0, isDestroy=1, dRevRank=0

アーカイブ(メタデータは残す)

isScrub=1

登録を完了としてマーク(メタデータは残す)

isScrub=1

移動完了としてマーク(メタデータは残す)

isScrub=1

転送完了としてマーク(メタデータは残す)

isScrub=1

リビジョンの削除完了としてマーク

NumberOfRevisions=0, isDestroy=1

削除完了

NumberOfRevisions=0, isDestroy=1

転送完了としてマーク(メタデータ保持または削除のプロンプト)

NumberOfRevisions=0, isDestroy=1

移動完了としてマーク(メタデータ保持または削除のプロンプト)

NumberOfRevisions=0, isDestroy=1

登録を完了としてマーク(メタデータ保持または削除のプロンプト)

NumberOfRevisions=0, isDestroy=1

アーカイブ完了としてマーク(メタデータ保持または削除のプロンプト)

NumberOfRevisions=0, isDestroy=1

関連コンテンツとしてマーク

IsMarkAllRelations=1

カスタム処理アクションを編集するには:

1. トップ・メニューから「レコード」→「構成」を選択します。その後、「処理アクション」→「カスタム」を選択します。

2. 「処理の構成」ページで、「アクション」メニューから「アクションの編集」を選択します。

3. 「処理アクションの作成または編集」ページで必要な変更を行い、完了後に「更新の送信」をクリックします。
処理アクションが正常に作成されたことを示すメッセージが、アクション情報とともに表示されます。

4. 「OK」をクリックします。

第21.2.2項 カスタム処理アクション情報の表示

カスタム処理アクションに関する情報を表示するには:

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限を事前にロールに割り当てておく必要があります。

1. トップ・メニューから「レコード」→「構成」を選択します。その後、「処理アクション」→「カスタム」を選択します。

2. 「処理の構成」ページで、表示する処理名をクリックします。

3. 表示が終了したら、「OK」をクリックします。

21.2.3 カスタム処理アクションの削除

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限を事前にロールに割り当てておく必要があります。

カスタム処理アクションは、どのカテゴリの処理手順でも使用されなくなった場合のみ削除できます。

カスタム処理アクションを削除するには:

1. トップ・メニューから「レコード」→「構成」を選択します。その後、「処理アクション」→「カスタム」を選択します。

2. 「処理の構成」ページで、処理のアイテムの「アクション」メニューから「アクションの削除」を選択します。アクション名でチェックボックスを選択して、「表」メニューから「削除」を選択することもできます。
処理アクションが正常に削除されたことを示すメッセージが表示されます。

3. 「OK」をクリックします。

複数の処理を削除するには、「処理の構成」ページで、削除する処理のチェックボックスを選択して、「表」メニューから「削除」を選択します。

第21.3項 カスタム処理アクションの無効化

コンテンツ・サーバーを介して、カスタム処理アクションを無効化できます。

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限を事前にロールに割り当てておく必要があります。

重要:

手順の処理が発生するには、いくつかの処理が必要です。処理を無効化すると、処理手順の処理が妨げられることがあります。処理の無効化が受け入れられることを、常に事前に検証してください。

カスタム処理アクションを無効化するには:

1. トップ・メニューから「レコード」→「構成」を選択します。その後、「処理アクション」→「無効化」を選択します。

2. 「処理アクション構成」ページで、無効化するアクションの横のチェックボックスを選択します。

3. 終了したら、「更新の送信」をクリックします。

21.4 カスタム処理アクションの作成

この例では、コンテンツ・アイテムの最後の3つのリビジョンを自動的に保持するカスタム処理アクションが作成されます。

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限を事前にロールに割り当てておく必要があります。

1. トップ・メニューから「レコード」→「構成」を選択します。その後、「処理アクション」→「カスタム」を選択します。

2. 「処理の構成」ページで、「カスタム処理アクション」セクションの「追加」をクリックします。

3. 「処理アクションの作成または編集」ページで、メタデータ・フィールドを次のように完成します。

1. 「アクションID」フィールドに、「RetainLast3Rev」と入力します。

2. 「アクション名」フィールドに、「Retain Last 3 Revisions」と入力します。

3. 「簡単な説明」フィールドに、「Only keep the last 3 revisions of a content item」と入力します。

4. 「グループ名」フィールドに、「Custom」と入力します。

5. 「アクション・サービス」リストから、処理アクションのwwString名(たとえば、Notify Author)を選択します。

6. 「アクション・サービス・パラメータ」フィールドに、「NumberOfRevisions=3」と入力します。

4. 「作成」をクリックします。

新規作成された処理アクションは、処理ルールの作成時に、使用可能な処理アクションのリストから選択できるようになります。

21.5 物理コンテンツの処理ルールの作成

物理アイテムには、そのライフ・サイクルを定義した保存スケジュールを割り当てることができます。物理アイテムの作成時に、保存スケジュールを割り当てることができます。これにより、物理アイテムは、アイテムの保存期間および、アイテムを破棄する時期と方法を指定した一連の保存ルールおよび処理ルールにリンクされます。

電子アイテムの保存スケジュールおよび処理ルールと同じものを物理アイテムにも使用できますが、物理アイテムのみに使用する処理ルールを定義することもできます。

22 バーコードのカスタマイズ

この章では、Oracle WebCenter Content: Recordsでのバーコードのカスタマイズの方法について説明します。カスタム・バーコード範囲を追加し、非標準のバーコード・データを処理できます。

この章の内容は次のとおりです。

- 第22.1項「バーコードのカスタマイズについて」

- 第22.2項「カスタム・バーコード範囲の追加」

- 第22.3項「非標準バーコード・データの処理」

22.1 バーコードのカスタマイズについて

物理コンテンツ管理(PCM)ソフトウェアには、デフォルト・セットのバーコード範囲とバーコード・トランザクション・タイプ(チェックイン、チェックアウトおよび場所の設定)が同梱されています。一連のバーコード番号をサイトの所定のシステムと合致するように追加し、それを使用して追加のカスタム機能を提供することができます。番号を追加した後で、カスタマイズしたサービスを作成して新規機能が使用できるようにする必要があります。このサービスの設計には、コンサルティング・サービスの利用をお薦めします。

PCMで使用される標準フォーマット以外のフォーマットのバーコード・ファイルを処理するようにシステムをカスタマイズすることもできます。これを行うには、サイトで使用しているフォーマットを受け入れるように処理ファイルを変更します。バーコード・データの更新に使用する処理ファイルをカスタマイズするには、Idoc Scriptについての詳細な知識が必要です。

PCMバーコードには、印刷時に接頭辞として値が付けられますが、この値は処理の前に削除する必要があります。ユーザー・バーコードには接頭辞としてUが、ストレージ・バーコードにはSが、オブジェクト・バーコードにはOがそれぞれ付けられます。

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限を事前にロールに割り当てておく必要があります。

22.2 カスタム・バーコード範囲の追加

カスタム・バーコード範囲を追加するには:

1. トップ・メニューで「物理」→「構成」→「機能バーコード」を選択します。

2. 「カスタム・バーコードの構成」ページで、「追加」をクリックします。

3. 「カスタム・バーコードの作成」ダイアログで、バーコードと、そのバーコードに関連付けられたアクティビティまたはイベント(たとえば、InventoryまたはStorage Disposal)を入力します。カスタム・コードの番号は7000から9999の範囲内である必要があります。終了したら、「OK」をクリックします。

4. リストに新しいバーコードを示した「カスタム・バーコードの構成」ページが開きます。

バーコード範囲を定義した後で、コンサルティング・サービスに問い合わせて、カスタム・バーコードによりコールされるサービスを定義してください。使用されるサービスのタイプは、定義された機能のタイプに応じて異なります。

22.3 非標準バーコード・データの処理

PCMでのバーコード処理では、処理ファイルにあるIdocスクリプトで作成されたコードを使用して、データ・ファイル内の各行が評価されます。処理ファイルを変更して、バーコード・データ・ファイルの解析および処理方法をカスタマイズすることができます。

重要:

バーコード・データを処理するファイルをカスタマイズするには、Idoc Scriptについての詳細な知識が必要です。支援が必要な場合には、コンサルティング・サービスにお問い合せください。

処理ファイルはbarcode\resources\ディレクトリに格納され、barcode_process_resource.htmという名前が付けられます。

次に、標準バーコード・データ・ファイルの例を示します。

H YYYYMMYYHHMMSS 00 0000000000       - Header
20050721125151 00 1000                - Transaction code
20050721125201 00 URMUSER             - Location
20050721125204 00 OB1                 - Object to be processed
20050721125204 00 OB2                 - Object to be processed
T 000                                 - Footer

22.3.1 ヘッダーおよびフッター情報

標準データ・ファイルのヘッダー行は値Hで始まりますが、この値は処理ファイルでは無視されます。ヘッダー行が異なっていたり、欠落している場合はカスタマイズ可能です。これを変更するには、バーコード環境ファイルのbarcodeHeaderStartsWith変数を変更します。

データ・ファイルの標準的なフッター行はT 000で始まります。処理ファイルがこの表記を見つけると、処理が停止して、処理済のデータがアップロードされます。別のフッター・タイプを指定するようにbarcodeFooterStartsWith変数を変更できます。

22.3.2 データ情報

ファイルでヘッダーまたはフッター以外の行はそれぞれデータとして解析されます。有効なトランザクションには、トランザクション・コード、場所およびその場所に割り当てられるアイテムが個別に指定されている必要があります。

22.3.2.1 トランザクション・コード

次の3つのデフォルト・トランザクション・コードが使用可能です。

- 1000: チェックイン

- 2000: チェックアウト

- 3000: パラメータと実際の場所を設定します。これは、チェックイン・トランザクションとしても使用できます。

カスタム・バーコード範囲の追加で注記したように、カスタム・トランザクション・コードも作成できます。カスタム・コードを使用する場合は、場所をユーザー、ストレージ・アイテムまたはオブジェクト(ボックス、フォルダ、テープなど)に設定する必要があります。

トランザクション日(dTransDate)およびトランザクション・タイプ(dTransType。これは1000、2000、3000のコード指定か、カスタム番号です)を処理ファイルに設定する必要があります。処理ファイルでは、次の値をクリアしてください。

- ロケーション・タイプ(dLocationType)

- 場所(dLocation)

- オブジェクト・タイプ(dExtObjectType)

- バーコード(dBarcode)

- バーコード日付(dBarcodeDate)日付のフォーマットはMM/dd/yyyy HH:MM:SSとします。

次の変数はFALSEに設定します。

- バーコード・トランザクションの場所(barcodeTransLocation)

- バーコード・アイテム(barcodeItemSet)

22.3.2.1.1 場所

値dLocationTypeおよびdLocationは、場所を設定するために設定する必要があります。さらに、barcodeTransLocation変数をTRUEに設定する必要があります。これは、場所が現在のトランザクションに設定済であることを示します。

場所がユーザーである場合、dLocationTypeはwwUserに設定する必要があります。場所がストレージ・ロケーションである場合、dLocationTypeはwwStorageに設定する必要があります。場所がオブジェクトである場合は、dLocationTypeを空白のままにできます。その場合は、処理コードによって処理中のオブジェクトのオブジェクト・タイプが決定されます。

1つのトランザクションで、複数のアイテムを同じ場所に割り当てることができます。barcodeTransLocationの値がTRUEに設定されている場合、処理中のアイテムは以前に設定された現在の場所に割り当てられているオブジェクトであると想定されます。アイテムが解析されるたびに、barcodeItemSet値がTRUEに設定されていることを確認して、アイテムが処理されるようにします。

22.3.2.1.2 オブジェクト

アイテムを設定するには、値dBarcodeおよびdBarcode Dateを設定します。また、barcodeItemSetをTRUEに設定します。これは、アイテムが処理可能であることを示します。

23 モバイル・バーコード・リーダーの追加

この章では、モバイル・デバイスのバーコード・リーダーの追加方法について説明します。

この章の内容は次のとおりです。

- 第23.1項「モバイル・バーコード・リーダーの追加」

- 第23.2項「モバイル・デバイスへのバーコード・スキャナ・ソフトウェアのインストール」

- 第23.3項「モバイル・バーコード・リーダーのインストールの検証」

23.1 モバイル・バーコード・リーダーの追加について

バーコード・スキャナ機能に対応できるモバイル・デバイスに、バーコード・スキャナ・ソフトウェアをインストールすることができます。デバイスでのソフトウェアのインストールと有効化の詳細は、デバイスのドキュメントを参照してください。

23.2 モバイル・デバイスへのバーコード・スキャナ・ソフトウェアのインストール

次のファイルはインストールに必要です。Windows Mobileバージョン5.0は、現在サポートされている唯一のバージョンです。

- BarcodeUtilityMobile.cab: 物理コンテンツ管理(PCM)ソフトウェアとともにインストールされ、通常はIntradocDir\ucm\urm\config\MobileEditionにあります。これは、モバイル・デバイスにインストールする必要があります。

- コンピュータにインストールするファイルは、次のとおりです。

- Microsoft ActiveSync、バージョン4.1以降

- .NET Compact Framework 2.0 sp2再配信可能ファイル。これは、すでにインストールされています。

- 記号管理対象のクラス・ライブラリ。次の場所からファイルをダウンロードします。
http://support.symbol.com/support/search.do?cmd=displayKC&docType=kc&externalId=11683&sliceId=&dialogID=163824222&stateId=1%200%20163812949

ファイルをインストールします。インストール後、ファイルはC:\Program Files\Symbol Mobility Developer Kit for .NET\v1.7\SDK\Smart Devices\wce500\armv4iにあるローカル・ディスクに格納されます。

23.3 モバイル・バーコード・リーダーのインストールの検証

デバイスのタイプとダウンロードされたソフトウェアによっては、使用手順が異なる場合があります。一般的な使用手順のいくつかを次に示します。デフォルトのペン型スキャナの使用法とバーコードの基本情報の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

1. モバイル・デバイス上のアプリケーションを起動します。

2. ログイン・ページが開きます。ログイン後、デバイスに「直接スキャン」ウィンドウが開きます。

3. アイテムをスキャンして、「プロセス」アイコンをクリックします。

4. スキャンの効果を示す「結果」ページが開きます。

「直接スキャン」ウィンドウのメイン・メニューから、次のメニュー・オプションが使用できます。

- 「リアルタイム処理」: データの処理と即時アップロードに使用します。

- 「トランザクション・コードの保存」: トランザクションの一時的な保存に使用します。

- 「オプション」: 別のデフォルト(アップロードのタイムアウト、アプリケーション・ロケールなど)の設定に使用します。

「結果」ページでは、すべてのトランザクションのテキスト・リストを表示する「リスト」と、すべてのトランザクションの表リストである「詳細」という2種類のビューが使用できます。

24 カスタム・レポートの作成

この章では、Oracle WebCenter Content: Recordsのカスタム・レポートを作成して、サイトに合ったデータ表示を行う方法について説明します。

この章の内容は次のとおりです。

- 第24.1項「カスタム・レポートの作成について」

- 第24.2項「カスタム・テンプレートの作成」

- 第24.3項「Oracle Business Intelligence Publisherでのテンプレートの作成」

- 第24.4項「新規レポート・ソースの作成または編集」

- 第24.5項「BI XMLデータ・ファイルのダウンロード」

24.1 カスタム・レポートの作成について

権限:

このタスクを実行するには、Rma.Admin.Customization権限が必要です。この権限は、デフォルトでは定義済ロールに割り当てられません。つまり、この機能を公開するには、この権限を事前にロールに割り当てておく必要があります。レポート・ソース・タイプの問合せを含むカスタム・レポートを作成するには、Rma.Admin.NoSecurity権限を持っている必要があります。

サイトのカスタム・レポートを作成するには、レポート用のデータを収集し、レポート・テンプレートを選択し、データを移入して、レポートを生成します。データは、XML形式で収集された後にテンプレートを使用してフォーマット化され、使用可能になります。このプロセスによって、データをデータの表示から切り離しておくことができます。

Recordsシステムのインストール時に、いくつかのデフォルトのレポートとテンプレートが用意されます。新規レポートを作成するには、現在のレポートをベースとして使用するか、まったく新しいレポートを設計することができます。

カスタム・レポートを作成する場合、Oracle WebCenter Content Serverアダプタ・システムのコンテンツは、それがRecordsシステムにより管理されている場合でも、レポートに含まれません。アダプタのコンテンツに関するレポートを生成するには、コンテンツ・サーバー・アダプタ・システム上でレポートを実行します。

この項では、Oracle WebCenter Contentのサービスと問合せを使用してカスタマイズされたレポートの作成方法について説明します。ソフトウェアで提供されるデフォルトのレポートを使用してユーザーとコンテンツに関するレポートを作成する方法は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

テンプレートを新規作成するには、Oracle Business Intelligence Publisher (BI Publisher)機能を購入してインストールする必要があります。このドキュメントでは、システムで提供されるデフォルトのテンプレートの使用方法について説明します。テンプレートの新規作成、またはデフォルトのテンプレートの編集に関する詳細は、BI Publisherのドキュメントを参照してください。

注意:

カスタム・レポートを使用する前に、レポート・ライブラリが正しく構成されていることを検証します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのインストールと構成』のコンテンツ・サーバーでのレコード管理に対するレポート・ライブラリの構成に関する項を参照してください。

テンプレートを新規作成した後で、そのテンプレートを使用可能なテンプレートのリストに追加すると、他のユーザーも使用できるようになります。テンプレートは、レポート(データが含まれているレポート)と同様に、コンテンツとしてチェックインできます。これは別個のチェックインであるため、データをレポート形式と別にすることができます。

同様のインタフェースを使用して、レポートの様々な要素(レポート・タイプ、テンプレート、レポート・ソース)を作成します。

作成したレポートにアクセスするには、「コンテンツの参照」を選択し、「カスタム物理レポート」または「カスタム・レコード・レポート」を選択します。

レポートのデータにアクセスするには、レポートそのものへのアクセス権のみでなく、ユーザー権限も必要であることに注意してください。したがって、2人のユーザーが1つのレポートを実行している場合、表示される結果はそれぞれの権限に応じて異なる場合があります。

デフォルトのテンプレートとソースを使用してカスタム・レポートを作成する手順は、次のとおりです。

1. トップ・メニューから「レコード」→「構成」を選択します。「レポート」を選択して、コンテンツ・アイテムのレポートを作成します。「物理」→「構成」→「レポート」を選択して、物理アイテムのレポートを作成します。
「新規レポートの作成」をクリックして、次のレポート・オプションを選択します。

- 新規レポートの作成: 新規レポートの作成プロセスを開始するために使用します。このオプションにより、レポート名および他の詳細なレポート情報の保存に使用されるチェックイン・ページが表示されます。

- レポート・ソース: レポートのデータ収集条件の選択に使用される「レポート・ソースの構成」ページを表示します。

- テンプレート: レポート用のテンプレートをリストする検索結果ページを表示します。

- BI XMLデータのダウンロード: レポートに使用されるXMLデータを開くか、またはデータを保存するかをユーザーが選択できるダイアログを表示します。

2. 「レポート要素の構成」ページで、作成するレポートのタイプを選択し、「構成」をクリックします。

3. 「レポート・チェックイン」ページで、サイトでの必要に応じてレポートのコンテンツ情報を入力します。レポートに対して、次のレポート固有の情報も入力します。

- レポート・テンプレート
リストからテンプレートを選択するか、「新規追加」をクリックして新しいテンプレートを作成します。新規テンプレートの作成の詳細は、第24.2項「カスタム・テンプレートの作成」を参照してください。

- レポート・フォーマット
次の選択肢を含むリストからフォーマットを選択します。

- システム

- ユーザー

- HTML

- PDF

- RTF

- XLS

バーコード・レポートを作成している場合は、フォーマット・タイプとしてPDFを使用します。

- レポート・ソース・タイプ
選択肢からレポートのデータ収集に使用するソースのタイプを選択します。

- サービス
Oracle WebCenter Contentのサービスを使用してレポートのデータを作成します。

- 問合せ
Oracle WebCenter Contentの問合せを使用してデータを収集します。

- 動的問合せ
動的問合せを使用してデータを収集します。

「サービス」または「問合せ」を選択した場合は、正しいサービスまたは問合せを使用してテンプレートを操作する必要があります。動的問合せでは、使用する適切なデータが収集されます。

- レポート・ソース
以前に構成されたレポート・ソースをデータ用に選択するか、「レポート・ソースの構成」ページで「新規追加」をクリックして、新規ソースを作成します。詳細は、第24.4項「新規レポート・ソースの作成または編集」を参照してください。

24.2 カスタム・テンプレートの作成

テンプレートは、システムにチェックインしたり、システムからチェックアウトできるファイルです。テンプレートはコンテンツ・アイテムとして処理されます。既存テンプレートをガイドとして使用しないで新規テンプレートを作成する方法の詳細は、BI Publisherのドキュメントを参照してください。

新規カスタム・テンプレートを編集または作成する手順は、次のとおりです。

1. トップ・メニューから「レコード」→「構成」を選択します。「レポート」を選択して、コンテンツ・アイテムのテンプレートを作成します。「物理」→「構成」→「レポート」を選択して、物理アイテムのレポートを作成します。
「テンプレート」をクリックします。

2. 「レポート要素の構成」ページで、作成するテンプレートのタイプを選択します。「構成」をクリックします。

3. 「レポート・テンプレート」ページでは、次のオプションが使用できます。

- 既存テンプレートに基づいて新規テンプレートを作成するには、使用するテンプレートの「アクション」メニューから「ネイティブ・ファイルの取得」をクリックします。その後でファイルを保存し、必要に応じてファイルを編集して、新規テンプレートとしてチェックインすることができます。

- 既存テンプレートをチェックアウトして編集するには、使用するテンプレートの「アクション」メニューから「チェックアウト」をクリックします。ファイルを保存し、編集したあとで、システムに再度チェックインします。

- テンプレートが存在していて、そのテンプレートを、類似したメタデータを別のテンプレートとして使用してチェックインするには、コピーするメタデータのあるテンプレートの「アクション」メニューから「類似をチェックイン」をクリックします。

このページの「表」メニューを使用して、すべてのテンプレート・ファイルまたは選択したファイルに対してアクションを実行します。表示されるオプションは、システム構成およびページにアクセスしているユーザーの権限によって異なります。

- 選択: すべてのアイテムを選択またはアイテムの選択を解除できます。

- アクション: コンテンツ・バスケットまたはフォリオにアイテムを追加する際に使用します。

- 編集: 選択したアイテムを凍結または凍結を解除する際に使用します。

- 日付の設定: レビュー日、廃棄日、その他のアクションの日付など、アイテムに関連付けられている日付をマークする際に使用します。

- レポートの作成: 特定のテンプレートを使用してレポートを作成する際に使用します。

- メタデータ履歴の削除: メタデータ履歴の変更をクリアする際に使用します。

- 表示の変更: 検索結果の表示方法を変更する際に使用します。

- 検索アクション: 検索名に基づいて検索を保存する際に使用します。

このページの追加オプションを使用して、テンプレート・ファイルの凍結または凍結解除、あとで使用するためのフォリオまたはコンテンツ・バスケットへのファイルの追加、ファイルを処理する日付の設定、あるいはテンプレートからのレポート作成を行います。

24.3 Oracle Business Intelligence Publisherでのテンプレートの作成

Oracle Business Intelligence Publisherを使用してカスタム・レポートのテンプレートを作成できます。詳細は、BI Publisherを使用したカスタム・レポートのテンプレート作成に関するブログを参照してください。

24.4 新規レポート・ソースの作成または編集

重要:

カスタム・レポート・ソースの作成には、サービスおよび問合せについての詳細な技術的知識が必要となります。必要に応じて、コンサルティング・サービスにサポートを依頼してください。

レポート・ソースを編集する手順は、次のとおりです。

1. トップ・メニューから「レコード」→「構成」を選択します。「レポート」を選択して、コンテンツ・アイテムのレポートのソースを編集します。「物理」→「構成」→「レポート」を選択して、物理アイテムのレポートのソースを編集します。

2. 「レポート・ソース」をクリックします。
「レポート要素の構成」ページが開きます。

3. ソースを変更するレポートを選択し、「構成」をクリックします。

4. 「レポート・ソースの構成」ページで、ページの左側にある問合せまたはサービスを強調表示します。問合せまたはサービスを使用するために右列に移動するには、右矢印をクリックします。
問合せまたはサービスを使用対象から削除するには、名前を強調表示し、左矢印をクリックしてアイテムを左列に移動します。

5. 終了後、「更新」をクリックします。特定のタイプのレポートに対するレポート・ソースが変更され、次回にレポートを実行するときに使用されます。

次の手順に従って、新規レポート・ソースを作成します。

1. 前述の手順を使用して、新規レポートを作成します。

2. 「レポート・チェックイン」ページの「レポート・ソース」セクションで、「新規追加」をクリックします。

3. ダイアログが開きます。前述の手順に従って、新規ソースの問合せとサービスを追加します。

4. 終了したら、「OK」をクリックします。レポート・ソースが追加され、新規レポートで使用できるようになります。

24.5 BI XMLデータ・ファイルのダウンロード

提供されたXMLデータ・ファイルをBI Publisherとともに使用して、レポート・テンプレートをカスタマイズできます。このXMLデータ・ファイルを使用すると、データをWord文書にインポートしてテンプレートを編集し、特化されたレポートを作成できます。

XMLデータ・ファイルを選択する手順は、次のとおりです。

1. 「レコード」または 「物理」を選択し、トップ・メニューから「構成」を選択します。「レポート」→「BI XMLデータのダウンロード」を選択します。

2. 「レポート要素の構成」ページで、ダウンロードするXMLデータのタイプを選択します。「ダウンロード」をクリックします。

3. ブラウザ・ウィンドウでデータ・ファイルを開いてコンテンツを調べたり、ファイルを保存してあとで使用したりすることができます。

4. 終了したら、「OK」をクリックします。

第VII部

環境へのWebCenter Contentの統合

この部では、Oracle WebCenter Contentとエンタープライズ・アプリケーションの統合方法について説明します。

注意:

Content Integration Suite (CIS)は、非推奨になりました。開発者およびシステム統合者は、Oracle WebCenter Content Serverとの通信のためのシン通信APIを提供するRemote Intradoc Client (RIDC)を使用します。詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。詳細は、第30章「RIDCを使用したコンテンツ・サーバーへのアクセス」を参照してください。

第VII部の内容は次のとおりです。

- 第25章「環境へのWebCenter Contentの統合のスタート・ガイド」

- 第26章「統合のためのWebCenter Content Webサービスの構成」

- 第27章「コンテンツ・サーバーでのJavaServer Pagesの統合」

- 第28章「IdcCommandユーティリティを使用したコンテンツ・サーバーへのアクセス」

- 第29章「統合のためのCOM APIの使用」

- 第30章「RIDCを使用したコンテンツ・サーバーへのアクセス」

- 第31章「コンテンツ・サーバーのJCRアダプタの使用」

- 第32章「WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成」

- 第33章「DesktopTagコンポーネントのカスタマイズ」

25 環境へのWebCenter Contentの統合のスタート・ガイド

この章では、Oracle WebCenter Contentとエンタープライズ・アプリケーションの統合方法について説明します。

この章の内容は次のとおりです。

- 第25.1項「統合方法について」

- 第25.2項「Webサービスの概要」

- 第25.3項「フォルダ、コントリビューション・フォルダおよびWebDAV統合」

25.1 統合方法について

Oracle WebCenter Contentとエンタープライズ・アプリケーションの統合では、アプリケーション・サーバー、カタログ・ソリューション、パーソナライズ・アプリケーション、エンタープライズ・ポータル、クライアント側ソフトウェアなど、いくつかの方法を使用できます。一般に、これらの統合方法は、既存のOracle WebCenter Content Serverサービスを実行するためのメソッドおよび関連パラメータの変換と受け渡しを行います。

コンテンツ・サーバー・サービスは、Oracle WebCenter Content内のコンテンツおよびコンテンツ管理機能にアクセスするためのウィンドウとしての役割を果たします。たとえば、単純な統合オプションとしては、WebCenter Content内で管理されているコンテンツを永続URLによって参照するオプションがあります。他のいくつかの統合オプションは、Java API、Microsoft Component Object Model (COM)インタフェース、またはActiveXコントロールの使用を可能にします。

この章の主眼は、使用可能な統合オプションを示し、実行の方法(IdcCommand Xか、永続URLか、SOAPかなど)を提示し、その方法についての詳細ドキュメントの入手先に関する情報を提供することです。特に、この章では、様々なプロトコル、インタフェースおよびマッピング・サービスを使用しているネットワーク・システム環境内でのOracle WebCenter Contentの統合に関する基本概念について説明します。

IdcCommandユーティリティを使用して他のアプリケーションからコンテンツ・サーバー・サービスにアクセスする方法については、第28章「IdcCommandユーティリティを使用したコンテンツ・サーバーへのアクセス」を参照してください。

COMインタフェースについては、第29章「統合のためのCOM APIの使用」を参照してください。

Remote Intradoc Client (RIDC)統合については、第30章「RIDCを使用したコンテンツ・サーバーへのアクセス」を参照してください。

25.2 Webサービスの概要

Webサービスは、アプリケーション・サーバー、.NETサーバー、コンテンツ・サーバーなどの既存のソフトウェア・システムの上のレイヤーとして存在します。通信のためのモデルとしてインターネットに適応したWebサービスは、デフォルトのネットワーク・プロトコルとしてHyperText Transfer Protocol (HTTP)に依存します。Webサービスを、異種オペレーティング・システムまたはプログラミング言語間の架け橋として使用して、コンポーネントを組み合せてアプリケーションを作成できます。

注意:

このドキュメント内のWebサービスに関する情報は、Oracle WebLogic Serverに適用されます。IBM WebSphereのWebサービスについては、Oracle Fusion Middlewareサードパーティ・アプリケーション・サーバー・ガイドを参照してください。

WebCenter Contentは、Webサービスを使用してコンテンツ・サーバーと統合されたアプリケーションを作成するための2つの方法をサポートしています。

- WebCenter Content WebサービスとOracle WebLogic Server Webサービスの併用。セキュリティ構成およびSecurity Assertion Markup Language (SAML) (WebCenter Content 11gで導入されました)がサポートされます。
コンテンツ・サーバーは、コア製品に組み込まれたいくつかのWebサービスを提供します。Oracle WebLogic Serverは、SOAP機能を提供し、コンテンツ・サーバーは、Oracle WebLogic Serverを通じて複数のSOAPリクエストをサポートします。詳細は、第26章「統合のためのWebCenter Content Webサービスの構成」を参照してください。

- Web サービス記述言語(WSDL)およびSOAP (Simple Object Access Protocol)ファイル。コンテンツ・サーバーのWSDLジェネレータ・コンポーネント(Oracle Universal Content Management 10gで導入されました)がある場合もない場合もあります。
WSDLジェネレータ・コンポーネントWsdlGeneratorは、コンテンツ・サーバーの機能にアクセスするための統合テクノロジを提供します。このコンテンツ・サーバー・システム・コンポーネントは、デフォルトでインストールされ、有効化されます。WSDLジェネレータは、コンテンツ・サーバーのサービスのためのWSDLを作成できます。または、サービス・コールをSOAPで記述することが可能です。詳細は、第32章「WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成」を参照してください。

Webサービスをいずれの方法で使用した場合でも、セキュリティのためにOracle Web Services Manager (Oracle WSM)を使用することができます。Oracle WSMの詳細は、第26章「統合のためのWebCenter Content Webサービスの構成」および『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

25.3 フォルダ、コントリビューション・フォルダおよびWebDAV統合

Oracle WebCenter Content Serverには、従来のファイル・システムと同様に、リポジトリ内の一部またはすべてのコンテンツを編成および管理するための階層フォルダ・インタフェースを提供するコンポーネントがあります。

- フォルダ: このコンポーネント(FrameworkFoldersコンポーネント)は、従来のファイル・システムと同様に、リポジトリ・コンテンツおよびコンテンツ・アイテム・メタデータを編成、検索および管理するための階層フォルダ・インタフェースをブラウザ内に提供します。Folders機能はデフォルトでインストールされますが、無効化されています。フォルダはスケーラブルな企業ソリューションで、以前のコントリビューション・フォルダ・インタフェースに置き換わるコンポーネントです。

- コントリビューション・フォルダ: このオプション・コンポーネント(Folders_gコンポーネント)は、従来のファイル・システムと同様に、リポジトリ・コンテンツを編成するための階層フォルダ・インタフェースをブラウザ内に提供します。コントリビューション・フォルダはデフォルトでインストールされていますが、無効化されています。新しいフォルダ・コンポーネントは、コントリビューション・フォルダに置き換わることを意図したものです。

注意:

フォルダとコントリビューション・フォルダの両方を実行する構成はサポートされていません。コントリビューション・フォルダ内のコンテンツは、フォルダ・インタフェースに移行する必要があります。コントリビューション・フォルダのコンテンツを移行する方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

WebCenter Portal 11.1.1.8.0以前では、folders_gコンポーネントのみをサポートしています。WebCenter Portalを使用したコンテンツ・サーバーの構成の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portalの管理』を参照してください。

- WebDAV (Web-Based Distributed Authoring and Versioning): 両方のフォルダ・コンポーネントはコンテンツ・サーバーの組込みのWebDAV機能と連動するため、ユーザーはWebDAVプロトコルをサポートしているクライアントを使用して、コンテンツをリモートで管理および作成できます。WebDAVインタフェースにはブラウザ・インタフェースで使用可能なオプションのサブセットが提供されます。通常は、フォルダとコンテンツ・アイテムの作成、削除、移動およびコピーと、コンテンツ・アイテムの変更およびチェックインができます。WebDAVインタフェースを通じてコンテンツ・アイテムをチェックアウトするには、ファイルを開くことのできるWebDAVクライアントを使用する必要があります。メタデータ値の指定または伝播などの他の管理タスクを実行するには、標準のブラウザ・インタフェースを使用する必要があります。

フォルダまたはコントリビューション・フォルダの構成方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのインストールと構成』のフォルダ・インタフェースの構成に関する項を参照してください。

フォルダまたはコントリビューション・フォルダをWebDAVとともに使用する方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの使用』のコンテンツ・フォルダの操作に関する項を参照してください。

フォルダ、コントリビューション・フォルダおよびWebDAVの管理方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のコンテンツの編成に関する項を参照してください。

「フォルダ移行」ユーティリティを使用してコントリビューション・フォルダからフォルダ・インタフェースにフォルダおよびファイルを移行する方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のFolders_gのフォルダへの移行に関する項を参照してください。

Oracle WebCenter Contentには、フォルダおよびコントリビューション・フォルダをカスタマイズするためのサービスがあります。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』のフォルダ・サービスに関する項またはコントリビューション・フォルダ・サービスに関する項を参照してください。

25.3.1 仮想フォルダ

コントリビューション・フォルダ・コンポーネントは、コンテンツ・サーバーへのインタフェースを仮想フォルダ(階層フォルダとも呼ばれる)の形式で設定します。仮想フォルダを使用すると、マルチレベル・フォルダ階層を作成できます。

仮想フォルダには、次のような2つの主な利点があります。

- ユーザーは、使い慣れたフォルダ・タイプのインタフェースでドリルダウンし、コンテンツを検索できます。

- ユーザーは特定のフォルダからコンテンツ・アイテムをチェックインすることで、デフォルト・メタデータをコンテンツ・アイテムに適用できます。

コントリビューション・フォルダ・コンポーネントには、次の構造が使用されます。

- 各コンテンツ・サーバー・インスタンスには、仮想フォルダの共通セットがあります。フォルダへの変更はシステム全体に適用されます。

- コントリビューション・フォルダというシステムレベルのデフォルト・フォルダが1つあります。カスタム・フォルダ・インタフェースを使用している場合、それらの製品のフォルダは、システム・レベルのフォルダ階層にも表示される可能性があります。

- システム管理者はシステムレベル・フォルダの名前を変更できますが、システムレベル・フォルダを削除したり、システムレベルのカスタム・フォルダを追加するには、データベースへの変更が必要です。(システムレベルのフォルダを削除すると、そのフォルダは無効になりますが、システムからは除去されていません。)

- 階層内の各フォルダには、フォルダの作成時に自動的に割り当てられた値と同じフォルダ値(数値)のコンテンツ・アイテムが含まれています。コンテンツ・アイテムの「フォルダ」フィールドの値を変更すると、そのコンテンツ・アイテムは別のフォルダに配置されます。

- システム管理者は、仮想フォルダの機能がシステム・パフォーマンスに影響を与えないように、フォルダ数と各フォルダ内のファイル数を制限できます。

WebDAV統合に対するコンテンツ・サーバーの構成の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のWebDAVのマネージングに関する項を参照してください。

25.3.2 WebDAV統合

WebDAVは、WebDAVプロトコルをサポートするクライアントを使用してコンテンツをリモートで作成および管理する手段を提供します。たとえば、Webブラウザ・インタフェースを使用するのではなく、Microsoft Windowsエクスプローラを使用して、リポジトリ内のコンテンツをチェックイン、チェックアウトおよび変更できます。

WebDAVはHTTP/1.1プロトコルの拡張機能で、クライアントがリモートWebコンテンツのオーサリング操作を実行できるようにします。WebDAVプロトコルはRFC 2518.0で規定されています。

詳細は、次のWebDAV Resources Webサイトを参照してください。

http://www.webdav.org

WebDAVは、次のオーサリング機能およびバージョニング機能をサポートしています。

- バージョン管理

- 上書き防止用のロック

- Webページのプロパティ

- Webリソースの収集

- ネームスペース管理(Webサーバー上でのページのコピーまたは移動)

- アクセス制御

コンテンツ・サーバーなどのコンテンツ管理システムでWebDAVを使用すると、WebDAVクライアントは、コンテンツ・リポジトリ内のネイティブ・ファイルへの代替ユーザー・インタフェースとして機能します。作成者がコンテンツ・サーバーのWebブラウザ・インタフェースとWebDAVクライアントのいずれを使用しても、同じバージョニングとセキュリティ制御が適用されます。

コンテンツ・サーバーのWebDAVインタフェースは、階層フォルダ・インタフェースに基づいています。詳細は、第25.3.1項「仮想フォルダ」を参照してください。

25.3.2.1 WebDAVクライアント

WebDAVクライアントは、WebDAVプロトコルを使用してリクエストを送信し、レスポンスを受信できるアプリケーションです(Microsoft Windowsエクスプローラ、Word、Excel、PowerPoint)。サポートされているバージョンについては、最新のWebDAVクライアントのドキュメントを確認してください。WebCenter Content WebDAVクライアントは、コンテンツ・サーバーへのWebDAVインタフェースを拡張する別の製品です。

WebDAV以外のクライアントで作成されたファイルを、WindowsエクスプローラでWebDAV仮想フォルダを使用して管理できますが、ネイティブ・アプリケーションを使用して、コンテンツ・サーバー・リポジトリとの間でコンテンツのチェックインやチェックアウトを行うことはできません。

デスクトップ・ソフトウェア・パッケージには、WebDAVクライアント・コンポーネントと、チェックアウトおよびオープン・コンポーネントも含まれています。

25.3.2.2 WebDAVサーバー

WebDAVサーバーは、WebDAVプロトコルを使用してリクエストの受信とレスポンスの送信を行うことができ、オーサリング機能およびバージョニング機能を提供するサーバーです。WebDAVリクエストはHTTPプロトコル経由で送信されるため、WebDAVサーバーは通常、標準のWebサーバーに対するアドオン・コンポーネントとして作成されます。コンテンツ・サーバーでは、WebDAVサーバーは、クライアントとコンテンツ・サーバー間のインタプリタとしてのみ使用されます。

25.3.2.3 WebDAVアーキテクチャ

WebDAVは、WebDAVコンポーネントによってコンテンツ・サーバーに実装されます。WebDAVリクエストのアーキテクチャは、次のようなものです。

1. コンテンツ・サーバーへのリクエストがWebDAVクライアントで作成されます。

2. メッセージは、(IISのDLLを介して)Webサーバーで処理されます。

3. コンテンツ・サーバーで、WebDAVコンポーネントは次の機能を実行します。

- クライアント・リクエストをWebDAVと認識する。

- クライアント・リクエストをコンテンツ・サーバーの該当するWebDAVサービス・コールにマップする。

- クライアント・リクエストをWebDAVリクエストから該当するコンテンツ・サーバー・リクエストに変換する。

- コアのコンテンツ・サーバーに接続し、コンテンツ・サーバー・リクエストを実行する。

4. WebDAVコンポーネントによってコンテンツ・サーバー・レスポンスがWebDAVレスポンスに変換され、WebDAVクライアントに返されます。

26 統合のためのWebCenter Content Webサービスの構成

この章では、Oracle WebCenter Content WebサービスとOracle WebLogic Server Webサービスを使用して、クライアント・アプリケーションをコンテンツ・サーバーと統合する方法について説明します。

この章の内容は次のとおりです。

- 第26.1項「統合のためのWebCenter Content Webサービスの構成について」

- 第26.2項「Webサービス・ポリシーを使用したWebサービス・セキュリティの構成」

- 第26.3項「SAMLサポートの構成」

コンテンツ・サーバーで使用できるWebサービスの一般的な情報については、第25.2項「Webサービスの概要」を参照してください。

この章で説明されているWebサービスの使用方法は、Oracle Universal Content Management 11gで導入されました。Oracle Universal Content Management 10gで導入された、Web Services Definition Language (WSDL)ファイル、SOAP (Simple Object Access Protocol)ファイルおよびWSDLジェネレータによる方法を使用する場合は、第32章「WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成」を参照してください。

26.1 統合のためのWebCenter Content Webサービスの構成について

WebCenter Content Webサービスは、Oracle WebLogic Server Webサービスと連携して、コンテンツ・サーバーのための管理機能を実行します。Oracle WebLogic Server Webサービスは、SOAP機能を提供し、WebCenter Content Webサービスには、複数の組込みSOAPリクエストが含まれています。WebCenter Content Webサービスは、コンテンツ・サーバーとともに自動的にインストールされますが、セキュリティを設定するには追加の構成が必要です。

26.1.1 Webサービスのテクノロジ

WebCenter Content Webサービスのコアとなる実現技術は、次のようなものです。

- SOAP (Simple Object Access Protocol)は、リクエストおよびレスポンス・メッセージをネットワーク経由で送信する前にそれらの中の情報をエンコードするために使用される、軽量のXMLベース・メッセージング・プロトコルです。SOAPリクエストは、実装のためにWebCenter Content WebサービスからOracle WebLogic Server Webサービスに送信されます。SOAPの詳細は、http://www.w3.org/TR/soap12の『Simple Object Access Protocol (SOAP)』を参照してください。

- Webサービス・セキュリティ(WS-Security)は、機密保護、整合性および認証によってWebサービスを保護するための、標準セットのSOAP拡張機能です。WebCenter Content Webサービスでは、特定のユーザーとしてサーバーに接続するクライアントに対して、またはユーザーとして別なサーバーと対話するサーバーに対して、認証のためにWS-Securityが使用されます。詳細は、http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wssのOASIS Webサービス・セキュリティのページを参照してください。

- Webサービス・ポリシー(WS-Policy)は、Webサービスにポリシーを添付するための標準です。WebCenter Content Webサービスでは、WebサービスにWS-Securityを適用するためにポリシーが使用されます。サポートされている2つのポリシーは、username-tokenセキュリティとSAMLセキュリティです。
これまで、OracleはOracle Web Services Manager (Oracle WSM)をそのWebサービスの保護に使用し、Oracle WebLogic ServerはWebサービス・セキュリティ・ポリシー(WS-SecurityPolicy)をそのWebサービスの保護に使用していました。Webサービス・セキュリティは部分的に標準化されているため、一部のOracle WSMおよびWS-SecurityPolicyポリシーは相互に機能します。

注意:

可能な場合には必ず、Oracle WebLogic Server Webサービスに対してOracle WSMポリシーを使用してください。同じWebサービスで、Oracle WSMとOracle WebLogic Server Webサービスのポリシーを混在させて使用することはできません。

WebCenter Content Webサービス(コンテキスト・ルートはidcws/)はSOAPベースです。一方、WebCenter Content のネイティブWebサービス (コンテキスト・ルートはidcnativews/)はJAX_WSベースです。いずれの種類のWebサービスも、Oracle WebLogic Server管理コンソールからOracle WSMポリシーを割り当てることができます。

一般的なWebCenter Content Webサービスは、JAX-WSベースであり、Oracle WSMポリシーを割り当てて、Oracle WSMによって管理することができます。ネイティブのWebCenter Content Webサービスは、SOAPベースであり、Oracle WebLogic Server管理コンソールを通じて管理されるWS-Policyポリシーのみをサポートできます。

Oracle WSMの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

Oracle WebLogic Server Webサービス・ポリシーのサブセットはOracle WSMポリシーと相互運用します。詳細は、『Oracle Fusion Middleware Oracle Web Services Managerの相互運用性ガイド』のOracle WebLogic Server 11gのWebサービス・セキュリティ環境との相互運用性に関する項を参照してください。

Webサービス・セキュリティ・ポリシー(WS-SecurityPolicy)は、WS-Policyフレームワークとともに使用するためのセキュリティ・ポリシー・アサーションのセットです。詳細は、http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.htmlのWebサービス・セキュリティ・ポリシーの仕様を参照してください。

- SAMLは、異なるセキュリティ・ドメイン間で認証および認可を交換するためのXML標準です。詳細は、http://docs.oasis-open.org/security/saml/v2.0/の『Security Assertion Markup Language (SAML)』の仕様を参照してください。

- WebLogic Scripting Tool (WLST)は、Oracle WebLogic Serverを管理するためのコマンドライン・ツールです。詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』を参照してください。

26.1.2 WebCenter Content Webサービス

WebCenter Contentは、一般的な(汎用)JAX-WSベースのWebサービスと、ネイティブのSOAPベースのWebサービスという2つのタイプのWebサービスを提供します。2つのタイプのWebサービスはそれぞれ、異なるコンテキスト・ルートに存在します。コンテキスト・ルートは、WebサービスにアクセスするためのURL内の1次識別子です。

コンテキスト・ルートは次のとおりです。

- idcws
通常のWebサービス・クライアントからコンテンツ・サーバーへの一般的なアクセスでは、このコンテキスト・ルートを使用します。

- idcnativews
Remote Intradoc Client (RIDC)は、ネイティブのWebサービスを使用します。これらのサービスに対してカスタム・クライアントを開発しないことをお薦めします。RIDCの詳細は、第30章「RIDCを使用したコンテンツ・サーバーへのアクセス」を参照してください。

次の表では、idcwsコンテキスト・ルートのWebCenter Content Webサービスについて説明します。

WebCenter Content Webサービス

説明

GenericSoapService

このサービスでは、そのSOAPフォーマットとしてHDAに類似した汎用フォーマットが使用されます。これは、IsSoap=1が設定されているときにコンテンツ・サーバーに対して実行できる汎用SOAPコールとほぼ同一です。フォーマットの詳細は、idcws/GenericSoapPort?WSDLの公開済WSDLを参照してください。

WS-Policyを通じてWS-SecurityをGenericSoapServiceに適用できます。コンテンツ・サーバーは、SAMLおよびusername-token用のOracle WSMポリシーをサポートしています。

WS-Securityポリシーがこのサービスに適用されることが許可された場合、このサービスでは、ストリーム・メッセージ送信最適化メカニズム(MTOM)を使用することはできません。非常に大きなファイル(クライアントやサーバーのメモリーを超えるサイズのファイル)をアップロードまたはダウンロードすることはできません。

GenericSoapServiceは、自動的にoracle/wsmtom_policyを適用します。コンテンツ・サーバーでは、このポリシーを適用するSOAPリクエストを受け入れられません。GenericSoapServiceが機能するには、次のポリシーを適用する必要があります。

oracle/no_mtom_policy

次の表では、idcnativewsコンテキスト・ルートのWebCenter Content Webサービスについて説明します。

WebCenter Content Webサービス

説明

IdcWebRequestService

これは、一般的なWebCenter Contentサービスです。これは基本的に、SOAPリクエストにラップされた、コンテンツ・サーバーへの通常のソケット・リクエストです。大きなファイルをサポートするために、リクエストは、ストリーム・メッセージ送信最適化メカニズム(MTOM)を使用してコンテンツ・サーバーに送信されます。

ストリームMTOMとWS-Securityを混在させることはできません。したがって、このサービスにはWS-Securityを適用しないでください。ストリーム・ファイル・サポートが損なわれます。セキュリティを確保するため、まずIdcWebLoginServiceを使用してログインし、その後、そのサービスから受信した同じJSESSIONIDを、IdcWebRequestServiceへの次のコールでCookieとして使用します。

IdcWebLoginService

このサービスは、IdcWebRequestServiceコールにセキュリティを追加するためにのみ使用されます。このサービスには、パラメータはありません。これは単にセッションを作成するのみです。取得する重要なフィールドは、IdcWebRequestServiceへの以降のコールで使用するJSESSIONID値です。IdcWebRequestServiceでWS-Securityを使用する場合は、ここで適用します。コンテンツ・サーバーは、SAMLおよびusername-token用のOracle WSMポリシーをサポートしています。

26.2 Webサービス・ポリシーを使用したWebサービス・セキュリティの構成

WebCenter Content Webサービスは、WebCenter Content EARとともにインストールされ、デフォルトで使用可能になっています。ただし、いずれかのWebCenter Content WebサービスでWebサービス・セキュリティ(WS-Security)を構成しないかぎり、コンテンツ・サーバーへのすべての接続でanonymousユーザーが使用されます。WebCenter Content Webサービスのためのセキュリティを構成するには、WS-Policyを使用してWS-Securityを構成します。認証の有効化には、追加の構成が必要です。

WS-Securityは、Webサービス・ポリシー(WS-Policy)を使用して設定されます。Webサービスに対してセキュリティ・ポリシーを設定して、それらのセキュリティ・プロトコルを定義できます。特に、WebCenter Content Webサービスは、Oracle WSMポリシーをサポートしています。

注意:

GenericSoapServiceは、自動的にoracle/wsmtom_policyを適用します。コンテンツ・サーバーでは、このポリシーを適用するSOAPリクエストを受け入れられません。GenericSoapServiceが機能するには、次のポリシーを適用する必要があります。

oracle/no_mtom_policy

WebCenter Contentは、2つの一般クラスのポリシーusername-tokenとSAML、および次のOracle WSMポリシーをサポートしています。

- oracle/wss11_saml_token_with_message_protection_service_policy

- oracle/wss11_username_token_with_message_protection_service_policy

Oracle Enterprise Manager 11g Fusion Middleware Controlを使用して、WebサービスにOracle WSMポリシーを適用することができます。詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』のWebサービスへのポリシーのアタッチに関する項を参照してください。

26.3 SAMLサポートの構成

クライアント側の証明書認証に対するSAMLサポートも提供できます。クライアントがIDプロバイダであることを可能にする(つまり、資格証明をアサートできる)ようにSAMLサポートを提供するには、キーストアを構成し、そのキーストアを使用するためのJavaプラットフォーム・セキュリティ(JPS)プロバイダを構成し、クライアントの資格証明ストア(CSF)を作成し、キーストアとCSFを使用するためのJavaクライアントを構成する必要があります。

26.3.1 キーストアの構成

サーバーとクライアントの両方でキーストアのコピーが必要です。サーバーは、キーストアを使用して、クライアントから渡された資格証明を認証します。キーストアは共有シークレットとしてのみ使用されるため、この状況では、自己署名証明書が役に立ちます。keytoolユーティリティを使用して、自己署名証明書を生成できます。次の例の値の多くは、ドメインのconfig/fmwconfig/jps-config.xmlファイルのデフォルト値です。これについては、第26.3.2項「キーストアを使用するための、WebCenter Contentに対するJPSの構成」で説明されています。

$ keytool -genkey -alias orakey -keyalg RSA -keystore default-keystore.jks -keypass password -storepass password

keytoolコマンドには、任意の関連データを入力できます。クライアントが使用するキーストアおよび証明書のパスワードを除いて、詳細は重要ではありません。

26.3.2 キーストアを使用するための、WebCenter Contentに対するJPSの構成

Oracle WebLogic Serverドメインにおけるキーストアの構成には、DomainHome/config/fmwconfig/jps-config.xmlファイルの編集が含まれます。

キーストアを使用するためにWebCenter Contentに対してJPSを構成する手順は次のとおりです。

1. <serviceProviders>要素でプロバイダが定義されていることを確認するか、プロバイダを定義します。
プロバイダは、この要素にデフォルトで定義されている必要があります。そうでない場合、例26-1に示されているように、プロバイダを定義する<serviceProvider>要素を追加する必要があります。

例26-1 jps-config.xmlにおけるサービス・プロバイダ定義

<serviceProviders>
<serviceProvider type="KEY_STORE" name="keystore.provider"
class="oracle.security.jps.internal.keystore.KeyStoreProvider">
<description>PKI Based Keystore Provider</description>
<property name="provider.property.name" value="owsm"/>
</serviceProvider>
</serviceProviders>

2. キーストア・インスタンスが<serviceInstances>に定義されていることを確認します。
キーストア・インスタンスは、デフォルトで定義されている必要があります。

キーストア・インスタンスは、この要素にデフォルトで定義されている必要があります。そうでない場合、例26-2に示されているように、キーストア・インスタンスを定義する<serviceInstance>要素を追加する必要があります。

例26-2 jps-config.xmlにおけるキーストア・インスタンス定義

<serviceInstances>
<serviceInstance name="keystore" provider="keystore.provider"
location="./default-keystore.jks">
<description>Default JPS Keystore Service</description>
<property name="keystore.type" value="JKS"/>
<property name="keystore.csf.map" value="oracle.wsm.security"/>
<property name="keystore.pass.csf.key" value="keystore-csf-key"/>
<property name="keystore.sig.csf.key" value="sign-csf-key"/>
<property name="keystore.enc.csf.key" value="enc-csf-key"/>
</serviceInstance>
</serviceInstances>

キーストア・インスタンスの場所は、キーストアを作成したところと同じ場所に設定する必要があります。

3. キーストアへの参照が<jpsContexts>要素内にあることを確認します。
この設定は、デフォルトでjps-config.xmlファイル内に存在する必要があります。そうでない場合、例26-3に示されているように、設定を追加する必要があります。

例26-3 JPSコンテキストにおけるキーストア

<jpsContext name="default">    <serviceInstanceRef ref="credstore"/>    <serviceInstanceRef ref="keystore"/>    <serviceInstanceRef ref="policystore.xml"/>    <serviceInstanceRef ref="audit"/>    <serviceInstanceRef ref="idstore.ldap"/></jpsContext>

4. jps-config.xmlファイルを保存し、第18.4項「コンテンツ・サーバーの再起動によるコンポーネントの適用」の説明に従って、WebCenter Content管理対象サーバーと管理サーバーを再起動します。

26.3.3 クライアントCSFの作成

クライアントでは、キーストアをロック解除するためのキーを格納する資格証明ストアが必要です。Oracle WebLogic Serverは、資格証明ストア・フレームワーク(CSF)を作成するための様々な方法を提供します。CSFを作成する1つの方法は、Oracle WebLogic Server Scripting Tool (WLST)コマンドを使用することです。

クライアントCSFを作成する手順は次のとおりです。

1. 例26-4に示されているように、Oracle WebLogic Serverドメインに接続します。

例26-4 WLSTコマンドを使用したクライアントCSFの作成

$ ./wlst.sh

$ connect()

$ createCred(map="oracle.wsm.security", key="keystore-csf-key", user="keystore", password="password")
$ createCred(map="oracle.wsm.security", key="sign-csf-key", user="orakey", password="password")
$ createCred(map="oracle.wsm.security", key="enc-csf-key", user="orakey", password="password")

2. 例26-4に示すように、WLST createCredコマンドを使用して、CSFを定義します。
作成したキーストアの別名およびパスワードに一致するように、この例の値を変更します。

WLSTにより、DomainHome/config/fmwconfig/cwallet.ssoにCSFウォレットが作成されます。このウォレットは、クライアント上でのみ使用可能です。

3. WLSTを終了し、ドメインの管理サーバーを再起動します。

4. ウォレットのコピーをクライアントに送信します。

26.3.4 キーストアおよびCSFを使用するためのJavaクライアントの構成

Javaクライアントを構成してキーストアおよびCSFを使用できるようにするには、クライアントに次のアイテムが存在している必要があります。

- キーストアのコピー

- CSFウォレットのコピー

- jps-config.xmlファイルのクライアント・バージョン

キーストアおよびCSFを使用するためにJavaクライアントを構成する手順は次のとおりです。

1. Javaクライアントのjps-config.xmlファイルを編集します。

2. 例26-5に示されているように、キーストアおよびCSFウォレットの場所を追加し、ファイルを保存します。

例26-5 Javaクライアントのjps-config.xmlファイルにおけるキーストアおよびCSFの場所

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jpsConfig
xmlns="http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
schema-major-version="11" schema-minor-version="1" xsi:schemaLocation=
"http://xmlns.oracle.com/oracleas/schema/11/jps-config-11_1.xsd
jps-config-11_1.xsd">

<serviceProviders>
<serviceProvider type="CREDENTIAL_STORE" name="credstoressp"
class="oracle.security.jps.internal.credstore.ssp.SspCredentialStoreProvider">

<description>SecretStore-based CSF Provider</description>
</serviceProvider>
<serviceProvider type="KEY_STORE" name="keystore.provider"
class="oracle.security.jps.internal.keystore.KeyStoreProvider">
<description>PKI Based Keystore Provider</description>
<property name="provider.property.name" value="owsm"/>
</serviceProvider>
</serviceProviders>

<serviceInstances>
<serviceInstance name="credstore" provider="credstoressp" location="./">
<description>File Based Credential Store Service Instance</description>
</serviceInstance>
<serviceInstance name="keystore" provider="keystore.provider"
location="./default-keystore.jks">
<description>Default JPS Keystore Service</description> <property
name="keystore.type" value="JKS"/>
<property name="keystore.csf.map" value="oracle.wsm.security"/>
<property name="keystore.pass.csf.key" value="keystore-csf-key"/>
<property name="keystore.sig.csf.key" value="sign-csf-key"/>
<property name="keystore.enc.csf.key" value="enc-csf-key"/>
</serviceInstance>
</serviceInstances>

<jpsContexts default="default">
<jpsContext name="default">
<serviceInstanceRef ref="credstore"/>
<serviceInstanceRef ref="keystore"/>
</jpsContext>
</jpsContexts>

</jpsConfig>

3. Javaシステム・プロパティoracle.security.jps.configを、jps-config.xmlファイルを指すように設定します。

System.setProperty("oracle.security.jps.config", ”jps-config.xml”);

実行時、クライアントでこの場所を設定できます。

27 コンテンツ・サーバーでのJavaServer Pagesの統合

この章では、Oracle WebCenter Content ServerとJavaServer Pages (JSP)の統合方法について説明します。

この章の内容は次のとおりです。

- 第27.1項「JSP統合について」

- 第27.2項「JSPサポートの構成」

- 第27.3項「サンプルのページのロード」

27.1 JSP統合について

JavaServer Pages (JSP)からコンテンツ・サーバーのコア機能にアクセスして、組込みのApache Jakarta Tomcat Serverを使用するJSPページ実行機能によってフォームおよびカスタム・ページを配信できます。

注意:

コンテンツ・サーバーとともにSite Studio for External Applications (SSXA)を使用している場合は、コンテンツ・サーバーのJSP機能は有効にしないでください。コンテンツ・サーバーのJSP機能を有効にすると、SSXAテンプレートでの解析エラーが発生します。

27.1.1 JSP実行

JSP実行機能は、組込みのApache Jakarta Tomcat Servlet/JSP Serverを使用して、コンテンツ・サーバー内のコンテンツおよびコンテンツ管理機能にアクセスします。

Apache Jakarta Tomcat Serverは、その機能が有効になっている場合はコンテンツ・サーバーの内部で実行される、Java ServletおよびJavaServer Pagesの無償のオープンソース・サーバーです。Tomcat ServerをWebCenter Contentと統合することにより、コンテンツ配信のパフォーマンスが向上するという利点が得られます。

開発者は、JSP実行機能を使用して、標準のコンポーネント・アーキテクチャではなく、JavaServer Pagesを通じて、コンテンツ・サーバーのコンテンツ、ResultSets、パーソナライズおよびセキュリティ定義、事前定義変数および構成設定にアクセスし、それらを変更できます。サービスおよびIdocスクリプト機能は、コンテンツ・サーバーに実行可能コンテンツとして存在するJSPページから実行することも可能です。

重要:

JSPページがコンテンツ・サーバー上にJSP実行機能の一部として提供されている場合のみ、JSPページでIdocスクリプト機能を実行できます。別のJSPサーバー上で提供されているJSPページには、この機能がありません。その場合、JSPページをコンテンツ・サーバーにチェックインすることで、リビジョン・コントロールが可能になりますが、プレゼンテーション層(JSPサーバー)でIdocスクリプト機能を動的に実行することはできません。

27.1.2 Tomcat

JSPがサービスをコールする機能は、Tomcat 5.025サーバーをコンテンツ・サーバーのコア機能と統合することで提供されます。

- Tomcatは、Java ServerおよびJavaServer Pagesの無償のオープンソース・サーバーです。バージョン5.025は、Servlet 2.4およびJSP 2.0仕様に準拠しています。

- Tomcatをコンテンツ・サーバーに統合することの主な利点は、コンテンツ配信のパフォーマンスが向上することです。直接統合では、ソケットベースのインタフェースは必要なく、コンテンツ・サーバーのコア機能がすべて使用可能になります。

- Tomcatはコンテンツ・サーバーに組み込まれていますが、server.xmlを構成ファイルとして使用して、内部Tomcatエンジンをニーズに合うように変更できます。

注意:

この製品には、Apache Software Foundation (http://www.apache.org/)によって開発されたソフトウェアが含まれています。

27.1.3 特長

JSPサポートが有効な場合、カスタム・コンポーネントには、タイプがjspおよびjspxのJSPページを含めることができます。

- DomainHome/ucm/cs/weblayout/jsp/ディレクトリは、デフォルトでJSPページをホストできます。

- Oracle WebCenter Contentの配布媒体には、最新のJava EE SDKも含まれています。

27.2 JSPサポートの構成

JSPサポートを有効化して構成するには、次の手順を使用します。

1. コンテンツ・サーバーで、JSPページで使用する新しいセキュリティ・グループ(以降の手順ではjspと呼びます)を作成します。このセキュリティ・グループは、開発者に限定する必要があります。この手順は、必須ではありませんが、開発者の便宜のために実行することをお薦めします。JSPに対して有効にするすべてのセキュリティ・グループは、手順5で指定する必要があります。

1. 「ユーザー管理」画面を表示します。

2. 「セキュリティ」メニューで、「グループの権限」を選択します。

3. 「グループの追加」をクリックします。

4. グループ名としてjspを入力し、説明を入力して、「OK」をクリックします。

5. 管理者ロールおよび任意の開発者ロールに管理者権限を割り当てます。

6. 管理者以外のすべてのロールに読取り権限を割り当てます。

7. 「閉じる」をクリックします。

2. AIX、HP-UXまたはLinux s390上で実行している場合、Java 2 SDK (JSP統合で必要です)は、システムに自動的にインストールされることはなく、配布媒体でも提供されません。内部JSPエンジンをこれらのオペレーティング・システムのいずれかで実行するには、1.5 JDKがサーバーに存在しており、intradoc.cfgファイル内のCLASSPATH値がtools.jarファイルへのパスを含むように変更されている必要があります。たとえば、AIX上のデフォルトの1.5インストールの場合、このファイルは、/usr/java15/libに存在している必要があります。

3. 次のオプションのいずれか1つを選択します。

- 「管理」トレイまたはメニューから、「管理サーバー」→「一般構成」を選択します。

- 「システム・プロパティ」ユーティリティで、「サーバー」タブをクリックします。

4. JSPプロンプトを有効にします。

- 管理サーバーの場合、「Java Server Page (JSP)の有効化」をクリックします。

- システム・プロパティの場合、「Java Server Page (JSP) の実行」をクリックします。

5. JSPに対して有効にするセキュリティ・グループを入力します(手順1で作成したセキュリティ・グループを含みます)。

6. 設定を保存し、コンテンツ・サーバーを再起動します。

27.3 サンプル・ページのロード

次の手順のいずれかを使用して、サンプル・ページをコンテンツ・サーバーにロードします。

- .warファイルをJSPセキュリティ・グループにチェックインします。WARファイルをチェックインする前に、他のコンテンツがJSPセキュリティ・グループにチェックインされていることを確認してください。

- 「管理」トレイまたはメニューから「JSPサーバーWebアプリケーション管理者」を開始します。

28 IdcCommandユーティリティを使用したコンテンツ・サーバーへのアクセス

この章では、IdcCommandユーティリティを使用して、他のアプリケーションからOracle WebCenter Content Serverサービスにアクセスする方法について説明します。

この章の内容は次のとおりです。

- 第28.1項「IdcCommandユーティリティについて」

- 第28.2項「IdcCommandの設定」

- 第28.3項「IdcCommandの実行」

- 第28.4項「ランチャの使用」

- 第28.5項「リモートでのサービスのコール」

28.1 IdcCommandユーティリティについて

IdcCommandユーティリティは、コンテンツ・サーバー・サービスを実行するスタンドアロンのJavaアプリケーションです。コンテンツ・サーバーのブラウザ・インタフェースまたは管理アプレットから実行可能なほとんどのアクションは、IdcCommandから実行できます。

プログラムは、サービス・コマンドおよびパラメータを含むコマンド・ファイルを読み取った後、指定されたサービスを呼び出します。ログ・ファイルには、コールの実行時間、サービスの実行の成否および実行エラーの有無を記録できます。

注意:

IdcCommandユーティリティは、コマンドの成否に関する情報のみを返します。対話型セッションでContent Serverから情報を取得するには、Microsoft Windowsプラットフォームで使用可能なJava COMラッパーのIdcCommandXを使用します。

IdcCommandユーティリティを実行するには、コマンドラインまたはintradoc.cfg構成ファイルで次のパラメータを指定する必要があります。

- サービス・コマンドおよびパラメータを含むコマンド・ファイル

- コールされるサービスを実行する権限を持つユーザーのコンテンツ・サーバー・ユーザー名

- ログ・ファイルのパスおよびファイル名

- 接続モード(auto、serverまたはstandalone)

特定のコマンドは、standaloneモードでは実行できません。一般に、サーバーは、これらのコマンドをバックグラウンド・スレッドで非同期に実行します。これは、検索索引の更新または再構築で発生します。

カスタム・コンポーネントにおけるサービスの使用については、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」および『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

28.2 IdcCommandの設定

IdcCommandを設定するには、次の2つのものを指定する必要があります。

- コマンド・ファイル。実行するサービスおよびサービス・パラメータを指定します。
詳細は、第28.2.1項「コマンド・ファイルの指定」を参照してください。

- 構成オプション。コマンド・ファイルおよび他のIdcCommand情報を指定します。IdcCommand構成オプションは、次の2か所で設定できます。

- 構成ファイルで、例28-1に示されているように、名前/値のペアを使用します。

例28-1 構成ファイルにおけるIdcCommandオプション

IdcCommandFile=newfile.hda
IdcCommandUserName=sysadmin
IdcCommandLog=C:/domain/newlog.txt
ConnectionMode=server

- コマンドラインで、例28-2に示すようにIdcCommand実行時のオプション・フラグを指定します。

例28-2 コマンドラインにおけるIdcCommandオプション

-f newfile.hda -u admin -l C:/domain/newlog.txt -c server

詳細は、第28.2.2項「構成オプションの指定」を参照してください。

注意:

コマンドライン構成オプションは、構成ファイル内の設定をオーバーライドします。

28.2.1 コマンド・ファイルの指定

コマンド・ファイルは、IdcCommandユーティリティによって実行されるサービス・コマンドおよびパラメータを定義します。コマンド・ファイルは、構文、優先順位、および特殊タグと特殊文字に関するルールに従う必要があります。

28.2.1.1 コマンド・ファイルの構文

コマンド・ファイルでは、HDA (ハイパーデータ・ファイル)構文を使用してサービス・コマンドを定義します。

- 実行する各サービスは、パラメータとともに@Properties LocalDataセクションに指定します。

- 一部のサービスについては、@ResultSetセクションを使用して追加情報を指定します。

- コマンド・ファイルの1つのセクションのデータは、次のセクションに持ち越されることはありません。セクションごとに、コマンドの完結したデータ・セットが含まれるようにする必要があります。

- サービス名およびパラメータでは、大/小文字が区別されます。

例28-3では、ADD_USERサービスを実行し、2人の新規ユーザーの属性を定義するコマンド・ファイルを示します。

例28-3 ADD_USERサービスのコマンド・ファイル

<?hda version="5.1.1 (build011203)" jcharset=Cp1252 encoding=iso-8859-1?>
# Add users
@Properties LocalData

IdcService=ADD_USER
dName=jsmith
dUserAuthType=Local
dFullName=Jennifer Smith
dPassword=password
dEmail=email@example.com
@end
@ResultSet UserAttribInfo
2
dUserName
AttributeInfo
jsmith
role,contributor,15
@end
<<EOD>>
@Properties LocalData
IdcService=ADD_USER
dName=pwallek
dUserAuthType=Local
dFullName=Peter Wallek
dPassword=password
dEmail=email@example.com
@end
@ResultSet UserAttribInfo
2
dUserName
AttributeInfo
pwallek
role,contributor,15,account,marketing,7
@end
<<EOD>>

28.2.1.2 優先順位

IdcCommandでは、優先順位を使用して、コマンド・ファイルのLocalDataセクション内の名前/値のペア間の競合を解決します。標準の名前/値のペアが解析される場合、それらは@Properties LocalDataタグ内にあると想定されます。セクションにHDAタグが含まれる場合、標準の名前/値のペアは、@Properties LocalDataタグ内の名前/値のペアに優先します。

たとえば、foo=xが標準の名前/値のペアであり、foo=yが@Properties LocalDataタグ内にある場合、foo=xという名前/値のペアがタグ外にあるため、このペアが優先されます。

28.2.1.3 特殊タグと特殊文字

次の特殊タグと特殊文字は、コマンド・ファイルで使用できます。

特殊文字

説明

IdcService=service_name

コマンド・ファイルの各セクションには、コールするサービスの名前を指定する必要があります。

<<EOD>>

データ終了マーカー。コマンド・ファイルには、1つ以上のセクションを、データ終了マーカーで区切って含めることができます。例については、第28.2.1.1項「コマンド・ファイルの構文」を参照してください。

#

行の先頭にあるシャープ文字は、その行がコメントであることを示します。

\

バックスラッシュは、エスケープ文字です。

@Include filename

このタグを使用すると、@Includeタグがある場所に別のファイルのコンテンツをインクルードできます。このタグは、HDAファイル全体または共有の名前/値のペアのインクルードに使用できます。このインクルードでは、指定されたファイルのコンテンツがそのまま取得され、@Includeタグの場所に配置されます。ファイルは、必要な回数だけインクルードでき、インクルードされるファイルに他のファイルをインクルードすることも可能です。ただし、循環インクルードは許可されていません。

28.2.2 構成オプションの指定

IdcCommandユーティリティを実行するには、コマンドラインまたはDomainHome/ucm/cs/bin/intradoc.cfg構成ファイルで次のパラメータを指定します。

パラメータ

必須

コマンドライン構文

構成ファイルの構文

コマンド・ファイル

はい

-f name.txt

IdcCommandFile=name.txt

ユーザー

はい

-u sysadmin

IdcCommandUserName=sysadmin

ログ・ファイル

いいえ

-l C:/logs/log.txt

IdcCommandLog=C:/logs/log.txt

接続モード

いいえ

-c auto

ConnectionMode=auto

注意:

コマンドライン構成オプションは、構成ファイル内の設定をオーバーライドします。

28.2.2.1 コマンド・ファイル

サービス・コマンドおよびパラメータを含むコマンド・ファイルの名前を指定する必要があります。コマンド・ファイル・パラメータには、フルパス(C:/command_files/command.txtなど)、または相対パスを指定できます。詳細は、第28.2.1項「コマンド・ファイルの指定」を参照してください。

28.2.2.2 ユーザー

コンテンツ・サーバーのユーザー名を指定する必要があります。このユーザーには、コールされるサービスを実行するための権限が必要です。

28.2.2.3 ログ・ファイル

IdcCommandログ・ファイルのパスおよびファイル名を指定できます。各コマンドが実行されると、メッセージがログ・ファイルに送信されます。ログ・ファイルには、コマンドの実行時間および成功または失敗のステータスが記録されます。ログ・ファイルがすでに存在する場合は、新しいメッセージで上書きされます。ログ・ファイルを使用して、処理に関する情報をユーザーに表示することができます。

- 実行されたアクションが成功した場合は、成功を示すメッセージがログ・ファイルに書き込まれます。

- 実行されたアクションが失敗した場合は、エラー・メッセージがログ・ファイルに書き込まれます。

- ログ・ファイルが指定されていない場合、情報は画面にのみ表示されます。

28.2.2.4 接続モード

IdcCommandサービスを実行するための接続モードを指定できます。

接続モード

説明

auto

IdcCommandは、コンテンツ・サーバー・インスタンスへの接続を試行します。これが失敗すると、サービスはstandaloneモードで実行されます。

これは、デフォルトの接続モードです。

server

IdcCommandは、コンテンツ・サーバーを通じてのみサービスを実行します。

standalone

IdcCommandは、スタンドアロン・セッションでサービスを実行します。

特定のサービスは、standaloneモードでは実行できません。一般に、これらのサービスは、サーバーによってバックグラウンド・スレッドで非同期に実行されます。これは、たとえば、検索索引の更新または再構築の際に発生します。

28.3 IdcCommandの実行

IdcCommandを実行する手順は次のとおりです。

1. 新しいIdcCommand作業ディレクトリを作成します。
このディレクトリは、コマンド・ファイルおよび構成ファイルに使用します。

2. 作業ディレクトリにコマンド・ファイルを作成して、必要なサービス・コマンドを指定します。

3. intradoc.cfg構成ファイルをDomainHome/ucm/cs/binディレクトリから作業ディレクトリにコピーします。

重要:

IntradocDirまたはWebBrowserPathの情報を削除しないでください。

4. 例28-4に示されているように、IdcCommandオプションを作業ディレクトリ内のintradoc.cfgファイルに追加します。

例28-4 intradoc.cfgファイルにおけるIdcCommandオプション

IdcCommandFile=newfile.hda
IdcCommandUserName=sysadmin
IdcCommandLog=C:/domain/newlog.txt

詳細は、第28.2.2項「構成オプションの指定」を参照してください。

5. DomainHome/ucm/cs/binディレクトリからIdcCommandユーティリティを実行します。

IdcCommand.exe

28.4 ランチャの使用

ランチャは、Windows環境でのサービスの管理やJava VMのコマンドライン引数および環境設定の構成に使用されるネイティブのC++アプリケーションです。

ランチャの主な動作は、構成ファイルを検出して読み取り、特殊な値を計算した後、構成したコマンドラインで実行可能ファイルを起動することです。構成ファイルは、Bourne Shellのような置換をサポートしています。置換はすべてドル記号($)で始まり、英数字の識別子または中カッコ({})で囲まれた式が続きます。

ランチャの実行可能ファイルは次のディレクトリにインストールされます。

DomainHome/ucm/native/platform/bin/Launcher/

UNIXシステムでは、Launcher.sh(ランチャ実行可能ファイルを実行するBourne Shellラッパー)へのシンボリック・リンクがbinディレクトリに作成されます。このラッパーの目的は、プラットフォームに適したバイナリのランチャ実行可能ファイルを見つけることです。ランチャという用語は、ここでは、ネイティブのランチャ実行可能ファイルまたはBourne ShellスクリプトLauncher.shを指すために使用されます。

ランチャまたはLauncher.shへのシンボリック・リンクは、有効なintradoc.cfg構成ファイルがあるディレクトリ内に存在し、起動されるJavaクラス・ファイルと同じ名前(大/小文字を区別)である必要があります。ランチャは、この名前を使用して環境変数STARTUP_CLASSを設定します。

Windowsでは、この名前は、GetModuleFileName()をコールして計算されます。UNIXシステムでは、argv[0]を調べて計算されます。PLATFORM変数は、プラットフォームのコンテンツ・サーバー識別子に設定されます。BIN_DIR変数は、ランチャがあるディレクトリに設定されます。

ランチャは、BIN_DIRからintradoc.cfgという名前のファイルを読み取ります。このファイルには、IntradocDirの値が含まれています。IntradocDirディレクトリは、相対パスを解決するためのベース・ディレクトリとして使用されます。このドキュメントでの非修飾パスはすべて、IntradocDirに対して相対的であるとみなされます。コンテンツ・サーバーの将来のリリースでは、これらの変数名は変更または削除される可能性があります。

intradoc.cfgファイルにIdcResourcesDirの値が含まれていない場合、ランチャによって、IdcResourcesDirが$IntradocDir/resourcesに設定されます。ランチャがWindowsサービスを起動する場合、IS_SERVICEは1に設定されます。また、設定されていない場合は、PATH_SEPARATORがプラットフォームに適した文字に設定されます。

ランチャは、まずintradoc.cfgファイルを読み取って構成ファイルの場所を検索し、次に使用可能なすべての構成ファイルを次の順番で読み取ります。

1. $IdcResourcesDir/core/config/launcher.cfg

2. $BIN_DIR/../config/config.cfg

3. $IntradocDir/config/config.cfg

4. $IntradocDir/config/config-$PLATFORM.cfg

5. $IntradocDir/config/state.cfg

6. $IdcResourcesDir/core/config/launcher-$PLATFORM.cfg

7. $BIN_DIR/intradoc.cfg

8. $BIN_DIR/intradoc-$PLATFORM.cfg

9. -cfgオプションを使用してコマンドラインに指定されたすべてのファイル

ヒント:

-cfgオプションNAME=VALUEを使用して、コマンドラインで直接、変数値を割り当てることができます。

28.4.1 引用符のルール

ランチャは、Bourne Shellのような引用符のルールを使用します。文字列を二重引用符(")で囲むと、空白をエスケープできます。バックスラッシュ(\)を任意の文字の前に置くと、その文字そのものを指定できます。最終的なコマンドラインが計算されると、ランチャは、そのコマンドラインを引用符なしの空白ごとに区切ります。その後、各文字列は、コマンドのargv配列のエントリとして引用符なしで使用されます。

28.4.2 計算される設定

構成ファイルを読み取った後、ランチャは、変数置換を処理します。一部の変数では、ディレクトリまたはファイルを検証する、コマンドライン引数リストを作成する、PATHのような変数を構成するなどの追加の計算を行うことができます。

これらの特殊な計算は、変数に対してそのタイプに基づいて実行されます。変数のタイプを設定するには、前述のどの構成ファイルでもTYPE_variable_name=typenameを設定します。

ランチャの変数タイプは次のとおりです。

- file
例28-5では、fileタイプの変数を示します。

例28-5 fileランチャ変数

TYPE_PASSWD_FILE=file
PASSWD_FILE_sys5=/etc/passwd
PASSWD_FILE_bsd=/etc/master.passwd

このタイプは、ファイルを検索します。variable_nameの値が既存ファイルへのパスである場合は、その値が保存されます。そうでない場合は、variable_name_で始まるすべての変数がチェックされます。既存ファイルへのパスである最後の値が、variable_nameの新しい値に使用されます。

この例では、PASSWD_FILEは、/etc/master.passwdが存在する場合は/etc/masterに設定され、/etc/passwdが存在する場合は/etc/passwd</span>に設定されます。それ以外の場合、PASSWD_FILEは定義されません。

- directory
例28-6では、directoryタイプの変数を示します。

例28-6 directoryランチャ変数

TYPE_JDK=directory
JDK_java_home=$JAVA_HOME
IdcNativeDir=$IdcHomeDir/native
DEFAULT_JDK_DIR=$OS_DIR/$PLATFORM
JDK_legacy142=$DEFAULT_JDK_DIR/j2sdk1.4.2_04
JDK_default=$DEFAULT_JDK_DIR/jdk1.5.0_07

この例では、JDKは、ディレクトリを示す最後のJDK_変数と同じ値に設定されます。通常これは、Oracle Fusion MiddlewareとともにインストールされたJDKを指します。JDK_java_homeは$JAVA_HOMEを参照することに注意してください。変数がどの構成ファイルにも定義されておらず、環境に定義されている場合は、環境の値が使用されます。

- executable
例28-7では、executableタイプの変数を示します。

例28-7 executableランチャ変数

TYPE_JAVA_EXE=executable
JAVA_EXE_default=java$EXE_SUFFIX
JAVA_EXE_jdk_default=$JDK/bin/java$EXE_SUFFIX

executableタイプは、実行可能ファイルを検索します。これは、fileタイプと非常によく似た動作をしますが、各候補値について$PATH内のすべてのディレクトリを調べます。この例では、JAVA_EXEは、JDK内のJava実行可能ファイルが存在する場合は、そのファイルに設定されます。それ以外の場合は、PATH内の最初のJava実行可能ファイルに設定されます。

- list
例28-8では、listタイプの変数を示します。

例28-8 listランチャ変数

TYPE_JAVA_OPTIONS=list
JAVA_MAX_HEAP_SIZE=384
DEFINE_PREFIX=-D
JAVA_OPTIONS_BIN_DIR=${DEFINE_PREFIX}idc.bin.dir=$BIN_DIR
JAVA_OPTIONS_maxheap=${JAVA_MAX_HEAP_SIZE+-Xmx${JAVA_MAX_HEAP_SIZE\}m}
JAVA_OPTIONS_service=${IS_SERVICE+$JAVA_SERVICE_EXTRA_OPTIONS}

listタイプは、実行可能ファイルのオプションのリストを計算します。variable_name_で始まる各値が引用符付きのオプションになり、variable_nameにはリスト全体が設定されます。この例では、JAVA_OPTIONSは次の文字列に設定されます。

"-Didc.bin.dir=/intradocdir/bin/" "-Xmx384m"

- path
例28-9では、pathタイプの変数を示します。

例28-9 pathランチャ変数

IdcResourcesDir=${IdcResourcesDir-$IdcHomeDir/resources}
BASE_JAVA_CLASSPATH_source=$IdcResourcesDir/classes
BASE_JAVA_CLASSPATH_serverlegacy=$SharedDir/classes/server.zip
BASE_JAVA_CLASSPATH_server=$JLIB_DIR/idcserver.jar

pathタイプは、パスのような値を計算します。variable_name_で始まる各変数の値が、PATH_SEPARATORの値で区切られてvariable_nameに追加されます。この例では、BASE_JAVA_CLASSPATHは、非常に長いクラスパスに設定されます。

- lookupstring
例28-10では、lookupstringタイプの変数を示します。

例28-10 lookupstringランチャ変数

TYPE_VDK_PLATFORM=lookupstring
PARAMETER_VDK_PLATFORM=${PLATFORM}_${UseVdkLegacySearch+vdk27}
VDK_PLATFORM_aix_vdk27=_rs6k41
VDK_PLATFORM_aix_=_rs6k43
VDK_PLATFORM_hpux_vdk27=_hpux11
VDK_PLATFORM_hpux_=_hpux11
VDK_PLATFORM_freebsd_vdk27=_ilnx21
VDK_PLATFORM_freebsd_=_ilnx21
VDK_PLATFORM_linux_vdk27=_ilnx21
VDK_PLATFORM_linux_=_ilnx21
VDK_PLATFORM_solaris_vdk27=_ssol26
VDK_PLATFORM_solaris_=_ssol26
VDK_PLATFORM_win32_vdk27=_nti40
VDK_PLATFORM_win32_=_nti40

lookupstringタイプは、2番目のパラメータを使用して最終的な値の検索キーを構成します。2番目のパラメータとは、$PARAMETER_variable_nameの値です。この値が定義されていない場合は、variable_nameの現在の値が検索キーとして使用されます。この例では、PARAMETER_VDK_PLATFORMは、UseVdkLegacySearchの値に応じて、${PLATFORM}_または${PLATFORM}_vdk27の値となります。

この値はその後、変数VDK_PLATFORM_${PARAMETER_VDK_PLATFORM}の値の検索に使用されます。検索された値は、引用符で囲まれてVDK_PLATFORMに割り当てられます。

- lookuplist
例28-11では、lookuplistタイプの変数を示します。

例28-11 lookuplistランチャ変数

TYPE_STARTUP_CLASS=lookuplist
STARTUP_CLASS_version=Installer --version
STARTUP_CLASS_installer=Installer
STARTUP_CLASS_WebLayoutEditor=IntradocApp WebLayout
STARTUP_CLASS_UserAdmin=IntradocApp UserAdmin
STARTUP_CLASS_RepositoryManager=IntradocApp RepositoryManager
STARTUP_CLASS_Archiver=IntradocApp Archiver
STARTUP_CLASS_WorkflowAdmin=IntradocApp Workflow
STARTUP_CLASS_ConfigurationManager=IntradocApp ConfigMan

lookuplistタイプは、2番目のパラメータを使用して最終的な値の検索キーを構成します。2番目のパラメータとは、$PARAMETER_variable_nameの値です。この値が定義されていない場合は、variable_nameの現在の値が検索キーとして使用されます。

lookupstringとは異なり、lookuplistは、最終的な値を引用符で囲みません。この例では、STARTUP_CLASSの現在の値はversionです。STARTUP_CLASSは、Installer --versionという値に置き換えられます。

28.4.3 ランチャの環境変数

計算される設定の処理後、ランチャは、文字列EXPORT_で始まるすべての変数に対して繰り返し適用されます。各変数の値は、環境変数の名前として使用されます。環境変数の名前には、EXPORT_変数の後半の値が割り当てられます。たとえば、EXPORT_IDC_LIBRARY_PATH=LD_LIBRARY_PATHは、IDC_LIBRARY_PATH変数の値をLD_LIBRARY_PATHという名前でエクスポートします。

変数JAVA_COMMAND_LINEは、コマンドラインの取得に使用されます。使用されていないランチャに対するコマンドライン引数はすべて、コマンドラインに追加されます。UNIXシステムでは、コマンドラインが解析され、引用符は付けられず、execvがコールされます。Windowsでは、シャットダウンのミューテックスが作成され、CreateProcessがコマンドラインを使用してコールされます。CreateProcessではバックスラッシュを付ける処理を元に戻すことはできないため、注意する必要があります。

ランチャをデバッグするための主な方法は、最終的なコマンドの引数の前に-debugフラグを追加することです。$BIN_DIR/debug.logというファイルを作成することもできます。このファイルは、デバッグ・モードをトリガーしてデバッグ出力を格納します。

ランチャは、動作を制御するために設定または使用される次の構成エントリを認識します。これらの構成変数は、コンテンツ・サーバーの将来のリリースで変更または削除される可能性があることに注意してください。

- IDC_SERVICE_NAME: サービスの登録、登録解除、起動および停止に使用されるwin32サービスの名前。

- IDC_SERVICE_DISPLAY_NAME: サービスの登録に使用されるwin32の表示名。

- IntradocDir: 相対パス名のベース・ディレクトリ。

- IdcBaseDir: IntradocDirの代替名。

- IdcResourcesDir: 特に定義されていない場合は、$IdcHomeDir/resourcesに設定されます。

- IdcNativeDir: 特に設定されていない場合は、デフォルトで$IdcHomeDir/nativeに設定されます。

- PATH_SEPARATOR: 特に設定されていない場合は、コロン(:)またはセミコロン(;)のいずれかに設定されます。

- STARTUP_CLASS: ランチャ実行可能ファイルの名前に設定されます。

- MUTEX_NAME: win32でシャットダウンのミューテックスを作成するために使用される名前。

- BEFORE_WIN_SERVICE_START_CMD: 設定された場合、win32サービスの起動前に実行されるコマンドラインになります。

- UseRedirectedOutput: 設定された場合、win32上のランチャにJava VMからの出力をファイルにリダイレクトするように指示します。

- ServiceStartupTimeout: Javaプロセスがwin32で正常に起動するのを待機するために使用されるタイムアウト。

ヒント:

Launcher.exeを使用してstatus.datファイルを変更し、JVMコマンドラインの値を変更すると、理論上は、どのJavaプログラムもWindowsサービスとして実行できます。この方法は、通常の使用にはお薦めしませんが、こうすることで、ランチャのいくつかの構成方法が明らかになります。

28.4.4 ユーザー・インタフェース

ランチャのUIは、起動するアプリケーションと同じです。たとえば、ランチャの名前をIntradocAppに変更した場合、Webレイアウト・エディタを起動するには、次のコマンドライン引数を指定します。

IntradocApp WebLayout

これにより、Webレイアウト・エディタは、スタンドアロン・アプリケーションとして起動されます。

デフォルトでは、アプリケーションはコンソール出力なしの状態で起動されます。ただし、IdcServer、IdcAdmin、IdcCommandXまたはInstallerを起動すると、Java出力が画面に表示されます。その他の場合はすべて、出力はクリーナ・インタフェースに対して表示されません。

バッチ・ローダーやリポジトリ・マネージャなど、アプリケーションによっては、アプリケーションからのJava出力を表示するほうが望ましいものがあります。ランチャがJava出力を画面にダンプするようにするには、次のように-consoleフラグを使用します。

IntradocApp RepMan -console

これで、リポジトリ・マネージャの起動元のコンソールに出力が書き込まれます。

ランチャの名前をIdcServer、BatchLoader、SystemProperties、または追加パラメータを必要としないその他の任意のJavaクラスに変更すると、ダブルクリックするだけで起動できます。その他の場合は、ショートカットを使用すると、ダブルクリックで起動できます。

28.4.5 ランチャの構成

ランチャを使用するには、まず、Launcher.exeファイルの名前を変更して、起動するクラス・ファイルと同じ名前の実行可能ファイルにします。一般的な例としては、IdcServer.exeやIntradocApp.exeなどがあります。

注意:

カスタム・アプリケーションを作成する場合、カスタム・ディレクトリを作成し、Launcher.exeファイルの名前を、起動するサービスに変更する必要があります。有効なintradoc.cfgファイルが実行可能ファイルと同じディレクトリに存在している必要があります。必須パラメータはIntradocDirのみです。ただし、他のエントリを追加してJavaアプリケーションの起動方法を変更できます。

28.4.6 構成ファイルの例

実行する必要のあるアプリケーションの構成ファイルを変更できます。例28-12に、ほぼすべてのコンテンツ・サーバー・アプリケーションを起動するのに十分な構成ファイルのエントリを示します。

例28-12 コンテンツ・サーバー・アプリケーションの構成ファイルのエントリ

<?cfg jcharset="Cp1252"?>
#Content Server Directory Variables
IntradocDir=C:/domain/idcm1/
BASE_JAVA_CLASSPATH_source=$IdcResourcesDir/classes
BASE_JAVA_CLASSPATH_serverlegacy=$SharedDir/classes/server.zip
BASE_JAVA_CLASSPATH_server=$JLIB_DIR/idcserver.jar

Oracle WebCenter Content: Inbound Refineryなどの他のアプリケーションでは、クラスパスにクラスを追加する必要があります。このファイルを変更して、別のJava仮想マシンを使用してコンテンツ・サーバーを実行できるようにすることも可能です。

CLASSPATHは、リストされたエントリの順にクラス・ファイルを検索するように設計されています。つまり、ランチャは、DomainHome/ucm/idc/nativeディレクトリ全体を検索してから、resourcesディレクトリまたはserver.zipファイル内を調べます。これは、ZIPファイルにパッチを適用せずにJavaクラスをオーバーロードする場合に適しています。

さらに、Javaアプリケーションがランチャとの通信に適したAPIに準拠している場合は、ランチャを使用して、Javaアプリケーションのインストール、アンインストールおよび実行をWindowsサービスとして行うことができます。ランチャを使用してJavaアプリケーションをWindowsサービスとして実行できるようにする方法の詳細は、IdcServer.javaまたはIdcAdmin.javaのソース・コードを参照してください。

COMPUTEDCLASSPATHは、ランチャが使用するCLASSPATHにクラス・ファイルを追加するために使用されます。クラス・ファイルを追加するには、このフラグをオーバーライドします。

注意:

intradoc.cfgファイルは通常、インストール時に、特定のデータベースに対するJDBCドライバの場所を含むように変更されます。別のJDBCドライバを使用する場合は、ドライバをコンテンツ・サーバーのIdcHomeDirディレクトリの外部に配置し、intradoc.cfgファイル内のJDBC_JAVA_CLASSPATH_customjdbcエントリをドライバの場所に変更します。

例28-13では、Windowsオペレーティング・システム上でIBM仮想マシンを使用してコンテンツ・サーバーを実行するコマンドを示します。

例28-13 カスタムJVMを使用してコンテンツ・サーバーを実行するためのコマンド

#customized for running the IBM VM
JAVA_EXE=full path

カスタムJVMを使用する場合は、使用するJava実行可能ファイルへのフルパスを指定します。

注意:

JVMコマンドラインのオーバーライドは避けてください。カスタム・クラス・ローダーのため、カスタマイズはより複雑なものになります。JVMコマンドラインをオーバーライドする場合は、$IdcHomeDir/resources/core/config/launcher.cfgファイルから始めます。

構成ファイル内のJAVA_COMMAND_LINE_SELECTIONエントリは、idcclassloaderまたはtraditionalに設定できます。

使用しているJVMを変更するとき、そのJVMにすべての標準Sun SDK JARファイルがある場合は、J2SDK構成エントリを使用してSDKディレクトリのルート・ディレクトリを再配置するほうが、JAVA_EXEを使用してJava実行可能ファイルの場所を指定するよりもよい方法です。(これはIBM VMには適用できません。)

J2SDK変数は、Sun SDKライブラリ(tools.jarなど)があるディレクトリを変更します。JAVA_EXEエントリを設定せずにこのエントリを変更すると、Java実行可能ファイルはJ2SDKのパスのbinディレクトリ内にあるとみなされます。J2SDKのデフォルト値は、...\shared\os\win32\j2sdk1.4.2_04です。

JAVA_OPTIONSに値を追加するには、JAVA_OPTIONS_server=-serverまたは別の同様の値を使用します。

次の表に、一般に使用されるコマンドライン・オプションを示します。アスタリスク(*)が付けられたオプションは、Windows オペレーティング・システムでのみ使用できます。マークが付けられていないオプションは、WindowsまたはUNIXオペレーティング・システムで使用できます。

オプション

説明

-console

*   Java出力およびエラー・ストリームがコンソールに表示されるように、Windowsコンソール・ウィンドウを開いたままにするようランチャに指示します。

-debug

起動時に使用されたパスと変数、および起動時のエラーを表示します。また、これが繰り返された場合は、コンテンツ・サーバーでのJavaデバッグを可能にします。これにより、詳細レベルが上がります。

-fileDebug

-debugオプションと似ていますが、このオプションは、デバッグ・データをデバッグ・ログ・ファイルにダンプします。これは通常、Windowsサービスをデバッグするために、intradoc.cfgファイルのJAVA_OPTIONSまたはJAVA_SERVICE_EXTRA_OPTIONSでのみ設定されます。

-install

*    ランチャによってWindowsサービスとしてみなされるJavaアプリケーションをインストールするために使用されます。

-install_autostart

*    -installオプションと似ていますが、このオプションは、サーバーの起動時に起動するアプリケーションをインストールします。

-uninstall

*    ランチャによってWindowsサービスとしてみなされるJavaアプリケーションをアンインストールするために使用されます。

-remove

*   -uninstallと同じです。

-dependent service-name

*    Windowsサービスが、service-nameサービスも実行されているかどうかに依存するようにします。

このコマンドは、サービスごとに依存コールを行う場合に便利です。

たとえば、コンテンツ・サーバーの起動前にデータベースが起動されるようにする場合、コンテンツ・サーバーの起動がデータベースの起動に依存するように指定できます。

-dependent user password

*    -installとともに使用され、userによって指定されたユーザーの資格証明とパスワードpasswordを使用してサービスをインストールします。

このコマンドは、資格証明に関係なくユーザーをチェックしますが、サービスをインストールしないことがあります。自動起動によってサービスが自動的に実行されるように、ユーザーの資格証明をサービスにまで拡張する必要があります。

Inbound Refineryなどの特定のサービスには、サービスがより高い権限で実行されるようにするために最後のフラグが必要です。ユーザー名は、一般的なMicrosoft形式であるDOMAIN\Userにする必要があります。ユーザーがパスワードを変更すると、サービスは、ログインできなくなるため、実行されません。

-help

ランチャの使用に関する詳細な情報を表示します。

-version

ランチャのバージョン番号を表示して終了します。

-asuser user password

*    インストール時に、指定されたpasswordを持つ指定されたuserとしてサービスをインストールするために使用されます。

-exec path _name

argv[0]の設定をオーバーライドします。シンボリック・リンクのターゲットはソースを認識しないため、ターゲットのpath_nameを指定するためにLauncher.shによって使用されます。

-cfg configfilename

計算される設定を特定する前に読み取る、追加の構成ファイルを指定します。

-idcServiceName servicename

*   Windowsサービスの名前を指定します。これは、(たとえば、インストール・ディレクトリ全体が削除された場合に)-removeとともに使用して、コンテンツ・サーバーのランチャを使用せずに別のコンテンツ・サーバー・サービスをアンインストールできます。

ヒント:

クラスパスをカスタマイズして、Oracle .dllファイルをロードするようにシステム・パスを変更するには、次のようにパスを設定します。

IDC_LIBRARY_PATH_customfiles=/path-to-customfiles

カスタムの共有オブジェクトおよび.dllファイルは、IdcHomeDirにインストールしないでください。

カスタムの.dllファイルをロードする場合は、それらをIdcHomeDir/native/win32/libディレクトリに配置します。

28.5 リモートでのサービスのコール

リモートでサービスを使用するには、リモート・システムに次のファイルが必要です。

- DomainHome/ucm/cs/bin/IdcCommand.exe

- DomainHome/ucm/cs/bin/intradoc.cfg (コンテンツ・サーバー上のファイルと同じ)

- IntradocDir/config/config.cfg

さらに、リモート・システム上のconfig.cfgファイルの#Additional Variablesセクションに、次の構成エントリを定義する必要があります。

- IntradocServerPort=4444

- IntradocServerHostName=IPまたはDNS

29 統合のためのCOM APIの使用

この章では、Microsoft Component Object Model (COM)統合について説明します。Oracle WebCenter Content Serverは、COM環境内から機能をコールする機能を提供する、COMベースのAPIを使用します。

この章の内容は次のとおりです。

- 第29.1項「COM APIについて」

- 第29.2項「IntradocClient OCXコンポーネントを使用したコンテンツ・サーバー・サービスのコール」

- 第29.3項「ODMA APIを使用した、デスクトップ・アプリケーションからコンテンツ・サーバーへのアクセス」

29.1 COM APIについて

COMインタフェースを使用して、コンテンツ管理をMicrosoft環境およびアプリケーションと統合できます。コンテンツ・サーバー内のコンテンツおよびコンテンツ管理機能にアクセスするためのインタフェース・オプションとして、ActiveXコントロールおよびOCXコンポーネントが提供されています。さらに、COMインタフェースを通じてODMA対応アプリケーションと通信できます。

29.2 IntradocClient OCXコンポーネントを使用したコンテンツ・サーバー・サービスのコール

リモートのコンテンツ・サーバー・インスタンスに接続してContent Serverサービスを実行するために、Object Linking and Embedding Control Extension (OCX)コントロールが用意されています。IdcClient OCXコントロールは、コンテンツ・サーバー内のコンテンツおよびコンテンツ管理機能にアクセスするために、Windows Visual Basic開発環境内で使用されます。

IdcClient OCXコントロールを使用してコンテンツ・サーバー・サービスをコールすることができます。IdcClient.ocxコントロールは、リモートのコンテンツ・サーバー・インスタンスに接続し、標準的なサーバー機能を実行するために使用されます。

注意:

IdcClient OCXコンポーネントを使用するには、Visual BasicまたはVisual C++開発環境が必要です。

29.2.1 OCXインタフェース

IntradocClient OCXコンポーネントは、コンテンツ・サーバー内のコンテンツおよびコンテンツ管理機能にアクセスするために、Windows Visual Basic開発環境内で使用されます。OCX統合は、ビジュアル開発環境でサービスをコールするように、またはリモートのコンテンツ・サーバー・インスタンスに接続するように設計されています。

IntradocClient OCXコンポーネントは、メソッド・コールを使用してアクセス可能な機能を提供します。メソッドはアクションを実行し、多くの場合、結果を返します。情報は、パラメータを使用してメソッドに渡されます。関数には、パラメータをとらないもの、パラメータを1つとるもの、複数のパラメータをとるものがあります。

IntradocClient OCXコンポーネントでは、コマンドの実行にユーザー名とパスワードが必要です。ユーザーには、コマンドを実行するための適切な権限が必要です。管理者アクセス・レベルを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。

initおよびconnection管理メソッドを除き、すべてのメソッドは、通信のために、シリアル化されたHDAフォーマットを使用します。返された、シリアル化されたHDAフォーマットの文字列には、コマンドの成否に関する情報が含まれています。障害が発生した場合、StatusCodeは負の値になり、StatusMessageにエラーが示されます。

詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。このガイドには、IntradocClient OCX API仕様に関する情報も含まれており、プロパティ、メソッドおよびイベントの説明が記載されています。

29.2.2 IdcClient OCXの説明

IdcClientは、サービスの実行やファイル・パス情報の取得などのアクションをプログラムで実行できるようにするActiveXコントロールです。IdcClientコントロールは、Microsoft Internet Explorerブラウザのラッパーでもあります。

IdcClient OCXコントロールは、Unicode規格を使用するように設計されており、ほとんどの場合、UTF-8形式でコンテンツ・サーバーとデータを交換します。Unicodeは、1文字当たり2バイト(16ビット)のストレージを使用し、様々な言語(英語、日本語、アラビア語など)で使用される文字を表すことができます。英語のASCII(情報交換用米国標準コード)文字は1バイト(8ビット)しか必要としないため、ASCII文字では、各Unicode文字の上位バイトがゼロで表されます。

Unicode規格の詳細は、WebでUnicode Consortium(http://www.unicode.org)を参照してください。

重要:

IdcClient OCXは、Microsoft Layer for Unicodeの上に構築されており、Microsoft Layer for Unicodeによって、UnicodeアプリケーションをWin9xプラットフォームで実行することが可能になります。9xプラットフォーム上でIdcClient OCXコントロールを配布するときは、unicows.dllも配布する必要があります。このコンパニオンDLLは、Windowsベースのシステム上には配布できません。

ほとんどの場合、メソッドは、通信のために、シリアル化されたHDAフォーマットを使用します。シリアル化されたHDAフォーマットは、通信のために使用されるJavaメソッドです。返された、シリアル化されたHDAフォーマットの文字列には、コマンドの成否に関する情報が含まれています。

IdcClient OCXコントロールは、メソッド・コールを使用して実行可能な機能を提供します。メソッドはアクションを実行し、多くの場合、結果を返します。情報は、パラメータを使用してメソッドに渡されます。関数には、パラメータをとらないもの、パラメータを1つとるもの、複数のパラメータをとるものがあります。たとえば、文字列として渡される2つのパラメータを持つ関数は、次のフォーマットを使用します。

Function(Parameter As String, Parameter As String) As String

- ユーザーは、IdcClient OCXを使用して、サービスを実行するクライアント・アプリケーションを作成できます。OCXコントロールは、コマンドおよびパラメータを含む名前/値のペアを取得し、指定されたサービスをコールします。実行結果は、コール側プログラムに渡されます。

- IdcClient OCXでは、コマンドの実行にユーザー名とパスワードが必要です。ユーザーには、コマンドを実行するための適切な権限が必要です。管理者アクセス・レベルを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。

詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

29.2.2.1 OCXイベント

イベントは、ユーザーまたはサーバーがアクションを実行すると実行されます。次に例を示します。

- IntradocBrowserPostイベントは、ユーザーがフォームをブラウザ内から送信するたびに実行されます。

- IntradocServerResponseイベントは、サーバーがリクエストされたアクションを完了すると実行されます。

29.2.2.2 OCXメソッド

Visual Basic標準コントロールは、すべてのVisual Basic開発環境に共通のメソッドを提供します。また、IdcClient OCXコントロールは、この特定のコントロールに固有のプライベート・メソッドを提供します。これらのメソッドは、特性の設定ではなく、アクションの実行または開始に使用されます。

次に例を示します。

- AboutBox()メソッドは、製品のバージョン情報を示す「バージョン情報」ボックスを起動します。

- GoCheckinPageメソッドは、新しいコンテンツ・アイテムまたはコンテンツ・アイテムのリビジョンをチェックインします。

29.2.2.3 OCXプロパティ

プロパティは、オブジェクトを記述またはフォーマットし、コードによって、またはVisual Basic開発環境でプロパティ・ウィンドウを使用して変更できます。プロパティは、オブジェクトの基本的な特性を記述します。

次に例を示します。

- UserNameプロパティは、割り当てられたユーザー名を指定します。

- WorkingDirプロパティは、ダウンロードされたファイルが格納される場所を指定します。

29.2.2.4 IdcClient OCXインタフェース

IdcClient OCXコントロールは、コンテンツ・サーバー内のコンテンツおよびコンテンツ管理機能にアクセスするために、Windows Visual Basic開発環境内で使用されます。OCX統合は、ビジュアル開発環境でサービスをコールするように、またはリモートのコンテンツ・サーバー・インスタンスに接続するように設計されています。

ほとんどの場合、メソッドは、通信のために、シリアル化されたHDAフォーマットを使用します。返された、シリアル化されたHDAフォーマットの文字列には、コマンドの成否に関する情報が含まれています。障害が発生した場合、StatusCodeは負の値になり、StatusMessageにエラーが示されます。返されたHDAにStatusCodeパラメータが含まれていない場合、サービス・コールが成功したことを示しています。

29.2.3 IdcClient OCXコントロールの設定

Microsoft Visual Basic開発環境で、IdcClient OCXコンポーネントを設定し、ビジュアル・インタフェースを作成できます。

29.2.3.1 IdcClient OCXコンポーネントの設定

Microsoft Visual Basic開発環境で、IdcClient OCXコンポーネントを設定するには、次の手順を実行します。

1. 新規プロジェクトを作成します。

2. 「プロジェクト」を選択し、「コンポーネント」を選択します。

3. システムでIdcClient.ocxファイルを参照し、「開く」をクリックします。
IdcClientモジュールがコンポーネント・コントロール・リストに追加されます。

4. IdcClient ActiveX Controlモジュールのチェック・ボックスが選択されていることを確認し、「OK」をクリックします。
IdcClient OCXコントロールが、コントロールのリストに入ります。

5. (オプション) Visual Basic開発環境を使用してユーザー独自のビジュアル・インタフェースを構築できます。または、第29.2.3.2項「ビジュアル・インタフェースの作成」に記載されている手順に従って基本的なビジュアル・インタフェースを構築できます。

29.2.3.2 ビジュアル・インタフェースの作成

ビジュアル・インタフェースを作成するための次の手順は、Visual Basicプロジェクトが作成されており、IdcClient OCXコントロールがコントロールのリストに入っていることを前提としています。詳細は、第29.2.3.1項「IdcClient OCXコンポーネントの設定」を参照してください。

基本的なビジュアル・インタフェースを構築するには、次の手順を実行します。

1. コントロールを選択し、それをVisual Basicフォーム上に描画します。
図29-1は、IdcClient OCXコントロールを示しています。

図29-1 Visual Basicフォーム上に描画されたOCXコントロール

2. 「プロパティ」ウィンドウのドロップダウン・リストから、「IdcClient OCX」を選択します。
「プロパティ」ウィンドウが表示されていない場合は、メイン・メニューから「表示」→「プロパティ・ウィンドウ」を選択します。

3. IdcClient OCXコントロールの名前をIdcClientCtrlに変更します。

4. 特定のインスタンスのiss_idc_cgi.dllを参照するようにHostCgiUrlを定義します。
次に例を示します。

http://testserver/intradoc-cgi/iss_idc_cgi.dll

図29-2では、HostCgiUrlの値としてこのURLが示されています。

図29-2 編集後のIdcClientのプロパティ

5. フォームで、テキスト・ボックスを描画し、CgiUrlという名前を付けます。

6. 「テキスト」フィールドに、表示されるテキストとしてHostCgiUrlの値(http://testserver/intradoc-cgi/iss_idc_cgi.dllなど)を入力します。
図29-3では、「テキスト」の値としてこのURLが示されています。

図29-3 編集後のCgiUrlテキスト・ボックスのプロパティ

7. フォームで、テキスト・ボックスを描画し、コマンドという名前を付けます。

8. 「テキスト」フィールドのエントリを消去(空白のままに)し、「MultiLine」を「True」に設定します。
図29-4では、「MultiLine」の値を示しています。

図29-4 編集後のコマンド・テキスト・ボックスのプロパティ

9. フォームで、テキスト・ボックスを描画し、レスポンスという名前を付けます。

10. 「テキスト」フィールドのエントリを消去(空白のままに)します。
図29-5は、レスポンス・テキスト・ボックスのフィールド値を示しています。

図29-5 編集後のレスポンス・テキスト・ボックスのプロパティ

11. フォームで、ボタンを描画し、SendPostCommandという名前を付けます。

12. 「キャプション」フィールドに、表示されるテキストとして「Postコマンドの送信」と入力します。
図29-6は、SendPostCommandボタンに表示される「キャプション」の値を示しています。

図29-6 編集後のSendPostCommand CommandButtonのプロパティ

13. フォームで、「表示」→「コード」を選択します。

14. ドロップダウン・リストから「SendPostCommand」→「クリック」を選択して、次のアクションを実行するようにコードを変更します。

- Host Cgi URLの値を設定する。

- コマンドを発行します。

- (オプション) LFをCRLFに置換して、編集コントロールでの表示が読みやすくなるようにする。

- レスポンスを表示します。

次のようにコードを変更します。

Dim R As String
IdcClientCtrl.HostCgiUrl = CgiUrl.Text
R = IdcClientCtrl.1.SendPostCommand(Command.Text)
R = Replace(R, vbLf, vbCrLf
Response.Text = R

図29-7は、コードの変更内容を示しています。

図29-7 編集後のSendPostCommand_Clickコード

15. ドロップダウン・リストから「フォーム」→「ロード」を選択し、次の行を追加してコンテンツ・サーバー・インスタンスのログイン・プロンプトを設定します。

IdcClientCtrl.UseBrowserLoginPrompt = True
IdcClientCtrl.UseProgressDialog = True

図29-8は、変更後のコードを示しています。

図29-8 編集後のForm_Loadコード

16. (オプション) 「Cgi Url」、「コマンド」、「レスポンス」など、適切な説明ラベルを追加します。
図29-9は、説明ラベルのあるフォームを示しています。

図29-9 説明ラベルのあるビジュアル・インタフェース

17. 「実行」→「起動」を選択して、ビジュアル・インタフェースをテストします。
図29-10は、テストが成功した場合の結果を示しています。

図29-10 完成したビジュアル・インタフェース

18. 「コマンド」フィールドに、書式設定済のコマンドを入力します。
図29-11は、ユーザーを追加するADD_USERコマンドを示しています。

ADD_USERサービスの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

図29-11 コマンドが定義されたビジュアル・インタフェース

19. 「Postコマンドの送信」ボタンをクリックして、コマンドを実行します。返された結果が「レスポンス」フィールドに表示されます。
図29-12は、返された結果の一部を示しています。

図29-12 結果が返されたビジュアル・インタフェース

コマンドを検証する手順は次のとおりです。

1. Webブラウザで、コンテンツ・サーバーに管理者としてログインします。

2. 「管理」トレイまたはメニューで、「管理アプレット」を選択します。

3. 「ユーザー管理」をクリックします。アプレットが起動し、追加されたユーザー(user99など)が表示されます。

29.2.4 IdcClientイベント

イベントは、ユーザーまたはサーバーがアクションを実行すると実行されます。次のIdcClient OCXイベントを使用できます。

- IntradocBeforeDownload

- IntradocBrowserPost

- IntradocBrowserStateChange

- IntradocRequestProgress

- IntradocServerResponse

29.2.4.1 IntradocBeforeDownload

ファイルのダウンロード前に実行されます。

- ダウンロード前に必要なサーバーのアクションおよび更新を開始します。

パラメータ

このイベントは、次のパラメータを渡します。

- ByVal params As String

- cancelDownload As Boolean

29.2.4.2 IntradocBrowserPost

フォームがブラウザ内から送信されるたびに実行されます。

パラメータ

このイベントは、次のパラメータを渡します。

- ByVal url As String

- ByVal params As String

- cancelPost As Boolean

29.2.4.3 IntradocBrowserStateChange

ブラウザの状態が変わるたびに実行されます。

パラメータ

このイベントは、次のパラメータを渡します。

- ByVal browserStateItem As String

- ByVal enabled As Boolean

29.2.4.4 IntradocRequestProgress

サーバーからの進行状況レポートの送信リクエストを実行します。このイベントが発生するのは、メソッドのコール後のみです。

パラメータ

このイベントは、次のパラメータを渡します。

- ByVal statusData As String

- ByVal isDone As Boolean

29.2.4.5 IntradocServerResponse

サーバーがリクエストされたアクションを完了した後に実行されます。たとえば、ファイルのダウンロード後などです。このイベントは、サーバーからのレスポンスであるHDAエンコード・データを処理します。このイベントが発生するのは、アクションがブラウザで実行される場合のみです。

パラメータ

このイベントは、次のパラメータを渡します。

- ByVal response As String

29.2.5 IdcClient OCXメソッド

次のIdcClient OCXメソッドを使用できます。

- AboutBox

- Back

- CancelRequest*

- DoCheckoutLatestRev

- DownloadFile

- DownloadNativeFile

- Drag

- EditDocInfoLatestRev

- Forward

- GoCheckinPage

- Home

- InitiateFileDownload*

- InitiatePostCommand*

- Move

- Navigate

- NavigateCgiPage

- Refresh Browser

- SendCommand*

- SendPostCommand*

- SetFocus

- ShowDMS

- ShowDocInfoLatestRev

- ShowWhatsThis

- StartSearch

- Stop

- UndoCheckout

- ViewDocInfo

- ViewDocInfoLatestRev

- ZOrder

アスタリスク(*)が付けられたメソッドは、ブラウザ・アクティビティとは関係なく、値を返すメソッドです。

重要:

特に示されていないかぎり、すべてのパラメータは必須です。

29.2.5.1 AboutBox

Sub AboutBox()

説明

製品のバージョン情報を示す「バージョン情報」ボックスを起動します。

- このメソッドは、製品の「バージョン情報」ボックスを表示します。

- コールを実行できない場合、メソッドは、FALSEを返します。

パラメータ

なし

29.2.5.2 Back

Sub Back()

説明

前のHTMLページを表示します。

- 前の画面に戻ります。

- このメソッドは、ユーザーに表示する、前のHTMLページをキャッシュされた情報から取得します。

パラメータ

なし

29.2.5.3 CancelRequest

Function CancelRequest() As Boolean

説明

このメソッドは、現在アクティブなリクエストを取り消します。リクエストを取り消すことができない場合、または現在アクティブなリクエストがない場合は、FALSEを返します。

パラメータ

なし

出力

次のブール値を返します。

- リクエストが取り消された場合は、TRUEを返します。

- 取消しリクエストを実行できない場合は、FALSEを返します。

29.2.5.4 DoCheckoutLatestRev

Sub DoCheckoutLatestRev(docName As String, curID As String)

説明

コンテンツ・アイテムの最新のリビジョンをチェックアウトまたはロックします。

- コンテンツ・アイテム名およびバージョン・ラベルが指定されると、このメソッドは、コンテンツ・アイテムの最新のリビジョンをチェックアウトします。

- IntradocServerResponseイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

注意:

curID値は、コンテンツ・アイテムのバージョン・ラベルです。生成されたコンテンツ・アイテムのリビジョンIDではありません。

この関数は、次の値を返します。

- dIDおよびdDocNameを含むシリアル化されたHDA。

- 最新のリビジョンがチェックアウトできない場合、またはシステムに見つからない場合、FALSE。

- パラメータとして渡されたデータ。

パラメータ

- docName: ユーザーが割り当てたコンテンツ・アイテム名。

- curID: 最新のリビジョンに対する一意の識別子。オプション。

29.2.5.5 DownloadFile

Function DownloadFile(command As String, filename As String) As String

説明

定義されたファイルをダウンロードします。

- 現在関連付けられているコマンドおよびファイル・タイプが指定されると、このメソッドは、変換後のファイルのファイル・ダウンロードを実行します(DownloadNativeFileと比較)。

- IntradocBeforeDownloadイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

この関数では、次のように値が返されます。

- ステータス・コードおよびステータス・メソッドを含むシリアル化されたHDA。

- パラメータとして渡されたデータ。

- 指定されたファイルをダウンロードできない場合、FALSE。

パラメータ

- command: 現在関連付けられているコマンド。

- filename: ファイル形式。これは、PDFやHTMなど、サポートされる形式のファイル・タイプです。

29.2.5.6 DownloadNativeFile

Function DownloadNativeFile(id As String, docName As String, filename As String) As String

説明

定義されたネイティブ・ファイルをダウンロードします。

- コンテンツ・アイテムのリビジョンID、コンテンツ・アイテム名およびファイル・タイプが指定されると、このメソッドは、ネイティブ・ファイルのファイル・ダウンロードを実行します(DownloadFileと比較)。

- IntradocBeforeDownloadイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

注意:

id値は、生成されたコンテンツ・アイテムのリビジョンIDです。コンテンツ・アイテムのバージョン・ラベルではありません。

この関数では、次のように値が返されます。

- dIDおよびdDocNameを含むシリアル化されたHDA。

- パラメータとして渡されたデータ。

- 指定されたファイルをダウンロードできない場合、FALSE。

パラメータ

- id: 最新のリビジョンに対する一意の識別子。

- docName: ユーザーが割り当てたコンテンツ・アイテム名。

- filename: ファイル形式。これは、DOCやRTFなど、サポートされる任意の形式のファイル・タイプです。

29.2.5.7 Drag

Sub Drag([nAction])

説明

ドラッグ操作を開始、終了または取り消します。

- Dragメソッドは、標準コントロールの実装と同様に処理されます。

- 詳細は、Visual BasicのAPIリファレンスを参照してください。

パラメータ

- nAction: 実行するアクションを指定します。nActionを省略すると、nActionは1に設定されます。

Dragメソッドの設定は次のとおりです。

- 0: ドラッグ操作を取り消し、コントロールの元の位置を復元します。

- 1: (デフォルト)コントロールのドラッグを開始します。

- 2: ドラッグを終了します。つまり、コントロールをドロップします。

29.2.5.8 EditDocInfoLatestRev

Sub EditDocInfoLatestRev(docName As String, curID As String, activateAction As String)

説明

最新のリビジョンに関するコンテンツ・アイテム情報を編集します。

- ODMA関連です。

- コンテンツ・アイテム名、バージョン・ラベルおよび現在アクティブなリクエストされたアクションが指定されると、このメソッドは、最新のリビジョンに関するコンテンツ・アイテム情報を編集します。

- 最新のリビジョンに関するコンテンツ・アイテム情報を編集できない場合、またはその情報がシステムに見つからない場合、この関数はFALSEを返します。

注意:

curID値は、コンテンツ・アイテムのバージョン・ラベルです。生成されたコンテンツ・アイテムのリビジョンIDではありません。

パラメータ

- curID: 最新のリビジョンに対する一意の識別子。

- activateAction: ODMActivateに渡されます。これは、Idocスクリプトとして使用できます。オプション。

- docName: ユーザーが割り当てたコンテンツ・アイテム名。オプション。

29.2.5.9 Forward

Sub Forward()

説明

次のHTMLページを表示します。

- 次の画面に移動します。

- このメソッドは、ユーザーに表示する、次のHTMLページに関するキャッシュされた情報を取得します。

パラメータ

なし

29.2.5.10 GoCheckinPage

Sub GoCheckinPage(id As String, docName As String, isNew As Boolean, params As String)

説明

新しいコンテンツ・アイテムまたはコンテンツ・アイテムのリビジョンをチェックインします。

- コンテンツ・アイテムのリビジョンIDおよびコンテンツ・アイテム名が指定されると、この関数は、新しいコンテンツ・アイテムまたはコンテンツ・アイテムのリビジョンをチェックインします。

- このメソッドは、コンテンツ・アイテムのチェックイン・ページを開き、一意のコンテンツ・アイテム識別子、ユーザーが割り当てたコンテンツ・アイテム名および割り当てられたコンテンツ・アイテムの任意のパラメータを関連するテキスト・フィールドに入力します。また、新しいコンテンツ・アイテムなのか、リビジョンなのかも指定します。

注意:

id値は、生成されたコンテンツ・アイテムのリビジョンIDです。コンテンツ・アイテムのバージョン・ラベルではありません。

出力

この関数では、次のように値が返されます。

- 指定されたファイルをチェックインできない場合、FALSE。

- dIDおよびdDocNameを含むシリアル化されたHDA。

- パラメータとして渡されたデータ。

パラメータ(すべてオプション)

- id: 最新のリビジョンに対する一意の識別子。

- docName: ユーザーが割り当てたコンテンツ・アイテム名。

- IsNew: チェックインされるコンテンツ・アイテムが新しいコンテンツ・アイテムなのか、リビジョンなのかを定義します。

- TRUEの場合、新しい一意のコンテンツ・アイテムのバージョン・ラベルが割り当てられます。

- デフォルトはTRUEです。

- params: 「チェックイン」ページを事前入力するパラメータ。

29.2.5.11 Home

Sub Home()

説明

定義されたホームページに戻ります。

- ホーム画面に移動します。

- HTMLページ・リクエストを実行し、定義されたホームページをユーザーに表示します。

パラメータ

なし

29.2.5.12 InitiateFileDownload

Function InitiateFileDownload(command As String, filename As String) As String

説明

ファイル・ダウンロードを開始します。

- 現在関連付けられているコマンドおよびファイル・タイプが指定されると、この関数は、ファイル・ダウンロードを開始します。このメソッドは、コンテンツ・アイテムの特定のレンディション、最新のリビジョンまたは最新リリースのリビジョンのファイル・ダウンロードを開始します。

- IntradocServerResponseイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

パラメータ

- command: 現在関連付けられているコマンド。

- filename: ファイル形式。これは、PDFやHTMなど、サポートされる形式のファイル・タイプです。

出力

- リクエストされた情報を含む、シリアル化されたHDAを返します。

- パラメータとして渡されたデータを返します。

29.2.5.13 InitiatePostCommand

Function InitiatePostCommand(postData As String) As String

説明

postコマンドを開始します。

- サービス・コールを開始します。割り当てられたpostデータが指定されると、このメソッドは、postコマンドを開始します。

- IntradocServerResponseイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

パラメータ

- postData: サービス・コマンドおよび必要なサービス・パラメータを含む、シリアル化されたHDA。

出力

- リクエストされた情報を含む、シリアル化されたHDAを返します。

- StatusCodeおよびStatusMessageを返します。

- 障害が発生した場合、StatusCodeは負の値になり、StatusMessageにエラーが示されます。

- 返されたHDAにStatusCodeパラメータが含まれていない場合、サービス・コールが成功したことを示しています。

29.2.5.14 Move

Sub Move(Left As Single, [Top], [Width], [Height])

説明

オブジェクトを移動します。

- Moveメソッドは、標準コントロールの実装と同様に処理されます。

- 詳細は、Visual BasicのAPIリファレンスを参照してください。

パラメータ

- nLeft: オブジェクトの左端の水平座標を指定します。これは、単精度値です。

- nTop: オブジェクトの上端の垂直座標を指定します。これは、単精度値です。

- nWidth: オブジェクトの新しい幅を指定します。これは、単精度値です。

- nHeight: オブジェクトの新しい高さを指定します。これは、単精度値です。

29.2.5.15 Navigate

Sub Navigate(url As String

説明

URLパスを計算します。

- 完全なURLが指定されると、このメソッドは、シリアル化されたHDAからURLを計算し、文字列として値を返します。

この関数は、次の値を返します。

- リクエストされた情報を含む、シリアル化されたHDA。

- パラメータとして渡されたデータ。

パラメータ

- url: 完全なURLパス。

29.2.5.16 NavigateCgiPage

Sub NavigateCgiPage(params As String)

説明

CGIパスを計算します。

- 定義されたコンテンツ・アイテムのパラメータが指定されると、このメソッドは、シリアル化されたHDAからCGIパスを計算し、文字列として値を返します。

パラメータ

- params: 割り当てられたコンテンツ・アイテムのパラメータ。

29.2.5.17 Refresh Browser

説明

ブラウザをリフレッシュします。

- このメソッドは、Web ブラウザをリフレッシュし、動的情報を更新します。

パラメータ

なし

29.2.5.18 SendCommand

Function SendCommand(params As String) As String

説明

サービス・リクエストをコンテンツ・サーバーに発行します。

- 定義されたコンテンツ・アイテムのパラメータが指定されると、この関数は、コンテンツ・アイテムの処理に関連するコンテンツ・サーバーからサービスを実行します。

パラメータ

- params: CGI URLエンコードのパラメータ。

出力

- リクエストされた情報を含む、シリアル化されたHDAを返します。

- パラメータとして渡されたデータを返します。

29.2.5.19 SendPostCommand

Function SendPostCommand(postData As String) As String

説明

postコマンドを送信します。

- サービス・コールを実行します。

- IntradocBrowserPostイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

パラメータ

- postData: サービス・コマンドおよび必要なサービス・パラメータを含む、シリアル化されたHDA。

出力

- リクエストされた情報を含む、シリアル化されたHDAを返します。

- StatusCodeおよびStatusMessageを返します。

- 障害が発生した場合、StatusCodeは負の値になり、StatusMessageにエラーが示されます。

- 返されたHDAにStatusCodeパラメータが含まれていない場合、サービス・コールが成功したことを示しています。

29.2.5.20 SetFocus

Sub SetFocus()

説明

コントロールにフォーカスを割り当てます。

- SetFocusメソッドは、標準コントロールの実装と同様に処理されます。

- 詳細は、Visual BasicのAPIリファレンスを参照してください。

パラメータ

なし

29.2.5.21 ShowDMS

Sub ShowDMS()

説明

コンテンツ・マネージャに関連付けられているHTMLページを開きます。

- ODMA関連です。

- コンテンツ・マネージャのアクセス・ページをブラウザに表示します。

パラメータ

なし

29.2.5.22 ShowDocInfoLatestRev

Sub ShowDocInfoLatestRev(docName As String, curID As String, activateAction As String)

説明

最新のリビジョンに関するコンテンツ・アイテム情報を表示します。

注意:

curID値は、コンテンツ・アイテムのバージョン・ラベルです。生成されたコンテンツ・アイテムのリビジョンIDではありません。

パラメータ

- docName: ユーザーが割り当てたコンテンツ・アイテム名。

- curID: 最新のリビジョンに対する一意の識別子。オプション。

- activateAction: 現在アクティブな、リクエストされたアクション。オプション。

29.2.5.23 ShowWhatsThis

Sub ShowWhatsThis()

説明

WhatsThisHelpIDプロパティを持つオブジェクトに対して指定された「説明の表示」ヘルプ・トピックを表示します。

- ShowWhatsThisメソッドは、標準コントロールの実装と同様に処理されます。

- 詳細は、Visual BasicのAPIリファレンスを参照してください。

パラメータ

- Object: 「説明の表示」ヘルプ・トピックを表示するオブジェクトを指定します。

29.2.5.24 StartSearch

Sub StartSearch()

説明

問合せページをブラウザ・コントロールに表示します。

- ブラウザ操作を実行します。

パラメータ

なし

29.2.5.25 Stop

Sub Stop()

説明

ブラウザを停止します。

- このメソッドは、ブラウザでの情報のロードを停止または取り消します。

パラメータ

なし

29.2.5.26 UndoCheckout

Sub UndoCheckout(docName As String, curID As String)

説明

このサービスは、コンテンツ・アイテムのチェックアウトを元に戻します。

- コンテンツ・アイテム名およびバージョン・ラベルが指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。

- IntradocServerResponseイベントを実行します。イベントは、メソッドの発生前に実行されます。詳細は、第29.2.4項「IdcClientのイベント」を参照してください。

注意:

curID値は、コンテンツ・アイテムのバージョン・ラベルです。生成されたコンテンツ・アイテムのリビジョンIDではありません。

パラメータ

- curID: 最新のリビジョンに対する一意の識別子。

- docName: ユーザーが割り当てたコンテンツ・アイテム名。オプション。

29.2.5.27 ViewDocInfo

Sub ViewDocInfo(id As String)

説明

コンテンツ・アイテム情報ページに移動し、コンテンツ・アイテム情報をブラウザに表示します。

- ブラウザ操作を実行します。

- コンテンツ・アイテムのリビジョンIDが指定されると、このメソッドは、コンテンツ・アイテム情報をブラウザに表示します。

注意:

id値は、生成されたコンテンツ・アイテムのリビジョンIDです。コンテンツ・アイテムのバージョン・ラベルではありません。

パラメータ

- id: 最新のリビジョンに対する一意の識別子。

29.2.5.28 ViewDocInfoLatestRev

Sub ViewDocInfoLatestRev(docName As String, curID As String)

説明

コンテンツ・アイテム情報ページに移動し、最新のリビジョンに関するコンテンツ・アイテム情報を表示します。

- コンテンツ・アイテム名およびバージョン・ラベルが指定されると、このメソッドは、最新のリビジョンに関するコンテンツ・アイテム情報を表示します。

注意:

curID値は、コンテンツ・アイテムのバージョン・ラベルです。生成されたコンテンツ・アイテムのリビジョンIDではありません。

この関数は、次の値を返します。

- dIDおよびdDocNameを含むシリアル化されたHDA。

- パラメータとして渡されたデータ。

パラメータ

- docName: ユーザーが割り当てたコンテンツ・アイテム名。

- curID: 最新のリビジョンに対する一意の識別子。

29.2.5.29 ZOrder

Sub ZOrder([Position])

説明

グラフィカル・レベル内で、指定したフォームまたはコントロールをz-orderの前または後に配置します。

- ZOrderメソッドは、標準コントロールの実装と同様に処理されます。

- 詳細は、Visual BasicのAPIリファレンスを参照してください。

パラメータ

- nOrder: 他のオブジェクトに対する相対的なオブジェクトの位置を示す整数を指定します。nOrderを省略すると、設定は0になります。

ZOrderメソッドの設定は次のとおりです。

- 0: (デフォルト)オブジェクトはz-orderの前に配置されます。

- 1: オブジェクトはz-orderの後に配置されます。

29.2.6 IdcClientのプロパティ

各データ・アイテムまたは属性は、Visual Basicではプロパティとして実装されます。プロパティは、Visual Basic開発環境内ではオブジェクトのパブリック・インタフェースを通じて公開されます。これらの属性を使用すると、要素をさらに詳しく記述できます。

IdcClient OCXプロパティは次のとおりです。

- ClientControlledContextValue

- HostCgiUrl

- Password

- UseBrowserLoginPrompt

- UseProgressDialog

- UserName

- Working Directory

29.2.6.1 ClientControlledContextValue

ユーザー指定のコンテキスト値を指定します。この値は、コンテンツ・サーバーによって配信されるWebページで、変数ClientControlledとしてIdocスクリプトで使用できるようになります。

- 値を文字列として返します。

- パラメータは取りません。

29.2.6.2 HostCgiUrl

ホストCGI binの完全なURLパスを指定します。

- 値を文字列として返します。

- パラメータは取りません。

29.2.6.3 Password

割り当てられたユーザー・パスワードを指定します。

- 値を文字列として返します。

- パラメータは取りません。

29.2.6.4 UseBrowserLoginPrompt

ブラウザのログイン・プロンプトを使用できるようにします。ユーザー認証のダイアログ・ボックスを表示するかどうかを定義します。

- TRUEに設定すると、ユーザー認証のダイアログ・ボックスが開きます。

- デフォルト値はTRUEです。

次のブール値を返します。

- ログインが成功だった場合、TRUEを返します。

- ログインが拒否された場合、FALSEを返します。

29.2.6.5 UseProgressDialog

ユーザー進行状況ダイアログを使用できるようにします。ユーザー認証のダイアログ・ボックスを表示するかどうかを定義します。

- TRUEに設定すると、ユーザー進行状況のダイアログ・ボックスが開きます。

- デフォルトはTRUEです。

次のブール値を返します。

- アクションが完了した場合は、TRUEを返します。

- アクションが失敗した場合は、FALSEを返します。

29.2.6.6 UserName

割り当てられたユーザー名を指定します。

値を文字列として返します。

パラメータは取りません。

29.2.6.7 Working Directory

作業ディレクトリをフルパスとして指定します。これは、ダウンロードされたファイルが格納される場所です。

- 値を文字列として返します。

- パラメータは取りません。

29.3 ODMA APIを使用した、デスクトップ・アプリケーションからコンテンツ・サーバーへのアクセス

Open Document Management Application (ODMA)は、デスクトップ・アプリケーションとファイル管理ソフトウェアをつなぐために使用される標準的なAPIです。コンテンツ・サーバーのためのODMA統合は、別な製品であるDesktopで使用可能です。ODMA統合製品を使用して、(ODMA準拠デスクトップ・アプリケーションのために)コンテンツ・サーバー内のコンテンツおよびコンテンツ管理機能にアクセスできます。

Microsoft Word、Corel WordPerfect、Adobe FrameMakerなどの任意のODMA準拠アプリケーションからWebリポジトリに直接ファイルを公開できます。ODMAをWeb中心に導入することで、情報をWebに直接チェックインおよび公開することができます。これは、従来のODMAクライアント/サーバー実装に対する大きな進歩です。従来の実装では、情報は、まずサーバーに公開され、ただちにWebで使用できるようにはなりません。

詳細は、ODMAまたはODMA/FrameMakerのオンライン・ヘルプを参照してください。

29.3.1 ODMAクライアント

ODMAクライアントは、別な製品であり、コア製品とともには出荷されません。これは、情報をデスクトップ・アプリケーションからWebに直接チェックインまたは公開するために使用されます。ODMAクライアントは、従来のODMAクライアント/サーバー・モデルより優れています。従来のモデルでは、情報はサーバーに公開され、ただちにWebで使用できるようにはなりません。デスクトップ・アプリケーション内からODMAクライアントを使用して、たとえば次のような、コンテンツ・サーバーと対話する多数のタスクを実行できます。

- ファイルを保存し、すぐにコンテンツ・サーバーにチェックインする。

- ファイルを保存して、後でチェックインする。

- コンテンツ・サーバーからファイルをチェックアウトします。

- ファイルのメタデータ(コンテンツ情報)を更新する。

- ファイルをローカルのファイル・システムに保存し、ODMAクライアント・システムを迂回する。

29.3.2 ODMAインタフェース

次のODMAインタフェースを使用できます。

- ODMAクライアント・インタフェース: 最近使用したファイル・オプションが選択されている「ドキュメントの選択」画面には、ODMAを通じて最近使用されたファイルのリストが表示されます。この画面は、通常の「開く」ダイアログ・ボックスのかわりに表示されます。この画面にファイルが表示されていない場合は、コンテンツ・サーバー内かローカルのファイル・システムでファイルを検索できます。

- ODMAデスクトップ・シェル・インタフェース: クライアント・デスクトップ・シェルは、ドラッグ・アンド・ドロップのチェックイン機能を提供し、デスクトップ・アプリケーションの外部からODMAクライアントの「ドキュメントの選択」画面にアクセスできるようにします。デスクトップ・シェルを通じて、次のことを実行できます。

- デスクトップまたはWindowsエクスプローラ・ウィンドウからファイルを選択し、それをデスクトップ・シェルにドラッグしてコンテンツ・サーバーにチェックインする。

- 「最近使用したファイル」リストから、またはコンテンツ・サーバーからファイルを選択して開きます。

- ODMAが有効なコンテンツ・サーバー・インタフェース: コンテンツ・サーバーの「コンテンツ情報」ページからODMAファイルを直接開いてチェックアウトすることができます。コンテンツ・サーバーからファイルを開くと、ファイルを編集したり、コンテンツ・サーバーに迅速にチェックインしたりできるように、ファイルはそのネイティブのアプリケーション内で開かれます。

注意:

ODMA準拠アプリケーション内からファイルを開いてチェックアウトすることや、ファイルをチェックアウトせずにそのコピーを開くことも可能です。詳細は、ODMAのオンライン・ヘルプを参照してください。

30 RIDCを使用したコンテンツ・サーバーへのアクセス

この章では、Oracle WebCenter Content Serverとの通信のためのシン通信APIを提供するRemote Intradoc Client (RIDC)の初期化および使用方法について説明します。詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。

Remote Intradoc Client (RIDC)は、Oracle Technology Network (OTN) (http://www.oracle.com/technetwork/index.html)からダウンロードできます。

注意:

Remote Intradoc Client (RIDC) 11gR1 (11.1.1.6.0以降)では、Java Runtime Environment (JRE) 1.6以上が必要です。最新のJava JRE/JDKは、Oracle Technology Network (OTN) (http://www.oracle.com/technetwork/index.html)からダウンロードできます。

この章の内容は次のとおりです。

- 第30.1項「Remote Intradoc Clientについて」

- 第30.2項「接続の初期化」

- 第30.3項「クライアントの構成」

- 第30.4項「ユーザーの認証」

- 第30.5項「サービスの使用」

- 第30.6項「接続プーリングの処理」

- 第30.7項「ストリームの送受信」

- 第30.8項「複数のリクエストに対するバインダの再利用」

- 第30.9項「ユーザー・セキュリティの設定」

- 第30.10項「RIDCフィルタの使用」

30.1 Remote Intradoc Clientについて

Remote Intradoc Client (RIDC)は、コンテンツ・サーバーとの通信を行うためのシン通信APIです。その主な機能は、コンテンツ・サーバー・サービスをリモートで実行できるようにすることです。さらに、RIDCは、接続プーリング、セキュリティ、プロトコルの固有情報などを処理します。

主要機能

Remote Intradoc Client (RIDC)には次のような機能があります。

- Intradocソケットベース通信、およびHTTPプロトコルとJAX-WSプロトコルをサポートします。

- コンテンツ・サーバーとのSecure Socket Layer (SSL)通信をサポートします。

- ソケットのタイムアウトや接続プールのサイズなどの設定を含むクライアント構成を提供します。

- RIDCオブジェクトは、標準のJava Collectionパラダイムに従います。

サポートされているプロトコル

Remote Intradoc Client (RIDC) 11gR1 (11.1.1.8.0)は、idc、idcs、http、httpsおよびjax-wsの各プロトコルをサポートしています。

Intradoc: Intradocプロトコルは、Intradocソケット・ポート(通常は4444)経由でコンテンツ・サーバーと通信します。このプロトコルは、クライアントとコンテンツ・サーバー間の信頼できる接続を必要とし、パスワード検証は行いません。このプロトコルを使用するクライアントには、RIDCコールを行う前に、必要な認証を自身で実行することが求められます。Intradoc通信は、SSL経由で実行するように構成することもできます。

HTTP: RIDCは、サポートされている次の3つのHTTPクライアント・パッケージのいずれかを使用して、コンテンツ・サーバーへのHTTP接続を作成できます。

- Oracle HTTPClient

- Apache HttpClientバージョン3(デフォルト)

- Apache HttpClientバージョン4

Intradocとは異なり、このプロトコルでは、各リクエストについて有効なユーザー名とパスワード認証資格証明が必要です。

詳細は、第30.1.1項「HttpClientライブラリ」を参照してください。その他の詳細は、Apache HttpClient Webサイト(http://hc.apache.org/)のHttpClientホームページで、Jakarta Commons HttpClientドキュメントを参照してください。

JAX-WS: JAX-WSプロトコルは、適切に構成されたコンテンツ・サーバー・インスタンスとRIDCクライアントがインストールされているOracle WebCenter Content 11gでのみサポートされます。JAX-WSは、この環境の外部ではサポートされません。

JAX-WSの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JAX-WS Webサービス・スタート・ガイド』および『Oracle Fusion Middleware Oracle WebLogic Serverに対するJAX-WS Webサービスの拡張機能のプログラミング』を参照してください。また、Java Community Process Webサイト(http://www.jcp.org/)で、Java API for XML Web Services (JAX-WS)のドキュメントも参照してください。

サポートされているURLフォーマット

次の表に、サポートされているURLフォーマットを示します。

URL

説明

idc://localhost:4444

Intradocポートを使用します。ホスト名とポート番号のみが必要です。

idcs://localhost:4443

Intradocポート経由でSSLを使用します。SSL証明書をロードするための追加の構成が必要です。

http://localhost:16200/cs/idcplg

コンテンツ・サーバーCGIパスへのURLを指定します。

https://localhost:16200/cs/idcplg

SSL over HTTPを使用します。SSL証明書をロードするための追加の構成が必要です。

http://wlsserver:16200/idcnativews

JAX-WSプロトコルを使用してコンテンツ・サーバーに接続します。

必要な環境

次の表は、RIDCが各接続タイプをサポートするために必要な環境についてまとめたものです。

URL

説明

idc://

- oracle.ucm.ridc-11.1.1.jar

idcs:/

- oracle.ucm.ridc-11.1.1.jar

- SSL証明書の構成

http:/

- oracle.ucm.ridc-11.1.1.jar

- HttpClientライブラリ

https:/

- oracle.ucm.ridc-11.1.1.jar

- HttpClientライブラリ

- SSL証明書の構成

jax-ws

- WLSおよびJRFスタックを持つOracle shiphome

30.1.1 HttpClientライブラリ

RIDCでは、HTTP接続を使用してコンテンツ・サーバー・インスタンスに添付されているWebサービスと通信するために、HTTPクライアント・ライブラリをサポートする必要があります。現在は、次の3つのライブラリがサポートされています。

- Oracle HTTPClient

- Apache (Jakarta Commons) HttpClientバージョン3

- Apache (HttpComponents) HttpClientバージョン4

デフォルトは、Apache HttpClientバージョン3です。

Oracle HttpClientをJavaコードでリクエストするには:

IdcClient idcClient = manager.createClient("http://localhost/cs/idcplg");
idcClient.getConfig ().setProperty ("http.library", "oracle");

Apache HttpClientバージョン4をJavaコードでリクエストするには:

IdcClient idcClient = manager.createClient("http://localhost/cs/idcplg");
idcClient.getConfig ().setProperty ("http.library", "apache4");

JDeveloper拡張機能を使用して新規のRIDCアプリケーションを作成している場合は、「構成パラメータ」セクションで、適切な値( apache4など)を指定したパラメータhttp.libraryを接続に追加することができます。その他の詳細は、Apache HttpClient WebサイトのHttpClientホームページ(http://hc.apache.org/)で、Jakarta Commons HttpClientドキュメントを参照してください。

JDeveloperでSite Studio for External Applications (SSXA)アプリケーションを使用している場合、ユーザー・インタフェースがないため、まず接続を作成し、その接続をテストせずに保存する必要があります。その後で、「接続」→「ディスクリプタ」→「ADF META-INF」ノードのconnections.xmlファイルを開きます。connections.xmlファイルに次のStringRefAddrセクションを追加し(例30-1に示します)、ファイルを保存します。

例30-1 connections.xmlにおける接続の例

<Reference name="sample"
className="oracle.stellent.ridc.convenience.adf.mbeans.IdcConnection" xmlns="">
<Factory className=
"oracle.stellent.ridc.convenience.adf.mbeans.IdcConnectionFactory"/>
<RefAddresses>
<StringRefAddr addrType="oracle.stellent.idc.connectionUrl">
<Contents>idc://localhost:4444</Contents>
</StringRefAddr>
<StringRefAddr addrType="oracle.stellent.idc.idcServerURL">
<Contents>http://localhost/cs/idcplg</Contents>
</StringRefAddr>

<StringRefAddr addrType="oracle.stellent.idc.http.library">
<Contents>apache4</Contents>
</StringRefAddr>

</RefAddresses>
</Reference>

SSXAとRIDCの接続タイプは類似していることに注意してください。

- JDeveloperでSSXA接続を使用する場合、connections.xmlファイルのaddrType値はoracle.stellent.idc.http.libraryです。

- JDeveloperでRIDC接続を使用する場合、connections.xmlファイルのaddrType値はoracle.stellent.ridc.http.libraryです。

30.1.2 コンビニエンス・クラス

多数のアプリケーションがRIDCを使用して実行するアクションのパターンがいくつかあります。コンビニエンス・パッケージで、それらのパターンの一部が再利用のために提供されています。コンビニエンス・パッケージ領域内のクラスは、RIDCコードのコンシューマであり、そのため、新しい機能を追加することはありません。それらは、RIDCの上の新たなレイヤーと考えることができます。

コンビニエンス・クラスの使用の詳細は、第30.9項「ユーザー・セキュリティの設定」を参照してください。

30.2 接続の初期化

この項では、Intradoc接続とHTTP接続を初期化するサンプル・コード、およびJAX-WSクライアントを初期化するコードを示します。

例30-2のコードは、Intradoc接続を初期化します。

例30-2 Intradoc接続の初期化

// create the manager
IdcClientManager manager = new IdcClientManager();

// build a client that will communicate using the intradoc protocol
IdcClient idcClient = manager.createClient("idc://localhost:4444");

例30-3のコードは、HTTP接続を初期化します。Intradoc接続との唯一の違いはURLです。

例30-3 HTTP接続の初期化

// create the manager
IdcClientManager manager = new IdcClientManager();

// build a client that will communicate using the HTTP protocol
IdcClient idcClient = manager.createClient("http://localhost:16200/cs/idcplg");

例30-4のコードは、JAX-WSクライアントを初期化します。URLにはidcnativews Webコンテキスト・ルートが含まれています。このWebコンテキスト・ルートは(デフォルトでは)、コンテンツ・サーバーにより公開される2つのWebサービス、loginサービスおよびrequestサービスにより使用されます。

例30-4 JAX-WSクライアントの初期化

// create the manager
IdcClientManager manager = new IdcClientManager();

// build a client that will communicate using the JAXWS protocol
IdcClient idcClient = manager.createClient
("http://wlsserver:16200/idcnativews");

30.3 クライアントの構成

クライアントの構成は、クライアントの作成後に実行できます。構成パラメータには、ソケット・タイムアウトの設定、接続プール・サイズなどがあります。構成はプロトコルに固有です。IdcClientオブジェクトを特定のタイプにキャストすると、そのタイプのプロトコル構成オブジェクトを取得できます。

30.3.1 Intradoc接続のためのクライアント構成

例30-5のコードは、Intradoc接続のためのソケット・タイムアウトおよび待機時間を設定します。

例30-5 Intradoc接続のためのクライアント構成

// build a client as cast to specific type
IntradocClient idcClient =
(IntradocClient)manager.createClient("http://localhost/cs/idcplg");

// get the config object and set properties
idcClient.getConfig().setSocketTimeout(30000);  // 30 seconds
idcClient.getConfig().setConnectionSize(20);    // 20 connections

30.3.2 SSLの構成

Remote Intradoc Client (RIDC)では、Intradoc通信プロトコルを使用してコンテンツ・サーバーとSecure Socket Layer (SSL)通信を行うことが可能です。使用される通常のポートは4444です。SSLの構成とポートの有効化の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

SSL通信の場合、アクセス先のコンテンツ・サーバー・インスタンスにSecurityProvidersコンポーネントをインストールして有効化する必要があります。新しい受信プロバイダとのSSL通信のためにコンテンツ・サーバーを構成し、トラストストアまたはキーストアに関する情報を指定する必要があります。クライアントとコンテンツ・サーバーの両方で、署名付きの信頼できる証明書のある有効なキーストアまたはトラスト・マネージャが必要です。

Oracleでは、署名付き証明書を提供していません。ほとんどの実装では、広く認められている認証局による署名付きの証明書を求めることになります。

コンテンツ・サーバーとのSSL通信を構成するには、次のタスクを実行する必要があります。

1. SecurityProvidersコンポーネントをインストールして、有効にします。SecurityProvidersコンポーネントは、SSL通信でアクセスするコンテンツ・サーバー・インスタンスにインストールし、有効にする必要があります。
このコンポーネントは、Content Server 11gR1ではデフォルトでインストールされ、有効化されます。

2. SSL通信のための受信プロバイダを構成します。
SSLの構成の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』を参照してください。

3. 自己署名付きのキー・ペアおよび証明書を作成します。

例30-6のコードは、セキュア・ソケット(SSL)経由のIDCプロトコルを使用します。

例30-6 SSL経由のIDCプロトコル

// build a secure IDC client as cast to specific type
IntradocClient idcClient = (IntradocClient)
manager.createClient("idcs://localhost:4443");

// set the SSL socket options
config.setKeystoreFile("keystore/client_keystore");  //location of keystore file
config.setKeystorePassword ("password");      // keystore password
config.setKeystoreAlias("SecureClient");  //keystore alias
config.setKeystoreAliasPassword("password");  //password for keystore alias

30.3.3 JAX-WSの構成

JAX-WS接続を設定するには、RIDCクライアントとコンテンツ・サーバーがそれぞれ、互換性のあるクライアントおよびサービスのWebサービス・ポリシーによって構成されている必要があります。

RIDCクライアントの場合、jaxwsConfig.setClientSecurityPolicy(...)を使用して明示的なクライアント・ポリシー(LPAモード)を設定するか、または、RIDCを使用するアプリケーションが、ws-clientのGPAポリシーが正しく構成され、ターゲットになっている状態でOracle WebLogic Serverドメインにデプロイされている場合に、GPAクライアント・ポリシーを継承することができます。

サービス・ポリシーは、Oracle WebCenter ContentのWebサービス(IdcWebLoginPort)エンドポイント(LPAモード)に直接添付するか、GPA ws-serviceポリシーをドメイン用に構成して、サービスにより継承することができます。

30.3.3.1 サービスのLPAモードの設定

サービスのLPAモードは、Oracle Enterprise Manager Fusion Middleware Controlを使用して設定できます。

Fusion Middleware Controlを使用してサービスのLPAモードを設定するには:

1. Oracle Enterprise Manager 11g Fusion Middleware Controlにログインします。

2. 左側のナビゲーション・ツリーで「アプリケーション・デプロイメント」を開き、「Oracle UCM Native Web Services」をクリックします。

3. 「Oracle UCM Native Web Service」ページの「アプリケーション・デプロイメント」ドロップダウン・メニューから、「Webサービス」を選択します。

4. 「Webサービス(Oracle Infrastructure Web Services)」ページの「Webサービスの詳細」で、「Webサービス・エンドポイント」タブをクリックします。

5. 「エンドポイント名」列の「IdcWebLoginPort」をクリックします。

6. IdcWebLoginPort (「Webサービス・エンドポイント」)ページで、「OWSMポリシー」タブをクリックします。

7. 「直接アタッチされたポリシー」の下で「アタッチ/デタッチ」をクリックし、適切なポリシー(例: oracle/wss_saml_or_username_token_service_policy)を選択します。

30.3.3.2 ドメインのGPAサービス・ポリシーの設定

WebLogic Scripting Tool (WLST)のコマンドを使用して、GPAポリシーの継承を構成できます。

WLSTを使用してドメインのGPA ws-serviceポリシーを設定するには:

1. WebLogic Server Administration Scripting Shellを使用して、WebLogic Scripting Tool (WLST)を初期化します。

(/u01/app/oracle/product/Middleware/oracle_common/common/bin)% ./wlst.sh

...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

2. 次のbase_domainというドメインに対する一連のコマンドと類似したコマンドを起動します。

$MW_HOME/Oracle_ECM1/common/bin/wlst.sh
connect(username='weblogic',password='password',url='t3://localhost:7001')
beginRepositorySession()
createPolicySet('base_domain-ws-service','ws-service','Domain("base_domain")')
attachPolicySetPolicy('oracle/wss_saml_or_username_token_service_policy')
validatePolicySet()
commitRepositorySession()
listPolicySets()
exit()

3. GPAサービス・ポリシーが設定されていることを検証します。

1. GPAサービス・ポリシーがIdcWebLoginPortによってピックアップされるまでしばらく待ちます。

2. WSDLを検査してwsp:PolicyReferenceを探し、変更が適用されたかどうかを確認します。

http://server:16200/idcnativews/IdcWebLoginPort?WSDL

GPA Webサービス・クライアント・ポリシーの設定の詳細は、例30-7および例30-8を参照してください。

30.3.3.3 ドメインのGPAクライアント・ポリシーの設定

LPAが明示的に設定されていない場合にJAX-WS経由でRIDCによって活用されるWSクライアントに対するGPAポリシーを特定するには、WebLogic Scripting Tool (WLST)を初期化し、WebLogic Server Administration Scripting Shellを使用します。

例30-7のコードは、その一例を示しています。

例30-7 WebLogic Scripting Toolを使用したGPAポリシーの特定

(/u01/app/oracle/product/Middleware/oracle_common/common/bin)% ./wlst.sh

...

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

wls:/offline> connect('weblogic','password','t3://localhost:7001')
Connecting to t3://localhost:7001 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'base_domain'.

wls:/base_domain/serverConfig> help('wsmManage')

Operations that provide support to manage the global policy attachments and
Oracle MDS repository.

help('abortRepositorySession')
Abort the current repository session,
discarding the changes made to repository.
help('attachPolicySet')
Attach a policy set to the specified resource scope.
help('attachPolicySetPolicy')
Attach a policy to a policy set using the policy's URI.
help('beginRepositorySession')
Begin a session to modify the repository.
help('clonePolicySet')
Clone a new policy set from an existing policy set.
help('commitRepositorySession')
Write the contents of the current session to the repository.
help('createPolicySet')
Create a new, empty policy set.
help('deletePolicySet')
Delete a specified policy set.
help('describeRepositorySession')
Describe the contents of the current repository session.
help('detachPolicySetPolicy')
Detach a policy from a policy set using the policy's URI.
help('displayPolicySet')
Display the configuration of a specified policy set.
help('enablePolicySet')
Enable or disable a policy set.
help('enablePolicySetPolicy')
Enable or disable a policy attachment
for a policy set using the policy's URI.
help('exportRepository')
Export a set of documents from the repository into a supported ZIP archive.
help('importRepository')
Import a set of documents from a supported ZIP archive into the repository.
help('listPolicySets')
Lists the policy sets in the repository.
help('migrateAttachments')
Migrates direct policy attachments to global policy attachments
if they are identical.
help('modifyPolicySet')
Specify an existing policy set for modification in the current session.
help('resetWSMPolicyRepository')
Clean the Oracle MDS repository and re-seed with the current set
of WSM policies.
help('setPolicySetDescription')
Specify a description for the policy set selected within a session.
help('upgradeWSMPolicyRepository')
Add newly introduced WSM policies to the Oracle MDS repository.
help('validatePolicySet')
Validate an existing policy set in the repository or in a session.

wls:/base_domain/serverConfig> listPolicySets()
Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
For more help, use help(domainRuntime)

Global Policy Sets in Repository:
base-domain-ws-client

wls:/base_domain/serverConfig> displayPolicySet('base-domain-ws-client')

Policy Set Details:
-------------------
Name: base-domain-ws-client
Type of Resources: Web Service Client
Scope of Resources: Domain("base_domain")
Description: Global policy attachments for Web Service Client resources.
Enabled: true
Policy Reference: security : oracle/wss10_saml_token_client_policy, enabled=true

例30-8のコードは、WSクライアントのGPAポリシーを設定します。

例30-8 Webサービス・クライアントに対するGPAの追加

# add GPA for the web service client assuming domain name is base_domain
beginRepositorySession()
createPolicySet('base_domain-ws-client','ws-client','Domain("base_domain")')

# assuming service policy is hardcoded to
# oracle/wss11_saml_token_with_message_protection_service_policy
# and that we want the RIDC client to leverage client policy:
# oracle/wss11_saml_token_with_message_protection_client_policy
attachPolicySetPolicy
('oracle/wss11_saml_token_with_message_protection_client_policy')
validatePolicySet()
commitRepositorySession()

# confirm policy set created
listPolicySets()

# add GPA for the web service client assuming domain name is base_domain
beginRepositorySession()
createPolicySet('base_domain-ws-client','ws-client','Domain("base_domain")')

# assuming service policy is hardcoded to
# oracle/wss11_saml_token_with_message_protection_service_policy
# and that we want the RIDC client to leverage client policy:
# oracle/wss11_saml_token_with_message_protection_client_policy
attachPolicySetPolicy
('oracle/wss11_saml_token_with_message_protection_client_policy')
validatePolicySet()
commitRepositorySession()

# confirm policy set created
listPolicySets()

30.3.4 デフォルト設定の変更

クライアントの作成後に実行可能な、JAX-WS固有の構成がいくつかあります。ただし、ほとんどの場合、デフォルト設定を使用する必要があります。

このコードは、クライアントをJAX-WSタイプのキャストとしてビルドします。

JaxWSClient jaxwsClient = (JaxWSClient) manager.createClient
("http://wlsserver:7044/idcnativews");
JaxWSClientConfig jaxwsConfig = jaxwsClient.getConfig();

接続先のコンテンツ・サーバーのインスタンス名を設定できます。これはデフォルトで、コンテンツ・サーバーのインストール用のデフォルトWebコンテキストの/cs/に設定されます。サーバーのWebコンテキストがデフォルトと異なる場合、次のように設定できます。

// set the property
jaxwsConfig.setServerInstanceName("/mywebcontext/");

JPS構成ファイルの場所を設定します。JPS構成ファイルは、SAMLやメッセージ・トークンなど、ほとんどのポリシーで必要です。

jaxwsConfig.setJpsConfigFile("/my/path/to/the/jps-config.xml");

次のように、セキュリティ・ポリシーを設定します。

jaxwsConfig.setClientSecurityPolicy("policy:oracle/wss11_username_token_with_message_protection_client_policy");

ログイン・ポートのWSDL URLの変更

RIDCでは、インストールされたWebサービスに対してデフォルト値が使用されます。なんらかの理由でWebサービスが変更されており、デフォルトのURIまたはURLと一致しない場合は、デフォルト値の変更が必要になる可能性があります。

次のように、ログイン・ポートのWSDL URLを変更します。

jaxwsConfig.setLoginServiceWSDLUrl
(new URL("http://server:7044/webservices/loginPort?WSDL"));

次のように、リクエスト・サービスURLを変更します。

jaxwsConfig.setRequestServiceWSDLUrl
(new URL("http://server:7044/anotherservice/myrequestport?WSDL"));

デフォルトのストリーム・チャンク・サイズは8192です。次の例では、チャンク・サイズを変更します。

jaxwsConfig.setStreamingChunkSize(8190);

30.4 ユーザーの認証

Remote Intradoc Client (RIDC)へのすべてのコールで、認証のためのなんらかのユーザーIDが必要です。オプションで、このID資格証明に、プロトコルで必要なパスワードなど、他のパラメータを添付することができます。ユーザーIDは、IdcContextオブジェクトに保持されます。いったん作成されると、以降のすべてのコールでそれを再利用できます。コンテキストを作成するには、ユーザー名と、オプションでなんらかの資格証明を渡します。

次のように、(idc:// URLに対して)パスワードなしの単純なコンテキストを作成します。

IdcContext userContext = new IdcContext("weblogic");

次のように、パスワード付きのコンテキストを作成します。

IdcContext userPasswordContext = new IdcContext("weblogic", "password");

Intradoc URLの場合、リクエストがコンテンツ・サーバーとクライアントの間で信頼されているため、資格証明でパスワードは必要ありません。

JAX-WS URLの場合、資格証明の要件は、サーバーによってWebサービスが使用するように構成されているサービス・ポリシーによって異なります。

30.5 サービスの使用

サービスを起動するには、IdcClientクラス・メソッドを使用します。

public ServiceResponse sendRequest (IdcContext userContext, DataBinder dataBinder) throws IdcClientException

詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。

例30-9のコードは、サービス・リクエストを実行し、結果のデータ・バインダを戻します。

例30-9 サービス・リクエストの実行

// get the binder
DataBinder binder = idcClient.createBinder();

// populate the binder with the parameters
binder.putLocal ("IdcService", "GET_SEARCH_RESULTS");
binder.putLocal ("QueryText", "");
binder.putLocal ("ResultCount", "20");

// execute the request
ServiceResponse response = idcClient.sendRequest (userContext, binder);

ServiceResponseオブジェクトには、コンテンツ・サーバーからのレスポンスが含まれます。このレスポンスから、コンテンツ・サーバーのストリームに直接アクセスできます。または、それをDataBinderに解析し、結果を問い合せることができます。

例30-10のコードは、ServiceResponseオブジェクトを取得し、検索結果を取得して、タイトルと作成者の値を出力します。

例30-10 バインダの取得と結果のループ・オーバー

// get the binder
DataBinder binder = response.getResponseAsBinder ();
DataResultSet resultSet = binder.getResultSet ("SearchResults");

// loop over the results
for (DataObject dataObject : resultSet.getRows ()) {
System.out.println ("Title is: " + dataObject.get ("dDocTitle"));
System.out.println ("Author is: " + dataObject.get ("dDocAuthor"));
}

ストリームを使用する場合、ストリームのクローズはコードで行います。例30-11のコードは、ストリームを閉じます。

例30-11 ストリームを閉じる

IdcContext user = new IdcContext ("weblogic", "password");
IdcClientManager manager = new IdcClientManager ();
IdcClient idcClient = manager.getClient ("some url");
DataBinder binder = idcClient.createBinder ();
binder.putLocal ("IdcService", "GET_FILE");
binder.putLocal ("dID", "12345");
ServiceResponse response = idcClient.sendRequest (user, binder);

InputStream stream = null;
try {
stream = response.getResponseStream ();
int read = 0;
int total = 0;
byte[] buf = new byte[256];
while ((read = stream.read (buf)) != -1) {
total += read;
}
} finally {
if (stream != null) {
stream.close ();
}
}

接続プーリングとストリームを介して閉じる方法の詳細は、第30.6項「接続プーリングの処理」を参照してください。

30.6 接続プーリングの処理

IdcClientConfig#getConnectionPoolプロパティは、RIDCが接続のプーリングをどのように処理するかを決定します。simpleとpoolの2つのオプションがあります。

- simpleオプションがデフォルトです。simpleオプションでは、接続の最大数の制限は適用されず、すべての接続がブロックされることなく処理されます。ほとんどの場合、このオプションを使用する必要があります。

- poolオプションでは、一度にアクティブにする接続数を構成可能な内部プールを使用することが指定されます(IdcClientConfig#getConnectionSizeプロパティを通じて構成可能で、デフォルトのアクティブ・サイズは20に設定されます)。

通常、RIDCライブラリが、それ自体がアプリケーション・コンテナ内に存在するアプリケーション(Webアプリケーションなど)からの通信に使用される場合、インバウンド・リクエストはすでに調整されています。そのため、simpleオプションを使用することが適切です。poolオプションを使用する唯一のシナリオは、スタンドアロン・サーバーを作成しており、かつコンテンツ・サーバーの過負荷を生じさせる可能性がある大量の同時コールをコンテンツ・サーバーに対して行う場合です。

IdcClientManager#getConnectionPoolManager()#registerPool()メソッドによって別のプール実装を登録できます。このメソッドは、名前をConnectionPoolインタフェースの実装にマップします。マップされた名前は、IdcClientConfigオブジェクトで使用されて、特定のクライアントに対してそのプールが選択されます。

30.7 ストリームの送受信

ストリームは、TransferFileクラスを通じてコンテンツ・サーバーに送信されます。このクラスは、実際のストリームを、ストリームに関するメタデータ(長さや名前など)とともにラップします。ファイルとストリームのチェックインを可能にするメソッドの詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。

例30-12のコードは、コンテンツ・サーバーへのチェックインを実行します。

例30-12 コンテンツ・サーバーへのチェックイン

// create request
DataBinder binder = idcClient.createBinder();
binder.putLocal ("IdcService", "CHECKIN_UNIVERSAL");

// get the binder
binder.putLocal ("dDocTitle", "Test File");
binder.putLocal ("dDocName", "test-checkin-6");
binder.putLocal ("dDocType", "ADACCT");
binder.putLocal ("dSecurityGroup", "Public");

// add a file
binder.addFile ("primaryFile", new TransferFile ("test.doc"));

// check in the file
idcClient.sendRequest (userContext, binder);

コンテンツ・サーバーからのレスポンス

コンテンツ・サーバーからのストリームは、ServiceResponseオブジェクトを通じて受信されます。使用可能なメソッドのサマリーは、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。

特に要求されないかぎり、レスポンスは、DataBinderに変換されません。単に未加工のHDAデータが必要な場合は、それを直接取得し、レスポンスをStringまたはDataBinderに変換できます。

例30-13のコードは、サービスを実行し、レスポンスを文字列として取得して、それをデータ・バインダに解析します。

例30-13 DataBinderへのStringの解析

// create request
DataBinder binder = idcClient.createBinder ();

// execute the service
ServiceResponse response = idcClient.sendRequest (userContext, binder);

// get the response stream
InputStream stream = response.getResponseStream ();

// get the response as a string
String responseString = response.getResponseAsString ();

// parse into data binder
DataBinder dataBinder = response.getResponseAsBinder ();

コンテンツ・サーバーのほとんどのサービス・リクエストは、クライアント上でDataBinderを使用してモデル化される構造化HDAペイロードを返します。HDAペイロードは基本的にマップのような構造であり、オプションとして、表に似たResultSetが含まれています。

ダウンロード・スタイルのサービス・リクエスト(GET_FILEなど)は通常、リクエストされたドキュメントのコンテンツをRAWバイト・ストリームとして返すと予想されています。ただし、GET_FILEリクエストに指定されたパラメータが無効な場合、またはエンド・ユーザーの権限が十分でない場合などには、コンテンツ・サーバーは、エラー情報を含めたHDAペイロードで応答することがあります。したがって、GET_FILEのようなリクエストを実行するときには、例30-14に示すように、ServiceResponseオブジェクトに質問して、返されるレスポンス・タイプを決定する必要があります。

例30-14 返されるレスポンス・タイプ

DataBinder binder = idcClient.createBinder ();
binder.putLocal ("IdcService", "GET_FILE");
binder.putLocal ("dID", "12345");
ServiceResponse response = idcClient.sendRequest (user, binder);
if (response.getResponseType().equals(ServiceResponse.ResponseType.BINDER))
{
DataBinder responseBinder = response.getResponseAsBinder(false); // do not check for errors
int statusCode = m_binder.getLocalData ("StatusCode").getInteger("StatusCode");
String statusMessage = m_binder.getLocal ("StatusMessage");
throw new IllegalStateException("Download response was not a stream - Error: " + statusCode + " - " + statusMessage);
}

30.8 複数のリクエストに対するバインダの再利用

バインダは、複数のリクエスト間で再利用できます。あるリクエストからのバインダを別のリクエストに送信できます。あるコールからのバインダを次のコールで再利用する場合、次のコールに影響する可能性のあるものがバインダに残っていないように、細心の注意を払う必要があります。RIDCは、各コールの後にバインダをクリーンアップしません。

例30-15のコードは、コンテンツ・サーバーへの複数のコールで同じバインダを再利用することで、検索結果をページングする例を示しています。

例30-15 バインダの再利用

// create the user context
IdcContext idcContext = new IdcContext ("sysadmin", "idc");

// build the search request binder
DataBinder binder = idcClient.createBinder();
binder.putLocal("IdcService", "GET_SEARCH_RESULTS");
binder.putLocal("QueryText", "");
binder.putLocal("ResultCount", "20");

// send the initial request
ServiceResponse response = idcClient.sendRequest (binder, idcContext);
DataBinder responseBinder = response.getResponseAsBinder();

// get the next page
binder.putLocal("StartRow", "21");
response = idcConnection.executeRequest(idcContext, binder);
responseBinder = response.getResponseAsBinder();

// get the next page
binder.putLocal("StartRow", "41");
response = idcConnection.executeRequest(binder, idcContext);
responseBinder = response.getResponseAsBinder();

30.9 ユーザー・セキュリティの設定

コンテンツ・サーバーには、コンテンツ・サーバー上の設定によって制御されるいくつかのセキュリティ・モデルがあります。特定のユーザーがあるドキュメントへのアクセス権を持っているかどうかを判断するには、ユーザーの権限コントロール、ドキュメントの権限コントロール、コンテンツ・サーバーのセキュリティ環境設定という3つのものが必要です。

UserSecurityモジュールをコールするアプリケーション・プログラムは、スーパーユーザーとして(ドキュメントのバインダ、通常は検索結果で)ドキュメントおよびDOC_INFOメタデータをフェッチし、その情報をキャッシュすると想定されます。アプリケーション・プログラムで、特定のユーザーがドキュメントへのアクセス権を持っているかどうかを把握する必要がある場合、そのユーザーの権限をフェッチするために、そのユーザーとしてコンテンツ・サーバーへのコールが行われます。いったんユーザーの権限コントロールが把握されると、それらをドキュメントのメタデータ内の情報と照合してそのユーザーのアクセス・レベルを判断することができます。(アクセス・レベルは、READ、READ/WRITEまたはREAD/WRITE/DELETEです)。したがって、必要なのは、(キャッシュによって)コンテンツ・サーバーへのコール数を減らし、ユーザーの権限情報とドキュメントの権限情報を照合するデフォルトの実装を用意することです。さらに複雑化させる1つの要因は、コンテンツ・サーバーが一部のサーバー環境プロパティ(UseAccounts=trueおよびUseCollaboration=trueまたはUseEntitySecurity=1)でどのセキュリティのタイプが使用されるかを制御することです。さらに、メソッドによって、そのドキュメントのセキュリティ・タイプに管理者権限が割り当てられているかどうかをテストすることができます。

ユーザー・セキュリティ・コンビニエンスには、IUserSecurityCacheインタフェースを通じてアクセスできます。それらのクラスは、オプションのコンテンツ・サーバー・セキュリティを実装します。

- UserSGAcctAclCacheクラスは、常にコールする必要があります。このクラスは、セキュリティ構成についてコンテンツ・サーバーをチェックし、それに合せて自身を内部的に調整します。

- UserSecurityGroupsCacheクラスは、ユーザー権限のキャッシュを保持し、セキュリティ・グループ情報のみを考慮してドキュメントを照合します。このクラスを直接コールしないでください。UserSGAcctAclCacheクラスは、セキュリティ構成についてコンテンツ・サーバーをチェックし、それに合せて自身を内部的に調整します。

- コンテンツ・サーバーにUseAccounts=true設定がある場合、UserSGAccountsCacheクラスは、アカウント情報も考慮するためのリゾルバを追加します。このクラスを直接コールしないでください。UserSGAcctAclCacheクラスは、セキュリティ構成についてコンテンツ・サーバーをチェックし、それに合せて自身を内部的に調整します。

詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。

例30-16のコードは、ユーザー・セキュリティの設定の例を示しています。

例30-16 ユーザー・セキュリティの設定

IdcClientManager m_clientManager = new IdcClientManager ();
IdcClient m_client = m_clientManager.createClient
("http://localhost/scs/idcplg");

//RIDC superuser context
IdcContext m_superuser = new IdcContext("sysadmin", "idc");

//This class will self-adjust (downwards) to match the security model
// on Content Server.
IUserSecurityCache m_userSecurityCache = new UserSGAcctAclCache
(m_client, 20, 1000, 20000, m_superuser);
ITrace trace = null;

//Example test
testDocPermission () {
//If you don't want to do any logging, you can leave trace as null
if (m_log.isLogEnabled(ILog.Level.TRACE)) {
trace = new Trace ();
}
DataBinder m_doc1 = getDataBinder ("TEST");
//Get the document information (typically in the first row of DOC_INFO)
DataObject docInfo = m_doc1.getResultSet ("DOC_INFO").getRows ().get (0);
//Get the cache id for this user
//This makes a live call to content server to get the user ID for "Acme1"
//CacheId acme1 = m_userSecurityCache.getCacheIdForUser
//  (new IdcContext("Acme1", "idc"), trace);
IdcContext context = new IdcContext("Acme1", "idc");
CacheId acme1 = new CacheId (context.getUser (), context);
//Get the access level for this document by this user
int access = m_userSecurityCache.getAccessLevelForDocument
(acme1, docInfo, trace);
//Check if user has ACL admin permissions
boolean aclAdmin = m_userSecurityCache.isAdmin
(acme1, docInfo, IUserSecurityCache.AdminType.ACL, trace);
if (m_log.isLogEnabled(ILog.Level.TRACE)) {
m_log.log (trace.formatTrace (), ILog.Level.TRACE);
}
}
//Example code to get a Document's DOC_INFO databinder
DataBinder getDataBinder (String dDocName) throws IdcClientException {
DataBinder dataBinder = m_client.createBinder ();
dataBinder.putLocal ("IdcService", "DOC_INFO_BY_NAME");
dataBinder.putLocal ("dDocName", dDocName);
ServiceResponse response = m_client.sendRequest (m_superuser, dataBinder);
return response.getResponseAsBinder ();
}
//Example code to create a DataObject
DataObject dataObject = m_client.getDataFactory ().createDataObject ();
dataObject.put ("dSecurityGroup", "public");
dataObject.put ("dDocAccount", "Eng/Acme");

内部的に、ドキュメントからのこれらのフィールドは、getAccessLevelForDocument()の間に調査されます。

- AccessResolverSecurityGroupsクラスの場合: dSecurityGroup

- AccessResolverAccountsクラスの場合: dDocAccount

- AccessResolverSecurityGroupsクラスの場合: xClbraUserList、xClbraAliasListおよびxClbraRoleList

IAccessResolverクラスは、コンテンツ・サーバーからキャッシュされた情報に基づいて参加するかどうかを決定します。参加する場合、複数のアクセス・レベルは論理積(AND)になります。hasAdmin()メソッドを使用して、管理アクセス権があるかどうかを判断できます。詳細は、Oracle Fusion Middleware Oracle WebCenter Content Remote Intradoc Client (RIDC) Java APIリファレンスを参照してください。

30.10 RIDCフィルタの使用

Remote Intradoc Client (RIDC) 11gR1 (11.1.1.4.0以上)では、DataBinderが処理されてコンテンツ・サーバーに送信される前に、アプリケーション・コードでフィルタを追加することが可能です。IdcFilterAdapterクラスのいずれかを拡張してフィルタを作成し、そのフィルタを登録してIdcFilterManagerクラスで実行できます。フィルタは、登録時に指定された順番で実行されます。すでに登録済のフィルタを取得したり、削除したりすることもできます。

例30-17のコードは、アダプタを拡張し、アクションを実行するメソッドをオーバーライドします。

例30-17 サービス・リクエストの前のRIDCフィルタのコール

public class IdcFilterAddComment extends BeforeServiceRequestFilter {
@Override
public void beforeServiceRequest
(IdcClient client, IdcContext context, DataBinder binder)
throws IdcClientException {
String existingComments = binder.getLocal("xComments");
if (existingComments != null) {
binder.putLocal("xComments", String.format
("%s %s", existingComments, "--DGT WAS HERE--"));
} else {
binder.putLocal("xComments", "--DGT WAS HERE--");
}
}
}

Remote Intradoc Client (RIDC) 11gR1 (11.1.1.5.0以降)では、JAX-WS処理領域にさらに2つのフィルタの場所が提供されます。それらのフィルタを使用するには、BeforeJaxwsServiceFilterクラスを拡張します。

例30-18のコードは、BeforeJaxwsServiceFilterクラスを拡張します。

例30-18 JAX-WSコールの前のRIDCフィルタのコール

/**
* RIDC filter called just before jaxws call is made to
* loginPort.contentServerLogin () in authenticateUser ()
**/
public void beforeJaxwsAuthenticateUser (IdcContext context, DataBinder binder,
Map<String, Object> requestContext) throws IdcClientException {
requestContext.put(oracle.wsm.security.util.SecurityConstants.
ClientConstants.WSM_SUBJECT_PRECEDENCE, ”false”);
}

/**
* RIDC filter called just before jaxws call is made to
* loginPort.contentServerRequest () in performServiceRequest ()
**/
public void beforeJaxwsServiceRequest (IdcContext context, DataBinder binder,
Map<String, Object> requestContext) throws IdcClientException {
//Override this class and implement your filter here
}

例30-19のコードは、フィルタ・クラス(複数可)を登録します。

例30-19 フィルタ・クラスの登録

// If you are at the start of a pure RIDC application, you typically
// will create a ClientManager, for example:
IdcClientManager m_clientManager = new IdcClientManager();

// New method added to IdcClient to get the ClientManager
// if you do not have the ClientManager instance:
IdcClient client = myClient;
client.getClientManager();

// From the ClientManager, you can get the FilterManager:
IdcFilterManager fmanager = m_clientManager.getFilterManager();

// Then register your filter:
IIdcFilter addCommentFilter = new IdcFilterAddComment();
int slot = fmanager.registerFilter(100, addCommentFilter);

// Optionally, you can deregister. However, it might not be in the slot you
// assigned because there might have already been a filter in that slot.
// When registering, the next available higher slot will be used. You also need
// to pass in the instance currently in the slot you want to remove:
fmanager.deRegisterFilter(slot, addCommentFilter);

// Here is an example to remove all the filters,
// including the ones you did not register
for (Integer slot:fmanager.getUsedSlots()) {
fmanager.deRegisterFilter(slot, fmanager.getFilter (slot));
}

31 コンテンツ・サーバーのJCRアダプタの使用

この章では、Oracle WebCenter Content ServerのJava Content Repository (JCR)アダプタの使用方法について説明します。

この章の内容は次のとおりです。

- 第31.1項「Java Content Repositoryアダプタについて」

- 第31.2項「必要なAPIおよびランタイム・ライブラリのインストール」

- 第31.3項「JCRアダプタのデプロイ」

- 第31.4項「コンテンツ・サーバーとの通信の構成」

- 第31.5項「コンテンツ・アイテムに関する情報の検索」

- 第31.6項「検索索引の使用」

- 第31.7項「ファイル・ストア・プロバイダの使用」

31.1 Java Content Repositoryアダプタについて

Java Content Repository APIは、標準化された方法でコンテンツ・リポジトリにアクセスするための仕様です。この仕様は、Java Community ProcessのもとでJSR-170として開発されました。これには、Java APIのコンテンツ・リポジトリおよびJava Content Repository (JCR)が含まれています。

JSR-170仕様に関連する標準的なAPIは、コンテンツ・サーバーのJCRアダプタで機能し、公開されます。JCR 1.0 APIは、必須であり、基礎となるフレームワークの一部として事前デプロイされ、統合される必要があります。

Oracleアダプタは、完全に標準に基づいており、J2EEコネクタ・アーキテクチャとWebサービス・アーキテクチャの両方に準拠しています。JCRアダプタは、どのJSR-170準拠のアプリケーション上にもデプロイでき、標準ベースのJCR仕様を通じてコンテンツ・サーバーと通信することを可能にします。

31.1.1 JCRデータ・モデル

JCR標準は、拡張可能なノード・タイプおよびコンテンツ・プロパティに基づいた階層型のデータ・モデルを使用します。このデータ・モデルは、リポジトリの、基礎となるストレージ・サブシステムによって使用されます。詳細は、JCRおよびJSR-170標準を参照してください。

- nt:folderノード・タイプは、構造化されたノード・コレクションを表します。これは、多数のファイル・システムで採用されているディレクトリまたはフォルダのコンセプトに密接に関連しており、通常、ファイル・システム・ディレクトリをコンテンツ・リポジトリにマップするときに使用されるノード・タイプです。

- nt:resource子ノードは通常、追加のリソース・メタデータが必要な場合にプレーン・バイナリ・プロパティのかわりに使用されます。

- nt:fileノード・タイプは、なんらかのコンテンツのあるファイルを表します。

- nt:unstructuredノード・タイプは、すべての種類のプロパティおよび子ノードをノードに追加することを許容します。これは通常、ノード内に格納されるコンテンツについて何も情報がないときに使用されます。

31.1.2 コンテンツ・サーバーのJCRアダプタ・データ・モデル

これは、次のような、コンテンツ・サーバーのJCRアダプタのデータ・モデルです。

A Folder [nt:folder]
+- jcr:content [nt:resource]
+- jcr:created DATE
<returns dCreateDate for the folder>
+- ojcr:owner STRING
<returns dCollectionOwner for the folder>
+- ojcr:creator STRING
<returns dCollectionCreator if it is available,
otherwise it returns dCollectionOwner>
+- ojcr:lastModifier STRING
<returns dCollectionModifier if it is available,
otherwise it returns dCollectionOwner
+- ojcr:lastModified STRING
<returns dLastModifiedDate>
+- ojcr:displayName STRING
<returns dCollectionName for the folder>
+- idc:defaultMetadata [nt:unstructured]
<metadata that should by default be applied to content checked
into this folder. see idc:metadata under nt:file/jcr:content for
example fields>
+- idc:folderMetadata [nt:unstructured]
+- idc:dCollectionName STRING
+- idc:dCreateDate DATE
+- idc:dCollectionPath STRING
+- idc:dLastModifiedDate DATE
+- idc:dCollectionOwner STRING
+- idc:dCollectionGUID STRING
+- idc:dParentCollectionID INTEGER
+- idc:dCollectionQueries INTEGER
+- idc:dCollectionEnabled INTEGER
+- idc:dCollectionInherit INTEGER
+- idc:dChildManipulation INTEGER
+- idc:dCollectionID INTEGER
+- idc:dCollectionCreator STRING
+- idc:dCollectionModifier STRING
+- idc:folderPermissions [nt:unstructured]
+- idc:userCanRead INTEGER
+- idc:userCanWrite INTEGER
+- idc:userCanDelete INTEGER

A Document.txt [nt:file]
+- jcr:content [nt:resource]
+- jcr:data=...
+- jcr:created DATE
<returns dDocCreatedDate from the RevClasses table>
+- ojcr:creator STRING
<returns dDocCreator from the RevClasses table>
+- ojcr:lastModifier STRING
<returns dDocLastModifier from the RevClasses table>
+- ojcr:lastModified STRING
<returns dDocLastModifiedDate >
+- ojcr:author STRING
<returns dDocAuthor for the document>
+- ojcr:comment STRING
<if xComments exists as a metadata field, that is returned>
+- ojcr:displayName STRING
<returns the filename>
+- ojcr:language STRING
<if xIdcLanguage exists as a metadata field, that is returned>
+- idc:metadata [nt:unstructured]
<returns values for everything in the RevClasses table,
please see the definition of that table to see exactly what is defined
+- idc:dID INTEGER
+- idc:dDocName STRING
+- idc:dDocTitle STRING
+- idc:dDocAuthor STRING
+- idc:dRevClassID INTEGER
+- idc:dRevisionID INTEGER
+- idc:dRevLabel STRING
+- idc:dIsCheckedOut INTEGER
+- idc:dSecurityGroup STRING
+- idc:dCreateDate DATE
+- idc:dInDate DATE
+- idc:dOutDate DATE
+- idc:dStatus STRING
+- idc:dReleaseState STRING
+- idc:dWebExtension STRING
+- idc:dProcessingState STRING
+- idc:dMessage STRING
+- idc:dDocAccount STRING
+- idc:dReleaseDate DATE
+- idc:dRendition1 STRING
+- idc:dRendition2 STRING
+- idc:dIndexerState STRING
+- idc:dPublishType STRING
+- idc:dPublishState STRING
+- idc:dWorkflowState STRING
+- idc:dRevRank INTEGER
<all custom metadata properties for a revision
like idc:xComments STRING>

31.2 必要なAPIおよびランタイム・ライブラリのインストール

JCRアダプタは、JSR-170仕様をサポートするどのアプリケーションでも使用できますが、このアダプタでは、カスタム統合が必要です。このカスタム統合では、いくつかのAPIとランタイム・ライブラリで構成されている、基礎となるフレームワークがインストールされている必要があります。

注意:

JCRアダプタとRemote Intradoc Client (RIDC)を除いて、これらのAPIとランライム・ライブラリはすべて、Oracle JDeveloperおよびOracle WebCenterで提供されています。

31.2.1 ADFラインタイム・ライブラリのインストール

Application Development Framework (ADF)のランタイム・ライブラリのいくつかは必須であり、アプリケーションにインストールされている必要があります。これらのファイルは、Oracle JDeveloperインスタンスにあります。JDeveloperの「ADFランタイム・インストーラ」ウィザードを使用してインストールすることも、手動でインストールすることも可能です。

アプリケーションに次のADFランタイム・ライブラリがデプロイされている必要があります。

- adf-share-base.jar

- adf-share-ca.jar

- adf-share-support.jar

- adflogginghandler.jar

これらのライブラリをアプリケーションに手動でインストールする場合は、libディレクトリにインストールする必要があります。たとえば、TomcatへのインストールではTOMCAT_HOME/common/libディレクトリを使用し、Oracle WebLogic ServerへのインストールではWL_HOME/ADF/libディレクトリを使用します。(Oracle WebLogic Serverの場合、ADFおよびlibディレクトリを作成する必要があります。)

31.2.2 Remote Intradoc Client (RIDC)のデプロイ

アプリケーションにRemote Intradoc Clientがデプロイされている必要があります。RIDCは、コンテンツ・サーバーとの通信のためのシン通信APIを提供します。このAPIは、コンテンツ・サーバー・インスタンスへのデータ抽象化を除去する一方で、接続のプーリング、セキュリティおよびプロトコルの固有情報を処理するためのラッパーを引き続き提供します。RIDCは、JCRアダプタの配布ファイルに含まれており、Oracle Technology Network (OTN)で入手できます。

第30章「RIDCを使用したコンテンツ・サーバーへのアクセス」を参照してください。

31.2.3 JCR APIのデプロイ

アプリケーションにJava Content Repository (JCR) APIがデプロイされている必要があります。JCR APIはJDeveloperから使用できます。または、Apache Software FoundationのWebサイト(http://www.apache.org/)からダウンロードすることもできます。

JCR APIは、JSR-170仕様にも含まれていて、Java Community ProcessのWebサイト(http://www.jcp.org/)からダウンロードできます。

31.2.4 JCR統合ライブラリのインストール

次のJCR統合ライブラリは必須であり、アプリケーションにデプロイされている必要があります。

- jcr-common-runtime.jar

- ojcr.jar

- ojdbc5.jar

これらのファイルは、JDeveloperインスタンスにあります。

31.2.5 XML統合ファイルのインストール

次のXML統合ライブラリは必須であり、アプリケーションにデプロイされている必要があります。

- xmlparserv2.jar

- xquery.jar

これらのファイルは、JDeveloperインスタンスにあります。

31.3 JCRアダプタのデプロイ

コンテンツ・サーバーとの通信を可能にするには、アプリケーションにJCRアダプタがデプロイされている必要があります。JCRアダプタは、基礎となるフレームワークの一部としてRemote Intradoc Client (RIDC)を利用し、一般的なJSR-170アーキテクチャと連携して機能します。

JCRアダプタのデプロイでは、それぞれのJSR-170準拠アプリケーションの一般的な指示に従ってください。JCRアダプタは、埋込みのデプロイメント・ディスクリプタ(rep_descriptor.xml)を使用します。デプロイメントでは、多くのアプリケーションがデプロイメント・ディスクリプタを使用して、管理インタフェースまたはデプロイメント・ウィザードの一部として構成エントリを移入します。アプリケーションで管理インタフェースまたはデプロイメント・ウィザードを使用していない場合、デプロイメント・ディスクリプタを直接編集し、必要な値を指定する必要があります。

31.4 コンテンツ・サーバーとの通信の構成

JCRアダプタとコンテンツ・サーバー間の通信を可能にするには、次の項目を構成します。

- 通信方法

- ソケット通信(リスナー・ポート)

- セキュア・ソケット通信(SSL)

- Web通信(Webサーブレット・フィルタ)

- ユーザー・エージェント

- キャッシュ設定

31.4.1 通信方法の指定

この構成設定では、プロバイダ名と通信方法を指定する必要があります。

CIS_SOCKET_TYPE_CONFIG: この構成設定は、コンテンツ・サーバーとの通信方法を定義します。オプションは、socket、socketsslおよびwebです。次に例を示します。

oracle.stellent.jcr.configuration.cis.config.socket.type

- socket (リスナー・ポート)の通信方法では、RIDCがコンテンツ・サーバーのリスナー・ポートを使用するように指定されます。通信方法としてsocketを使用する場合は、必須の構成値を指定する必要があります。

- socketsslの通信方法では、通信プロトコルとしてセキュア・ソケット通信(SSL)を使用することが指定されます。通信方法としてsocketsslを使用する場合は、ソケット通信とセキュア・ソケット通信の両方の構成値を指定する必要があります。

- web (Web サーバー・フィルタ)の通信方法では、RIDCがWeb サーバー・フィルタ経由で通信することが指定されます。Web サーバー・フィルタは、各リクエストに対して個別の認証を要求します。通信方法としてwebを使用する場合は、必須の構成値を指定する必要があります。

31.4.2 ソケット通信(リスナー・ポート)の構成

通信プロトコルとしてセキュア・ソケット通信(SSL)を使用する場合は、次の構成設定の値を指定する必要があります。

- SERVER_HOST_CONFIG: コンテンツ・サーバーが実行されているマシンのホスト名。デフォルト値はlocalhostです。

oracle.stellent.jcr.configuration.server.host

- SERVER_PORT_CONFIG: コンテンツ・サーバーがリスニングしているポート。デフォルト値は16200です。

oracle.stellent.jcr.configuration.server.port

31.4.3 セキュア・ソケット通信(SSL)の構成

通信プロトコルとしてセキュア・ソケット通信(SSL)を使用する場合は、ソケット通信(リスナー・ポート)と次の構成設定の両方の値を指定する必要があります。

- KEYSTORE_LOCATION: キーストア・ファイルの場所と名前。

oracle.stellent.jcr.configuration.ssl.keystore.location

- KEYSTORE_PASSWORD: キーストア・ファイルのパスワード。

oracle.stellent.jcr.configuration.ssl.keystore.password

- PRIVATE_KEY_ALIAS: 認証のための秘密鍵のエイリアス。

oracle.stellent.jcr.configuration.ssl.privatekey.alias

- PRIVATE_KEY_PASSWORD: 秘密鍵のパスワード。

oracle.stellent.jcr.configuration.ssl.privatekey.password

ソケット通信の値については、第31.4.2項「ソケット通信(リスナー・ポート)の構成」を参照してください。

31.4.4 Web通信(Webサーバー・フィルタ)の構成

アプリケーションがWebサーバー・フィルタ経由で接続する(Web通信)場合は、次の構成設定のいずれかの値を指定する必要があります。

- SERVER_WEB_CONTEXT_ROOT_CONFIG: /context_rootという形式の、コンテンツ・サーバーのWebサーバー・コンテキスト・ルート。この設定により、Oracle WebCenterおよび他のアプリケーション統合で、よりシームレスな統合が実現します。
例: /cs/

- SERVER_WEB_URL_CONFIG: コンテンツ・サーバーのWebサーバー拡張機能への完全URL。プロトコル(通常はhttpまたはhttps)、ホスト名、ポート、相対Webルートおよび拡張ルート(通常はidcplg)を含みます。ポート80以外のポートを使用する場合は、ポート番号を指定する必要があります。
例: http://myserver.example.com:8080/cs/idcplg/

oracle.stellent.jcr.configuration.server.web.url

31.4.5 ユーザー・エージェントの構成

オプションで、次の構成設定の値を指定して、JCRリクエストを識別することができます。

- CIS_USER_AGENT_CONFIG: RIDCユーザー・エージェントに添付する文字列。この値を設定すると、JCRアダプタによって行われるリクエストの識別に役立ちます。

oracle.stellent.jcr.configuration.cis.config.userAgent

31.4.6 キャッシュ設定の指定

オプションで、次のキャッシュ設定の値を指定できます。

- VCR_CACHE_INVALIDATION_INTERVAL: WebCenter Content SPIがキャッシュの無効化をチェックするポーリング間隔(分単位)。デフォルトは0(ゼロ)で、キャッシュの無効化は行われません。最小値は2分です。

com.oracle.content.spi.ucm.CacheInvalidationInterval

- VCR_BINARY_CACHE_MAX_SIZE: VCRバイナリ・キャッシュに格納されるドキュメントの最大サイズ(バイト単位)。デフォルト値は102400 (800KB)です。

com.bea.content.federated.binaryCacheMaxEntrySize

31.5 コンテンツ・アイテムに関する情報の検索

コンテンツ・サーバーによって管理されるコンテンツは、主に次の4つの表によって追跡されます。

- Revisions

- Documents

- DocMeta

- RevClasses

これらの表は、コンテンツのメタデータ、状態およびアクションに加えて、各ファイルに関連付けられている情報も追跡します。

Revisions

この表は、コンテンツの各リビジョンに関する主要な情報を追跡します。

- リビジョンごとに1行

- 同じコンテンツIDおよびRevClass IDを共有し、同じコンテンツを持つ異なるリビジョン

- 各リビジョンのシステム・メタデータ

- リビジョンのメタデータ: コンテンツID、タイトル、作成者、チェックイン日など

- カテゴリ化およびセキュリティのメタデータ: タイプ、セキュリティ・グループ、ドキュメント・アカウント

- 様々なアクションの状態情報

- 索引の作成

- Workflow

- ドキュメント変換

- リビジョンの追跡と取得に役立つ数値IDとテキスト・ラベル

- 各リビジョンの一意のdID値(表内の主キー)

- コンテンツの一意のdRevClassID値

- 各リビジョンのリビジョン番号をマークするためのリビジョンID

Documents

この表は、各コンテンツ・リビジョンに関連付けられているファイルの情報を追跡します。

- リビジョンごとに1行

- リビジョンごとに複数行、次のファイルそれぞれに1行

- プライマリ

- 代替

- Web表示可能

- ファイル情報: 元の名前、場所、言語、サイズなど

DocMeta

この表には、拡張メタデータ・フィールドが含まれます。

- リビジョンごとに1行

- メタデータ・フィールドごとに1列

- DocMetaDefinition表に格納されている各フィールドの定義

RevClasses

この表は、各コンテンツ・リビジョンの情報を追跡します。

- コンテンツ・アイテムごとに1行

- コンテンツの変更がロックされた行

- 一意のdDocNameおよびRevClassId値

- 現在の索引付きリビジョン

- 日付およびユーザー:

- 作成日および作成者

- 最終変更日およびユーザー

- 所有者

31.6 検索索引の使用

コンテンツ・サーバーは、リポジトリを検索するための様々な方法を提供します。メタデータの検索は、Revisions、Documents、DocMetaおよびRevClasses表に基づいて行うことができます。テキスト検索を効率的に実行するには、Oracle Databaseの全文検索機能を利用し、検索索引を保持するためのIdcText表を作成します。

IdcText

この表には、Revisions、Documents、DocMetaおよびRevClasses表から選択された列に加えて、他のデータの列も含まれます。

- Revisions、RevClassesおよびDocuments表からの事前定義リストが含まれます。

- DocMeta表からの、検索可能と示されているカスタム・メタデータが含まれます。

- OtsMeta列(CLOBフィールド)には、SDATAセクション、および他の列に存在しない追加の索引付け可能フィールドが含まれます。ただし、SDATAには大きな制限があります。

- OtsContent列には、索引付け可能なドキュメントが含まれます。

- ResultSetInterface列は、ソートやカウント予測、またはドリルダウンに使用できます。

31.7 ファイル・ストア・プロバイダの使用

ファイル・ストア・プロバイダを使用して、ファイル・システム、データベース、他のデバイス、またはこれら3つの任意の組合せで、コンテンツ・サーバーによって管理されるファイルを配布できます。ファイルは、Content Server 11gのSecureFilesに格納されます。データベース支援のファイル・ストレージの場合、FileStorageおよびFileCache表に、各ファイルに関連した情報が格納されます。

FileStorage

この表には、ファイル情報と一部の追加情報が格納されます。

- BLOB(バイナリ・ラージ・オブジェクト)フィールドに格納されるファイル(Content Server 11gにおけるSecureFile)
データベース管理者は、追加のBLOB最適化を有効にすることができます。たとえば、SecureFilesによる重複排除、圧縮、暗号化などです。

- コンテンツ・サーバーによって管理される特定のファイルを指すdIDおよびdRenditionID

- 少数のフィールドの追跡情報: 最終変更日およびファイル・サイズ

FileCache

この表には、ファイル・システムにキャッシュされているファイル、特定のタイプの処理(抽出、変換など)およびWebサーバーによるクイック・アクセスのためのポインタが格納されます。このポインタは、クリーンアップの実行にも使用されます。

32 WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成

この章では、WSDLおよびSOAPファイルを使用してOracle WebCenter Content Serverを管理することによって、これらのファイルを使用するクライアント・アプリケーションにOracle WebCenter Contentを統合する方法について説明します。また、コンテンツ・サーバーの機能にアクセスするための統合テクノロジを提供するWSDLジェネレータ・コンポーネントの使用方法についても説明します。

この章の内容は次のとおりです。

- 第32.1項「WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成について」

- 第32.2項「SOAPクライアントを使用したコンテンツ・サーバーへのアクセス」

- 第32.3項「SOAPを使用したコンテンツ・サーバー・サービスのコール」

- 第32.4項「Active Server PageにおけるSOAPパケットの使用」

- 第32.5項「WebCenter ContentにアクセスするためのWSDLファイルの生成」

- 第32.6項「WSDLファイルのカスタマイズ」

コンテンツ・サーバーで使用できるWebサービスの一般的な情報については、第25.2項「Webサービスの概要」を参照してください。この章で説明されているWebサービスの使用方法は、Oracle Universal Content Management 10gで導入されました。WebCenter Content Webサービスを、セキュリティが構成され、Security Assertion Markup Language (SAML) (Oracle WebCenter Content 11gで導入されました)がサポートされている状態で使用する場合は、第26章「統合のためのWebCenter Content Webサービスの構成」を参照してください。

Webサービスをいずれの方法で使用した場合でも、セキュリティのためにOracle Web Services Manager (Oracle WSM)を使用することができます。Oracle WSMの詳細は、『Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド』を参照してください。

32.1 WSDL、SOAPおよびWSDLジェネレータを使用したWebサービスの構成について

Web Services Definition Language (WSDL)およびSOAP (Simple Object Access Protocol)ファイルを使用して、クライアント・アプリケーションからコンテンツ・サーバーを管理できます。SOAPは、Webサービス・リクエストおよびレスポンス・メッセージをネットワーク経由で送信する前にそれらの中の情報をエンコードするための、軽量のXMLベース・メッセージング・プロトコルです。

WSDLジェネレータ・コンポーネントWsdlGenerator(これは、コンテンツ・サーバーにデフォルトでインストールされ有効化されます)は、コンテンツ・サーバーのサービスのためのWSDLを生成します。WSDLを取得し、それをAPIにプラグインして、コンテンツ・サーバーで使用するためのWebサービスを作成できます。

一部のSOAP機能は、コアのコンテンツ・サーバーに組み込まれています。SOAPの使用にWSDLジェネレータ・コンポーネントが不可欠というわけではありません。管理者は、必要に応じて、SOAPでコンテンツ・サーバーへのサービス・コールを記述することができます。WSDLジェネレータを使用すると、既存のクライアント・アプリケーションを柔軟に変更できるようになります。

WebCenter Contentには、WebCenter Content IDCService (Internet Distributed Content Service)を公開するWSDL 1.1実装があり、WebCenter Content IDCServiceは、コンテンツ・サーバーのすべての機能を拡張します。IDCServiceを使用して、次のいずれのタスクも実行できます。

- コンテンツをチェックインまたはチェックアウトする

- ワークフローを作成、実行または承認する

- コンテンツを公開できるようにする

- コンテンツを、カテゴリ(メタデータ)、コンテンツ(全文)またはそれらの組合せによって検索する

WSDLファイルを使用してWebCenter ContentおよびSOAPにマップし、WebCenter Content内のコンテンツおよびコンテンツ管理機能にアクセスし、コンテンツ管理機能をWebサービスとしてデプロイすることができます。または、SOAPでコンテンツ・サーバーへのサービス・コールを記述することができます。

32.1.1 Webサービス・フレームワーク

Webサービスのコアとなる実現技術は、次のようなものです。

- XMLデータ

- WSDLインタフェース

- SOAP通信

- UDDIレジストリ

32.1.1.1 XMLデータ

eXtensible Markup Language (XML)は、すべてのWebサービス・テクノロジの基礎を提供する一まとまりの仕様です。XML構造および構文を基礎として使用することで、様々なプログラミング言語、ミドルウェアおよびデータベース管理システム間でデータを交換することが可能になります。

XML構文には、インスタンス・データ、型付け、構造、およびデータに関連するセマンティック情報が組み込まれます。XMLでは、データは独立して記述され、データをソフトウェア・システムまたはプログラミング言語にマップするための情報も提供されます。この柔軟性があるため、どのソフトウェア・プログラムでもWebサービスにマップできます。

Webサービスが起動されると、基礎となるXML構文により、交換されたデータのためのデータ・カプセル化および送信フォーマットが提供されます。XML要素および属性は、データの型と構造に関する情報を定義します。XMLは、データをモデリングする機能を提供し、プログラミング言語(Java、C#、Visual Basicなど)、データベース管理システムまたはソフトウェア・アプリケーションに固有の構造を定義します。Webサービスは、XML構文を使用して、データがどのように表現され、データがどのように送信され、サービスがどのように参照アプリケーションと対話するのかを指定します。

32.1.1.2 WSDLインタフェース

Web Services Description Language (WSDL)は、Webサービスに公開されるインタフェースを提供します。WSDLレイヤーにより、Webサービスを、基礎となるプログラムおよびソフトウェア・システムにマップできるようになります。WSDLファイルは、Webサービスへの接続方法とその使用方法が記述されたXMLファイルです。

32.1.1.3 SOAP通信

Simple Object Access Protocol (SOAP)は、Webサービス・インタフェースがネットワーク経由で相互に通信するためのコンテンツ・サーバー通信を提供します。SOAPは、Webサービスへのアクセスに使用されるXMLベースの通信プロトコルです。Webサービスは、XMLドキュメント内にカプセル化されたSOAPパケットを使用して、リクエストを受信し、レスポンスを返します。

32.1.1.4 UDDIレジストリ

Universal Description Discovery and Integration (UDDI)サービスは、Webサービス・インタフェースの格納と取得のためのレジストリおよびリポジトリ・サービスを提供します。UDDIは、Webサービスの登録および検索のためのパブリックまたはプライベートのXMLベース・ディレクトリです。

コンテンツ・サーバーは現在、いずれのパブリックまたはプライベートUDDIソースにも公開されません。ただし、このことにより、コンテンツ・サーバーを、Webサービスを使用する他のアプリケーションと統合できなくなるわけではありません。

32.1.1.5 DIMEメッセージ・フォーマット

DIMEは、任意のタイプとサイズの、アプリケーションで定義された1つ以上のファイル・コンテンツ・グループを単一のメッセージ構成にカプセル化するために使用できる軽量のバイナリ・メッセージ・フォーマットです。コンテンツのアップロードまたはダウンロードで、このフォーマットを使用できます。ペイロードは、SOAPメッセージおよび1つ以上のファイル・コンテンツ・グループで構成されています。

32.1.1.6 実現技術を連携させる方法

XML、WSDL、SOAPおよびUDDIテクノロジは、Webサービス・プロトコル・スタック上のレイヤーとして連携して機能します。図32-1に示すように、Webサービス・プロトコル・スタックは、次のレイヤーで構成されています。

- アプリケーション間のトランスポート・レイヤー(HTTP)

- 一般的な通信方法を提供するメッセージング・レイヤー(XMLおよびSOAP)

- 特定のWebサービスへのパブリック・インタフェースを記述するサービス記述レイヤー(WSDL)

- Webサービス・インタフェースの格納と取得のためのレジストリおよびリポジトリ・サービスを提供するサービス検出レイヤー(UDDI)

図32-1 Webサービス・プロトコル・スタックのレイヤー

注意:

トランスポート・レイヤーでは、いくつかのプロトコル(HTTP、SMTP、FTP、BEEPなど)が使用できますが、HTTPプロトコルがもっとも一般的に使用されています。WSDLジェネレータ・コンポーネントは、トランスポート・レイヤーとしてHTTPプロトコルに依存します。

これらのテクノロジ間の接続を理解しやすくするため、単純な例えで考えてみましょう。つまり、HTTPを電話回線(アプリケーション間のトランスポート)として捉え、UDDIを電話帳(開発者はUDDIレジストリを参照して登録済のサービスを検索できます)として捉えます。この例えでは、SOAPは人々が電話で話す声(情報の交換)、XMLは人々が話す言語(データ交換の基礎となる構造)と見なすことができます。電話の例えで続けるなら、WSDLは、特定のWebサービスをコールするための電話番号になります(もちろん、WSDLには使用可能な機能やデータ型などの情報が含まれているため、WSDLは単なる電話番号以上のものです)。

32.1.1.7 実装のアーキテクチャ

Webサービスは、実行可能ファイルではありませんが、開発環境内でデータを交換します。そのため、Webサービスは、データを交換するプログラム間で通信を実行するアプリケーション・サーバーまたはソフトウェア・パッケージと情報を交換する手段となります。

図32-2は、コンテンツ・サーバー・アプリケーションのためのWebサービス実装アーキテクチャを示しています。このアーキテクチャのプライマリ値は、コンテンツ・サーバーの機能において保持されます。Webサービスは、WSDLジェネレータを通じてコンテンツ・サーバーにアクセスし、公開されたコンテンツ・サーバー・サービスを使用してアクションを実行し、ユーザーが使用するWebサービスとコンテンツ・サーバー間のデータ・トランザクションを提供します。

図32-2 Webサービスの実装アーキテクチャ

32.1.1.8 .NET上の実装

Microsoft .NET製品(.NETプラットフォーム、.NET Framework、Visual Studio .NETなど)はすべて、XMLスキーマ、WSDLおよびSOAP仕様をサポートしています。

- .NETプラットフォームは、開発者がXML Webサービスおよびアプリケーションを構築できるようにするプログラミング・モデルとして設計されています。このプラットフォームは、XML Webサービスおよびアプリケーションを統合、実行および管理する一連のサービスを提供します。

- .NET Framework製品は、開発者がWebサービスおよびアプリケーションを構築してデプロイすることを可能にします。これは、Webサービスを統合するための構造化環境を提供し、一般的な言語ランタイムと統合クラス・ライブラリで構成されています。また、これには、ASP .NETサーバーが組み込まれています。

- Visual Studio .NET製品は、開発者がXMLベースのWebサービス仕様に従ってアプリケーション・ソフトウェアを作成するためのツールを提供します。

.NETアーキテクチャを使用して、Webサービスの開発とデプロイは1つのステップとして統合されます。.NET言語で作成されたすべてのプログラムはWebサービスとして機能するように設計されているため、.NETサーバーは、プログラムをWebサービスとして作成およびデプロイすることが可能です。

32.1.1.9 SOAPプロトコル

SOAPは、次のパーツで構成されている、XMLベースのメッセージング・プロトコルです。

- メッセージの内容とその処理方法を定義するエンベロープ

- アプリケーション・データ型を定義する一連のエンコーディング・ルール

- リモート・プロシージャ・コールおよびレスポンスを表すための規則

SOAP統合を使用すると、Java API (IdcCommand)を使用してコンテンツ・サーバー・サービスを実行するための標準化されたインタフェースが提供され、コンテンツ・サーバーによって管理されるXMLおよび非XMLコンテンツが提供されます。

SOAPは、データ送信にHypertext Transfer Protocol (HTTP)を使用するため、Web経由で起動でき、プラットフォームと言語に依存しない方法でネットワーク経由でコンテンツにアクセスできるようにします。

32.2 SOAPクライアントを使用したコンテンツ・サーバーへのアクセス

SOAPを使用してコンテンツ管理機能にWebサービスとしてアクセスすることで、アプリケーション間でリアルタイムにプログラムによる対話を行うことができ、ビジネス・プロセスの統合が可能になり、情報交換を容易に行えます。

注意:

SOAPクライアント実装を開発する場合は、クライアントAPIコードでチャンクを無効にしてください。

Webサービスは、XMLラッパーに含まれており、かつWSDL仕様で定義されているモジュラ・コンポーネントです。UDDI Webベース・レジストリ・システムは、それらのサービスの検索に使用されます。

ヒント:

.NETサーバーは、WSDLをサポートし、SOAP Toolkitと統合できますが、SOAPパケットがリモート・プロシージャ・コール(RPC)を送信するように指定する必要があります。デフォルトでは、SOAPメッセージは、RPCスタイルのSOAPメッセージとしてではなく、ドキュメント・スタイルのSOAPメッセージとして評価されます。SOAP Toolkitクライアントを.NETで開発されたWebサービスとともに使用すると、WSDLドキュメントの読取りエラーが返されます。SOAP Toolkitで、生成されたWSDLを読み取り、.NET Webサービスをコールできるようにするには、Webサービス・クラスでSoapRpcService()属性を指定する必要があります。

32.2.1 Java SOAPクライアントの使用

Java SOAPクライアントでは、表32-1に示されているコマンドライン・パラメータを使用できます。

表32-1 Java SOAPクライアントのコマンドライン・パラメータ

パラメータ

説明

-c config file

サーバー設定(ホストやポートなど)を含む構成ファイル

-x xml file

コンテンツ・サーバーに渡すSOAPリクエストを含むXMLファイル

-p primary file

アップロードするプライマリ・ファイルのファイル名

-a alternate file

アップロードする代替ファイルのファイル名(オプション)

-l log file

リクエストおよびレスポンス・データを含むファイルのファイル名(オプション)

32.3 SOAPを使用したコンテンツ・サーバー・サービスのコール

SOAPインタフェースを使用して、様々なコンテンツ・サーバーのIdcCommandサービスを実行できます。ユーザーIDには、コマンドを実行するための適切な権限が必要です。管理者アクセスを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。

WSDLジェネレータ・コンポーネントは、コンテンツ・サーバーにデフォルトでインストールされ有効化されます。サービスをコールするには、これを有効な状態にしておく必要があります。使用可能なサービスのリストと必須パラメータの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

32.3.1 SOAPパケットのフォーマット

SOAPリクエストは、HTTPトランスポート・プロトコルを使用して送信されるXMLベースのリモート・プロシージャ・コール(RPC)です。SOAPパケットのペイロードは、実行されるコールと渡されるパラメータを指定するXMLドキュメントです。

32.3.1.1 HTTPヘッダー

SOAPリクエストのHTTPヘッダーでは、次のエントリが必要です。

Content-Type: text/xml; charset="utf-8"

次のSOAPActionヘッダーが推奨されますが、必須ではありません。

SOAPAction: "http://www.oracle.com/IdcService"

32.3.1.2 ネームスペース

SOAPメッセージのボディ内では、ドキュメントの各部分の要素および属性名を修飾するためにXMLネームスペースが使用されます。要素名は、グローバルとする(SOAPメッセージ全体で参照されます)ことも、ローカルとすることもできます。ローカルの要素名は、ネームスペースによって提供され、その名前は、それが存在するメッセージの特定部分で使用されます。そのため、SOAPメッセージは、ネームスペースを使用して、メッセージの別の部分の要素名を修飾します。アプリケーション固有のネームスペースは、アプリケーション固有の要素名を修飾します。ネームスペースはまた、エンベロープのバージョンとエンコーディング・スタイルも識別します。

コンテンツ・サーバーは、SOAPコンテンツのスキーマと許容されるタグを説明する、idcと呼ばれるネームスペースを定義します。

32.3.1.3 ノード

SOAPノードは、SOAPバインディングを通じて基礎となるプロトコルによって提供されるサービスにアクセスするためのルールに従ってSOAPメッセージを処理するエンティティです。したがって、メッセージの処理には、基礎となるサービスへのマッピングが含まれます。SOAP仕様は、SOAPメッセージの部分と、メッセージの各部分を処理するソフトウェア・ハンドラ間の相関関係を定義します。

次のノードは、サービス・リクエストで必要になったり、レスポンスで返されたりする可能性があります。

- serviceノード

- documentノード

- userノード

- optionlistノード

- IDC optionlistノード内のoptionサブノード

- resultsetサブノード

- rowサブノード

- fieldサブノード

注意:

コンテンツ・サーバー・サービスは、リクエストにおいてデータが指定されている場所については柔軟に対応します。fieldノードにデータ・フィールドを指定し、かつそれがdocument属性と想定される(またはその逆の)場合でも、サービスは、データを正しく処理します。レスポンスは、データを正しいノードに配置します。

32.3.1.3.1 serviceノード

IDCネームスペース内のメイン・ノードである<idc:service>ノードには、次の要件があります。

- リクエストが処理されるためには、このノードが存在している必要があります。

- 必須属性IdcServiceは、リクエストしているサービスを定義します。

- <idc:service>のサブノードでは、そのタグ内にネームスペースが含まれている必要はありません。
たとえば、<idc:document>ではなく、<document>を使用できます。ただし、子ノードでネームスペース識別子を定義する場合、serviceタグ内に指定されている識別子と一致させる必要があります。

例32-1は、PING_SERVERサービス・リクエストが指定された<idc:service>ノードを示しています。

例32-1 IDCネームスペースにおけるserviceノード

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER">
</idc:service>

32.3.1.3.2 documentノード

<document>ノードには、すべてのコンテンツ・アイテム情報が含まれており、このノードは、すべてのデータ・ノードの親になります。

コンテンツ・アイテムに対して有効な属性は、特定のコンテンツ・サーバーによって定義されます。たとえば、dID、dDocTitleおよびdDocTypeは、共通属性です。<document>ノードには、次のルールが適用されます。

- カスタムのコンテンツ・アイテム情報(xSpecなど)は、それがメタデータとして定義されている場合は有効です。

- すべての既知のdocumentフィールドは、属性として使用できます。

例32-2は、CHECKOUT_BY_NAMEサービスを使用する<document>ノードを示しています。

例32-2 IDC serviceノード内のdocumentノード

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKOUT_BY_NAME">
<idc:document dDocName="soap_sample">
</idc:document>
</idc:service>

32.3.1.3.3 userノード

<user>ノードには、すべてのユーザー情報が含まれます。<user>ノードには、次のルールが適用されます。

- ユーザーに対して有効な属性は、特定のコンテンツ・サーバーによって定義されます。たとえば、dName、dFullNameおよびdEmailは、共通属性です。

- カスタムのユーザー情報は、それがメタデータとして定義されている場合は有効です。

- すべての既知のuserフィールドは、属性として使用できます。

例32-3は、GET_USER_INFOサービス・リクエストのユーザーを指定する<user>ノードを示しています。

例32-3 IDC serviceノード内のuserノード

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_USER_INFO">
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>

32.3.1.3.4 optionlistノード

<optionlist>ノードには、任意のオプション・リストが含まれます。name属性は、オプション・リストの名前を指定します。各<option>サブノードには、<optionlist>ノード内の値が含まれます。

例32-4は、ロケール値を持つ<option>サブノードがある<optionlist>ノードを示しています。

例32-4 ロケールのoptionlistノード

<idc:optionlist name="Users_UserLocaleList">
<idc:option>
English-US
</idc:option>
</idc:optionlist>

32.3.1.3.5 IDC optionlistノード内のoptionサブノード

<option>サブノードは、<optionlist>ノード内に指定されます。option属性は、オプション・リストのオプションの名前を指定します。

例32-5は、dDocType値が指定された<option>ノードを示しています。

例32-5 optionlistノードのoptionサブノード

<idc:optionlist name="dDocType">
<idc:option>ADACCT</idc:option>
<idc:option>ADHR</idc:option>
<idc:option>ADSALES</idc:option>
</idc:optionlist>

32.3.1.3.6 resultsetサブノード

<resultset>サブノードは、<document>または<user>ノード内に指定することができます。このサブノードには、リクエストまたはレスポンス内のResultSetの情報が含まれます。name属性はResultSetの名前を指定します。

例32-6では、リビジョン履歴を含むResultSetの<resultset>サブノードを指定します。

例32-6 リビジョン履歴のresultsetサブノード

<idc:resultset name="REVISION_HISTORY">
<idc:row dFormat="text/plain" dInDate="4/12/02 1:27 PM" dOutDate="" dStatus="RELEASED" dProcessingState="Y" dRevLabel="1" dID="6" dDocName="stellent" dRevisionID="1">
</idc:row>
</idc:resultset>

32.3.1.3.7 rowサブノード

<row>サブノードは、<resultset>サブノード内で指定されます。<resultset>サブノードは、複数の<row>サブノードを持つことができます。各<row>サブノードは、ResultSet内の行を指定します。

有効な属性は、特定のコンテンツ・サーバーによって定義されます。有効な属性は、<document>または<user>ノード内の属性として表示できるものと同じフィールドです。

例32-7では、user属性のResultSet内の行を指定します。

例32-7 resultsetサブノードのrowサブノード

<idc:resultset name="UserAttribInfo">
<idc:row dUserName="jsmith" AttributeInfo="role,contributor,15">
</idc:row>
</idc:resultset>

32.3.1.3.8 fieldサブノード

<field>サブノードは、<document>、<user>または<row>ノード内に指定することができます。name属性は、フィールドの名前を指定します。<field>サブノードは多くの場合、refreshSubjectsやdSubscriptionIDなどのデータを表します。

<field>サブノードは、ユーザーが構成できるドキュメントまたはユーザー・メタデータを表すことができます。または、xCommentsなどのカスタム・メタデータを表すこともできます。例32-8では、サブスクリプションIDデータを表すfieldサブノードを指定します。

例32-8 メタデータを表すfieldノード

<idc:field name="dSubscriptionID">
stellent
</idc:field>

<field>サブノードの別の使用法としては、例32-9に示されているように、QueryTextやOriginalQueryTextなどのフィールドの検索結果値を渡すことがあります。

例32-9 値を渡すためのfieldサブノード

- <idc:field name="QueryText">
dDocType <Substring> "ADSALES&"
</idc:field>

32.3.2 特殊文字
左山カッコ(<)や右山カッコ(>)などの特殊文字をWebCenter Contentに渡すときは、表32-1に示すXMLエンコーディング・フォーマットを使用する必要があります。

表32-2 特殊文字のフォーマット

標準フォーマット

XMLエンコーディング・フォーマット

<

&lt;

>

&gt;

"

&quot;

` (汎用的な問合せ構文を使用している場合は、バック・クォーテーション・マークを使用してください)

&

&amp;

\

&#39;

注意:

QueryTextやOriginalQueryTextなどの一部の検索結果値は、レスポンス内でURLエンコードされます。

(汎用的な問合せ構文を使用した)コンテンツ・アイテム問合せの場合は、いずれのフォーマットでもコンテンツ・サーバーに文字列を渡すことができます。次の例では、文字列は標準フォーマットで指定されています。

例32-10 標準フォーマットの文字列が指定されたパラメータ

QueryText=dDocType <Substring> "ADSALES"

次の例では、文字列はXMLエンコード・フォーマットで指定されています。

例32-11 XMLエンコードの文字列が指定されたパラメータ

<idc:field name="QueryText">
dDocType &lt;Substring&gt; `ADSALES`
</idc:field>

32.3.3 SOAPレスポンス/リクエストを使用したサンプルのサービス・コール

SOAPレスポンス/リクエストを使用したサービス・コールによって、SOAPリクエストでコンテンツ・サーバー・サービスを実行できます。使用可能なサービスのリストと必須パラメータの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

次のIdcCommandサービスは、SOAPリクエストの例です。

IdcCommand

説明

PING_SERVER

このサービスは、サーバーへの接続が存在するかどうかを評価します。第32.3.3.1項「サーバーのPing」を参照してください。

ADD_USER

このサービスは、システムに新しいユーザーを追加します。「新しいユーザーの追加」を参照してください。

EDIT_USER

このサービスは、既存のユーザーを編集します。「既存のユーザーの編集」を参照してください。

GET_USER_INFO

このサービスは、ユーザー・リストを取得します。「ユーザー情報の取得」を参照してください。

DELETE_USER

このサービスは、既存のユーザーを削除します。「ユーザーの削除」を参照してください。

CHECKIN_UNIVERSAL

このサービスは、コンテンツ・サーバーによって制御されるチェックインを実行します。「コンテンツ・アイテムのチェックイン」を参照してください。

CHECKOUT_BY_NAME

このサービスは、指定されたコンテンツ・アイテムの最新バージョンをロック済としてマークします。「コンテンツ・アイテムのチェックアウト」を参照してください。

UNDO_CHECKOUT_BY_NAME

このサービスは、コンテンツIDを使用してコンテンツ・アイテムのチェックアウトを元に戻します。「コンテンツ・アイテムのチェックアウトを元に戻す」を参照してください。

DOC_INFO

このサービスは、コンテンツ・アイテムのリビジョン情報を取得します。「コンテンツ・アイテム情報の取得」を参照してください。

GET_FILE

このサービスは、チェックアウトを実行せずに、サムネイル・イメージなどのコンテンツ・アイテムのコピーを取得します。「ファイルの取得」を参照してください。

GET_SEARCH_RESULTS

このサービスは、渡された問合せテキストに対する検索結果を取得します。「検索結果の取得」を参照してください。

GET_TABLE

このサービスは、WebCenter Contentデータベースから、指定された表をエクスポートします。「表のデータの取得」を参照してください。

GET_CRITERIA_WORKFLOWS_FOR_GROUP

このサービスは、基準ワークフローの情報を返します。「基準ワークフロー情報の取得」を参照してください。

32.3.3.1 サーバーのPing

PING_SERVERサービスは、サーバーへの接続が存在するかどうかを評価します。

- このサービスは、コンテンツ・サーバーのステータス情報を返します。

- このサービスを実行できない場合、「サーバーへの接続を確立できません。」というメッセージがユーザーに表示されます。

ヒント:

コンテンツ・サーバーへの接続が確立されており、コマンドの実行権限を持つユーザーとしてログインしていることを確認するために、他のサービスをコールする前にPING_SERVERリクエストを実行します。

32.3.3.1.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

IdcService

PING_SERVERに設定する必要があります。

32.3.3.1.2 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER">
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope

32.3.3.1.3 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="PING_SERVER">
<idc:document>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="StatusMessage">
You are logged in as &#39;sysadmin&#39;.
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.2 新しいユーザーの追加

ADD_USERサービスは、システムに新しいユーザーを追加します。

- ユーザー名が指定されると、サービスは、そのユーザーがシステム内に存在するかどうかを判断します。存在しない場合、サービスは、そのユーザーを追加します。

- 最も発生しがちなエラーは、ユーザー名が一意でないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

32.3.3.2.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dName

一意の名前。

dUserAuthType

ユーザーの認可タイプ。この値は、LOCALまたはGLOBALのいずれかに設定する必要があります。

IdcService

ADD_USERに設定する必要があります。

32.3.3.2.2 オプション・パラメータ

次のオプション・パラメータを指定できます。

パラメータ

説明

dEmail

ユーザーの電子メール・アドレス。

dFullName

ユーザーの完全名。

dPassword

ユーザーのパスワード。

32.3.3.2.3 オプションの属性情報

このオプション・データは、ユーザーの属性情報、ユーザーが属するロール、およびユーザーがアクセス権を持つアカウントを定義します。属性情報は、3つのカンマ区切りの文字列のリストで構成されます。最初の文字列は属性のタイプを、2番目の文字列は属性の名前を、3番目の文字列はアクセス番号を示します。

重要:

ユーザー属性情報は、事前定義されていません。デフォルトでは、ユーザーはどのロールまたはアカウントにも属しておらず、システムではゲストになります。

属性情報

説明

アクセス番号

アクセス番号は、そのユーザーに割り当てられるアクセスまたは権限のレベルを決定します。

属性名

属性名は、割り当てられるroleまたはaccountの名前です。たとえば、admin、contributor、editorなどを割り当てることができます。

属性タイプ

属性タイプは、roleまたはaccountです。

アクセス番号

ユーザーに次のアクセス番号を割り当てることができます。

アクセス・レベルのフラグ

説明

1

読取り専用。

3

読取りと書込み。

7

読取り、書込みおよび削除。

15

管理権限。

属性名

ユーザーは、複数のロールおよびアカウントに属することができます。そのため、属性情報列に、カンマで区切られた複数のロールおよびアカウント情報文字列が存在する可能性があります。

- ユーザーが管理ロールを持つようにする場合、ユーザー属性情報は次のとおり定義します。

<idc:resultset name="UserAttribInfo">
<idc:row dUserName="jsmith" AttributeInfo="role,contributor,15">

- ユーザーがコントリビュータとエディタの両方のロールに属し、かつ会計帳簿の読取り権限を持つようにする場合、ユーザー属性情報は次のように定義します。

<idc:resultset name="UserAttribInfo">
<idc:row dUserName="jsmith" AttributeInfo="role,contributor,15,role,editor,15,account,books,1">

属性タイプ

ロールを定義するとき、最初の文字列ではこれがrole属性であることを指定し、2番目の文字列はロールの名前、3番目の文字列はデフォルト・エントリの15になります。

アカウントを定義するとき、最初の文字列ではこれがaccount属性であることを指定し、2番目の文字列はアカウントの名前、3番目の文字列はアクセス・レベルになります。

- role属性の場合、情報は次のようなフォームになります。

role,contributor,15

- アクセス・レベルによって指定アカウントへのユーザーの権限が決定されるaccount属性の場合、情報は次のようなフォームになります。

account,books,1

32.3.3.2.4 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="ADD_USER">
<idc:user dName="Jennifer" dFullName="Jennifer Anton" dPassword="password" dEmail="email@example.com" dUserAuthType="local">
<idc:resultset name="UserAttribInfo">
<idc:row dUserName="Jennifer" AttributeInfo="role,contributor,3">
</idc:row>
</idc:resultset>
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.2.5 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="ADD_USER">
<idc:document>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="isAdd">
1
</idc:field>
<idc:field name="copyAll">
1
</idc:field>
<idc:field name="alwaysSave">
1
</idc:field>
<idc:field name="dAttributeName">
contributor
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="doAdminFields">
1
</idc:field>
<idc:field name="dAttributePrivilege">
3
</idc:field>
<idc:field name="dAttributeType">
role
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
userlist,1018884022874
</idc:field>
</idc:document>
<idc:user dUserAuthType="local" dEmail="email@example.com" dFullName="Jennifer Anton" dUser="sysadmin" dPassword="password" dName="Jennifer">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.3 既存のユーザーの編集

EDIT_USERサービスは、既存のユーザーの情報を編集します。

- ユーザー名とユーザーの認可タイプが指定されると、サービスは、そのユーザーがシステム内に存在するかどうかを判断します。存在しない場合、サービスは失敗します。それ以外の場合、ユーザー情報は、更新され置き換えられます。

- 最も発生しがちなエラーは、ユーザーがこのアクションを実行するためのセキュリティ・レベルを持っていないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

注意:

ユーザー属性情報は、現在の属性を置き換えます。リストに追加されるわけではありません。そのため、ユーザー属性情報が定義されていない場合、ユーザーは、システムではゲストになります。

32.3.3.3.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dName

一意の名前。

dUserAuthType

ユーザーの認可タイプ。この値は、LOCALまたはGLOBALのいずれかに設定する必要があります。

IdcService

EDIT_USERに設定する必要があります。

32.3.3.3.2 オプション・パラメータ

次のオプション・パラメータを指定できます。

パラメータ

説明

dEmail

ユーザーの電子メール・アドレス。

dFullName

ユーザーの完全名。

dPassword

ユーザーのパスワード。

dUserLocale

ロケールの指定(English-US、English-UK、Deutsch、Français、Españolなど)。

dUserType

定義済のユーザー・タイプ。

32.3.3.3.3 オプションの属性情報

ユーザーの属性情報を含み、ユーザーが属するロールおよびユーザーがアクセス権を持つアカウントを参照するResultSet。属性情報は、3つのカンマ区切りの文字列のリストで構成されます。最初の文字列は属性のタイプを、2番目の文字列は属性の名前を、3番目の文字列はアクセス番号を示します。

重要:

ユーザー属性情報は、事前定義されていません。デフォルトでは、ユーザーはどのロールまたはアカウントにも属しておらず、システムではゲストになります。

属性情報

説明

アクセス番号

アクセス番号は、そのユーザーに割り当てられるアクセスまたは権限のレベルを決定します。

属性名

属性名は、割り当てられるroleまたはaccountの名前です。たとえば、admin、contributor、editorなどを割り当てることができます。

属性タイプ

属性タイプは、roleまたはaccountで構成されます。

アクセス番号

ユーザーに次のアクセス番号を割り当てることができます。

アクセス・レベルのフラグ

説明

1

読取り専用。

3

読取りと書込み。

7

読取り、書込みおよび削除。

15

管理権限。

ユーザーは、複数のロールおよびアカウントに属することができます。そのため、属性情報列に、カンマで区切られた複数のロールおよびアカウント情報文字列が存在する可能性があります。

- ユーザーが管理ロールを持つようにする場合、ユーザー属性情報は次のとおり定義します。

<idc:resultset name="UserAttribInfo">
<idc:row dUserName="jsmith" AttributeInfo="role,contribut
or,15">

- ユーザーがコントリビュータとエディタの両方のロールに属し、かつ会計帳簿の読取り権限を持つようにする場合、ユーザー属性情報は次のように定義します。

<idc:resultset name="UserAttribInfo">
<idc:row dUserName="jsmith" AttributeInfo="role,contributor,15,role,editor,15,account,books,1">

属性タイプ

ロールの定義では、最初の文字列ではこれがrole属性であることを指定し、2番目の文字列はロールの名前、3番目の文字列はデフォルト・エントリの15になります。

アカウントの定義では、最初の文字列ではこれがaccount属性であることを指定し、2番目の文字列はアカウントの名前、3番目の文字列はアクセス・レベルになります。

- role属性の場合、情報は次のようなフォームになります。

role,contributor,15

- アクセス・レベルによって指定アカウントへのユーザーの権限が決定されるaccount属性の場合、情報は次のようなフォームになります。

account,books,1

32.3.3.3.4 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="EDIT_USER">
<idc:user dName="Jennifer" dFullName="Jennifer Anton" dPassword="password" dEmail="jennifer@example.com" dUserAuthType="local">
<idc:resultset name="UserAttribInfo">
<idc:row dUserName="Jennifer" AttributeInfo="role,guest,1">
</idc:row>
</idc:resultset>
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.3.5 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="EDIT_USER">
<idc:document>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="alwaysSave">
1
</idc:field>
<idc:field name="dAttributeName">
guest
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="doAdminFields">
1
</idc:field>
<idc:field name="dAttributePrivilege">
1
</idc:field>
<idc:field name="dAttributeType">
role
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
userlist,1018884022877
</idc:field>
</idc:document>
<idc:user dUserAuthType="local" dEmail="jennifer@example.com" dFullName="Jennifer Anton" dUser="sysadmin" dPassword="password" dName="Jennifer">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.4 ユーザー情報の取得

GET_USER_INFOサービスは、ユーザー・リストを取得します。

- 定義済のユーザーが指定されると、サービスは、ユーザー・リストを取得します。

- このサービスを実行できない場合、「ユーザー・リストを取得できません。」というメッセージがユーザーに表示されます。

32.3.3.4.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dUser

定義済のユーザー。

IdcService

GET_USER_INFOに設定する必要があります。

32.3.3.4.2 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_USER_INFO">
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.4.3 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_USER_INFO">
<idc:document>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:optionlist name="Users_UserLocaleList">
<idc:option>
English-US
</idc:option>
</idc:optionlist>
</idc:document>
<idc:user dUser="sysadmin" dName="sysadmin">
<idc:resultset name="UserMetaDefinition">
<idc:row umdName="dFullName" umdType="BigText" umdCaption="apTitleFullName" umdIsOptionList="0" umdOptionListType="0" umdOptionListKey="" umdIsAdminEdit="0" umdOverrideBitFlag="1">
</idc:row>
<idc:row umdName="dEmail" umdType="BigText" umdCaption="apTitleEmailAddress" umdIsOptionList="0" umdOptionListType="" umdOptionListKey="" umdIsAdminEdit="0" umdOverrideBitFlag="2">
</idc:row>
<idc:row umdName="dUserType" umdType="Text" umdCaption="apTitleUserType" umdIsOptionList="1" umdOptionListType="combo" umdOptionListKey="Users_UserTypeList" umdIsAdminEdit="0" umdOverrideBitFlag="4">
</idc:row>
<idc:row umdName="dUserLocale" umdType="Text" umdCaption="apTitleUserLocale" umdIsOptionList="1" umdOptionListType="choice,locale" umdOptionListKey="Users_UserLocaleList" umdIsAdminEdit="0" umdOverrideBitFlag="8">
</idc:row>
</idc:resultset>
<idc:resultset name="USER_INFO">
<idc:row dName="sysadmin" dFullName="System Administrator" dEmail="" dPasswordEncoding="" dPassword="-----" dUserType="" dUserAuthType="LOCAL" dUserOrgPath="" dUserSourceOrgPath="" dUserSourceFlags="0" dUserArriveDate="" dUserChangeDate="" dUserLocale="" dUserTimeZone="">
</idc:row>
</idc:resultset>
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.5 ユーザー削除

DELETE_USERサービスは、既存のユーザーを削除します。

- ユーザー名が指定されると、サービスは、システムからそのユーザーを削除します。

- 最も発生しがちなエラーは、ユーザーがエイリアスに割り当てられていることです。このサービスを実行できない場合、エラー・メッセージが返されます。

32.3.3.5.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dName

一意の名前。

IdcService

DELETE_USERに設定する必要があります。

32.3.3.5.2 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DELETE_USER">
<idc:user dName="Jennifer" >
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.5.3 レスポンス

<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DELETE_USER">
<idc:document>
<idc:field name="changedSubjects">
userlist,1018884022876
</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="dUserName">
Jennifer
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
</idc:document>
<idc:user dUser="sysadmin" dName="Jennifer">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.6 コンテンツ・アイテムのチェックイン

CHECKIN_UNIVERSALサービスは、コンテンツ・サーバーへの制御されたチェックインを実行します。

- このサービスは、コンテンツID (dDocName)をキーとして使用してデータベースに問合せを行うことにより、コンテンツ・アイテムが新規のものであるか、システムにすでに存在しているものであるかを判断します。

- コンテンツ・アイテムがシステムに存在している場合、パブリッシュ状態(dPublishState)は空である必要があります。

- リビジョン・ラベル(dRevLabel)が指定された場合、このサービスは、そのコンテンツ・リビジョンがシステムに存在しているかどうかをチェックします。そのリビジョンが存在する場合は、例外がスローされます。

- このサービスは、次のサブサービスのいずれかにこのリクエストをディスパッチします。

- CHECKIN_NEW_SUB: コンテンツ・アイテムがサーバーに存在しない場合。

- CHECKIN_SEL_SUB: コンテンツ・アイテムがシステムに存在し、有効なリビジョンが指定されておらず、コンテンツ・アイテムがチェックアウトされている場合。

- WORKFLOW_CHECKIN_SUB: コンテンツ・アイテムが存在し、ワークフローの一部である場合。

- 最も発生しがちなエラーは、パラメータの不一致、またはコンテンツ・アイテムが正常にチェックインされなかったことです。このサービスを実行できない場合、「コンテンツ・アイテム''{dDocName}''を正常にチェックインできませんでした。」というメッセージがユーザーに表示されます。

CHECKIN_UNIVERSALサービスは、コンテンツ・サーバーへの制御されたチェックインです。チェックインは、新規、選択済またはワークフロー・チェックイン・プロセスのいずれかに分類され、ブラウザまたは「リポジトリ・マネージャ」アプリケーションを介したチェックインと同じロジックに従います。チェックイン対象のコンテンツ・アイテムがすでにシステムに存在している場合、チェックインを正常に行うためには、そのコンテンツ・アイテムをチェックアウトする必要があります。

これらは、本質的に、コンテンツ・サーバーへの制御されたチェックインで使用されるサブサービスと同じです。ただし、これらのサブサービスは、BatchLoadまたはアーカイブのインポート中にはコールされません。このサービスは、セキュリティをチェックして、ユーザーがコンテンツ・アイテムのチェックインを実行するための十分な権限を持っているかどうか、およびコンテンツ・アイテムが存在する場合は、それがチェックアウトされているかどうかを判断します。さらに、コンテンツ・アイテムがワークフローの基準に一致しているかどうか、またはアクティブな基本ワークフローに属しているかどうかも判断します。

コンテンツ・アイテムが見つからない場合、コンテンツ・アイテムは、CHECKIN_NEW_SUBサブサービスを使用してチェックインされます。このサブサービスは、チェックイン・データを検証し、このコンテンツ・アイテムが基準ワークフローに属しているかどうかを判断します。コンテンツ・アイテムがすでにシステムに存在しており、それがワークフローに属していない場合、CHECKIN_SEL_SUBが使用されます。それ以外の場合、つまり、コンテンツ・アイテムが存在しており、それがワークフローに属している場合は、WORKFLOW_CHECKIN_SUBが使用されます。

注意:

バックスラッシュ(\)はエスケープ文字であるため、すべてのパスで、ファイルの区切り文字としてスラッシュ(/)が使用されます。たとえば、primaryFile=d:/temp/myfile.txtは、チェックインするプライマリ・ファイルを指します。

32.3.3.6.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dDocAuthor

コンテンツ・アイテムの作成者(コントリビュータ)。

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

- システムの構成でIsAutoNumberがTRUEに設定されている場合は、このフィールドはオプションです。このシナリオでは、dDocNameが指定されていない場合、チェックインは常に新規になり、システムはコンテンツ・アイテムの新しい名前を生成します。

- それ以外の場合、つまりdDocNameが指定された場合は、サービスはこのキーを使用して検索を行い、どのタイプのチェックインを実行するかを判断します。

dDocTitle

コンテンツ・アイテムのタイトル。

dDocType

コンテンツ・アイテムのタイプ。

doFileCopy

このフラグはTRUE (1)に設定してください。そうしないと、ファイルがハード・ドライブから削除されます。

dSecurityGroup

PUBLICやSECUREなどのセキュリティ・グループ。

IdcService

CHECKIN_UNIVERSALに設定する必要があります。

primaryFile

サーバーから見た、ファイルの場所への絶対パス。ファイルの区切り文字としてスラッシュを使用します。

プライマリ・ファイルは、メタデータのみをチェックインするのではないかぎり、指定する必要があります。プライマリ・ファイルとともに代替ファイルが指定された場合、Oracle WebCenter Content: Inbound Refineryは、代替ファイルを変換します。それ以外の場合、プライマリ・ファイルが変換されます。

- プライマリ・ファイルが指定されない場合はメタデータ・ファイルを使用できます。ただし、各コンテンツ・アイテムに対して存在できるメタデータ・ファイルは1つだけです(つまり、プライマリのメタデータ・ファイルと代替のメタデータ・ファイルは共存できません)。

- プライマリと代替の両方のファイルを指定する場合、それらの拡張子は異なっている必要があります。

重要:

定義するカスタムのメタデータ・フィールドも指定する必要があります。

32.3.3.6.2 追加のパラメータ

次のパラメータが必要な場合もあります。

パラメータ

説明

dDocAccount

コンテンツ・アイテムのセキュリティ・アカウント。

アカウントを有効にした場合は、このパラメータを渡す必要があります。

32.3.3.6.3 オプション・パラメータ

次のオプション・パラメータを指定することができます。

パラメータ

説明

alternateFile

変換のための代替ファイル。

- ただし、各コンテンツ・アイテムに対して存在できるメタファイルは1つだけです(プライマリのメタファイルと代替のメタファイルは共存できません)。

- プライマリ・ファイルとともに代替ファイルが指定された場合、Inbound Refineryは、代替ファイルを変換します。それ以外の場合、プライマリ・ファイルが変換されます。

dCreateDate

コンテンツ・アイテムが作成された日付。デフォルトでは、これは現在の日付です。

dInDate

コンテンツのリリース日。コンテンツ・アイテムがWebにリリースされる日付。デフォルトでは、これは現在の日付です。

コンテンツのリリース日(dInDate)が指定されない場合、作成日(dCreateDate)が使用されます。この値が指定されない場合、自動的に生成されます。

dOutDate

コンテンツの有効期限。デフォルトでは、これはブランクであり、有効期限は指定されません。

コンテンツの有効期限(dOutDate)が入力されない場合、値は空のままになります。これは有効な状態です。

dRevLabel

コンテンツ・アイテムのリビジョン・ラベル。設定された場合、このラベルを使用して、指定されたリビジョンを検索します。

isFinished

これがワークフロー・チェックインであり、その編集が完了している場合は、TRUE (1)に設定します。

詳細は、WORKFLOW_CHECKINを参照してください。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.6.4 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKIN_UNIVERSAL">
<idc:document dDocName="SoapUpload2" dDocAuthor="sysadmin" dDocTitle="Soap Upload 2 Document" dDocType="ADACCT" dSecurityGroup="Public" dDocAccount="">
<idc:file name="primaryFile" href="C:/stellent/custom/Soap/JavaSamples/SoapClientUpload/soaptest.doc">
</idc:file>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.6.5 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKIN_UNIVERSAL">
<idc:document dDocAuthor="sysadmin" dDocName="SoapUpload2" dExtension="doc" dDocAccount="" dIsPrimary="1" dRevisionID="1" dPublishType="" dInDate="4/22/02 1:31PM" dReleaseState="N" dRevClassID="12" dCreateDate="4/22/02 1:31 PM" dIsWebFormat="0" dPublishState="" dLocation="" dStatus="DONE" dOriginalName="12.doc" dOutDate="" dDocID="24" dRevLabel="1" dProcessingState="Y" dDocTitle="Soap Upload 2 Document" dID="12" dDocType="ADACCT" dSecurityGroup="Public" dFileSize="19456" dFormat="application/msword">
<idc:field name="primaryFile:path">
c:/stellent/vault/~temp/1230750423.doc
</idc:field>
<idc:field name="dRawDocID">
23
</idc:field>
<idc:field name="changedSubjects">
documents,1019482656706
</idc:field>
<idc:field name="StatusCode">
0
</idc:field>
<idc:field name="soapFile:path">
c:/stellent/vault/~temp/1230750422.xml
</idc:field>
<idc:field name="xComments">

</idc:field>
<idc:field name="soapStartContentID">
SoapContent
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="dActionDate">
4/22/02 1:31 PM
</idc:field>
<idc:field name="dActionMillis">
30263
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="WebfilePath">
c:/stellent/weblayout/groups/public/documents/adacct/soapupload2~1.doc
</idc:field>
<idc:field name="StatusMessage">
Successfully checked in content item &#39;SoapUpload2&#39;.
</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="dConversion">
PASSTHRU
</idc:field>
<idc:field name="primaryFile">
C:/stellent/custom/Soap/JavaSamples/SoapClientUpload/soaptest.doc
</idc:field>
<idc:field name="dAction">
Checkin
</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="VaultfilePath">
c:/stellent/vault/adacct/12.doc
</idc:field>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.7 コンテンツ・アイテムのチェックアウト

CHECKOUT_BY_NAMEは、指定されたコンテンツ・アイテムの最新リビジョンをチェックアウトします。

- コンテンツ・アイテムのリビジョンIDが指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。

- コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。

- 最も発生しがちなエラーは、コンテンツ・アイテム名が存在しないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

注意:

このサービスは、コンテンツ・アイテムをロック済としてマークするだけです。ダウンロードは実行しません。

32.3.3.7.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

IdcService

CHECKOUT_BY_NAMEに設定する必要があります。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.7.2 オプション・パラメータ

次のオプション・パラメータを指定することができます。

パラメータ

説明

dDocTitle

コンテンツ・アイテムのタイトル。

32.3.3.7.3 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKOUT_BY_NAME">
<idc:document dDocName="soap_sample">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.7.4 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="CHECKOUT_BY_NAME">
<idc:document dDocTitle="soap_sample" dID="10" dRevLabel="1" dDocAccount="" dRevClassID="10" dDocName="soap_sample" dOriginalName="soap_sample.txt" dSecurityGroup="Public">
<idc:field name="dActionMillis">
39964
</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="dActionDate">
4/22/02 12:20 PM
</idc:field>
<idc:field name="latestID">
10
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="CurRevID">
10
</idc:field>
<idc:field name="CurRevIsCheckedOut">
0
</idc:field>
<idc:field name="dAction">
Check out
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="CurRevCheckoutUser">
sysadmin
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
documents,1019482656687
</idc:field>
<idc:resultset name="DOC_INFO">
<idc:row dID="10" dDocName="soap_sample" dDocType="ADACCT" dDocTitle="soap_sample" dDocAuthor="sysadmin" dRevClassID="10" dRevisionID="1" dRevLabel="1" dIsCheckedOut="1" dCheckoutUser="sysadmin" dSecurityGroup="Public" dCreateDate="4/22/02 12:18 PM" dInDate="4/22/02 12:18 PM" dOutDate="" dStatus="RELEASED" dReleaseState="Y" dFlag1="" dWebExtension="txt" dProcessingState="Y" dMessage="" dDocAccount="" dReleaseDate="4/22/02 12:19 PM" dRendition1="" dRendition2="" dIndexerState="" dPublishType="" dPublishState="" dDocID="19" dIsPrimary="1" dIsWebFormat="0" dLocation="" dOriginalName="soap_sample.txt" dFormat="text/plain" dExtension="txt" dFileSize="12">
<idc:field name="xComments">

</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.8 コンテンツ・アイテムのチェックアウトを元に戻す

UNDO_CHECKOUT_BY_NAMEサービスは、コンテンツIDを使用してコンテンツ・アイテムのチェックアウトを元に戻します。

- コンテンツ・アイテムの名前が指定されると、このサービスは、コンテンツ・アイテムをシステムで検索し、チェックアウトを元に戻そうとします。

- コンテンツ・アイテムがシステムに存在しない場合、コンテンツ・アイテムがチェックアウトされていない場合、またはチェックアウトを元に戻すのに十分な権限がユーザーにない場合、サービスは失敗します。

- このサービスは、アプレットまたはアプリケーションによって使用されます。

- このサービスを実行できない場合、「{dDocName}に対するチェックアウトを元に戻せません。」というメッセージがユーザーに表示されます。

32.3.3.8.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

IdcService

UNDO_CHECKOUT_BY_NAMEに設定する必要があります。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.8.2 オプション・パラメータ

次のオプション・パラメータを指定することができます。

パラメータ

説明

dDocTitle

コンテンツ・アイテムのタイトル。

32.3.3.8.3 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="UNDO_CHECKOUT_BY_NAME">
<idc:document dDocName="soap_sample">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.8.4 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="UNDO_CHECKOUT_BY_NAME">
<idc:document dCheckoutUser="sysadmin" dPublishState="" dDocTitle="soap_sample" dID="10" dRevLabel="1" dDocAccount="" dDocName="soap_sample" dRevClassID="10" dOriginalName="soap_sample.txt" dSecurityGroup="Public">
<idc:field name="dActionMillis">
5317
</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="dActionDate">
4/22/02 12:23 PM
</idc:field>
<idc:field name="latestID">
10
</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="CurRevID">
10
</idc:field>
<idc:field name="CurRevIsCheckedOut">
1
</idc:field>
<idc:field name="dAction">
Undo Checkout
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="CurRevCheckoutUser">
sysadmin
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">
documents,1019482656689
</idc:field>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.9 コンテンツ・アイテム情報の取得

DOC_INFOサービスは、コンテンツ・アイテムのリビジョン情報を取得します。

- コンテンツ・アイテムのリビジョンIDが指定されると、このサービスは、コンテンツ・アイテムのリビジョン情報を取得します。

- 最も発生しがちなエラーは、そのコンテンツ・アイテムがすでにシステムに存在していないか、ユーザーがこのアクションを実行するためのセキュリティ・レベルを持っていないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

32.3.3.9.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dID

生成済のコンテンツ・アイテムのリビジョンID。

IdcService

DOC_INFOに設定する必要があります。

32.3.3.9.2 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DOC_INFO">
<idc:document dID="6">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.9.3 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="DOC_INFO">
<idc:document dStatus="RELEASED" dDocFormats="text/plain" dID="6" DocUrl="HTTP://wharristest/stellent/groups/public/documents/adacct/stellent.txt" dDocTitle="stellent">
<idc:field name="dSubscriptionAlias">
sysadmin
</idc:field>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="dSubscriptionID">
stellent
</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="dSubscriptionType">
Basic
</idc:field>
<idc:resultset name="REVISION_HISTORY">
<idc:row dFormat="text/plain" dInDate="4/12/02 1:27 PM" dOutDate="" dStatus="RELEASED" dProcessingState="Y" dRevLabel="1" dID="6" dDocName="stellent" dRevisionID="1">
</idc:row>
</idc:resultset>
<idc:resultset name="WF_INFO">
</idc:resultset>
<idc:resultset name="DOC_INFO">
<idc:row dID="6" dDocName="stellent" dDocType="ADACCT" dDocTitle="stellent" dDocAuthor="sysadmin" dRevClassID="6" dRevisionID="1" dRevLabel="1" dIsCheckedOut="0" dCheckoutUser="" dSecurityGroup="Public" dCreateDate="4/12/02 1:27 PM" dInDate="4/12/02 1:27 PM" dOutDate="" dStatus="RELEASED" dReleaseState="Y" dFlag1="" dWebExtension="txt" dProcessingState="Y" dMessage="" dDocAccount="" dReleaseDate="4/12/02 1:27 PM" dRendition1="" dRendition2="" dIndexerState="" dPublishType="" dPublishState="" dDocID="11" dIsPrimary="1" dIsWebFormat="0" dLocation="" dOriginalName="stellent.txt" dFormat="text/plain" dExtension="txt" dFileSize="8">
<idc:field name="xComments">
stellent
</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.10 ファイルの取得

GET_FILEサービスは、コンテンツ・アイテムの特定のレンディション、最新のリビジョンまたは最新リリースのリビジョンを返します。チェックアウトを実行せずにコンテンツ・アイテムのコピーを取得します。

- このコマンドは、リビジョンのdID (コンテンツ・アイテムのリビジョンID)を計算し、計算されたdIDを持つリビジョンの特定のレンディションのファイル名を特定します。指定されたdID、またはdDocName (コンテンツ・アイテム名)とRevisionSelectionMethodパラメータを使用できます。

- dID、またはdDocNameとRevisionSelectionMethodパラメータが指定されると、このサービスは、そのリビジョンの特定のレンディションのファイル名を特定し、そのファイルをクライアントに返します。

- 最も発生しがちなエラーは、パラメータになんらかの不整合があるか、存在しないリビジョンまたはレンディションに対するリクエストであることです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

注意:

リクエスタがdDocName値を認識しているコンテンツ・アイテムに対するすべてのリクエストで、dDocNameを使用してください。コンテンツ・サーバーのエラー・メッセージは、フォームなど、他の機能と同様に、dDocName値が存在しているという想定に基づいています。

32.3.3.10.1 必須パラメータ

次のパラメータを指定する必要があります。

重要:

コンテンツ・アイテムのリビジョンID (dID)が指定されているか、コンテンツ・アイテム名(dDocName)とRevisionSelectionMethodパラメータが定義されている必要があります。

パラメータ

説明

dDocName

コンテンツ・アイテムの識別子(コンテンツID)。

- dDocNameが存在しない場合は、dIDが存在しなければならず、RevisionSelectionMethodが存在してはなりません。

- RevisionSelectionMethodが指定された場合、その名前を持つコンテンツ・アイテムのリビジョンのレンディションが返されます(存在する場合)。

- RevisionSelectionMethodが指定されない場合、エラー・メッセージにdDocNameが示される可能性があります。

dID

生成済のコンテンツ・アイテムのリビジョンID。

- dIDが指定されない場合、dDocNameおよびRevisionSelectionMethodを指定する必要があります。

- このIDを持つコンテンツ・アイテムのリビジョンのレンディションが存在し、かつRevisionSelectionMethodパラメータが存在しないか、その値がSpecificである場合は、そのレンディションが返されます。

RevisionSelectionMethod

リビジョン選択メソッド。

これが指定された場合は、dDocNameも指定する必要があります。この変数の値は、指定されたdDocNameからdIDを計算するために使用されるメソッドです。このパラメータで設定可能な値は、Specific、LatestまたはLatestReleasedです。

- 値がSpecificである場合、dDocNameは無視され、dIDが要求され、これを使用してレンディションが取得されます。

- 値がLatestである場合、コンテンツ・アイテムの最新リビジョンを使用してdIDが計算されます。

- 値がLatestReleasedである場合、コンテンツ・アイテムの最新リリースのリビジョンを使用してdIDが計算されます。

IdcService

GET_FILEに設定する必要があります。

32.3.3.10.2 オプション・パラメータ

次のオプション・パラメータを指定できます。

パラメータ

説明

Rendition

コンテンツ・アイテムのレンディション。このパラメータは、コンテンツ・アイテムのレンディションを指定するもので、Primary、WebまたはAlternateに設定できます。Renditionが指定されない場合、デフォルトでPrimaryが設定されます。

- 値がPrimaryである場合、選択されたリビジョンのプライマリ・レンディションが返されます。

- 値がWebである場合、選択されたリビジョンのWeb表示可能レンディションが返されます。

- 値がAlternateである場合、選択されたリビジョンの代替レンディションが返されます。

たとえば、Rendition=rendition:Tを使用してサムネイル・イメージを取得できます。

注意:

コンテンツID (dDocName)と内部のコンテンツ・アイテム・リビジョン識別子(dID)を混同しないでください。dID値は、コンテンツ・アイテムの特定のレンディションへの、生成済の参照です。

32.3.3.10.3 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_FILE">
<idc:document dID="10">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.10.4 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_FILE">
<idc:document dID="10">
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Receving response...
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Connection: keep-alive
Date: Mon, 29 Apr 2002 16:09:42 GMT
Content-type: Multipart/Related; boundary=-----------------4002588859573015789;
type=text/xml; start="<SoapContent>"
Content-Length: 1717

-------------------4002588859573015789
Content-Type: text/xml; charset=utf-8
Content-ID:  <SoapContent>

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_FILE">
<idc:document dID="10" dExtension="txt">
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:resultset name="FILE_DOC_INFO">
<idc:row dID="10" dDocName="soap_sample" dDocType="ADACCT" dDocTitle="soap_sample" dDocAuthor="sysadmin" dRevClassID="10" dRevisionID="1" dRevLabel="1" dIsCheckedOut="0" dCheckoutUser="" dSecurityGroup="Public" dCreateDate="4/22/02 12:18PM" dInDate="4/22/02 12:18 PM" dOutDate="" dStatus="RELEASED" dReleaseState="Y" dFlag1="" dWebExtension="txt" dProcessingState="Y" dMessage="" dDocAccount="" dReleaseDate="4/22/02 12:19 PM" dRendition1="" dRendition2="" dIndexerState="" dPublishType="" dPublishState="" dDocID="19" dIsPrimary="1" dIsWebFormat="0" dLocation="" dOriginalName="soap_sample.txt" dFormat="text/plain" dExtension="txt" dFileSize="12">
<idc:field name="xComments">

</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

-------------------4002588859573015789
Content-Type: text/html
Content-ID: <soap_sample.txt>

...File content...
-------------------4002588859573015789--

32.3.3.11 検索結果の取得

GET_SEARCH_RESULTSサービスは、渡された問合せテキストに対する検索結果を取得します。

- コンテンツ・アイテムの問合せを行ったユーザーに検索結果を表示するために使用されます。

- QueryTextパラメータにTitleやContent IDなどの値を添付して、このサービスで返される結果を絞り込むことができます。
QueryTextパラメータは、問合せを定義します。SOAPメッセージで使用するためには、この問合せはXMLエンコードである必要があります。次の例では、コンテンツ・アイテムの問合せのために送信される文字列を標準フォーマットで渡す場合と、XMLエンコード・フォーマットで渡す場合の両方を示します。

- 標準フォーマットの文字列が指定されたパラメータは次のとおりです。

QueryText=dDocType <Substring> "ADSALES"

- XMLエンコードの文字列が指定されたパラメータは次のとおりです。

<idc:field name="QueryText">
dDocType &lt;Substring&gt; `ADSALES`
</idc:field>

XMLエンコードの文字列のフォーマットの詳細は、第32.3.2項「特殊文字」を参照してください。

- このサービスを実行できない場合、「検索結果を取得できません」というメッセージが表示されます。

32.3.3.11.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

IdcService

GET_SEARCH_RESULTSに設定する必要があります。

QueryText

コンテンツ・アイテムの問合せのために送信される、ユーザーが指定したテキスト。

32.3.3.11.2 オプション・パラメータ

次のオプション・パラメータを指定できます。

パラメータ

説明

resultCount

返される結果の数。デフォルトは25です。

sortField

ソートの基準となるメタデータ・フィールドの名前。

- 例: dInDate、dDocTitle、Score。

- デフォルトはdInDateです。

sortOrder

ソート順序。使用できる値は、ASC (昇順)およびDES (降順)です。

startRow

次の検索結果として取得される最初の行。たとえば、結果として200行が返され、resultCountが25である場合、2番目の結果セットを取得するには、startRowを26に設定します。

32.3.3.11.3 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_SEARCH_RESULTS">
<idc:document>
<idc:field name="QueryText">
dDocType <Substring> "ADSALES"
</idc:field>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.11.4 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_SEARCH_RESULTS">
<idc:document StartRow="1" TotalDocsProcessed="6" TotalRows="0" QueryText="dDocType+%3cSubstring%3e+%22ADSALES%22" EndRow="25" SearchProviders="Master_on_wharristest" NumPages="0" PageNumber="1">
<idc:field name="refreshMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="EnterpriseSearchMaxRows">
4
</idc:field>
<idc:field name="FullRequest">
&QueryText=dDocType+%3cSubstring%3e+%22ADSALES%22
</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="Text2">
&lt;$dDocTitle$&gt;
</idc:field>
<idc:field name="Text1">
<$dDocName$>
</idc:field>
<idc:field name="OriginalQueryText">
dDocType+%3cSubstring%3e+%22ADSALES%22
</idc:field>
<idc:resultset name="SearchResults">
</idc:resultset>
<idc:resultset name="NavigationPages">
</idc:resultset>
<idc:resultset name="Master_on_wharristest">
</idc:resultset>
<idc:resultset name="EnterpriseSearchResults">
<idc:row ProviderName="Master_on_wharristest" IDC_Name="Master_on_wharristest" TotalRows="0" TotalDocsProcessed="6">
<idc:field name="ProviderDescription">
!csProviderLocalContentServerLabel
</idc:field>
<idc:field name="InstanceMenuLabel">
Master_on_wharristest
</idc:field>
<idc:field name="InstanceDescription">
Master_on_wharristest
</idc:field>
<idc:field name="IntradocServerHostName">
wharristest
</idc:field>
<idc:field name="HttpRelativeWebRoot">
/stellent/
</idc:field>
<idc:field name="IsImplicitlySearched">

</idc:field>
<idc:field name="UserAccounts">
#all
</idc:field>
<idc:field name="IsLocalCollection">
true
</idc:field>
<idc:field name="Selected">

</idc:field>
<idc:field name="StatusMessage">
Success
</idc:field>
<idc:field name="ResultSetName">
Master_on_wharristest
</idc:field>
<idc:field name="SearchCgiWebUrl">
/idcplg/idc_cgi_isapi.dll/stellent/pxs
</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.12 表のデータの取得

GET_TABLEサービスは、WebCenter Contentデータベースから、指定された表をエクスポートします。

- ResultSetを作成し、シリアル化されたHDAファイルにそれを追加することにより、指定された表をエクスポートします。表が見つからない場合、サービスは失敗します。シリアル化されたHDAファイルを受信して、後で使用するためにこのResultSetを格納するのは、コール元プログラムです。

- 最も発生しがちなエラーは、表名が存在しないことです。このサービスを実行できない場合、エラー・メッセージがユーザーに表示されます。

32.3.3.12.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

IdcService

GET_TABLEに設定する必要があります。

tableName

エクスポートする表の名前。

32.3.3.12.2 SOAPリクエスト

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_TABLE">
<idc:document>
<idc:field name="tableName">
DocTypes
</idc:field>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.12.3 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_TABLE">
<idc:document>
<idc:field name="tableName">
DocTypes
</idc:field>
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:resultset name="DocTypes">
<idc:row dDocType="ADACCT" dDescription="Acme Accounting Department" dGif="adacct.gif">
</idc:row>
<idc:row dDocType="ADCORP" dDescription="Acme Corporate Department" dGif="adcorp.gif">
</idc:row>
<idc:row dDocType="ADENG" dDescription="Acme Engineering Department" dGif="adeng.gif">
</idc:row>
<idc:row dDocType="ADHR" dDescription="Acme Human Resources Department" dGif="adhr.gif">
</idc:row>
<idc:row dDocType="ADMFG" dDescription="Acme Manufacturing Department" dGif="admfg.gif">
</idc:row>
<idc:row dDocType="ADMKT" dDescription="Acme Marketing Department" dGif="admkt.gif">
</idc:row>
<idc:row dDocType="ADSALES" dDescription="Acme Sales Department" dGif="adsales.gif">
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.13 基準ワークフロー情報の取得

GET_CRITERIA_WORKFLOWS_FOR_GROUPサービスは、基準ワークフロー情報を返します。

- セキュリティ・グループが指定されると、このサービスは、ワークフローおよび関連ステップのリストを返します。

- ResultSetsのWorkflowsForGroupおよびWorkflowStepsForGroupを返します。

- WorkflowsForGroupでは、このグループに対するすべてのワークフローがリストされます(dWfID、dWfName)。

- WorkflowStepsForGroupでは、このグループに対するすべてのワークフローのすべてのステップがリストされます(dWfID、dWfName、dWfStepID、dWfStepName)。

- 「ワークフロー管理」管理アプレットの「条件」タブから、基準ワークフローおよびサブワークフローを追加、編集、有効化、無効化および削除できます。

- 最も発生しがちなエラーは、指定のセキュリティ・グループが存在しないか、ユーザーがセキュリティ・チェックに失敗することです。そのような状況では、サービスは、ユーザーに表示するための適切な例外をスローします

32.3.3.13.1 必須パラメータ

次のパラメータを指定する必要があります。

パラメータ

説明

dSecurityGroup

PUBLICやSECUREなどのセキュリティ・グループ。

IdcService

GET_CRITERIA_WORKFLOWS_FOR_GROUPに設定する必要があります。

32.3.3.13.2 SOAPリクエスト

<?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_CRITERIA_WORKFLOWS_FOR_GROUP">
<idc:document dSecurityGroup="Public" />
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.3.3.13.3 レスポンス

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_CRITERIA_WORKFLOWS_FOR_GROUP">
<idc:document dSecurityGroup="Public">
<idc:field name="changedSubjects">

</idc:field>
<idc:field name="refreshSubjects">

</idc:field>
<idc:field name="loadedUserAttributes">
1
</idc:field>
<idc:field name="changedMonikers">

</idc:field>
<idc:field name="refreshSubMonikers">

</idc:field>
<idc:field name="refreshMonikers">

</idc:field>
<idc:resultset name="WorkflowStepsForGroup">
<idc:row>
<idc:field name="dWfID">
1
</idc:field>
<idc:field name="dWfName">
TestWorkflow
</idc:field>
<idc:field name="dWfStepID">
1
</idc:field>
<idc:field name="dWfStepName">
contribution
</idc:field>
</idc:row>
<idc:row>
<idc:field name="dWfID">
1
</idc:field>
<idc:field name="dWfName">
TestWorkflow
</idc:field>
<idc:field name="dWfStepID">
2
</idc:field>
<idc:field name="dWfStepName">
StepOne
</idc:field>
</idc:row>
</idc:resultset>
<idc:resultset name="WorkflowsForGroup">
<idc:row>
<idc:field name="dWfID">
1
</idc:field>
<idc:field name="dWfName">
TestWorkflow
</idc:field>
</idc:row>
</idc:resultset>
</idc:document>
<idc:user dUser="sysadmin">
</idc:user>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.4 Active Server PageにおけるSOAPパケットの使用

実行するサービスと必須パラメータを定義するSOAPパケットをカプセル化することで、Active Server Pageからコンテンツ・サーバーのIdcCommandサービスを実行できます。コマンドを実行するための適切な権限が必要です。管理者アクセスを必要とするコマンドもあれば、書込み権限のみを必要とするコマンドもあります。

32.4.1 サンプルのSOAPリクエスト

Active Server Pageは、コンテンツ・サーバーからサービスをコールできます。サンプル・サービスの次の説明には、必須パラメータとオプション・パラメータが含まれています。また、埋込みSOAPリクエストのXMLフォーマット・バージョンも提供されます。

必須パラメータとオプション・パラメータを含め、サービス・コールの詳細は、第32.3.3項「SOAPレスポンス/リクエストを使用したサンプルのサービス・コール」を参照してください。

次の例では、XMLフォーマットSOAPリクエストは、GET_SEARCH_RESULTSサービスを使用して、渡された問合せテキストに対する検索結果を取得します。

<?xml version='1.0' ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<idc:service xmlns:idc="http://www.oracle.com/IdcService/" IdcService="GET_SEARCH_RESULTS">
<idc:document>
<idc:field name="QueryText">
dDocType <Substring> "ADSALES"
</idc:field>
</idc:document>
</idc:service>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

32.4.2 サンプルのActive Server Page

埋込みSOAPリクエストは、Active Server Pageの基礎を形成します。次のサンプルは、GET_SEARCH_RESULTSを実行します。

サービス・コールの詳細およびSOAPレスポンスとリクエスト・メッセージの例は、第32.3.3項「SOAPレスポンス/リクエストを使用したサンプルのサービス・コール」を参照してください。

<%

&rsquor; Sample ASP page of sending a DOC_INFO Soap request.

Option Explicit

Response.Write("Search Results")

%>
<br><br>
<%

&rsquor; Construct the Soap request.
Dim strSoapRequest, strQueryText

strQueryText = Request.Form("QueryText")
strQueryText = Server.HtmlEncode(strQueryText)

strSoapRequest = "<?xml version='1.0' ?>" _
& "<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">" _
& "<SOAP-ENV:Body>" _
& "<idc:service xmlns:idc=""http://www.oracle.com/IdcService/"" IdcService=""GET_SEARCH_RESULTS"">" _
& "<idc:document>" _
& "<idc:field name=""QueryText"">" & strQueryText & "</idc:field>" _
& "<idc:field name=""SortField"">" & Request.Form("SortField") & "</idc:field>" _
& "<idc:field name=""SortOrder"">" & Request.Form("SortOrder") & "</idc:field>" _
& "<idc:field name=""ResultCount"">" & Request.Form("ResultCount") & "</idc:field>" _
& "<idc:field name=""Auth"">Internet</idc:field>" _
& "</idc:document>" _
& "</idc:service>" _
& "</SOAP-ENV:Body>" _
& "</SOAP-ENV:Envelope>"

&rsquor; Send the Soap request.
Dim objXmlHttp
Set objXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXmlHttp.open "POST", "http://localhost/stellent/idcplg", False, "sysadmin", "idc"
objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXmlHttp.send(strSoapRequest)

&rsquor; Parse the Soap response.
Dim objXmlDoc
Set objXmlDoc = Server.CreateObject("Msxml2.DOMDocument")
objXmlDoc.async = False
objXmlDoc.Load objXmlHttp.responseXml

&rsquor; Check for errors.
Dim strResponseError
strResponseError = objXmlDoc.parseError.reason
If strResponseError <> "" Then
Response.Write(objXmlHttp.ResponseText)
DisplayBackButton()
Response.End
End If

&rsquor; Check for a fault string.
Dim objXmlFaultNode
Set objXmlFaultNode = objXmlDoc.documentElement.selectSingleNode("//SOAP-ENV:Fault/faultstring")
If (Not (objXmlFaultNode Is Nothing)) Then
Response.Write(objXmlFaultNode.Text)
DisplayBackButton()
Response.End
End If

&rsquor; Check the status code.
Dim objXmlStatusCodeNode, objXmlStatusMessageNode, strStatusCode, nStatusCode, strStatusMessage
Set objXmlStatusCodeNode = objXmlDoc.documentElement.selectSingleNode("//idc:field[@name='StatusCode']")
If (Not objXmlStatusCodeNode Is Nothing) Then
nStatusCode = CInt(objXmlStatusCodeNode.Text)
If (nStatusCode < 0) Then
Response.Write(objXmlDoc.documentElement.selectSingleNode("//idc:field[@name='StatusMessage']").Text)
DisplayBackButton()
Response.End
End If
End If

&rsquor; Display search results
Dim strDocName, strDocTitle, strDocType, strInDate, strComments, nCurRow, nTotalRows
Dim objXmlResultNodeList, objXmlCommentNode

Set objXmlResultNodeList = objXmlDoc.documentElement.selectNodes("//idc:resultset[@name='SearchResults']/idc:row")
nTotalRows = objXmlResultNodeList.Length

%>
<table>
<tr>
<td><b>Content ID</b></td>
<td>&nbsp;</td>
<td><b>Title</b></td>
<td>&nbsp;</td>
<td><b>Type</b></td>
<td>&nbsp;</td>
<td><b>Release Date</b></td>
<td>&nbsp;</td>
<td><b>Comments</b></td>
</tr>

<%
For nCurRow = 0 To (nTotalRows - 1)
strDocName = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dDocName")
strDocTitle = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dDocTitle")
strDocType = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dDocType")
strInDate = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "dInDate")
strComments = GetXmlNodeValue(objXmlResultNodeList.Item(nCurRow), "xComments")

%>

<tr>
<td><%=strDocName%></td>
<td>&nbsp;</td>
<td><%=strDocTitle%></td>
<td>&nbsp;</td>
<td><%=strDocType%></td>
<td>&nbsp;</td>
<td><%=strInDate%></td>
<td>&nbsp;</td>
<td><%=strComments%></td>
</tr>
<%
Next
%>

</table>

<%

DisplayBackButton()
&rsquor;----------------------------
Function GetXmlNodeValue(objXmlRowNode, strNodeName)
&rsquor;----------------------------
Dim objXmlNode, objXmlNodeValue

Set objXmlNode = objXmlRowNode.selectSingleNode("@" & strNodeName)
If (objXmlNode Is Nothing) Then
Set objXmlNode = objXmlRowNode.selectSingleNode("idc:field[@name='" & strNodeName & "&rsquor;]")
End If

If (Not (objXmlNode Is Nothing)) Then
GetXmlNodeValue = objXmlNode.Text
End If
&rsquor;----------------------------
End Function
&rsquor;----------------------------

&rsquor;----------------------------
Sub DisplayBackButton()
&rsquor;----------------------------
%>
<form method=POST action="request.asp">
<table>
<tr>
<td><input type=submit value="Back"></td>
</tr>
</table>
</form>
<%
&rsquor;----------------------------
End Sub
&rsquor;---------------------------
%>

32.5 WebCenter ContentにアクセスするためのWSDLファイルの生成

WebCenter Contentサービスとの接続のためにWSDLファイルを生成できます。

32.5.1 WSDLファイルの理解

WSDLファイルは、コンテンツ・サーバー・サービスによって認識可能なデータを渡せるようにします。コンテンツ・サーバー・サービスにより、WebCenter Content内のコンテンツおよびコンテンツ管理機能へのアクセスが可能になります。コンポーネントとともに提供されているWSDLファイルは、IntradocDir/weblayout/groups/secure/wsdl/custom/ディレクトリに格納されます。

WSDLジェネレータ・コンポーネントとともに次のWSDLファイルが提供されます。

- CheckIn.wsdl

- DocInfo.wsdl

- GetFile.wsdl

- MetaData.wsdl

- PortalInfo.wsdl

- Search.wsdl

- Subscription.wsdl

- Workflow.wsdl

SoapカスタムWSDL管理ページを使用して、追加のWSDLファイルを生成できます。詳細は、第32.5.2項「サンプルのWSDLファイル」を参照してください。

32.5.1.1 WSDLファイル構造

WSDLファイルは、形式上、Webサービスに渡されるデータの説明を含む要素で構造化されます。この構造は、交換されるデータを解析するために、アプリケーションの送信とアプリケーションの受信を可能にします。

WSDL要素には、データ上で実行される操作の説明およびプロトコルまたはトランスポートへのバインディングが含まれます。これにより、データの処理と、応答する方法やデータを返す方法の解釈の両方のために、アプリケーションを受信できるようになります。各WSDL要素内に、追加のサブ要素が含まれる場合もあります。

WSDLファイル構造には、次の主要素が含まれます。

- データ型: 一般に、メッセージで使用されるXMLスキーマの形式を取ります。

- メッセージ: 完全なドキュメント、またはメソッド起動にマップされる引数として、メッセージの形式をとるデータの定義。

- ポート・タイプ: アドレスにマップされた操作のセット。これは、バインディングのための操作のコレクションを定義します。

- バインディング: 特定のポート・タイプにおける操作とメッセージで実際に使用されるプロトコルとデータ形式。

- サービスとポート: サービスは、バインディングをポートにマップし、ポートは、バインディングと、通信交換のためのネットワーク・アドレスの組合せです。

注意:

次のコード・フラグメントは、WSDLジェネレータ・コンポーネントとともに提供されるDocInfo.wsdlファイルにあるものです。完全なWSDLファイルについては、第32.5.2項「サンプルのWSDLファイル」を参照してください。

32.5.1.1.1 データ型

データ型<types>は、複雑なタイプと、関連付けられている要素を定義します。Webサービスは、単純なデータ型(文字列、整数、ブールなど)と複雑なデータ型の両方をサポートします。複雑な型は、複数の単純な型またはサブ要素の配列を含む構造化されたXMLドキュメントです。

ContentInfoセットに対する次のコード・フラグメントでは、Name、Title、AuthorおよびGroupの各要素を定義し、それらが文字列であることを指定します。

<s:complexType name="ContentInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dDocTitle" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dDocType" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dDocAuthor" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="dSecurityGroup" type="s:string"/>
</s:sequence>
</s:complexType>

32.5.1.1.2 メッセージ

メッセージ<message>は、メソッドの起動にマップされるデータを引数として定義します。

<message name="DocInfoByIDSoapIn">
<part name="parameters" element="s0:DocInfoByID" />
</message>
<message name="DocInfoByIDSoapOut">
<part name="parameters" element="s0:DocInfobyIDResponse" />
</message>

32.5.1.1.3 ポート・タイプ

ポート・タイプ<portType>は、バインディングのための操作のコレクションを定義します。DocInfo.wsdlファイルは、DocInfoSoapとDocInfo操作名(メソッド名)を、メッセージを処理するためのI/O情報とともに提供します。

<portType name="DocInfoSoap">
<operation name="DocInfoByID">
<input message="s0:DocInfoByIDSoapIn" />
<output message="s0:DocInfoByIDSoapOut" />
</operation>
</portType>

注意:

ポート・タイプは、(Javaにおけるクラスと同様に)操作のコレクションです。一方、WSDLは、.NET、EJBまたはCORBAオブジェクトへの単なるマッピングよりも多くの機能を提供する、独立したデータ抽象化です。

32.5.1.1.4 バインディング

バインディング<binding>は、特定のポート・タイプに対する操作およびメッセージの実際のプロトコルおよびデータ・フォーマットを定義します。

<binding name="DocInfoSoap" type="s0:DocInfoSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="DocInfoByID">
<soap:operation soapAction="http://wwww.oracle.com/Soap/DocInfo/" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>

32.5.1.1.5 サービスとポート

サービス<service>は、バインディングをポートにマップします。ポートは、バインディングと、通信交換のためのネットワーク・アドレスの組合せです。ポートは、定義されたトランスポート上でポート・タイプ(操作)のセットを公開するために使用されます。

<service name="DocInfo">
<port name="DocInfoSoap" binding="s0:DocInfoSoap">
<soap:address location="http://myhost.example.com:16200/_dav/cs/idcplg" />
</port>
</service>

ヒント:

&IsSoap=1をコンテンツ・サーバーのブラウザ・ウィンドウのURLに追加して、そのページの基礎となるSOAPコードを表示できます。

32.5.2 サンプルWSDLファイル

次のサンプル・コードは、完全なDocInfo.wsdlファイルを示しています。このファイルと、CheckIn.wsdl、GetFile.wsdlおよびSearch.wsdlファイルは、コンテンツ・サーバー・インスタンスのIntradocDir/weblayout/groups/secure/wsdl/customディレクトリにあります。

<?xml version='1.0' encoding='utf-8' ?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://wwww.oracle.com/DocInfo/"
targetNamespace="http://wwww.oracle.com/DocInfo/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<s:schema elementFormDefault="qualified" targetNamespace="http://www.oracle.com/DocInfo/">
<s:element name="DocInfoByID">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="extraProps" type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DocInfoByIDResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DocInfoByIDResult" type="s0:DocInfoByIDResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="DocInfoByIDResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContentInfo" type="s0:ContentInfo" />
<s:element minOccurs="0" maxOccurs="unbounded" name="Revisions" type="s0:Revisions" />
<s:element minOccurs="0" maxOccurs="unbounded" name="WorkflowInfo" type="s0:WorkflowInfo" />
<s:element minOccurs="0" maxOccurs="1" name="StatusInfo" type="s0:StatusInfo" />
</s:sequence>
</s:complexType>
<s:element name="DocInfoByName">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="extraProps" type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="DocInfoByNameResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DocInfoByNameResult" type="s0:DocInfoByNameResult" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="DocInfoByNameResult">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ContentInfo" type="s0:ContentInfo" />
<s:element minOccurs="0" maxOccurs="unbounded" name="Revisions" type="s0:Revisions" />
<s:element minOccurs="0" maxOccurs="unbounded" name="WorkflowInfo" type="s0:WorkflowInfo" />
<s:element minOccurs="0" maxOccurs="1" name="StatusInfo" type="s0:StatusInfo" />
</s:sequence>
</s:complexType>
<s:complexType name="ContentInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocTitle" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocAuthor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dSecurityGroup" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocAccount" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dRevClassID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dRevisionID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dRevLabel" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dIsCheckedOut" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="dCheckoutUser" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dCreateDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dInDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dOutDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dStatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dReleaseState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFlag1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWebExtension" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dProcessingState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dMessage" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dReleaseDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRendition1" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRendition2" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dIndexerState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dPublishType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dPublishState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dDocID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dIsPrimary" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="dIsWebFormat" type="s:boolean" />
<s:element minOccurs="0" maxOccurs="1" name="dLocation" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dOriginalName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFormat" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dExtension" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFileSize" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="CustomDocMetaData" type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
<s:complexType name="Revisions">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dFormat" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dInDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dOutDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dStatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dProcessingState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRevLabel" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dRevisionID" type="s:int" />
</s:sequence>
</s:complexType>
<s:complexType name="WorkflowInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dWfID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dDocName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfDocState" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfComputed" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfCurrentStepID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="dWfDirectory" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dClbraName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfDescription" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dCompletionDate" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dSecurityGroup" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfStatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dWfType" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dProjectID" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dIsCollaboration" type="s:boolean" />
</s:sequence>
</s:complexType>
<s:complexType name="StatusInfo">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="statusCode" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="statusMessage" type="s:string" />
</s:sequence>
</s:complexType>
<s:complexType name="IdcPropertyList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="property" type="s0:IdcProperty" />
</s:sequence>
</s:complexType>
<s:complexType name="IdcProperty">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="value" type="s:string" />
</s:sequence>
</s:complexType>
</s:schema>
</types>
<message name="DocInfoByIDSoapIn">
<part name="parameters" element="s0:DocInfoByID" />
</message>
<message name="DocInfoByIDSoapOut">
<part name="parameters" element="s0:DocInfoByIDResponse" />
</message>
<message name="DocInfoByNameSoapIn">
<part name="parameters" element="s0:DocInfoByName" />
</message>
<message name="DocInfoByNameSoapOut">
<part name="parameters" element="s0:DocInfoByNameResponse" />
</message>
<portType name="DocInfoSoap">
<operation name="DocInfoByID">
<input message="s0:DocInfoByIDSoapIn" />
<output message="s0:DocInfoByIDSoapOut" />
</operation>
<operation name="DocInfoByName">
<input message="s0:DocInfoByNameSoapIn" />
<output message="s0:DocInfoByNameSoapOut" />
</operation>
</portType>
<binding name="DocInfoSoap" type="s0:DocInfoSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
<operation name="DocInfoByID">
<soap:operation soapAction="http://www.oracle.com/DocInfo/" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="DocInfoByName">
<soap:operation soapAction="http://www.oracle.com/DocInfo/" style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="DocInfo">
<port name="DocInfoSoap" binding="s0:DocInfoSoap">
<soap:address location="http://myhost.example.com:16200/_dav/cs/idcplg/idc_cgi_isapi.dll" />
</port>
</service>
</definitions>

32.5.3 WSDLファイルの生成

Oracle WebCenter Contentのインストール時に、WSDLジェネレータ・コンポーネントがインストールされて有効化されると、一部のサービスをWebサービスとして公開する、いくつかのフォルダおよび関連するHDAファイルが生成されます。IntradocDir/data/soapディレクトリに、2つのディレクトリが作成されます。genericディレクトリにはgeneric.hdaファイルが含まれ、customディレクトリにはwsdl_custom.hdaファイルが含まれます。管理者は、Soap Wsdl管理ページを使用して、WSDLファイルをカスタマイズしたり追加したりできます。それらのページにアクセスするには、「管理アプレット」ページの「管理」セクションで「Soap WSDL」リンクをクリックします。

注意:

WSDLファイルを生成するには、WSDLジェネレータ・コンポーネントを有効にする必要があります。

SoapカスタムWSDL管理ページを使用したカスタムWSDLの作成および編集に関するステップバイステップの手順については、第32.6項「WSDLファイルのカスタマイズ」を参照してください。

32.5.4 WSDLファイルからのプロキシ・クラスの生成

開発者は、WSDLファイルを使用して、開発ツールにプラグインするためのプロキシ・クラスを作成できます。WSDLファイルをJava、Visual Basic、C#などの言語のプログラミング・クラス・ファイルに変換するための、多数のソフトウェア製品およびツールキットがあります。たとえば、Apache AXISは、SOAPからJavaへの変換のためのツールキットを提供し、Microsoft .NET開発環境は、WSDLファイルをC#に変換する機能を提供しています。

Microsoft .NETを使用している場合は、utilitywsdl.exeを使用してプロキシ・クラスを生成できます。

wsdl /l:CS DocInfo.wsdl

このユーティリティは、DocInfoServiceクラスおよびパラメータが指定されたDocInfo関数を含むDocInfoService.csファイル(C#クラス)を生成します。戻り値は、すべてのレスポンス・パラメータが指定されたDocInfoSetクラスと、ErrorCodeおよびErrorMessageの値です。ErrorCodeがゼロ未満の場合、サービス・コールでエラーが発生したことを示しています。その詳細は、ErrorMessage値で確認できます。

注意:

WSDLジェネレータ・コンポーネントで提供されるWSDLファイルに加えて、任意のWebCenter Contentサービス用のWSDLファイルを生成することもできます。詳細は、第32.5.3項「WSDLファイルの生成」を参照してください。

32.6 WSDLファイルのカスタマイズ

SoapカスタムWSDL管理ページには、管理者がWSDLファイルを編集およびカスタマイズできる機能があります。この章では、カスタムWSDLの作成および編集に関するステップバイステップの手順を説明する管理のチュートリアルを提供します。

WSDLファイルを生成するには、WSDLジェネレータ・コンポーネントを有効にする必要があります。WSDLジェネレータ・コンポーネントで提供されるWSDLファイルに加えて、任意のWebCenter Contentサービス用の追加のWSDLファイルを生成することもできます。詳細は、第32.5.3項「WSDLファイルの生成」を参照してください。

使用可能なサービスのリストと必須パラメータの詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentサービス・リファレンス』を参照してください。

SoapカスタムWSDL管理ページを使用してカスタムWSDLファイルを作成および編集する手順は次のとおりです。

1. Webブラウザで、Oracle WebCenter Content Serverに管理者としてログインします。

2. 「管理」トレイまたはメニューから、「Soap WSDL」を選択します。
このオプションにより、図32-3に示す「WSDLリスト」ページが開きます。

図32-3 「WSDLリスト」ページ

3. 「アクション」メニューから、「データ・リスト」を選択します。
このオプションにより、図32-4に示す「データ・リスト」ページが開きます。

図32-4 「データ・リスト」ページ

注意:

システム固有のWSDLは削除できません。ただし、WSDLを編集し、そのWSDLに対して複合型の要素を有効化または無効化することができます。

データ・リストは、複合型、サービス・パラメータまたは他のデータ・リストとともに使用できる、データのグローバルなリストです。データ・リストがパラメータまたは複合型のサブタイプとして指定されている場合、そのデータ・リストのすべてのサブタイプがデータ型として表示されます。データ・リストは、いったん定義されると、様々なWSDLおよびサービスで複数回参照できます。データ型のリストでは、すべてのデータ・リストにd:という接頭辞が付いています。

4. 「アクション」メニューから「データ・リストの追加」を選択します。
「データ・リストの追加」ページが表示されます。

5. 次の情報を入力します。
名前: UserMetaFields

説明: ユーザー・メタデータ・フィールド

6. 「追加」をクリックします。

7. データ・リストの要素の「名前」列に、ユーザー・メタデータ・フィールドの次の名前を入力します。

- dName

- dFullName

- dPassword

- dEmail

- dUserAuthType

図32-5に示すように、それぞれの名前で、「タイプ」列のメニューから「field:string」を選択し、必ず「有効」を選択します。

図32-5 データ・リストの要素

8. 「更新」をクリックします。
更新された「データ・リスト」ページに戻ります。UserMetaFieldsがリストの下部に表示されていることに注意してください。

9. 「アクション」メニューから「WSDLリスト」を選択します。
図32-6に示す「WSDLリスト」ページが再表示されます。

図32-6 再表示された「WSDLリスト」ページ

10. 「アクション」メニューから「WSDLの追加」を選択します。
「WSDLの追加」ページが表示されます。

11. 次の情報を入力します。
名前: UserInfo

説明: ユーザー・サービス

12. 「追加」をクリックします。
図32-7に示す「WSDL情報」ページが表示されます。

図32-7 「WSDL情報」ページ

13. 「アクション」メニューから「複合型の追加」を選択します。
「複合型の追加」ページが表示されます。

注意:

複合型には、他のデータ型がサブタイプとして含まれています。それらが作成されると、WSDL内の任意のサービスで、これらの複合型をパラメータとして使用できます。

14. 複合型に関する次の情報を入力します。
名前: UserAttribInfo

タイプ: メニューから「resultset」を選択します。

15. 「追加」をクリックします。
図32-8に示す「WSDL情報」ページが再表示されます。

図32-8 再表示された「WSDL情報」ページ

16. 「UserAttribInfo」行で「編集」をクリックします。
「複合型の情報」/「複合型の要素」ページが開きます。

17. 次の複合型の要素を入力し、メニューからそれぞれの「タイプ」値を選択します。

名前

タイプ

Idc名

dUserName

field:string

AttributeInfo

field:string

18. 「複合型の要素」セクションで「更新」をクリックします。
更新された「WSDL情報」ページに戻ります。User AttribInfoが複合型として表示されていることに注意してください。

19. 「アクション」メニューから「サービスの追加」を選択します。
「サービスの追加」ページが開きます。

20. 次の情報を入力します。
名前: AddUser

IdcService: ADD_USER

21. 「追加」をクリックします。
「WSDL情報」ページが開きます。

22. AddUserサービスに対して「編集」を選択します。
このオプションにより、図32-9に示す「サービス情報」ページが開きます。

図32-9 「サービス情報」ページ

注意:

WSDLを作成する際、コンテンツ・サーバーのIdcServices機能に対応するサービスを作成します。サービスがWebサービス・コールとの間でやり取りするリクエストおよびレスポンス・パラメータも指定します。

23. 「アクション」メニューから「リクエスト・パラメータの更新」を選択します。
「リクエスト・パラメータ」ページが表示されます。

24. 次の情報を入力し、メニューからタイプを選択します。

名前

タイプ

Idc名

DataList

d:UserMetaFields

CustomUserData

propertylist:CustomUserMeta

25. 「更新」をクリックします。
更新された「サービス情報」ページに戻ります。「リクエスト・パラメータ」セクションにDataListおよびCustomUserDataが表示されていることに注意してください。

26. 「更新」をクリックします。
更新された「WSDL情報」ページに戻ります。このページには、今追加したサービスが表示されています。

27. 「更新」を再度クリックします。
更新された「WSDLリスト」ページに戻ります。UserInfoがリストの下部に表示されています。

28. 「アクション」メニューから「WSDLの生成」を選択します。
WSDLが正常に生成されると、確認メッセージが表示されます。

29. 「戻る」をクリックします。
「WSDLリスト」ページに戻ります。

30. 「名前」列の「UserInfo」リンクをクリックします。
生成されたWSDLファイルのソース・コードが表示されます(例32-12にその一部を示します)。

例32-12 ソース・コードの一部、WSDLファイル

<?xml version="1.0" encoding="utf-8" ?>
- <definitions xmins:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.smlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://www.example.com/UserInfo/"
targetNamespace="http://www.example.com/UserInfo/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified"
targetNamespace="http://www.example.com/UserInfo/">
- <s:element name="AddUser">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dName"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dFullName"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dPassword"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dEmail"
type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dUserAuthType"
type="s:string: />
<s:element minOccurs="0" maxOccurs="1" name="CustomUserData"
type="s0:IdcPropertyList" />
<s:element minOccurs="0" maxOccurs="1" name="extraProps"
type="s0:IdcPropertyList" />
</s:sequence>
</s:complexType>
</s:element>

31. ブラウザの「戻る」ボタンをクリックします。
「SoapカスタムWSDL」ページに戻ります。

ヒント:

「表示」を右クリックし、デスクトップにWSDLファイルを保存できます(.NETで使用するなどの目的で)。ただし、デフォルトの.xmlファイル拡張子ではなく、.wsdlファイル拡張子でファイルを保存してください。

33 DesktopTagコンポーネントのカスタマイズ

この章では、Oracle WebCenter Content ServerのDesktopTagコンポーネントをカスタマイズして、Microsoft Word、ExcelおよびPowerPointファイルのチェックアウト済バージョンのプロパティを指定する方法について説明します。

この章の内容は次のとおりです。

- 第33.1項「DesktopTagコンポーネントについて」

- 第33.2項「DesktopTagおよびOracleCleanContentコンポーネントの有効化」

- 第33.3項「DesktopTagを使用したコンテンツ・アイテムのチェックアウトとチェックイン」

- 第33.4項「チェックアウト済コンテンツ・アイテムへのプロパティの追加」

- 第33.5項「DesktopTagコンポーネントの構成」

33.1 DesktopTagコンポーネントについて

DesktopTagは、Microsoft Officeアプリケーション(2002以降のバージョン)のデフォルト・フォーマットを使用して作成されたファイルのカスタム・プロパティを管理するコンテンツ・サーバー・コンポーネントです。このコンポーネントは、Wordドキュメント(DOC、DOCXおよびDOTファイル)、Excelスプレッドシート(XLS、XLSXおよびXLTファイル)およびPowerPointプレゼンテーション(PPTおよびPPTXファイル)がコンテンツ・サーバーからチェックアウトされたときにそれらにカスタム・プロパティを追加し、それらが再びチェックインされるときにその情報を削除します。

Microsoft Officeファイルに追加されるプロパティは、DesktopTag構成ファイルに指定されています。詳細は、第33.5項「DesktopTagコンポーネントの構成」を参照してください。

カスタム・プロパティは、コンテンツ・サーバー内でコンテンツ・アイテムが存在している場所に関する情報を提供し、ファイルが正しい場所に正しいコンテンツ管理パラメータでチェックインされるようにします。これは、コンテンツ・アイテムが、チェックアウト後に、外部ワークフロー(つまり、コンテンツ・サーバーによって管理されていないもの)など、コンテンツ・サーバーの外部で処理される場合に特に役立ちます。また、この情報をユーザーに公開することも可能です(たとえば、Microsoft Officeアプリケーションのタスク領域などで)。

DesktopTagは、Oracle Clean Contentテクノロジを使用して、Microsoft Officeファイルにカスタム・プロパティを追加し、Microsoft Officeファイルからカスタム・プロパティを削除します。

33.2 DesktopTagおよびOracleCleanContentコンポーネントの有効化

DesktopTagコンポーネントは、Content Server 11gR1に含まれています。これは、デフォルトでは有効化されていないため、コンテンツ・サーバーで有効にする必要があります。DesktopTagコンポーネントは、OracleCleanContentも有効にすることを必要とします。OracleCleanContentコンポーネントは、標準的なコンテンツ・サーバー・インストールでは有効になっています。

コンポーネントは、「管理」→「管理サーバー」→「コンポーネント・マネージャ」メニュー・オプションからアクセス可能なコンポーネント・マネージャを使用して有効にできます。コンポーネントの有効化の詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentの管理』のコンポーネントの有効化と無効化に関する項を参照してください。

DesktopTagは、次のMicrosoft Officeアプリケーションにカスタム・プロパティを追加できます。

- Microsoft Word 2002 (XP)以降のバージョン

- Microsoft Excel 2002 (XP)以降のバージョン

- Microsoft PowerPoint 2002 (XP)以降のバージョン

33.3 DesktopTagを使用したコンテンツ・アイテムのチェックアウトとチェックイン

DesktopTagコンポーネントは、コンテンツ・サーバーに対するチェックアウト(file get)およびチェックイン操作を変更します。

33.3.1 ファイルの取得操作

DesktopTagコンポーネントは、createFileNameメソッドに対するサービス・ハンドラのオーバーライドをインストールします。このメソッドは、サーバーに対するすべてのfile get操作でコールされる必要があります(ネイティブのURLリクエストは、このメソッドをコールしません)。ファイル・タイプが構成でサポートされている場合、カスタム・プロパティのセットがファイルに追加されます。それらのカスタム・プロパティは、DesktopIntegrationSuiteによって様々な方法で使用され、他のコンポーネントで使用可能になります。

33.3.2 ファイルのチェックイン操作

DesktopTagコンポーネントにより、DesktopIntegrationSuiteコンポーネントの一部であるvalidateCheckinDataフィルタをフックする拡張フィルタがインストールされます。これは、データがサーバーにチェックインされる前に、file get操作によって追加されたカスタム・プロパティを削除します。

この操作に対して返されるResultSetには、以降のファイルの取得操作でMicrosoft Officeファイルに追加されるプロパティが含まれます。これは、クライアントが、新しいコピーを取得することを必要とせずにファイルを変更できるようにするために提供されています。このメソッドは、file get操作と同様に、desktopTagGetFilter拡張フィルタをコールします。

33.4 チェックアウト済コンテンツ・アイテムへのプロパティの追加

DesktopTagコンポーネントによって提供される機能は、完全にバックグラウンドで提供されます。直接のユーザー・インタラクションはありません。情報はユーザーに公開可能ですが、これは通常、コンテンツ・トラッキングの目的で使用されます。

Microsoft Officeファイルに追加されるプロパティは、DesktopTag構成ファイル内の設定によって異なります(第33.5項「DesktopTagコンポーネントの構成」を参照してください)。図33-2では、コンテンツID (dDocName)、ユーザー名(dUser)および一意のコンテンツ・アイテムID (dID)がWordドキュメントに追加されます。DISPropertiesカスタム・プロパティは、常に追加されます。これにより、DesktopTagによって(構成ファイルに指定されているとおりに)追加されたすべてのカスタム・プロパティがリストされます。これは、ファイルが再びコンテンツ・サーバーにチェックインされるときに適切なカスタム・プロパティが確実に削除されるようにするために使用されます。

図33-1は、DesktopTagによって追加されたカスタム・プロパティがないWord 2003ドキュメントの例を示しています。

図33-1 DesktopTagによって追加されたカスタム・プロパティがないWord 2003ドキュメント

図33-2は、Word 2003ドキュメントに追加されたいくつかのカスタム・プロパティを示しています。

図33-2 DesktopTagによって追加されたカスタム・プロパティがあるWord 2003ドキュメント

33.4.1 カスタム・プロパティの表示

Microsoft Officeファイルのカスタム・プロパティを、次のように表示できます。

- Microsoft Office XP (2002)および2003: 「ファイル」を選択し、「プロパティ」を選択し、「カスタム」タブをクリックします。

- Microsoft Office 2007: アプリケーション内にあるOfficeボタンをクリックし、「準備」→「プロパティ」→「ドキュメント・プロパティ」→「詳細プロパティ」を選択し、「カスタム」タブをクリックします。

- Microsoft Office 2010: 「ファイル」パネルを開き、「情報」→「プロパティ」→「詳細プロパティ」→「カスタム」タブをクリックします。

図33-3は、DesktopTagによってWord 2003ドキュメントに追加されたカスタム・プロパティを示しています。

図33-3 カスタム・ドキュメント・プロパティ(Microsoft Word 2003)

33.4.2 コンテンツ・サーバーの外部からのドキュメントのチェックイン

これらのカスタム・ドキュメント・プロパティを使用すると、Oracle Webcenter Content: Desktopでコンテンツ・サーバーにある管理対象ファイルの場所を把握できます。ユーザーは、コンテンツ管理統合のコンテキスト外からでもMicrosoft Officeドキュメントをコンテンツ・サーバーにチェックインできます。

ドキュメントをチェックインするには、サーバー設定に接続する必要があります。Officeアドインは、CGI URL、ServerおよびIDCNAMEプロパティを調べて、ドキュメントをサーバーと照合しようとします。そのため、ユーザーは、同じネットワーク上に存在し、サーバーへのアクセス権を持っている必要があります。

この機能は、次のような多くの状況で役立ちます。

- 管理対象Wordドキュメントを他の人から電子メールの添付ファイルとして受け取った場合

- 管理対象Wordドキュメントを統合階層内のサーバーからその階層外のフォルダにコピーした場合

いずれの場合も、ファイルをMicrosoft Wordで開き、変更し、WordのOracle WebCenter Contentのメニューやリボンを使用してサーバーにチェックインできます。Desktopは、Wordドキュメントに埋め込まれているカスタム・プロパティをチェックして、ファイルのアップロード先を確認します。

33.5 DesktopTagコンポーネントの構成

DesktopTagコンポーネントは、コンポーネント・インストール・ディレクトリにある構成ファイルdesktoptag_environment.cfgを使用して構成されます。これは、任意のテキスト・エディタで編集できるプレーン・テキスト・ファイルです。コンポーネント・インストール・ディレクトリは、MW_HOME/WCC_ORACLE_HOME/ucm/idc/components/DesktopTagです。

注意:

DesktopTag構成ファイルを変更したら、コンテンツ・サーバーを再起動してください。

構成ファイルでは、次のプロパティを設定できます。

- DesktopTagFormats

- DesktopTagPrefix

- DesktopTagFields

- DesktopTagPrefixCustom

- DesktopTagFieldsCustom

- DesktopTagPrefixExtended

- DesktopTagFieldsExtended

- DefaultTaskPaneUrl

- DesktopTagLog

- DesktopTagFormatsExclude

33.5.1 DesktopTagFormatsプロパティ

DesktopTagFormatsプロパティの値は、タグ付けのために処理されるMIMEデータ型のカンマ区切りリストです。このリストにないデータ型は処理されません。このパラメータが(#を使用して)コメントアウトされているか、空であるか、または構成ファイルにまったく含まれていない場合、サポートされているデータ型がすべて処理されます。

例: DesktopTagFormats=application/msword,application/ms-excel

サポートされていないMIMEデータ型がリストに含まれている場合、DesktopTagはファイルの処理を試行し、ロギングが有効な場合は、ログ・ファイルにエラー・イベントが記録されます。

33.5.2 DesktopTagPrefixプロパティ

DesktopTagPrefixプロパティの値は、標準DesktopTagフィールドのリスト内にあるすべての標準コンテンツ・サーバー・メタデータ・フィールドの名前に追加される接頭辞です(第33.5.3項「DesktopTagFieldsプロパティ」を参照してください)。特定のプロパティ名が定義されている場合、この接頭辞は追加されません。このパラメータが(#を使用して)コメントアウトされているか、空であるか、または構成ファイルにまったく含まれていない場合、DISがデフォルトとして使用されます。

例: DesktopTagPrefix=STD

33.5.3 DesktopTagFieldsプロパティ

DesktopTagFieldsプロパティの値は、Microsoft Officeファイルにカスタム・プロパティとして追加されるすべての標準コンテンツ・サーバー・メタデータ・フィールドのカンマ区切りリストです。サーバー内部フィールド名(たとえば、コンテンツIDの場合はdDocName)を使用してください。標準メタデータ・フィールドの内部フィールド名の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

フィールド名の後にカッコで囲んで追加することにより、メタデータ・フィールドの特定のプロパティ名を設定できます。これは、プロパティ名が(たとえば、Microsoft Office 2007アプリケーションのタスク領域で)エンド・ユーザーに公開される場合は、特に役に立ちます。

例: DesktopTagFields=dID,dDocName,dUser(User Name)

図33-4は、前述のDesktopTagFields定義の結果を示しています(デフォルトのDIS接頭辞が使用されたと仮定しています)。

図33-4 プロパティ名の例

注意:

DISPropertiesカスタム・プロパティは、常に追加されます。その値は、DesktopTagによって追加されたすべてのプロパティのリストです。

33.5.4 DesktopTagPrefixCustomプロパティ

DesktopTagPrefixCustomプロパティの値は、カスタムDesktopTagフィールドのリスト内にあるすべてのカスタム・コンテンツ・サーバー・メタデータ・フィールドの名前に追加される接頭辞です(第33.5.4項「DesktopTagPrefixCustomプロパティ」を参照してください)。特定のプロパティ名が定義されている場合、この接頭辞は追加されません。

このパラメータが(#を使用して)コメントアウトされているか、空であるか、または構成ファイルにまったく含まれていない場合、DISCがデフォルトとして使用されます。

例: DesktopTagPrefixCustom=CST

33.5.5 DesktopTagFieldsCustomプロパティ

DesktopTagFieldsCustomプロパティの値は、Microsoft Officeファイルにカスタム・プロパティとして追加されるすべてのカスタム・コンテンツ・サーバー・メタデータ・フィールドのカンマ区切りリストです。標準メタデータ・フィールドとまったく同じ方法でこれらのフィールドを定義します(第33.5.3項「DesktopTagFieldsプロパティ」を参照してください)。

例: DesktopTagFieldsCustom=xComments(Extra Info),xArchiveStatus

注意:

標準コンテンツ・サーバー・メタデータ・フィールドとカスタム・コンテンツ・サーバー・メタデータ・フィールドは、DesktopTagによってまったく同じように処理されます。別々の構成エントリがあるのは、単にそれらのフィールドを区別しやすくするためです。

33.5.6 DesktopTagPrefixExtendedプロパティ

DesktopTagPrefixExtendedプロパティの値は、拡張DesktopTagフィールドのリスト内にあるすべてのカスタム・コンテンツ・サーバー・メタデータ・フィールドの名前に追加される接頭辞です(第33.5.7項「DesktopTagFieldsExtendedプロパティ」を参照してください)。特定のプロパティ名が定義されている場合、この接頭辞は追加されません。

このパラメータが(#を使用して)コメントアウトされているか、空であるか、または構成ファイルにまったく含まれていない場合、DISXがデフォルトとして使用されます。

例: DesktopTagPrefixExtended=EXT

33.5.7 DesktopTagFieldsExtendedプロパティ

DesktopTagFieldsExtendedプロパティの値は、ExtendedUserAttributesコンポーネントのプロパティ定義のカンマ区切りリストです。プロパティ定義の一般形式は、タイプ/キー/サブキー(名前)です。タイプ、キーおよびサブキーの値は、EC_GET_PROPERTYサービスによって使用されるパラメータです。これらの値のいずれかが@文字で始まっている場合、パラメータ値は、指定されたコンテンツ・サーバー・メタデータ・フィールドから取得されます(次の例を参照してください)。

フィールド名の後にカッコで囲んで追加することにより、メタデータ・フィールドの特定のプロパティ名を設定できます。

例: DesktopTagFieldsExtended=account/@dSecurityGroup/WCTPUrl (DIS_Task_Pane_Url)

この例では、プロパティの名前はDIS_Task_Pane_Urlになり、その値は、タイプがaccount、キー値がdSecurityGroupメタデータ・フィールド(コンテンツ・アイテムのセキュリティ・グループ)によって指定された値、およびサブキーがWCTPUrlのExtendedUserAttributesアイテムであることを指定しています。

33.5.8 DefaultTaskPaneUrlプロパティ

DefaultTaskPaneUrlプロパティの値は、Microsoft Officeアプリケーションのタスク領域でファイルのWebページを表示するために必要なDISTaskPaneUrlプロパティの設定で使用されるデフォルトURLを定義する文字列です。@文字で始まるすべての単語は、バインダからの値に置き換えられるか、または他の方法によって置き換えられます(これは現在、@cgiUrlにのみ適用されます)。

例: DefaultTaskPaneUrl=@cgiUrl?IdcService=GET_TASK_PANE &dID=@dID

この例では、@cgiUrlはコンテンツ・サーバーのCgi URL値に置き換えられ、@dIDはサーバー内部の一意のコンテンツ・アイテムID (dID)の値に置き換えられます。

別な例として、WebCenterUrlという拡張ユーザー属性がある場合、"WebCenterUrl(DISTaskPaneUrl)"という文字列が追加されると、DISTaskPaneUrlプロパティがWebCenterUrlという拡張ユーザー属性の値に設定されます。

33.5.9 DesktopTagLogプロパティ

DesktopTagLogプロパティの値は、DesktopTagコンポーネントの操作および結果をログに記録するかどうかを示すブール値です(1 = yes、0 = no)。

このパラメータが(#を使用して)コメントアウトされているか、空であるか、または構成ファイルにまったく含まれていない場合、コンポーネントの操作および結果はログに記録されません。DesktopTagのログ情報は、図33-5に示されているとおり、標準コンテンツ・サーバー・ログ・ファイル(サーバーの管理ページからアクセス可能)に含まれています。

図33-5 コンテンツ・サーバー・ログ・ファイルのDesktopTagイベント

33.5.10 DesktopTagFormatsExcludeプロパティ

DesktopTagFormatsExcludeプロパティの値は、タグ付けのために処理されないMIMEデータ型のカンマ区切りリストです。このリストにないデータ型は処理されます。

例: DesktopTagFormatsExclude=application/ms-excel

DesktopTagFormatsとDesktopTagFormatsExcludeの両方を使用する理由はありません。

第VIII部

付録

この部には、追加情報を提供する付録が含まれます。

第VIII部には、次の付録が含まれています。

- 付録A「Idoc Scriptの関数および変数」

- 付録B「Webサイトの構築」

- 付録C「トラブルシューティング」

A Idoc Scriptの関数および変数

この付録では、Oracle WebCenter Contentのカスタマイズに使用可能なIdoc Scriptの関数および変数について説明します。

Idoc Scriptには、多数のビルトイン・グローバル関数があります。関数は、文字列の比較、操作ルーチン、日付フォーマット化、ResultSetの操作といったアクションを実行します。いくつかの関数は、計算または比較の結果などの結果も返します。

関数名の後に情報をカッコで閉じることによって、情報が関数に渡されます。関数に渡される情報のピースをパラメータといいます。関数には、パラメータをとらないもの、パラメータを1つとるもの、複数のパラメータをとるものがあります。関数のなかには、その使用方法によってパラメータ数が異なるものもあります。

ビルトイン・グローバル関数の他に、カスタム・クラスを含む新規のグローバル関数を、Javaコードを使用して定義できます。詳細は、第12章「コンテンツ・サーバーのコンポーネントのスタート・ガイド」および第18章「カスタム・コンポーネントの作成」を参照してください。

Idoc Scriptは、ビルトイン関数とともに、様々な変数を使用します。Idocスクリプトの中で使用される変数には、動的変数、条件動的変数およびページ表示変数があります。これらの変数の多くは、スクリプトの中で使用したり、WebCenter Contentのconfig.cfgファイルとintradoc.cfgファイル内で個別に指定したり、WebブラウザのURLに使用したりすることもできます。

.cfgファイルまたはWebブラウザのURLでのみ使用される変数の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

abortToErrorPage()

現在のページを中止して、エラー・メッセージを表示します。

- この関数はStatusCode変数を評価し、負の数値(-1)が返された場合は、現在のページにかえてエラー・ページを表示します。

- StatusMessage変数は、エラー・メッセージ文字列として使用できます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.1.5.1項「ページ表示変数」

パラメータ

唯一のパラメータはエラー・メッセージ文字列です。

出力

エラー・ページのエラー・メッセージ文字列を返します。

例

現在のページを中止し、エラー・メッセージとして「アクセスが拒否されました」を表示します。

<$abortToErrorPage("Access Denied")$>

現在のページを中止し、エラー・メッセージとしてStatusMessage変数の値を表示します。

<$abortToErrorPage("<$StatusMessage$>")$>

関連項目

- executeService()

- IsRequestError

- StatusCode

- StatusMessage

addEmptyOption

メタデータ・フィールドのオプション・リストの最初のオプションが空白の値であることを指定します。

タイプおよび使用方法

- 第4.1.5.2項「フィールド表示変数」

- 第4.1.5.2.3項「その他のフィールド表示変数」

出力

- オプション・リストの最初の値が空白である場合、TRUEを返します。

- オプション・リストの最初の値が空白でない場合、FALSEを返します。

例

オプション・リストの最初の値が空白であることを指定します。

<$if ForceDocTypeChoice and isTrue(ForceDocTypeChoice)$>
<$addEmptyOption = 1$>
<$endif$>

関連項目

- fieldIsOptionList

AdminAtLeastOneGroup

現在のユーザーが少なくとも1つのセキュリティ・グループに対して管理者ロールを持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーが少なくとも1つのセキュリティ・グループの管理者である場合、TRUEを返します。

- ユーザーに管理者ロールが割り当てられていない場合、FALSEを返します。

例

管理者に対するオプションのプレゼンテーションの実行に使用できます。

<$if (AdminAtLeastOneGroup)$>
<a href="<$redirect$>">
<$endif$>

関連項目

- UserAppRights

- UserIsAdmin

AfterLogin

現在のページがログインの直後に作成されたかどうかを指定します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.1.5.1項「ページ表示変数」

出力

- ページがログインの直後に作成された場合、TRUEを返します。

- ページがログインの直後に作成されなかった場合、FALSEを返します。

例

ページがログインの直後に作成されなかった場合は、代替URLが表示されます。

<$if not AfterLogin$>
<a href="<$redirect$>">
<$endif$>

AllowCheckin

現在のユーザーがコンテンツ・アイテムのセキュリティ・グループに対してチェックイン権限を持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーがチェックイン権限を持っている場合、TRUEを返します。

- ユーザーがチェックイン権限を持っていない場合、FALSEを返します。

例

チェックイン権限を持つユーザーに対するオプションのプレゼンテーションの実行に使用できます。

<$if (AllowCheckin)$>
<a href="<$redirect$>">
<$endif$>

AllowCheckout

現在のユーザーがコンテンツ・アイテムのセキュリティ・グループに対してチェックアウト権限を持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーがチェックアウト権限を持っている場合、TRUEを返します。

- ユーザーがチェックアウト権限を持っていない場合、FALSEを返します。

例

チェックアウト権限を持つユーザーに対するオプションのプレゼンテーションの実行に使用できます。

<$if (AllowCheckout)$>
<a href="<$redirect$>">
<$endif$>

AllowReview

現在のユーザーが現在のワークフロー・アイテムの承認または却下を実行できるかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.1.8項「ワークフロー」

出力

- ユーザーが現在のワークフロー・ステップのレビューアである場合、TRUEを返します。

- ユーザーが現在のワークフロー・ステップのレビューアでない場合、FALSEを返します。

例

ユーザーがレビューアである場合、「承認」ボタンと「却下」ボタンが表示されます。

<$if AllowReview$>
<$include workflow_doc_action_buttons$>
<$endif$>

AuthorAddress

コンテンツ・アイテムの作成者の電子メール・アドレスを指定します。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 第4.2.24項「ユーザー」

出力

使用に応じて文字列またはブール値を返します。

- 標準的な使用: コンテンツ・アイテムの作成者の電子メール・アドレスを文字列として返します。

- 条件文で次のように使用されます。

- コンテンツ・アイテムの作成者が定義済の電子メール・アドレスを持っている場合、TRUEを返します。

- コンテンツ・アイテムの作成者が電子メール・アドレスを持っていない場合、FALSEを返します。

例

リビジョンが作成されるときに、電子メールを介してコンテンツ・アイテムの作成者を変更できます。

<$AuthorAddress$>

AuthorDelete

作成者が、セキュリティ・グループに対する削除権限を持っていなくても自分のリビジョンを削除できるようにします。

- TRUEに設定された場合、作成者はセキュリティ・グループに対する削除権限を持っていなくても自分のリビジョンを削除できます。

- デフォルトは空の文字列です。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.21.1項「内部セキュリティ」

場所

- 「システム・プロパティ」、「コンテンツ・セキュリティ」タブ、「作成者にリビジョンの削除を許可する」

- 「管理」、「管理サーバー」、「コンテンツ・セキュリティ」メニュー・オプション、「作成者にリビジョンの削除を許可する」

- IntradocDir/config/config.cfg

例

構成エントリとして:

AuthorDelete=true

Idoc Scriptとして:

<$if AuthorDelete$>
<$AuthorDelete$>
<$else$>
false
<$endif$>

AutoNumberPrefix

自動番号付けされたすべてのコンテンツIDに追加される接頭辞を定義します。

- 自動番号付け接頭辞を返します(構成設定の値を返します)。

- 文字列を返します。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 4.2.3項「コンテンツ・アイテム」

場所

- 「システム・プロパティ」、「オプション」タブ、「自動的に名前の前に付ける接頭辞」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「自動採番接頭辞」

- IntradocDir/config/config.cfg

例

構成設定として、自動番号付け接頭辞を定義します。

AutoNumberPrefix=HR

Idoc Scriptとして、構成設定の値を返します。

<$AutoNumberPrefix$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』の「IsAutoNumber」

BatchLoaderPath

デフォルトのバッチ・ロード・テキスト・ファイルへのパスを定義します。

文字列としてファイル・パスを返します。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.1項「バッチ・ローダー」

場所

DomainHome/ucm/cs/bin/intradoc.cfg

例

- Windows構成エントリとしての使用例:

BatchLoaderPath=c:/domain/BatchLoader/batchfile.txt

- Solaris/UNIX構成エントリとしての使用例:

BatchLoaderPath=/u1/intradoc3/batLd/batchfile

- Idoc Scriptとして、文字列としてファイル・パスを返します。

<$BatchLoaderPath$>

break()

ループの終了に多く使用されます。

- ブレーク指示によって、一番内側のループが終了します。

- ループの終了に続いて、最初の文で制御が再開されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

BrowserVersionNumber

クライアント・ブラウザのバージョン番号を取得します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.2項「クライアント」

出力

文字列としてブラウザのバージョン番号を返します。

例

ユーザーが使用しているブラウザのバージョン番号とOracle WebCenter Content Serverに互換性があることの確認に使用できます。

<$BrowserVersionNumber$>

c

コメントをIdoc Scriptコードで指定します。

タイプおよび使用方法

- 第3.2.2項「Idoc Scriptのコメント」

- 第4.2.13項「Idoc Script」

例

コード内にコメントを入れます。

<$c = "Sets the variables to empty strings."$>

cacheInclude()

この関数は、inc() Idoc Script関数と同じように動作します。includeNameに対応する動的HTMLインクルードを評価して、それをページに表示します。考えられる相違点は、レンダリングされたHTMLを再評価するかわりに、それをキャッシュからプルすることです。

詳細は、第 3.4.1章「キーワードと関数の比較」を参照してください。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

3つの必須パラメータと2つのオプションのパラメータを取ります。次に例を示します。

cacheInclude(includeName, scope, lifeSpan[,  cacheName][, key])

パラメータ

説明

includeName

評価する動的HTML要素の名前。

scope

ユーザーごとに異なるHTMLを表示する場合はsessionに設定し、すべてのユーザーに同じものを表示する場合はapplicationに設定します。

lifeSpan

このインクルードのキャッシュ内での存続期間(秒単位)。

cacheName

オプション: デフォルトのキャッシュのかわりに、データを名前付きキャッシュに入れる場合に使用。空の文字列が渡される場合は、インクルードをセッションのデフォルトのキャッシュに入れます。

key

オプション: 競合を避けるためにキャッシュの名前-範囲の自動指定を行わない場合は、ここで一意のキーを指定できます。

例

キーの指定により、std_page_beginインクルードがユーザー別に10分間キャッシュされます。これは、キャッシュ内でユーザーごとに約10 KBを消費します。

<$cacheInclude("std_page_begin", "session", 600)$>

関連項目

- inc()

- forceExpire()

- setExpires()

- setHttpHeader()

- setMaxAge()

captionEntryWidth

メタデータ・フィールドの幅をパーセンテージで指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

現在のメタデータ・フィールドのキャプションの幅をパーセンテージで返します。

例

スクリプトとしての使用例:

<$if isInfo$>
<$captionFieldWidth="30%"$>
<$captionEntryWidth="70%"$>
<$elseif isEditMode$>
<$captionFieldWidth="20%"$>
<$captionEntryWidth="80%"$>
<$endif$>

関連項目

- captionFieldWidth

captionFieldWidth

メタデータ・フィールドのキャプションの幅をパーセンテージで指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

現在のメタデータ・フィールドのキャプションの幅をパーセンテージで返します。

例

スクリプトとしての使用例:

<$if isInfo$>
<$captionFieldWidth="30%"$>
<$captionEntryWidth="70%"$>
<$elseif isEditMode$>
<$captionFieldWidth="20%"$>
<$captionEntryWidth="80%"$>
<$endif$>

関連項目

- fieldCaptionStyle

- captionEntryWidth

clearSchemaData()

スキーマResultSetからデータをクリアします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

この関数は、ゼロ、1つまたは2つのパラメータを取ることができます。

- 渡された引数がゼロの場合は、データ・バインダがクリアされます。戻り値はありません。

- 渡される引数が1つの場合、その引数は現在行から値をクリアするResultSetの名前です。戻り値はありません。

- 2つの引数が渡される場合は、最初の引数としてResultSetの名前、2番目の引数としてクリアするデータ・オブジェクトを特定するキーが渡されます。データが存在しない場合は0を返し、データが存在する場合は1を返します。戻り値に基づいてスクリプトを条件付きで実行するために、True()またはFalse()を使用します。

例

<$clearSchemaData()$>

関連項目

- loadSchemaData()

ClientControlled

ページがODMAクライアントからアクセスされたかどうかを確認します。

この値は、クライアントにより指定された更新プロセスを制御するために、文字列により渡されます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.2項「クライアント」

出力

- ページがODMAクライアントからアクセスされた場合、TRUEを返します。

- ページがODMAクライアントからアクセスされなかった場合、FALSEを返します。

例

ページがODMAクライアントからアクセスされたかどうかを確認します。

<$ClientControlled$>

関連項目

- HasLocalCopy

- IsNotLatestRev

computeDocUrl()

この関数は、ページのデータに基づいてコンテンツ・アイテムのURLを計算します。

たとえば、アイテムのResultSetをループするときに、この関数をコールしてアイテムのURLを生成することができます。

ページに次の情報が表示されている必要があります。

- dDocAccount (オプション)

- dDocName

- dDocType

- dProcessingState

- dRevLabel

- dSecurityGroup

- dWebExtension

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 4.2.3項「コンテンツ・アイテム」

パラメータ

唯一のパラメータをTRUE (1)またはFALSE (0)に設定して、URLが関連するかどうかを示します。

computeRenditionUrl()

指定されたレンディションのURLを返します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 4.2.3項「コンテンツ・アイテム」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータはコンテンツ・アイテムのURLです。

- 2番目のパラメータはdRevLabel値です。

- 3番目のパラメータはdRendition1値です。dRendition1に使用可能な値は次のとおりです。

- T = サムネイル・レンディション

- X = XMLレンディション

出力

文字列としてレンディションの完全なURLを返します。

例

文字列としてレンディションのURLを返します。

<$computeRenditionUrl(url, dRevLabel, dRendition1)$>

CONTENT_LENGTH

クライアントにより指定されたようにリクエストされたコンテンツ・アイテムの長さをバイト数で取得します。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

重要:

この設定は、コンテンツ・サーバーのバージョン7.0以降では廃止されています。Webサーバー・フィルタでは、この情報は送信されなくなりました。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.25項「Webサーバー」

出力

コンテンツの長さをバイト数で返します。

例

ページまたはログへの情報出力としての使用例:

CONTENT_LENGTH=0

Idoc Script文または評価の一部としての使用例:

<$if CONTENT_LENGTH$>
<!--statement-->

coreContentOnly

フォームのみを表示するには、この変数をサービス・リクエストのURLに設定します。std_page_beginおよびstd_page_endの各インクルード・ファイルは表示されません。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.16.項「ページ表示」

出力

なし。

CURRENT_DATE

現在の日付と時刻が戻されます。

この変数はdateCurrent()関数と類似していますが、dateCurrent()の方が頻繁に使用されます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.8項「日付および時間」

出力

ユーザーのロケールに従ってフォーマット化された文字列を返します。

例

スクリプトとしての使用例:

<$CURRENT_DATE$>

関連項目

- dateCurrent()

CURRENT_ROW

ResultSetのどの行にいるかを評価します。

ResultSetの最初の行は行ゼロ(0)です。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.18項「ResultSet」

出力

行番号を返します。

例

スクリプトとしての使用例:

<$CURRENT_ROW$>

dateCurrent()

現在の日付と時刻が戻されます。

現在の日付と時間をユーザーに返したり、日付評価を使用するコマンドを作成したりする場合に使用できます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のオプション・パラメータは、現在の日付に基づいて指定された日数で日付を調節する整数です。

出力

ユーザーのロケールに従ってフォーマット化された日付を返します。

例

次の例では、デフォルトのEnglish-USロケールに従って日付がフォーマット化されます。

m/d/yy h:mm XM

次の例は、現在の日付と現在の時間(例: 8/12/01 1:55 PM)を返します。

<$dateCurrent()$>

10日後の日付と現在の時間(例: 8/22/01 1:55 PM)を返します。

<$dateCurrent(10)$>

10日前の日付と現在の時間(例: 8/2/01 1:55 PM)を返します。

<$dateCurrent(-10)$>

関連項目

- CURRENT_DATE

dcShowExportLink

この関数は、コンテンツ・アイテムを変換するようにDynamic Converterが構成されているかどうかを検証します。戻り値は、アイテムのdFormatの値に基づきます。

この関数は通常、条件付きでDynamic Converterリンクを表示するために「検索結果」ページで使用します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.6.2項「Dynamic Converter」

出力

- Dynamic Converterがコンテンツ・アイテムを変換するように構成されている場合、TRUEを返します。

- Dynamic Converterが構成されていない場合、FALSEを返します。

例

<$QueryText = "dDocTitle <substring> `test`"$>
<$executeService("GET_SEARCH_RESULTS")$>
<$loop SearchResults$>
<$if dcShowExportLink()$>
<a href="<$HttpCgiPath$>?IdcService=
GET_DYNAMIC_CONVERSION&dID=<$dID$>">
HTML Conversion of <$dDocTitle$></a>
<$endif$>
<$endloop$>

ddAppendIndexedColumnResultSet()

この関数は、dynamicdata表をResultSetにロードします。これは、ddLoadIndexedColumnResultSetとほとんど同じです。主な相違点は、Idoc Script ResultSetがすでに存在している場合、dynamicdata表から作成された新しいResultSetがそれに追加されることです。dynamicdata表にあってもターゲットのResultSetに存在しないフィールドは、自動的に追加されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表の追加先であるResultSetの名前。

indexColumn

dynamicdata表の索引付き列の名前。

indexValue

元の表のセクションの選択に使用する値。この値は、各行のindexColumn値と照合して、大/小文字を区別しないで確認されます。一致した場合、その行はResultSetにロードされ、一致しない場合はスキップされます。

mappingTableName

最後のResultSetの列名の変更に使用するdynamicdata表の名前。名前の変更は、指定したマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadResultSetでの処理とまったく同じです。

出力

dynamicdata表が正常にロードされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
<?commatable indexedColumns="fieldA"?>
fieldA, fieldB, fieldC
1,      2,       3
4,      5,       6
1,      3,       9
<@end@>

<$exec rsCreateResultSet("MyResultSet", "fieldA,fieldB")$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "first value"$>
<$MyResultSet.fieldB = "second value"$>
<$exec ddLoadIndexedColumnResultSet("MyDataTable", "MyResultSet", "fieldA", "1")$>
<$exec rsFirst("MyResultSet")$>
<$foo = MyResultSet.fieldB$>    [[% (foo == 'second value') %]]<$exec rsNext("MyResultSet")$>
<$bar = MyResultSet.fieldC$>    [[% (bar == '3') %]]

関連項目

- ddLoadIndexedColumnResultSet()

ddAppendResultSet()

この関数は、dynamicdata表をResultSetにロードします。これはddLoadResultSetとほとんど同じです。主な相違点は、Idoc Script ResultSetがすでに存在している場合、dynamicdata表から作成された新しいResultSetがそれに追加されることです。dynamicdata表にあってもターゲットのResultSetに存在しないフィールドは、自動的に追加されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表の追加先であるResultSetの名前。

mappingTableName

最後のResultSetの列名の変更に使用するdynamicdata表の名前。名前の変更は、指定したマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadResultSetでの処理とまったく同じです。

出力

dynamicdata表が正常にロードされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
field1, field2, field3
a,      b,       c
d,      e,       f
<@end@>

<$exec rsCreateResultSet("MyResultSet", "field1,field2")$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.field1 = "first value"$>
<$MyResultSet.field2 = "second value"$>
<$exec ddAppendResultSet("MyDataTable", "MyResultSet")$>
<$exec rsFirst("MyResultSet")$>
<$foo = MyResultSet.field1$>    [[% (foo == 'first value') %]]
<$exec rsNext("MyResultSet")$>
<$bar = MyResultSet.field3$>    [[% (bar == 'c') %]]

関連項目

- ddLoadResultSet()

- ddAppendIndexedColumnResultSet()

ddApplyTableSortToResultSet()

この関数は、特定のdynamicdata表で定義されたルールを使用して既存のResultSetをソートします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ソート・ルールに使用するdynamicdata表の名前。

resultSetName

dynamicdata表の追加先であるResultSetの名前。

出力

ソートが正常に実行された場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
<?commatable sortcolumn="order" sortType="int" sortOrder="asc"?>
user,    service,            order
jane,    DOC_INFO,           10
bob,     GET_SEARCH_RESULTS, 20
annette, CHECKIN_NEW,        30
<@end@>

<$exec rsCreate("MyResultSet")$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.user = "james"$>
<$MyResultSet.service = "GET_FILE"$>
<$MyResultSet.order = 75$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.user = "zoe"$>
<$MyResultSet.service = "DOC_INFO_BY_NAME"$>
<$MyResultSet.order = 20$>
<$exec ddApplyTableSortToResultSet("MyDataTable", "MyResultSet")$>

ddGetFieldList()

この関数はdynamicdata表を取り込み、その表の列名が含まれているカンマ区切り文字列を返します。多くのdynamicdata表は、コンテンツ・サーバー・システムでコード化される値のカンマ区切りリストのみを指定するために、行を含まないフィールド名のみで構成されることが想定されています。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

この関数には、ロードするdynamicdata表の名前であるパラメータ、dataTableNameが指定されています。

出力

dynamictableが存在する場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
foo,bar,baz
<@end@>

<$fieldList = ddGetFieldList("MyDataTable")$>
<$trace(fieldList, "#console")$> [[% Outputs: foo,bar,baz %]]

ddIncludePreserveValues()

この関数はリソース・インクルードを実行しますが、dynamicdata表により指定された値は変更されないように保護します。データ表の列名は、保護する必要のある変数名のリストとして使用されます。これらの変数は、一時的にキャッシュされ、インクルードがコールされ、キャッシュされた値に変数を再設定することによって保護されます。変数がnullの場合は空白に設定されます。

表の列名の1つがドル記号($)で始まる場合、後に続く文字列はResultSetの名前と見なされます。その場合、それはメモリーに一時的にキャッシュされたResultSetのポインタとなり、リソース・インクルードの実行終了後に置換されます。キャッシングの時点でそのResultSetが存在していなかった場合は、末尾にそのキーが指定されているResultSetが削除されます。ポインタがキャッシュされたときにResultSetがアクティブであれば、インクルードのコール中に同名のResultSetを新規に作成でき、それまでアクティブであったResultSetは、ループを妨げることなく適切に回復されます。サイド・エフェクトの1つとして、アクティブResultSetを一時的に置換するResultSetが新規に作成された場合、最初にアクティブResultSetから値を取得する変数置換アルゴリズムで、キャッシュされたアクティブResultSetから変数の値を検索することができます(その変数が、より優先度の高いアクティブResultSetにフィールドとして検索されないことを前提とします)。キャッシュされたアクティブResultSetは、アクティブResultSetのスタックに場所を保持します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

includeName

実行するリソース・インクルードの名前。

dataTableName

ローカル・データおよびResultSetの保存に使用するdynamicdata表の名前。

出力

実行されたリソース・インクルードの出力を表す文字列。

例

<@dynamicdata MyPreservedFields@>
foo, bar, $baz
<@end@>

<@dynamichtml my_include@>
<$foo = "tempValue1"$>
<$bar = "tempValue2"$>
<@end@>

<$foo = 5$>
<$ddIncludePreserveValues("my_include", "MyPreservedFields")$>
<$trace(foo, "#console")$>   [[% Outputs: 5 %]]

ddLoadIndexedColumnResultSet()

この関数は、dynamicdata表をResultSetにロードします。この関数は、indexColumnの値がindexValueと一致する行のみをロードする点を除き、ddLoadResultSetと同じです。この列で行われる比較は、大/小文字を区別しません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表のロード先であるResultSetの名前。

indexColumn

dynamicdata表の索引付き列の名前。

indexValue

元の表のセクションの選択に使用する値。この値は、各行のindexColumn値と照合して、大/小文字を区別しないで確認されます。値が一致した場合、その行はResultSetにロードされ、一致しない場合、その行はスキップされます。

mappingTableName

最後のResultSetの列名の変更に使用するdynamicdata表の名前。名前の変更は、指定したマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadResultSetでの処理とまったく同じです。

出力

dynamicdata表が正常にロードされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
<?commatable indexedColumns="fieldA"?>
fieldA, fieldB, fieldC
1,      2,       3
4,      5,       6
1,      3,       9
<@end@>

<$exec ddLoadIndexedColumnResultSet("MyDataTable", "MyResultSet", "fieldA", "1")$>
<$exec rsFirst("MyResultSet")$>
<$foo = MyResultSet.fieldB$>    [[% (foo == '2') %]]
<$exec rsNext("MyResultSet")$>
<$bar = MyResultSet.fieldC$>    [[% (bar == '9') %]]

関連項目

- ddLoadResultSet()

ddLoadResultSet()

この関数は、dynamicdata表をResultSetにロードします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表のロード先であるResultSetの名前。

mappingTableName

最後のResultSetの列名の変更に使用するdynamicdata表の名前。名前の変更は、指定したマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadIndexedColumnResultSetの処理とまったく同じです。

出力

dynamicdata表が正常にロードされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
fieldA, fieldB, fieldC
1,      2,       3
4,      5,       6
1,      3,       9
<@end@>

<$exec ddLoadResultSet("MyDataTable", "MyResultSet")$>
<$exec ddLoadResultSet("MyDataTable", "MyAliasedResultSet")$>
<$exec rsFirst("MyResultSet")$>
<$exec rsFirst("MyAliasedResultSet")$>
<$foo = MyResultSet.field1$>         [[% (foo == 'a') %]]
<$bar = MyAliasedResultSet.alias2$>  [[% (bar == 'c') %]]

関連項目

- ddMergeIndexedColumnResultSet()

ddMergeIndexedColumnResultSet()

この関数は、dynamicdata表をResultSetにマージします。この関数は、indexColumnの値がindexValueと一致する行のみをマージする点を除き、ddMergeResultSetと同じです。この列で行われる比較は、大/小文字を区別しません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表のマージ先であるResultSetの名前。

indexColumn

dynamicdata表の索引付き列の名前。

indexValue

元の表のセクションの選択に使用する値。この値は、各行のindexColumnと照合して、大/小文字を区別しないで確認されます。一致した場合、その行はResultSetにロードされ、一致しない場合はスキップされます。

mergeType

実行されるマージのタイプ。これをreplaceに設定して、マージによって新規行が追加されるのを防ぎます。このパラメータのその他の値はすべて、appendとして扱われます。

mappingTableName

最後のResultSetの列名の変更に使用する必要のあるdynamicdata表の名前。名前の変更は、このマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadResultSetでの処理とまったく同じです。

出力

dynamicdata表が正常にマージされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
fieldA, fieldB, fieldC
1,      2,       3
4,      5,       6
1,      3,       9
<@end@>

<$exec rsCreateResultSet("MyResultSet", "fieldA,fieldB,fieldC")$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "4"$>
<$MyResultSet.fieldB = "8"$>
<$MyResultSet.fieldB = "23"$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "8"$>
<$MyResultSet.fieldB = "21"$>
<$MyResultSet.fieldB = "59"$>
<$exec ddMergeIndexedColumnResultSet("MyDataTable", "MyResultSet", "fieldA", "4", "replace")$>
<$exec rsFirst("MyResultSet")$>
<$foo = MyResultSet.fieldB$>    [[% (foo == '5') %]]
<$exec rsNext("MyResultSet")$>
<$bar = MyResultSet.fieldC$>    [[% (bar == '59') %]]

関連項目

- ddMergeResultSet()

ddMergeResultSet()

この関数は、dynamicdata表を既存のResultSetにマージします。ターゲットResultSetが存在しない場合、この関数はddLoadResultSetと同様に動作して、ターゲットResultSetが作成されます。そうでない場合は、新規のResultSetの最初の列をマージ・キーとして使用してマージが実行されます。デフォルトでは、既存のIdoc Script表のどの行とも一致しない行が、マージによって新規のResultSetから追加されます。例外として、mergeTypeパラメータがreplaceに設定されている場合、新しい行はIdoc Script ResultSetに追加されません。

このマージによって、新規のResultSetの特定の行に一致したすべての行が置換されるのではなく、最初に検出された行のみが置換されることに注意してください。この一致では、大/小文字が区別されます。mergeTypeパラメータはオプションであり、デフォルトはnullです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表のマージ先であるResultSetの名前。

mergeType

実行されるマージのタイプ。これをreplaceに設定して、マージによって新規行が追加されるのを防ぎます。このパラメータのその他の値はすべて、appendとして扱われます。

mappingTableName

最後のResultSetの列名の変更に使用する必要のあるdynamicdata表の名前。名前の変更は、このマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadResultSetでの処理とまったく同じです。

出力

dynamicdata表が正常にマージされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
fieldA, fieldB, fieldC
1,      2,       3
4,      5,       6
<@end@>

<$exec rsCreateResultSet("MyResultSet", "fieldA,fieldB,fieldC")$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "4"$>
<$MyResultSet.fieldB = "52"$>
<$MyResultSet.fieldC = "18"$>
<$exec ddMergeResultSet("MyDataTable", "MyResultSet", "replace")$>
<$exec rsFirst("MyResultSet")$>
<$foo = MyResultSet.fieldB$>    [[% (foo == 52) %]]
<$bar = MyResultSet.#numRows$>  [[% (bar == 1) %]]

関連項目

- ddLoadResultSet()

ddMergeUsingIndexedKey()

この関数はdynamicdata表から選択的な行をプルし、それを使用してターゲットResultSetの特定行の値を置換します。ターゲットResultSetの特定の列の値は、dynamicdata表の索引参照の値として使用されます。取得された副表は、ターゲットResultSetで一致する列名のある列の値の置換に使用されます。dynamicdata表には、索引値で選択された行が副表に1つだけあるものと想定されます。複数の行がある場合は、最初の行のみを使用して値をターゲットResultSetにマージします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

idocTableName

dynamicdata表のマージ先であるResultSetの名前。

indexColumn

dynamicdata表の索引付き列の名前と、dynamicdata表の副表を選択するために値が取得されるターゲットResultSetの列の名前。

mappingTableName

最後のResultSetの列名の変更に使用する必要のあるdynamicdata表の名前。名前の変更は、このマッピング表の列名を同じ表の最初の行の値にマッピングして処理されます。これは、ddLoadResultSetでの処理とまったく同じです。

出力

dynamicdata表が正常にマージされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
<?commatable indexedColumns="fieldA"?>
fieldA, fieldB, fieldC
1,      2,       3
4,      5,       6
7,      8,       9
<@end@>

<$exec rsCreateResultSet("MyResultSet", "fieldA,fieldB,fieldC")$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "4"$>
<$MyResultSet.fieldB = "8"$>
<$MyResultSet.fieldB = "23"$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "7"$>
<$MyResultSet.fieldB = "20"$>
<$MyResultSet.fieldB = "41"$>
<$exec rsAppendNewRow("MyResultSet")$>
<$MyResultSet.fieldA = "8"$>
<$MyResultSet.fieldB = "21"$>
<$MyResultSet.fieldB = "59"$>
<$exec ddMergeIndexedColumnResultSet("MyDataTable", "MyResultSet", "fieldA")$>
<$exec rsFirst("MyResultSet")$>
<$foo = MyResultSet.fieldB$>    [[% (foo == '5') %]]
<$exec rsNext("MyResultSet")$>
<$bar = MyResultSet.fieldC$>    [[% (bar == '9') %]]
<$exec rsNext("MyResultSet")$>
<$bar = MyResultSet.fieldC$>    [[% (bar == '59') %]]

ddSetLocal()

この関数はdynamicdata表を取り込んで全体を反復し、行ごとにローカル・データ値を設定します。表の最初の列はキーのリストとして使用され、2番目の列は値のリストとして使用されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

この関数には、ロードするdynamicdata表の名前であるパラメータ、dataTableNameが指定されています。

出力

dynamicdata表が存在する場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
key, value
foo, 15
bar, 23
baz, 77
<@end@>

<$exec ddSetLocal("MyDataTable")$>
<$tmp1 = #local.foo$>   [[% (tmp1 == '15') %]]
<$tmp2 = #local.bar$>   [[% (tmp2 == '23') %]]
<$tmp3 = #local.baz$>   [[% (tmp3 == '77') %]]

関連項目

- ddSetLocalByColumnsFromFirstRow()

- ddSetLocalByColumnsFromFirstRowIndexed()

ddSetLocalByColumnsFromFirstRow()

この関数はdynamicdata表の最初の行を取り込み、列名をキーとして使用して、列ごとにローカル値とそれに対応する値を設定します。最初の行が存在しない場合、この関数は何も実行しません。これは、大量のローカル値を迅速に設定する場合に便利なメソッドです。dynamicdata表のプロパティ、filterIncludeおよびincludeColumnsは無視されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

この関数には、ロードするdynamicdata表の名前であるパラメータ、dataTableNameが指定されています。

出力

dynamicdata表が正常にロードされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
fieldA, fieldB, fieldC
foo,    bar,    baz
<@end@>

<$exec ddSetLocalByColumnsFromFirstRow("MyDataTable")$>
<$tmpStr1 = #local.fieldA$>   [[% (tmpStr1 == 'foo') %]]
<$tmpStr2 = #local.fieldC$>   [[% (tmpStr2 == 'baz') %]]

関連項目

- ddSetLocal()

- ddSetLocalByColumnsFromFirstRowIndexed()

ddSetLocalByColumnsFromFirstRowIndexed()

この関数はdynamicdata表の最初の行を取り込み、列名をキーとして使用して、列ごとにローカル値とそれに対応する値を設定します。最初の行が存在しない場合、この関数は何も実行しません。この関数は、ddSetLocalByColumnsFromFirstRow()とほとんど同じです。唯一の相違点として、この関数は、dynamicdata表の第1行ではなく、索引付き列が指定されている最初の行を使用します。索引付き行が見つからない場合、この関数は何も実行しません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

dataTableName

ロードするdynamicdata表の名前。

indexColumn

dynamicdata表の索引付き列の名前。

indexValue

元の表の行の選択に使用する値。この値は、各行のindexColumnと照合して、大/小文字を区別しないで確認されます。一致した場合は、その行が使用され、表のその他の行は無視されます。

出力

dynamicdata表が正常にロードされた場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
<?commatable indexedColumns="fieldB"?>
fieldA, fieldB, fieldC
1,      2,      3
4,      5,      6
7,      8,      9
3,      5,      2
<@end@>

<$exec ddSetLocalByColumnsFromFirstRowIndexed("MyDataTable", "fieldB", 5)$>
<$tmpStr1 = #local.fieldA$>   [[% (tmpStr1 == '4') %]]
<$tmpStr2 = #local.fieldC$>   [[% (tmpStr2 == '6') %]]

関連項目

- ddSetLocal()

- ddSetLocalByColumnsFromFirstRow()

ddSetLocalEmpty()

この関数はdynamicdata表を取り込んで全体を反復し、ローカル・データをクリアします。最初の列は、クリアするキーとして使用されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

この関数には、使用するdynamicdata表の名前であるパラメータ、dataTableNameが指定されています。

出力

dynamicdata表が存在する場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
key
foo
bar
baz
<@end@>

<$foo = 1$>
<$bar = 2$>
<$baz = 3$>
<$exec ddSetLocalEmpty("MyDataTable")$>
<$if foo or bar or baz$>
[[% This will not be executed as foo, bar, and baz are all empty. %]]
<$endif$>

関連項目

- ddSetLocal()

ddSetLocalEmptyByColumns()

この関数はdynamicdata表を取り込み、列を使用してローカル・データの値をクリアします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

この関数には、使用するdynamicdata表の名前であるパラメータ、dataTableNameが指定されています。

出力

dynamicdata表が存在する場合、TRUEを返します。

例

<@dynamicdata MyDataTable@>
foo, bar, baz
<@end@>

<$bar = "asdf"$>
<$exec ddSetLocalEmptyByColumns("MyDataTable")$>
<$if bar$>
[[% This will not execute as bar will be empty. %]]
<$endif$>

関連項目

- ddSetLocal()

- ddSetLocalEmpty()

DefaultAccounts

匿名ユーザーのデフォルトのアカウントを定義します。

- アカウントのカンマ区切りリストを使用する必要があります。

- アカウント別の権限を、アカウント名の後にカッコに入れて指定する必要があります。

- #noneエントリは、アカウントが割り当てられていないコンテンツ・アイテムに権限を付与します。#allエントリでは、すべてのアカウントに権限が与えられます。

- デフォルトは#none(RWDA)です。

- 文字列としてアカウントのリストを返します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

場所

IntradocDir/config/config.cfg

例

構成設定として、デフォルトのアカウント情報を定義します。

DefaultAccounts=BOS(R),SEA(RW),MSP/Gen(RWD)

Idoc Scriptとして、文字列としてアカウント情報を返します。

<$DefaultAccounts$>

関連項目

- ExternalUserAccounts

- SelfRegisteredAccounts

defaultFieldInclude

メタデータ・フィールドの表示に使用するインクルードを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

例

問合せページの非表示フィールドに対するデフォルトのフィールド表示インクルードをstd_query_hidden_fieldに設定します。

<$if isFieldHidden$>
<$if isQuery and not (fieldType like "Date") and not (fieldType like "Int")$>
<$defaultFieldInclude = "std_query_hidden_field"$>
<$endif$>

関連項目

- fieldCaptionInclude

- fieldEntryInclude

defaultOptionListScript

標準的なオプション・リスト・フィールドを表示するIdoc Scriptを定義します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

なし。

例

optList関数を使用して、オプション・リストを生成します。

<$if optionsAllowPreselect and fieldValue$>
<$defaultOptionListScript = "<$optList " & optionListName & ":fieldValue$>"$>
<$else$>
<$defaultOptionListScript = "<$optList " & optionListName & ":noselected$>"$>
<$endif$>

現在のオプション・リストResultSetをループして、オプション・リストを生成します。

<@dynamichtml compute_resultset_option_list_script@>
<$if not optionListKey$>
<$optionListKey = fieldName$>
<$endif$>
<$defaultOptionListScript = "<$loop " & optionListResultSet & "$>" & "<$inc('std_resultset_option_list_item')$>" & "<$endloop$>"$>
<@end@>

関連項目

- optionListScript

- optList()

DelimitedUserRoles

現在のユーザーが属しているロールのカンマ区切り、コロン区切りリストを取得します。

タイプおよび使用方法

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

文字列としてユーザー・ロール・リストを返します。

例

次のようにフォーマット化されたロールのリストを返します。

:guest:,:PublicContributor:,:ClassifiedConsumer:

関連項目

- UserRoles

docLoadResourceIncludes()

現在ページの表示に使用するために、指定されたコンテンツ・アイテムのすべてのインクルードをロードします。

- 指定されたコンテンツ・アイテムのファイル拡張子が.idocになっている必要があります。

- この関数は、サイド・エフェクトとしてStatusCodeを設定します。ページを正しく表示するために指定したファイルが正常にロードされる必要がある場合は、abortToErrorPage関数を使用してください。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.16.項「ページ表示」

- 第4.2.13項「Idoc Script」

パラメータ

コンテンツ・サーバーにチェックインされるコンテンツ・アイテムを指定するCGIエンコード形式のパラメータ・リストを取り込みます。次の表に、パラメータ・オプションを示します。

オプション・パラメータ

説明

dID

dIDが存在しない場合は、dDocNameおよびRevisionSelectionMethodが存在している必要があります。このIDを持つコンテンツ・アイテムのリビジョンのレンディションが存在し、かつRevisionSelectionMethodパラメータが存在しないか、その値がSpecificである場合は、そのレンディションが返されます。

dDocName

dDocNameは、dDocNameが判明しているコンテンツ・アイテムのすべてのリクエストに存在していることをお薦めします。エラー・メッセージは、フォームなどの他の機能と同様に、これが存在しているという想定に基づいています。

- dDocNameが存在しない場合は、dIDが存在している必要があり、RevisionSelectionMethodが存在していてはいけません。

- RevisionSelectionMethodが存在している場合、その名前を持つコンテンツ・アイテムのリビジョンのレンディションが存在する場合に、それが返されます。

- RevisionSelectionMethodが指定されない場合、エラー・メッセージにdDocNameが示される可能性があります。

RevisionSelectionMethod

これが指定された場合は、dDocNameも指定する必要があります。この変数の値は、指定されたdDocName値からdID値を計算するために使用されるメソッドです。RevisionSelectionMethod値は、Specific、LatestまたはLatestReleasedです。

- Specific: dDocNameは無視され、dIDは必須であり、特定のリビジョンの取得に使用されます。

- Latest: コンテンツ・アイテムの最新リビジョン(ワークフロー内のリビジョンを含む)を使用してdID値が計算されます。

- LatestReleased: コンテンツ・アイテムの最新リリースのリビジョンを使用してdID値が計算されます。

Rendition

- 指定されない場合、RenditionのデフォルトはPrimaryになります。このパラメータは、コンテンツ・アイテムのレンディションを指定します。

- 値がPrimary、WebまたはAlternateの場合、選択されたリビジョンのプライマリ、Web表示可能または代替レンディションが返されます。

注意:

HCSPページに使用する場合、CGIエンコード形式のパラメータ・リストのアンパサンド文字(&)を&amp;文字に変更する必要があります。

出力

なし。

例

mydocの最新リビジョンのプライマリ・ボールト・レンディションにリソース・インクルードをロードします。

<$docLoadResourceIncludes("dDocName=mydoc&RevisionSelectionMethod=Latest")$>

関連項目

- abortToErrorPage()

docRootFilename()

拡張子またはディレクトリ・パスのないファイルのファイル名を取得します。

- この関数は通常、コンテンツ・サーバーにより管理される静的URLのコンテンツID (dDocName)部分の取得に使用されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.10項「ディレクトリとパス」

パラメータ

次のパラメータを取ります。

- 唯一のパラメータはファイル名のパスです。

出力

文字列としてファイル名を返します。

例

値mydocを返します。

docRootFilename("/groups/public/documents/adacct/mydoc.pdf")

DocTypeSelected

現在のコンテンツ・アイテムのタイプがアクティブResultSetでのタイプと一致するかどうかを評価します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

- コンテンツ・アイテムのタイプが一致する場合、TRUEを返します。

- コンテンツ・アイテムのタイプが一致しない場合、FALSEを返します。

例

コンテンツ・アイテムのタイプがResultSetのタイプと一致するかどうかに基づいて、値を返します。

<$DocTypeSelected$>

DocUrl

weblayout/ディレクトリにあるファイルのURLを取得します。この変数は、サービス・コールごとに1回ではなく、コンテンツ・アイテムごとに1回評価されます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

文字列としてファイルのURLを返します。

例

コンテンツ・アイテムへのURLリンクの作成に使用します。

<$if HasUrl$>
<a href="<$DocUrl$>"><$dDocName$></a>
<$else$>
<$dDocName$>
<$endif$>

docUrlAllowDisclosure()

URLを現在のユーザーに公開できるかどうかを評価します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

パラメータ

唯一のパラメータは、次のような絶対パスです。

http://mycomputer/domain/groups/.../documents/mydoc.pdf

次のようなフル相対パスが使用できます。

/oracle/domain/.../documents/mydoc.pdf).

出力

ブール値を返します。

- URLが公開できる場合、TRUEを返します。

- URLが制限されている場合、FALSEを返します。

例

ユーザーがmydoc.pdfドキュメントのURLを表示できるかどうかを判別します。

<$docUrlAllowDisclosure("/domain/groups/documents/mydoc.pdf")$>

DownloadApplet

複数ファイルのダウンロード・アプレットを有効にします。

- TRUEに設定されている場合、ダウンロード・アプレットが有効になって、複数のファイルが検索結果ページからダウンロード可能になります。

- FALSEに設定されている場合、ダウンロード・アプレットは無効です。

- デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

- 第4.2.2項「クライアント」

場所

- 「システム・プロパティ」、「オプション」タブ、「ダウンロード・アプレットの有効化」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「ダウンロード・アプレットを有効にする」

- IntradocDir/config/config.cfg

例

構成設定として、ダウンロード・アプレットを有効化します。

DownloadApplet=true

スクリプトとして、ダウンロード・アプレットの条件を評価します。

<$DownloadApplet$>

関連項目

- MultiUpload

- UploadApplet

DownloadSuggestedName

ダウンロード中のファイルのデフォルト・パスと提案された名前を取得します。

提案された名前は、コンテンツ・アイテムの元のファイル名に基づいています。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.10項「ディレクトリとパス」

出力

文字列としてダウンロードされたファイルのパスと提案された名前を返します。

例

次のようにダウンロードされたファイルのパスと提案された名前を返します。

<$DownloadSuggestedName$>

dpGet()

dpSet関数により設定された値を返すために使用する関数です。

dpGetおよびdpSetの両方を使用して、表示するコンテンツ・プロファイル・ルールのロジックを制御します。一般に、ユーザーは指定されたキーの値を設定するアクティブ化条件を作成することもできます。条件がFALSEに評価された場合でも(つまり、ルールの実行に失敗)、キーは設定されます。別のルールでキーにアクセスして、そのアクティブ化条件を評価するときに値を取得できます。この2つの関数を使用することにより、ユーザーはルール間の依存性を作成できます。たとえば、先行するルールが評価される場合のみ、ルールを評価したい場合があります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

次のパラメータを取ります。

- Key: 返される値の指定。

例

<$myValue = dpGet("myKey")$>

関連項目

- dpSet()

dpPromote()

ルール評価コンテキストの値をリクエスト・コンテキストに昇格させるための関数です。すべてのルールの評価後に、この関数によって指定されたキーと値がローカル・データにプッシュされます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、返される値の指定です。

- 2番目のパラメータは、返される値です。

例

この例では、1つのリクエストに対してAutoNumberPrefixの値をdDocTypeの値になるように変更します。

<$dpPromote("AutoNumberPrefix", dDocType)$>

この例では、チェックイン・ページで「タイトル」フィールドを非表示にします。

<$dpPromote("dDocTitle:isHidden", "1")$>

関連項目

- dpPromoteRs()

dpPromoteRs()

dpPromoteと同様に、この関数によって、プロファイル・ルールで生成されるResultSetはリクエスト・コンテキストに昇格できます。ResultSetは、すべてのルールの評価後にDataBinderにプッシュされます。値は、ルール・アクティブ化または操作の間は評価されませんが、ページ表示用に使用可能です。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

この関数は、2つのパラメータを取ることができます。

- 最初のパラメータは、データにプッシュされるResultSetの名前です。

- オプション。2番目のパラメータは、ResultSetの代替名です。

関連項目

- dpPromote()

dpSet()

Idoc Scriptが評価される任意の場所で、アクティブ化条件またはルールの値の評価時に一時的な値の設定に使用される関数です。

値は作業領域に設定され、dpGet関数のコールによって取得できます。設定されるキーと値は永続しませんが、評価されるプロファイルではグローバルに使用可能です。すべてのキー/値のペアは、プロファイルのルールによってアクセスできます。

dpGetおよびdpSetの両方を使用して、表示するコンテンツ・プロファイル・ルールのロジックを制御します。一般に、ユーザーは指定されたキーの値を設定するアクティブ化条件を作成することもできます。条件がFALSEに評価された場合でも(つまり、ルールの実行に失敗)、キーは設定されます。別のルールでキーにアクセスして、そのアクティブ化条件を評価するときに値を取得できます。この2つの関数を使用することにより、ユーザーはルール間の依存性を作成できます。たとえば、先行するルールが評価される場合のみ、ルールを評価したい場合があります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

この関数は、2つのパラメータを取ります。

- Key: 返される値の指定。

- Value: キーに関連付けられた値。

例

<$dpSet("myKey", "1")$>

関連項目

- dpGet()

dWfName

ワークフローの名前を取得します。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてワークフローの名前を返します。

例

IdcHomeDir/resources/core/templates/workflow_info.htmテンプレート・ページにある次のコードは、「ワークフロー・ステップ情報」ページでのワークフロー名の表示に使用します。

<td align=right><span class=infoLabel><$lc("wwLabelWorkflow")$></span></td>
<td><span class=tableEntry><$dWfName$></span></td>

dWfStepName

ワークフロー内の現在のステップの名前を取得します。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列として現在のステップの名前を返します。

例

IdcHomeDir/resources/core/templates/workflow_info.htmテンプレート・ページにある次のコードは、「ワークフロー・ステップ情報」ページでの現在のステップ名の表示に使用します。

<td align=right><span class=infoLabel><$lc("wwCurrentStep")$>
</span></td>
<td><span class=tableEntry>
<$loop WorkflowStep$>
<$dWfStepName$>
<$exec RequiredUsers = dWfStepWeight$>
<$if isTrue(dWfStepIsAll)$><$exec RequiredUsers = 0$><$endif$>
<$endloop$></span>
</td>

EmptyAccountCheckinAllowed

アカウントをチェックイン・ページで指定する必要があるかどうかを確認します。

アカウントが指定されていない場合にエラー・メッセージを表示するために、「標準ページ・リソース」ページで使用します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

出力

- アカウント値が必要な場合、TRUEを返します。

- アカウント値が必要でない場合、FALSEを返します。

例

アカウント番号が必要かどうかを評価し、エラー・メッセージを表示します。

<$if not EmptyAccountCheckinAllowed$>
<$isRequired = 1, requiredMsg = "Please specify an account."$>
<$endif$>

EnableDocumentHighlight

PDF、テキスト、HTMLの各ファイルでのフルテキスト検索条件の強調表示を有効化します。

- TRUEに設定されている場合、検索条件の強調表示が有効化されます。

- FALSEに設定されている場合、検索条件の強調表示は無効になります。

- コンテンツ・サーバーのインストール後のデフォルトはFALSEです。

- PDF Converterのインストール後のデフォルトはTRUEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.20項「検索」

場所

- 「システム・プロパティ」、「オプション」タブ、「検索キーワードの強調表示を有効にする」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「検索キーワードの強調表示を有効にする」

- IntradocDir/config/config.cfg

例

構成設定の使用例:

EnableDocumentHighlight=false

スクリプトとして、構成設定の値を返します。

<$EnableDocumentHighlight$>

関連項目

- UseHtmlOrTextHighlightInfo

encodeHtml()

無効な、または破損HTML構成に対するデータ入力のフィルタに使用するIdoc関数。デフォルトでは、この関数は、インストール時に使用可能なコンポーネントであるスレッド・ディスカッションで使用されます。

ruleパラメータのunsafe値の使用時にコンテンツ・サーバーにより受信された入力データはすべて、定式の安全でないスクリプト・タグのみに適用されます。この機能を変更するには、HtmlDataInputFilterLevel構成変数を使用して、実行されたフィルタリングを変更します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21項「セキュリティ」

パラメータ

2つの必須パラメータと1つのオプションのパラメータを取ります。

- 最初のパラメータは、エンコードする文字列です。

- 2番目のパラメータは、HTML構成のエンコード時に適用されるルールです。許容される値は次のとおりです。

- none: HTML構成は変換されません。

- unsafe: 定式の安全でないスクリプト・タグのみがエンコードされます。

- exceptsafe: 定式の安全なスクリプト・タグがエンコードされません。

- lfexceptsafe: 拡張コメントがユーザーによって入力され、元のテキストの改行を保持する必要があるときに使用します。

- 空白文字のない長い文字列を改行するかどうかと、適用する最大ワード・サイズを指定するオプションのパラメータも使用可能です。wordbreakまたはnowordbreakのいずれかを指定します。

出力

エンコードされた文字列を返します。

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のHtmlDataInputFilterLevelに関する項

entryCount

現在のワークフロー・ステップが現在のリビジョンによって入力された回数を取得します。

- この変数は条件文の作成に使用できますが、ハードコード化したり変更したりしないようにしてください。

- この変数はコンパニオン・ファイルの中でローカライズされ、キーに保持されます。

<step_name>@<workflow_name>.entryCount

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてエントリ・カウントを返します。

例

次のコードではMaxEntryというジャンプを定義します。これは、親ワークフローに出て、最後にステップに入ったときが1週間以上前であったかどうかをレビューアに通知します。

<$if wfCurrentGet("entryCount")==2$>
<$wfSet("WfJumpName","MaxEntry")$>
<$wfSet("WfJumpTargetStep",wfExit(0,0))$>
<$wfSet("WfJumpEntryNotifyOff","0")$>
<$endif$>

eval()

変数定義をIdoc Scriptとして評価します。リテラル文字列の再帰的評価に使用できます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、Idoc Scriptとして評価される文字列を定義する変数です。

出力

変数定義にあるIdoc Scriptをすべて解決したパラメータ文字列を返します。

例

変数oneには文字列CompanyNameが割り当てられ、変数twoには、Idoc Scriptデリミタ内に変数oneを組み込んだ文字列が割り当てられます。ページ上では、変数oneは文字列Company Nameを表し、変数twoは文字列Welcome to <$one$>を表し、eval(two)は文字列Welcome to Company Nameを表します。

<$one="CompanyName"$>
<$two="Welcome to <$one$>"$>
<$one$><br>
<$two$><br>
<$eval(two)$>

名前に接頭辞xPrefixのあるメタデータ・フィールドをすべて除外するとします。eval()関数をこの目的で次のように使用してIdoc Scriptを動的に作成し、評価することができます。

<$loop DocMetaDefinition$>
<$if strIndexOf("xPrefix", dName) >= 0$>
<$myScript = "<$" & dName & ":isExcluded=1$>"$>
<$eval(myScript)$>
<$endif$>
<$endloop$>

関連項目

- 第3.4.1項「キーワードと関数の比較」

- exec

- setResourceInclude()

ExclusiveCheckout

別のユーザーにより作成されたコンテンツを、ユーザーがチェックアウトできるかどうかを判別します。

- TRUEに設定した場合、作成者、またはセキュリティ・グループの管理者権限を持つユーザーのみがコンテンツ・アイテムをチェックアウトできます。

- FALSEに設定した場合、セキュリティ・グループの書込み権限を持つユーザーが、別のユーザーにより作成されたコンテンツをチェックアウトできます。

- デフォルトはFALSEです。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

場所

- 「システム・プロパティ」、「コンテンツ・セキュリティ」タブ、「元のコントリビュータにのみチェックアウトを許可する」

- 「管理」、「管理サーバー」、「コンテンツ・セキュリティ」メニュー・オプション、「元のコントリビュータにのみチェックアウトを許可する」

- IntradocDir/config/config.cfg

例

構成設定として、元のコントリビュータのみがコンテンツ・アイテムをチェックアウトできます。

ExclusiveCheckout=true

Idoc Scriptとして、構成設定の値を返します。

<$ExclusiveCheckout$>

関連項目

- isUserOverrideSet()

exec

Idoc Script式を実行して、出力を抑制します(式をページに表示しません)。

- 旧バージョンのIdoc Scriptでは、execキーワードは変数の値を出力ファイルに表示しないようにするために必須でした。現行バージョンでは、execキーワードは式を出力ファイルに表示しないようにする場合のみ必要です。
次の例の最初の行は、最後の2行と同等です。

<$varA="stringA", varB ="stringB"$>
<$exec varA="stringA"$>
<$exec varB="stringB"$>

- execキーワードは通常、あとでページで使用するインクルードの指定など、背景で実行されるコードの評価に使用します。

タイプおよび使用方法

- 第3.4項「特殊なキーワード」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、Idoc Script式です。

出力

式の値を返しますが、式をページに表示しません。

例

incグローバル関数を評価して、ページにコードを表示せずに指定されたインクルードを取り込みます。

<@dynamichtml std_definitions@>
<$exec inc("std_page_variable_definitions")$>
<$exec inc("define_image_files")$>
<@end@>

関連項目

- 第3.4.1項「キーワードと関数の比較」

- eval()

executeService()

コンテンツ・サーバーのサービスを実行します。

- この関数は、ページの作成中でも、指定されたサービスを実行できるようにします。通常、サービスはブラウザでIdcCommandまたはCGI URLなどのツールを使用して実行されます。

- 動的サーバー・ページで使用されます。

- executeService関数でコールできるサービスは、パラメータ入力が必要でないという意味で、スクリプト可能である必要があります。スクリプト可能なサービスのアクセス・レベルは32以上です。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、実行されるサービスの名前です。DataBinder内のライブ・データは、指定されたサービスのパラメータとして使用されます。

出力

- サービスが正常に実行された場合、StatusCode値として0を返します。

- サービス実行中にエラーが発生した場合、StatusCode値として-1を返します。

- 実行されたサービスの出力はすべて抑制されますが、ResultSetとロードされた値はいずれも使用可能です。

例

サービス名が指定されたときに、サービスを実行します。

<$executeService("servicename")$>

関連項目

- StatusCode

ExternalUserAccounts

外部ユーザー・ベース(NTLM、Active Directory、またはLDAP)により定義されたユーザーのデフォルトのロールを取得します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.21.2項「外部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- アカウント別の権限をアカウント名の後にカッコに入れて指定したアカウントのカンマ区切りリストを返します。

- #noneエントリは、アカウントが割り当てられていないコンテンツ・アイテムに権限を付与します。#allエントリでは、すべてのアカウントに権限が与えられます。

例

スクリプトとして、文字列としてデフォルトのアカウント情報を返します。

<$ExternalUserAccounts$>

関連項目

- ExternalUserRoles

- UserAccounts

- DefaultAccounts

ExternalUserRoles

外部ユーザー・ベース(NTLM、Active Directory、またはLDAP)により定義されたユーザーのデフォルトのロールを取得します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.21.2項「外部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- 文字列としてロールのリストを返します。

例

スクリプトとして、文字列としてデフォルトのロール情報を返します。

<$ExternalUserRoles$>

関連項目

- ExternalUserAccounts

- UserRoles

fieldCaption

メタデータ・フィールドのキャプション・ラベルを指定します。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

文字列としてメタデータ・フィールドのキャプションを返します。

例

dDocTitleメタデータ・フィールドのキャプションを、ローカライズされた文字列wwTitleとして定義します。

<$fieldName = "dDocTitle", fieldCaption = lc("wwTitle"), isRequired = 1, fieldType = "BigText", requiredMsg = lc("wwSpecifyTitle")$>

fieldCaptionInclude

メタデータ・フィールドのキャプションの表示に使用するインクルードを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

なし。

例

キャプション表示インクルードをstd_field_captionに設定します。

<$fieldCaptionInclude = "std_field_caption"$>

関連項目

- defaultFieldInclude

- fieldEntryInclude

- fieldCaptionStyle

fieldCaptionStyle

メタデータ・フィールドのキャプションのスタイルを指定します。

次のSPANスタイルは通常、キャプションに使用します。これは、IdcHomeDir/resources/core/std_page.htmリソース・ファイル内のstd_style_declarationインクルードで定義されています。

- searchLabel

- infoLabel

- tableEntry

- requiredField

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

キャプション・スタイルの名前を返します。

例

キャプション・スタイルをrequiredFieldに設定します。

<$if isRequired and not suppressCaptionHighlighting$>
<$fieldCaptionStyle = "requiredField"$>
<$endif$>
Generates the standard field caption:
<@dynamichtml std_field_caption@>
<span class=<$fieldCaptionStyle$>><$fieldCaption$><$if not     isFormSubmit$><$":"$><$endif$></span>
<@end@>

関連項目

- fieldCaption

- fieldCaptionInclude

- fieldValueStyle

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のNotationForRequiredFieldsに関する項およびStyleForRequiredFieldsに関する項

fieldDefault

メタデータ・フィールドのデフォルト値を指定します。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

文字列としてメタデータ・フィールドのデフォルト値を返します。

例

dDocTitleメタデータ・フィールドのデフォルト値を定義します。

<$fieldName = "dDocTitle", fieldCaption = lc("wwTitle"), isRequired = 1,
fieldType = "BigText", requiredMsg = lc("wwSpecifyTitle"),
fieldDefault="Enter a Title"$>

fieldEditWidth

HTMLページでのメタデータ入力フィールドの文字幅を指定します。これは、リソースcompute_std_field_includes.に含まれているcompute_namevalue_edit_widthsで設定されます。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

なし。

fieldEntryInclude

メタデータ・フィールドの値の表示に使用するインクルードを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

例

値表示インクルードをstd_checkbox_entryに設定します。

<$fieldEntryInclude = "std_checkbox_entry"$>

関連項目

- defaultFieldInclude

- fieldCaptionInclude

- fieldValueStyle

fieldExtraScriptInclude

特定のメタデータ・フィールドに対して追加のJavaScript検証が含まれているインクルード・ファイルの名前を指定します。これは、リソースcompute_std_field_includesに設定されています。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

fieldInclude

メタデータ・フィールドを表示するインクルードの名前を指定します。通常、このインクルード・ファイルはstd_namevalue_fieldですが、別のインクルードに設定することもできます。

これは通常、xFieldName:includeを使用してページの一番上に設定されますが、リソースcompute_std_field_includesをオーバーライドして設定することもできます。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

fieldIsOptionList

メタデータ・フィールドにオプション・リストがあるかどうかを指定します。

- TRUEに設定されている場合、フィールドにはオプション・リストがあります。

- FALSEに設定されている場合、フィールドにはオプション・リストがありません。

- デフォルトはFALSEです。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドにオプション・リストがある場合、TRUEを返します。

- フィールドにオプション・リストがない場合、FALSEを返します。

例

事前定義のアカウントが存在する場合、dDocAccountメタデータ・フィールドをオプション・リストとして定義します。

<$if HasPredefinedAccounts$>
<$fieldIsOptionList = 1, optionListName = "docAccounts",
fieldOptionListType = "combo"$>
<$endif$>

関連項目

- hasOptionList

- fieldOptionListType

- optionListName

fieldMaxLength

メタデータ・フィールドの最大長を指定します。これはフィールドのサイズではなく、フィールドに含めることのできる最大文字数です。これは通常、xFieldName:includeを使用してページの一番上に設定されますが、リソースcompute_std_field_includesをオーバーライドして設定することもできます。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

fieldName

メタデータ・フィールドの内部名を指定します。

- 事前定義されたメタデータ・フィールドは、小文字のdで始まります(例: dDocName)。

- カスタム・メタデータ・フィールドは、小文字のxで始まります(例: xComments)。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

文字列としてメタデータ・フィールドの名前を返します。

例

dDocTitleメタデータ・フィールドを定義します。

<$fieldName = "dDocTitle", fieldCaption = lc("wwTitle"), isRequired = 1, fieldType = "BigText", requiredMsg = lc("wwSpecifyTitle")$>

fieldOptionListType

メタデータ・フィールドのオプション・リストのタイプを指定します。

この変数に使用可能な値は次のとおりです。

fieldOptionListTypeの値

構成マネージャで対応するオプション

strict

「Vタイプの選択リスト」または「NVタイプの選択リスト」

combo

「リストから1項目選択、もしくは項目の追加選択」

multi

リストから1項目以上の選択、もしくは項目の追加選択

access

なし(メンバー・アクセス・リスト用Collaboration Serverで使用)

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

文字列としてオプション・リスト・タイプを返します。

例

dDocAccountオプション・リスト・タイプをcombo (「単一値選択リスト」)として定義します。

<$if HasPredefinedAccounts$>
<$fieldIsOptionList = 1, optionListName = "docAccounts",
fieldOptionListType = "combo"$>
<$endif$>

関連項目

- fieldIsOptionList

- optionListName

fieldType

メタデータ・フィールドのタイプを指定します。

この変数に使用可能な値は次のとおりです。

fieldTypeの値

構成マネージャで対応するオプション

Text

テキスト

BigText

ロング・テキスト

Int

整数

Date

日付

Memo

メモ

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

文字列としてメタデータ・フィールド・タイプを返します。

例

dDocTitleメタデータ・フィールドをBigText (Long Text)フィールドとして定義します。

<$fieldName = "dDocTitle", fieldCaption = lc("wwTitle"), isRequired = 1,
fieldType = "BigText", requiredMsg = lc("wwSpecifyTitle")$>

fieldValue

メタデータ・フィールドの値を指定します。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

現在のメタデータ・フィールドの値を返します。

例

標準のフィールド値を生成します。

<@dynamichtml std_value_label@>
<span class="<$fieldValueStyle$>"><$fieldValue$></span><!--""-->
<@end@>

関連項目

- fieldEntryInclude

- fieldCaptionStyle

- fieldValueStyle

- optionListName

fieldValueStyle

メタデータ・フィールドの値のスタイルを指定します。

次のSPANスタイルは通常、値に使用します。これは、IdcHomeDir/resources/core/std_page.htmリソース・ファイル内のstd_style_declarationインクルードで定義されています。

- tableEntry

- xxsmall

- strongHighlight

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

値スタイルの名前を返します。

例

値スタイルを設定します。

<$if isFieldInfoOnly$>
<$if valueStyle$>
<$fieldValueStyle = valueStyle$>
<$else$>
<$fieldValueStyle = "tableEntry"$>
<$endif$>
<$endif$>

標準のフィールド値を生成します。

<@dynamichtml std_value_label@>
<span class="<$fieldValueStyle$>"><$fieldValue$></span><!--'"-->
<@end@>

関連項目

- fieldCaptionStyle

- fieldEntryInclude

- valueStyle

fieldWidth

メタデータ・フィールドの幅(単位: 文字数)を指定します。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

現在のメタデータ・フィールドの幅を返します。

例

10文字の幅を持つExtensionフィールドを生成します。

<$fieldName = "dExtension", fieldCaption = lc("wwNativeExtension"),
fieldWidth = 10$>

関連項目

- fieldCaptionStyle

fileUrl

現在の動的サーバー・ページ(HCSPまたはHCST)の相対URLを取得します。

この変数は通常、それ自身に転送するフォームなどの自己参照ページで使用します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

文字列としてURLを返します。

例

現在の動的サーバー・ページの相対URLを返します。

<$fileUrl$>

FIRSTREV

現在のリビジョン・ラベル・シーケンスの最初のリビジョン・ラベルを返します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

文字列として最初のリビジョン・ラベルを返します。

例

最初のリビジョン・ラベル(デフォルトは1)を返します。

<$FIRSTREV$>

ForcedConversionRules

ファイルのチェックインに対して強制変換を適用するDynamic Converterルールを定義します。

- これはカンマ区切りリストです。

- コンテンツ・アイテムがチェックイン時に指定された変換ルールのいずれかと一致する場合、ファイルはそのルールに従って変換されます。各ファイルは、複数のレンディションに変換できます。

- デフォルトはありません。

注意:

強制変換プロセスでは、同じDynamic Converterテンプレートを2回適用することはありません。たとえば、ForcedConversionRules=RuleA,RuleBを設定していて、RuleAとRuleBが異なるレイアウトで同じテンプレートを指定した場合、RuleBに準じた変換は行われません。(この場合のベスト・プラクティスは、レイアウトをマージし、Idoc Scriptを使用して適切なレイアウト要素を動的に選択することです。)

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.6.2項「Dynamic Converter」

場所

IntradocDir/config/config.cfg

例

構成エントリとしての使用例:

ForcedConversionRules=Rule1,Rule2,Rule3

関連項目

- incDynamicConversionByRule()

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のDisableForcedConversionsに関する項およびrule:IsFragmentOnlyに関する項

forceExpire()

この関数は、特定のインクルードのキャッシュを強制的に期限切れにするために使用できます。これは、新規メタデータ・フィールドを追加したり、ユーザーが新規問合せを保存したり、表示可能なリンクを変更する場合など、ページ表示の変更に役立ちます。

includeNameの値がnullであるか空の文字列である場合、キャッシュ全体が排除されます。これは、特定のページのインクルードがすべて同じキャッシュに入れられて、同時に期限切れにする必要がある場合に役立ちます。

キーワードと関数の比較の詳細は、第3.4.1章「キーワードと関数の比較」を参照してください。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

2つの必須パラメータと2つのオプションのパラメータを取ります。次に例を示します。

forceExpire(includeName, scope [, cacheName, key])

パラメータ

説明

includeName

評価する動的HTML要素の名前。

scope

ユーザーごとに異なるHTMLを表示する場合はsessionに設定し、すべてのユーザーに同じものを表示する場合はapplicationに設定します。

cacheName

オプション: このデータを、デフォルトのキャッシュのかわりに、名前付きキャッシュに入れる場合。空の文字列が渡される場合は、インクルードをセッションのデフォルトのキャッシュに入れます。

key

オプション: 競合を避けるためにキャッシュの名前-範囲の自動指定を行わない場合は、ここで一意のキーを指定できます。

例

これは、std_page_beginインクルードの置換として使用できます。ユーザーが、標準的な左ナビゲーション・バーのリンク(問合せの保存、ポータル設計の変更)を変更するために、標準サービス・コールの1つを実行したかどうかが検証されます。実行した場合、標準ページ開始のキャッシュされたHTMLは無効になります。その後で、次のcacheInclude関数によってインクルードが再評価され、キャッシュに戻されます。

<$if strEquals(IdcService, "PNE_SAVE_QUERY") or strEquals(IdcService, "PNE_UPDATE_PORTAL_INFO")$>
<$forceExpire("std_main_page_begin", "session", "", "std_main_page_begin")$>
<$endif$>
<$cacheInclude("std_main_page_begin", "session", 600, "", "std_main_page_begin")$>

関連項目

- cacheInclude()

- inc()

- setExpires()

- setHttpHeader()

- setMaxAge()

formatDate()

日付/時間のフォーマットをデフォルトの日付/時間フォーマットに変更します。

データベースでフォーマット化された日付(例: 2001-06-15)は評価できません。

長いフォーマットの日付(例: June 15, 2001)は評価できません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付/時間を指定する文字列です。

出力

- dateCurrentで使用するフォーマットで日付/時間を返します(例: 6/15/01 1:55 PM)。

- パラメータが評価できない場合は、nullを返します。

- 時間が指定されていない場合は、デフォルト時間である12:00 AMを返します。

例

次の例では、日付と時間をフォーマット化して、それを12/14/99 2:00 PMとして表示します。

<$formatDate("12/14/1999 02:00 PM")$>

次の例では、日付と時間をフォーマット化して、それを9/15/03 12:00 AMとして表示します。

<$formatDate("09/15/2003")$>

次のスクリプトは、指定された日付と時間をフォーマット化し、表示します。1行目では、日付と時間の代替フォーマットを評価して、それをカスタム変数に割り当てます。2行目では、この日付をユーザーに表示します。

<$my_customDateTime = formatDate("06/14/2004 15:05:34")$>
Final Approval: <$my_customDateTime$>

出力:

最終承認: 6/14/04 3:05 PM

formatDateDatabase()

SQL問合せの準備のために日付と時間をフォーマット化します。長いフォーマットの日付(例: May 22, 2000)は評価できません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付/時間を指定する文字列または変数です。

出力

- ODBCフォーマットの日付と時間を返します。

[ts 'yyyy-mm-dd hh:mm:ss']

- パラメータが評価できない場合は、nullを返します。

- 時間が指定されていない場合は、デフォルト時間である00:00:00を返します。

例

SQL問合せに対する現在の日付と時間をフォーマット化します。

<$formatDateDatabase(dateCurrent())$>

日付と時間をフォーマット化し、2001-03-19 15:32:00として表示します。

<$formatDateDatabase("03/19/2001 3:32 PM")$>

日付と時間をフォーマット化し、1999-04-03 00:00:00として表示します。

<$formatDateDatabase("4/3/99")$>

formatDateDisplay()

日付/時間のフォーマットをユーザーへの表示用の日付/時間フォーマットに変更します。「システム・プロパティ」の「表示日付フォーマット」を使用して、日付をフォーマット化します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付/時間を指定する文字列です。

出力

- 使用したフォーマットで日付/時間を返します。

- パラメータが評価できない場合は、nullを返します。

例

<$formatDateDisplay$>

関連項目

- formatDateOnlyDisplay()

formatDateOnly()

日付/時間のフォーマットをデフォルトの日付フォーマットに変更して、時間を削除します。

データベースでフォーマット化された日付(例: 2000-02-02)は評価できません。

長いフォーマットの日付(例: June 12, 2001)は評価できません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付/時間を指定する文字列です。

出力

- dateCurrentで使用するフォーマットで日付を返します(例: 7/12/00)。

- パラメータが評価できない場合は、nullを返します。

例

現在の日付のみ(例: 9/12/01)を返します。

<$formatDateOnly(dateCurrent())$>

10日後の日付(例: 9/22/01)を返します。

<$formatDateOnly(dateCurrent(10))$>

日付と時間をフォーマット化し、日付のみを1/17/00として表示します。

<$formatDateOnly("01/17/2000 2:00 PM")$>

このスクリプトでは、現在の日付と100日後の日付が表示されます。1行目では、現在の日付のみがカスタム変数に割り当てられます。2行目では、100日後の日付が2番目のカスタム変数に割り当てられます。3行目では、これらの日付がユーザーに表示されます(たとえば、開始日: 10/12/01、終了日: 1/20/02)。

<$my_startDate = formatDateOnly(dateCurrent())$>
<$my_endDate = formatDateOnly(dateCurrent(100))$>
Start Date: <$my_startDate$> and End Date: <$my_endDate$>

formatDateOnlyDisplay()

日付のフォーマットをユーザーへの表示用の日付フォーマットに変更します。「システム・プロパティ」の「表示日付フォーマット」を使用して、日付をフォーマット化します。

formatDateDisplayと類似していますが、日付のみをフォーマット化します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付を指定する文字列です。

出力

- 使用したフォーマットで日付を返します。

- パラメータが評価できない場合は、nullを返します。

例

<$formatDateOnlyDisplay$>

関連項目

- formatDateDisplay()

formatDateOnlyFull()

日付/時間のフォーマットを長い日付フォーマットに変更して、時間を削除します。データベースでフォーマット化された日付(例: 2000-02-02)は評価できません。

この設定は、バージョン5.1以降では非推奨です。formatDateWithPattern()を使用してください。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付/時間を指定する文字列です。

出力

- 長いフォーマットの日付を返します。

month d, yyyy

- パラメータが評価できない場合は、nullを返します。

例

現在の日付を長いフォーマットで返します。

<$formatDateOnlyFull(dateCurrent())$>

365日後の日付を長いフォーマット(例: September 12, 2002)で返します。

<$formatDateOnlyFull(dateCurrent(365))$>

日付のみをフォーマット化し、June 12, 2001として表示します。

<$formatDateOnlyFull("6/12/01 3:00 PM")$>

formatDateWithPattern()

日付/時間のフォーマットをデ指定された日付/時間パターンに変更します。

この変数を(動的ページではなく)プログラムで使用している場合、!rfcを日付パターンの最後に追加します。これにより、rfc標準に準拠する日付フォーマットが提供されます。!rfcが追加されないと、プログラムは日付文字列を作成するのにロケールを使用しようとしますが、定期的に更新されるイベントの場合、ロケールは指定されません。その結果、出力は日付と月に対し、文字列のかわりに整数を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、コンテンツ・サーバー・インスタンスにより使用される日付文字列、またはparseDate関数またはdateCurrent関数を使用して作成された日付オブジェクトです。

- 2番目のパラメータは日付/時間パターン(例: MM/dd/yyyy)です。
大文字のZは、エントリにUTCタイムゾーンが使用されることを意味します。小文字のzzzzは、オフセットを示すプラス(+)記号またはマイナス(-)記号が先行するUTC時間からのタイム・オフセット(HHMM)を示します。

出力

- パターン・パラメータにより指定されたフォーマットで日付/時間を返します。

- パラメータが評価できない場合は、nullを返します。

例

Wed, 5 Jul 2006 12:08:56 -0700と表示します。

<$formatDateWithPattern(dateCurrent(),"EEE, d MMM yyyy HH:mm:ss zzzz")$>

2006-07-05 14:30:33Zと表示します。

<$formatDateWithPattern(dateCurrent(),"yyyy-MM-dd HH:mm:ssZ")$>

formatTimeOnly()

日付/時間のフォーマットをデフォルトの時間フォーマットに変更して、日付を削除します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、日付/時間を指定する文字列または変数です。

出力

- dateCurrentで使用するフォーマットで時間のみを返します(例: 1:15 PM)。

- パラメータが評価できない場合は、nullを返します。

例

現在の時間のみを返します。

<$formatTimeOnly(dateCurrent())$>

時間のみをフォーマット化し、5:00 PMとして表示します。

<$formatTimeOnly("2/2/99 5:00 PM")$>

時間のみをフォーマット化し、6:14 PMとして表示します。

<$formatTimeOnly("04/21/2001 18:14:00")$>

formatTimeOnlyDisplay()

時間のフォーマットをユーザーへの表示用の時間フォーマットに変更します。「システム・プロパティ」の「表示日付フォーマット」を使用して、時間をフォーマット化します。

formatDateDisplayと類似していますが、時間のみをフォーマット化します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、時間を指定する文字列です。

出力

- 使用したフォーマットで時間を返します。

- パラメータが評価できない場合は、nullを返します。

例

<$formatTimeOnlyDisplay$>

関連項目

- formatDateDisplay()

GATEWAY_INTERFACE

このサーバーが準拠しているCGI仕様のリビジョン・レベルを取得します。この変数はリクエスト固有ではなく、すべてのリクエストに対して設定されます。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列としてリビジョン・レベルをCGI/revisionのフォーマットで返します。

例

ページまたはログへの情報出力としての使用例:

GATEWAY_INTERFACE=CGI/1.1

Idoc Script文または評価の一部としての使用例:

<$if GATEWAY_INTERFACE$>
<!--statement-->

generateUniqueId

この関数は、HTMLページの一意のIDを返します。これは、一意のIDを保証するために、HTML要素内でid属性とともに使用されます。

タイプおよび使用方法

- 第4.1.5項「ページ変数」

- 第4.2.16.項「ページ表示」

パラメータ

唯一のパラメータは、IDが生成されるフィールド名です。

出力

HTMLページのIDを返します。

getCookie

ブラウザからCookieを取得します。

これは、情報をパーソナライズに格納する必要がない場合のユーザー・セッションの追跡に役立ちます。

最後に移動したページ、または最後に実行された検索の追跡に使用できます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.25項「Webサーバー」

パラメータ

1つのパラメータとしてCookieの名前を取ります。

例

<$myCounter=getCookie("myCounter")$>
<$if not myCounter$>
<$myCounter=1$>
<$endif$>
Num times loaded: <$myCounter$>
<$setCookie("myCounter", myCounter+1, dateCurrent(1))$>

関連項目

- setCookie

GetCopyAccess

コンテンツ・アイテムのコピーの取得に必要なユーザーの権限を決定します。

TRUEに設定した場合、ユーザーは読取り権限のみを持っているコンテンツ・アイテムのコピーを取得できます。

FALSEに設定した場合、ユーザーは、コピーを取得できるようにするために、コンテンツ・アイテムの書込み権限を持っている必要があります。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.21.1項「内部セキュリティ」

場所

- 「システム・プロパティ」、「コンテンツ・セキュリティ」タブ、「読取り権限を持つユーザーである場合にコピーを許可する」

- 「管理」、「管理サーバー」、「コンテンツ・セキュリティ」メニュー・オプション、「読取り権限を持つユーザーである場合にコピーを許可する」

- IntradocDir/config/config.cfg

例

構成設定の使用例:

GetCopyAccess=true

Idoc Scriptとして、構成設定の値を返します。

<$GetCopyAccess$>

getDebugTrace()

デバッグ・トレースの出力を取得します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.9項「デバッグ」

出力

- 構成中のページの累積デバッグ・トレースの出力を返します。

- IsPageDebugが設定されていない場合、空の文字列を返します。

例

デバッグ・トレースの出力を取得して、その情報をページに出力します。

<$getDebugTrace()$>

関連項目

- IsPageDebug

getErrorTrace()

エラー・トレースの出力を取得します。

エラー・トレースの出力は、HTMLページで表示するためにエンコードされます。たとえば、デリミタ<および>はHTMLエスケープであり、改行は<br>タグに変換されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.9項「デバッグ」

出力

- 構成中のページの累積エラー・トレースの出力を返します。

- IsPageDebugが設定されていない場合、この関数は空の文字列を返します。

例

エラー・トレースの出力を取得して、その情報をページに出力します。

<$getErrorTrace()$>

関連項目

- IsPageDebug

getFieldConfigValue

この関数は、特定のフィールドの構成フラグを返します。フィールドが存在しない場合は、かわりにデフォルトが返されます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

次の3つのパラメータをとります。

- メタデータ・フィールドの名前。

- フィールドに対して返すフラグが見つかった場合は、そのフラグ。

- フィールドが存在しない場合は、返されるデフォルト値。

出力

指定された構成フラグを返します。

例

<$caption = getFieldConfigValue("dDocTitle", "fieldCaption", lc("wwTitle"))$>

getFieldViewDisplayValue()

「スキーマ」オプション・リストにあるアイテムの表示値を返します。

たとえば、Customerというカスタム・メタデータ・フィールドに対してオプション・リストが存在すると仮定します。データベースには、CustomerName列と一意のCustomerID列を持つスキーマ表があります。チェックイン時にCustomerName値がユーザーに表示されますが、CustomerID値はデータベースに格納されます。getFieldViewDisplayValue関数は、CustomerID値に基づき、解読可能なCustomerName値を抽出します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは、オプション・リストに使用するフィールドの名前です。

- 2番目のパラメータは、現在のフィールドに使用されたスキーマ・ビューの名前です。

- 3番目のパラメータは、フィールドに割り当てられた値です。

出力

表示値を返します。

例

<$customerName = getFieldViewDisplayValue("xCustomer", "Customer_View", "1234")$>

getFieldViewValue()

この関数は、フィールドのコンテンツ・ルールの定義時に使用します。この関数を使用することにより、コンテンツ・プロファイルのフィールド値がビューに依存するように設定できます。フィールドにはデフォルト値と導出値の両方を設定できるため、ビューを使用してフィールド間の相互依存性を作成できます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

次の3つのパラメータをとります。

- フィールド。メタデータ・フィールドの名前。このフィールドにはビューを割り当てておく必要があります。

- 値。値の参照キー。

- 列名。ビューの表内の列。

出力

参照としてフィールド値を使用して指定された列の値を返します。

例

次の例では、xEmployeeフィールドの表示表にtypeという列があります。この関数は、xEmployeeメタデータ・フィールドで指定された値を使用してこの表に参照を指定し、type列の値を返します。

getFieldViewValue("xEmployee", #active.xEmployee, "type")

getFreeMemory()

この関数は、Java Virtual Machine (JVM)内の空きメモリーの量を返します。これは、「システム監査情報」ページで使用されるパフォーマンス監査機能です。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.9項「デバッグ」

出力

JVM空きメモリーの量(MB単位)。

例

<$freeMem = getFreeMemory()$>

関連項目

- getTotalMemory()

getHelpPage

この関数は、ページの名前に基づいてページをヘルプするために、相対URLを返します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.16.項「ページ表示」

パラメータ

使用したページの名前。

例

<input type=Button value="<$lc("wwQuickHelp")$>"
onClick="QuickHelp('<$getHelpPage("QH_AdvancedSearch")$>', 'Search')">

getOptionListSize

この関数は、オプション・リストのサイズを返します。これは、「ユーザー・プロファイル」ページにカスタム・ユーザー・メタデータ・フィールドを表示するかどうかの判別に使用します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.16.項「ページ表示」

パラメータ

唯一のパラメータは、サイズ設定対象のオプション・リストです。

出力

指定されたオプション・リストのサイズを返します。

getParentValue()

この関数は、スキーマ・ビューから親値を返します。これは、現在のフィールドの依存オプション・リストを生成する前に必要です。

多くのオプション・リストは親フィールドの一意のキーに対する依存性をトリガーするため、通常、この関数は内部の親値パラメータと同じ値を返します。ただし、これは、複合型の依存選択リストの要件ではありません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

次の4つのパラメータをとります。

- 現在のフィールドに使用されたスキーマ・ビューの名前。

- このフィールドと親フィールド間のスキーマ・リレーションの名前。

- 親フィールドの名前。

- 親フィールドの内部値。これは、ページに表示される値とは異なる場合があります。これは、内部格納された一意の番号であることがよくあります。

例

<$parentValue=getParentValue("xState", "Country_State", "xCountry", "123")$>

getRequiredMsg()

この関数は、必要なエラー・メッセージを示すJavaスクリプトを移入するために、プレゼンテーション・ページで使用されます。エラー・メッセージは、必須として指定されたフィールドのコンテンツ・ルール・ユーザー・インタフェースに基づいて設定されます。次のアルゴリズムに基づいて、必要なメッセージを返します。

1. この関数は、fieldname:requiredMsg値を検索します。

2. 値が存在する場合は、ローカライズされます。

3. 値が未定義であるか、メッセージが空の場合、デフォルトのメッセージは返されず、ローカライズも行われません。メッセージをローカライズするには、関数のコール元はlc関数をデフォルト・メッセージに使用した後で、それをこの関数(getRequiredMsg)に渡す必要があります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

次の2つのパラメータを取ります。

- Fieldname: エラー・メッセージに関連付けられたフィールド。

- Message: 使用するデフォルト・メッセージ。

関連項目

- lc()

getTextFile()

テキスト・ファイルのWebバージョンを取得し、そのコンテンツを文字列に返します。

- これは、text/html、text/plainまたはtext/xmlなどのテキストがフォーマットに含まれているファイルのみで使用できます。特に、コンテンツ・アイテムのdFormatフィールドはtextで始まる必要があります。たとえば、HCSPファイルをチェックインした場合、「コンテンツ情報」画面に「Formats: text/hcsp」が表示されるため、コンテンツはgetTextFile()関数によって表示されます。

- コンテンツ・アイテムのWeb URLを判別するのに十分な情報が存在する必要があります。dID値のみが必須のメタデータ・フィールドです。
次の情報が存在している必要があります。

- dDocName、dWebExtension、dSecurityGroup、dRevLabelおよびdDocType。

- アカウントが有効化されている場合は、dDocAccountも指定する必要があります。

この情報は、GET_SEARCH_RESULTSのコール後またはDOC_INFOのコール後に自動的に使用可能になります。

- パフォーマンスを改善するには、この関数をcacheIncludeコールでラップします。ただし、こうすると、すべてのドキュメントを同じキャッシュに入れる場合にセキュリティの問題が生じることがあります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

この関数はパラメータを取りませんが、ページで変数を使用してドキュメントのURLを決定します。

例

<$loop SearchResults$>
<$fullDocument=getTextFile()$>
<h2><$dDocTitle$></h2>
<div><$fullDocument$></div>
<$endloop$>

関連項目

- cacheInclude()

getTotalMemory()

この関数は、Java Virtual Machine (JVM)内の総メモリー量を返します。これは、サーバーの使用メモリー量を判別するために、「システム監査情報」ページで使用されるパフォーマンス監査機能です。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.9項「デバッグ」

出力

JVMの総メモリー量(MB単位)。

例

<$totalMem = getTotalMemory()$>

関連項目

- getFreeMemory()

getUserValue()

現在のユーザーのユーザー・メタデータ・フィールドの値を取得します。

パラメータは、Usersデータベース表の列を参照する必要があります。グローバル参照をサポートしないユーザー・パーソナライズ関数とは異なり、Users表でユーザーに割り当てられた情報はコンテンツ・サーバー・インスタンスが使用できます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

- 第4.2.24項「ユーザー」

パラメータ

唯一のパラメータはユーザー関連の変数です。

出力

- 現在のユーザーのメタデータ・フィールドの値を返します。

- ユーザー値が取得された場合、TRUEに評価します。

- 取得中にエラーが発生した場合、FALSEに評価します。

- 値が未指定であったり、不明な場合には、StatusCode値として-1を返します。

例

現在ログオンしているユーザーのユーザー名・タイプを返します。

<$getUserValue('dUserType')$>

getValue()

この関数には、次のように複数の使用法があります。

- 特定のメタデータ・フィールドの値をローカル・データ、アクティブ・データまたは環境データから取得します。

- 特定の列の値を特定のResultSetから取得します。

- ResultSet行に関する情報を取得します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、データ型またはResultSetの名前のいずれかです。

- 2番目のパラメータは、メタデータ・フィールドの名前、列名またはResultSet行パラメータです。

バリエーション

getValue(arg1,arg2)関数とまったく同じ結果を返す省略フォーマットを使用することもできます。このフォーマットは<$arg1.arg2$>フォームを使用します。この場合のarg1およびarg2は、getValue関数に対するリテラル文字列引数"arg1"および"arg2"です。

注意:

データ型(local、activeおよびenv)とResultSetパラメータは、番号記号の(#)記号で始まる必要があります。

次のパラメータの組合せが使用できます。

getValueおよび省略フォーマット

説明

getValue("#local",fieldName)

<$#local.fieldName$>

指定したメタデータ・フィールドの値をローカル・データから取得します。

getValue("#active",fieldName)

<$#active.fieldName$>

指定したメタデータ・フィールドの値をデータから次の順序で取得しようとします。

1. ローカル・データ

2. アクティブResultSet

3. その他すべてのResultSet

4. 環境設定

getValue("#env",fieldName)

<$#env.fieldName$>

指定したメタデータ・フィールドの値を環境設定から取得します。

getValue(ResultSetName,fieldName)

<$ResultSetName.fieldName$>

指定したメタデータ・フィールドの値を、指定したResultSetの現在行から取得します。

getValue(ResultSetName,columnName)

<$ResultSetName.columnName$>

指定した列の値を、指定したResultSetの現在行から取得します。

getValue(columnName)

<$columnName$>

指定した列の値を、現在のResultSetの現在行から取得します。

getValue(ResultSetName,"#row")

<$ResultSetName.#row$>

指定したResultSetの現在行の番号を取得します。

最初の行は0です。

getValue(ResultSetName,"#numRows")

<$ResultSetName.#numRows$>

指定したResultSetの行の総数を取得します。

getValue(ResultSetName,"#isRowPresent")

<$ResultSetName.#isRowPresent$>

指定したResultSetに少なくとも1行が存在するかどうかを確認します。

これは、rsNextを使用して手動でループするときに役立ちます。

getValue(ResultSetName,"#isEmpty")

<$ResultSetName.#isEmpty$>

指定したResultSetに行が含まれていないかどうかを確認します。

出力

- 出力値については、前述の項、バリエーションを参照してください。

- 値が見つからない場合、空の文字列を返します。

例

- DOC_INFOというResultSetからコンテンツIDを取得します。

<$name = getValue("DOC_INFO","dDocName")$>

または

<$name = <$DOC_INFO.dDocName$>

- 渡されたパラメータdDocType(これはローカル・データにあります)がアクティブResultSetの値と等しいかどうかを確認します。

<$loop DocTypes$>
<$if strEquals(#active.dDocType, getValue("#local","dDocType"))$>
<!--do special HTML for selected document type-->
<$endif$>
<!-- additional statement-->
<$endloop$>

関連項目

- 第3.4項「特殊なキーワード」

getValueForSpecifiedUser()

特定のユーザーのユーザー属性の値を取得します。この関数は、拡張ワークフロー機能を定義する際に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.24項「ユーザー」

- 第4.2.26項「ワークフロー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータはユーザー名です。

- 2番目のパラメータは、ユーザー属性(dFullName、dUserTypeまたはdEmailなど)を指定するUsersデータベース表にある列の名前です。

出力

- 指定したユーザーのユーザー属性の値を返します。

- 値が見つからない場合、空の文字列を返します。

例

mjonesの完全名を取得します。

<$getValueForSpecifiedUser('mjones', 'dFullName')$>

getViewValue()

「スキーマ」オプション・リストにあるアイテムの表示値を返します。

たとえば、Customerというカスタム・メタデータ・フィールドに対してオプション・リストが存在すると仮定します。データベースには、CustomerNameと一意のCustomerIDを持つスキーマ表があります。チェックイン時にCustomerNameがユーザーに表示されますが、CustomerIDはデータベースに格納されます。getFieldViewDisplayValue関数は、CustomerIDに基づき、解読可能なCustomerNameを抽出します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

この関数は、次の3つのパラメータを取ります。

- 現在のフィールドに使用されたスキーマ・ビューの名前。

- データベースに格納されたIDの値。

- ビューに関連付けられている列名。

出力

表示値を返します。

例

<$custName = getViewValue("Customer_View", "1234", "CustomerName")$>
<$custRegion = getViewValue("Customer_View", "1234", "CustomerRegion")$>

関連項目

- getFieldViewDisplayValue()

getViewValueResultSet()

この関数はスキーマ表をロードし、それをSchemaData.というResultSetとしてページに入れます。ResultSetの列名はデータベース表内の名前と同じです。

この関数は、親値に基づいて依存選択リストを取得する際に最も役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

次の3つのパラメータをとります。

- 使用したスキーマ・ビューの名前。

- スキーマとビューとのリレーション。

- スキーマ親の値。

例

国リストのスキーマ表とビューがあるとします。ビュー名はCountry_viewです。

その表のコンテンツをページに出力するために、次のコードを使用します。

<$getViewValuesResultSet("Country_View", "", "")$>
<$loop SchemaData$>
<$count = 0, num = rsNumFields("SchemaData")$>
<$loopwhile count < num$>
<$fieldName=rsFieldByIndex("SchemaData", count)$>
<$fieldName$> = <$getValue("SchemaData", fieldName)$>
<$count = count + 1$>
<$endloop$>
<$endloop$>

列名がわからなくても、表は出力されます。

次の例では、フィールドCountryおよびStateに対してDCLを持っていると仮定します。Statesのリストは、選択されるCountryに依存します。CountryがUSの場合にStatesリストを取得するには、次のコードを使用します。

<$getViewValuesResultSet("State_View", "Country_State", "US")$>

hasAppRights()

現在のユーザーが管理アプリケーションに対する権限を持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

パラメータ

唯一のパラメータは、次の管理アプリケーションのいずれか1つです。

- UserAdmin

- WebLayout

- RepoMan

- Workflow

- ConfigMan

- Archiver

出力

- ユーザーが指定されたアプリケーションに対する権限を持っている場合、TRUEを返します。

- ユーザーが指定されたアプリケーションに対する権限を持っていない場合、FALSEを返します。

- 値が未指定であったり、不明な場合には、StatusCode値として-1を返します。

例

現在のユーザーが指定されたアプリケーションに対する権限を持っているかどうかを評価します。

<$hasAppRights('RepoMan')$>

HasExternalUsers

外部ユーザー・データベースが存在することをコンテンツ・サーバーに指示します。

TRUEに設定した場合、システムは外部ユーザーを認識します。カスタム・コンポーネントが外部ユーザー統合(LDAPなど)をサポートするように作成されている場合は、これをTRUEに設定します。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

- 第4.2.21.2項「外部セキュリティ」

場所

IntradocDir/config/config.cfg

例

構成設定の使用例:

HasExternalUsers=true

Idoc Scriptとして、構成設定の値を返します。

<$HasExternalUsers$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のNtlmSecurityEnabledに関する項

HasLocalCopy

クライアント・コンピュータがダウンロード・ターゲット・ディレクトリにリクエストされたコンテンツ・アイテムのコピーを格納しているかどうかを確認します。

通常は、ダウンロード時に上書きするかどうかをユーザーに問い合わせるために使用します。たとえば、この変数はOracle ODMAクライアントによって使用されます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.2項「クライアント」

出力

- ローカル・コピーが検出された場合、TRUEを返します。

- ローカル・コピーが検出されない場合、FALSEを返します。

例

コンテンツ・アイテムのローカル・コピーがないか確認します。

<$HasLocalCopy$>

関連項目

- ClientControlled

- IsNotLatestRev

hasOptionList

メタデータ・フィールドにオプション・リストがあることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドにオプション・リストがある場合、TRUEを返します。

- フィールドにオプション・リストがない場合、FALSEを返します。

例

フィールドにオプション・リストがあることを指定します。

<$hasOptionList=1$>

フィールドにオプション・リストがある場合、オプション・リストの値を生成します。

<$if hasOptionList$>
<$if isQuery$></td><td><$endif$>
<$include std_option_list_entry$>
<$endif$>

関連項目

- fieldIsOptionList

HasOriginal

リビジョンの元のファイルが存在するかどうかを確認します。

この変数は、dOriginalName値を確認します。

コンテンツ・アイテムのチェックインは可能ですが、コンテンツ・アイテムが元のファイルを持つことはできません(たとえば、基本ワークフローが開始していても、最初のコントリビューション・ステップでファイルがチェックインされていない場合)。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

- 元のファイルが存在する場合、TRUEを返します。

- 元のファイルが存在しない場合、FALSEを返します。

例

元のファイルがあるかどうかを確認します。

<$if HasOriginal and not isNew$>

HasPredefinedAccounts

現在のユーザーが事前定義アカウントに対する権限を持っているかどうかを確認します。事前定義アカウントとは、「ユーザー管理」ユーティリティで作成されたアカウントです。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーが事前定義アカウントに割り当てられている場合、TRUEを返します。

- ユーザーが事前定義アカウントに割り当てられていない場合、FALSEを返します。

例

ユーザーが事前定義アカウントに割り当てられている場合、「アカウント」オプション・リストを表示します。

<$if HasPredefinedAccounts$>
<$fieldIsOptionList = 1, optionListName = "docAccounts",     fieldOptionListType = "combo"$>
<$endif$>

HasUrl

現在のコンテンツ・アイテムのファイルがweblayoutディレクトリに存在するかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

- weblayoutファイルが存在する場合、TRUEを返します。

- weblayoutファイルが存在しない場合、FALSEを返します。

例

weblayoutファイルがあるかどうかを確認します。

<$if HasUrl$>
<$include doc_url_field$>
<$endif$>

HeavyClient

チェックインがコンテンツ・サーバーのODMAクライアントまたはUploadアプレットを介しているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.2項「クライアント」

出力

- ODMAクライアントまたはUploadアプレットがチェックインに使用されている場合、TRUEを返します。

- ODMAクライアントまたはUploadアプレットがチェックインに使用されていない場合、FALSEを返します。

例

チェックイン方法を確認します。

<$HeavyClient$>

htmlRefreshTimeout

DefaultHtmlRefreshTimeoutInSecondsに類似しています。「処理中コンテンツ」ページ、「チェックアウト・コンテンツ」ページまたは「ワークフロー割当て」ページがリフレッシュする時間(単位: 秒)を定義します。

htmlRefreshTimeoutは、URLまたはサービスのデータ・バインダに設定できます。これは、ページごとに異なるリフレッシュ時間の設定に使用できます。これが必要な場合、config.cfgファイルにDefaultHtmlRefreshTimeoutInSecondsを設定するかわりに、URLまたはデータ・バインダにhtmlRefreshTimeoutを設定します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.16.項「ページ表示」

例

ページのURLでの使用例:

&htmlRefreshTimeout=90

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のDefaultHtmlRefreshTimeoutInSecondsに関する項

- htmlRefreshUrl

htmlRefreshUrl

「処理中コンテンツ」ページ、「チェックアウト・コンテンツ」ページまたは「ワークフロー割当て」ページのリフレッシュ後にロードするページのURLの設定に使用します。デフォルトは現在のページです。この変数は、ページのURLまたはサービスのデータ・バインダに設定できます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.16.項「ページ表示」

例

ページのURLでの使用例:

&htmlRefreshUrl=http://www.home.com

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のDefaultHtmlRefreshTimeoutInSecondsに関する項

- htmlRefreshUrl

HttpAbsoluteCgiPath

コンテンツ・サーバーのCGIパスを完全なURLとして取得します。

この変数は直接変更できません。パスを変更するには、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』に説明するHttpAbsoluteCgiRoot構成設定を使用します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列としてパスを返します。

例

コンテンツ・サーバーdomainに、次の値が返されます。

HttpAbsoluteCgiPath=http://localhost/domain/idcplg/

関連項目

- HttpBrowserFullCgiPath

- HttpCgiPath

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のHttpAbsoluteCgiRootに関する項

HttpAdminCgiPath

コンテンツ・サーバーのCGIパスを相対URLとして取得します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列としてコンテンツ・サーバーのCGIパスを返します。

例

コンテンツ・サーバー・インスタンスに次の値が返されます。

HttpAdminCgiPath=/idcplg/idc_cgi_isapi-instance.dll/cs-admin/pxs

HttpBrowserFullCgiPath

この変数は、アプレットおよびコンテンツ・サーバー・インスタンスのCGIパスの構成に対する明示的な制御の設定に使用します。

コンテンツ・サーバーは、ブラウザのアドレス・バーでHTTPアドレスを評価します。HttpIgnoreWebServerInternalPortNumber構成エントリでは評価を十分に支援できない場合、HttpBrowserFullCgiPathを明示的な回答とともに設定できます。

コンテンツ・サーバー・インスタンスへの相対パス(次の例では、idc1)を指定します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

- 第4.2.2項「クライアント」

例

HttpBrowserFullCgiPath=http://localhost/idc1/idcplg

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のHttpIgnoreWebServerInternalPortNumberに関する項

HttpCgiPath

コンテンツ・サーバーのCGIパスを取得します。

次の構造設定は、この変数の値の決定に使用します。

変数

説明

UseSSL

TRUEに設定した場合、Secure Sockets Layer (SSL)が使用されます(httpではなく、httpsを使用)。

isAbsoluteCgi

相対パスのかわりに完全なURLを使用するかどうかを定義します。これはコンテンツ・サーバー・インスタンスにより設定される内部フラグであり、ユーザー構成を対象としていません。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列としてパスを返します。

例

コンテンツ・サーバー・インスタンスに次の値が返されます。

HttpCgiPath=/domain/idcplg

関連項目

- HttpAbsoluteCgiPath

- HttpEnterpriseCgiPath

- UseSSL

HttpCommonRoot

commonディレクトリのURLを取得します。

1つのコンテンツ・サーバーのインストールのリソースを複数のコンテンツ・サーバー・インスタンスで共有できます。この変数は、共有中のリソースを持つコンテンツ・サーバー・インスタンスのDomainHome/ucm/cs/common/ディレクトリへのURLパスを定義します。たとえば、HttpCommonRootは、Webアプレットが置かれている共有の共通ディレクトリへのアクセスに使用する接頭辞を定義します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列として相対URLを返します。URLが外部の場合は、相対パスではなく、完全なURLが返されます。

例

コンテンツ・サーバー・インスタンスに次の値が返されます。

HttpCommonRoot=/domain/common/

関連項目

- HttpHelpRoot

- HttpImagesRoot

- HttpWebRoot

HttpEnterpriseCgiPath

コンテンツ・サーバー・インスタンスのCGIパスを相対URLとして取得します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列としてコンテンツ・サーバーのCGIパスを返します。

例

コンテンツ・サーバーに次の値が返されます。

HttpEnterpriseCgiPath=/idcplg/idc_cgi_isapi-instance.dll

関連項目

- HttpCgiPath

HttpHelpRoot

helpディレクトリのURLを取得します。

1つのコンテンツ・サーバーのインストールのオンライン・ヘルプ・ファイルを複数のコンテンツ・サーバー・インスタンスで共有できます。この変数は、共有中のヘルプ・ファイルを持つコンテンツ・サーバー・インスタンスのDomainHome/ucm/cs/weblayout/help/ディレクトリへのURLパスを定義します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列として相対URLを返します。URLが外部の場合は、相対パスではなく、完全なURLが返されます。

例

コンテンツ・サーバー・インスタンスに次の値が返されます。

HttpHelpRoot=/domain/help/

関連項目

- HttpCommonRoot

- HttpImagesRoot

- HttpWebRoot

HttpImagesRoot

imagesディレクトリのURLを取得します。

1つのコンテンツ・サーバーのインストールのユーザー・インタフェース・イメージを複数のコンテンツ・サーバー・インスタンスで共有できます。この変数は、共有中のイメージ・ファイルを持つコンテンツ・サーバー・インスタンスのDomainHome/ucm/cs/weblayout/images/ディレクトリへのURLパスを定義します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列として相対URLを返します。URLが外部の場合は、相対パスではなく、完全なURLが返されます。

例

コンテンツ・サーバーに次の値が返されます。

HttpImagesRoot=/domain/images/

関連項目

- HttpCommonRoot

- HttpHelpRoot

- HttpWebRoot

HttpLayoutRoot

現在のレイアウト・ファイルが含まれているフォルダのURLを取得します。これは、現在のレイアウトに固有の追加JavaScriptリソースを持っている場合に役立ちます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

HttpRelativeAdminRoot

コンテンツ・サーバー・インスタンスに対する相対URLを取得します。

インストール時のデフォルトは/cs-admin/です。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列として相対URLを返します。

例

コンテンツ・サーバーに次の値が返されます。

HttpRelativeAdminRoot=/cs-admin/

HttpRelativeWebRoot

Webサーバー・ルート・ディレクトリを相対URLとして定義します。

- 完全ルート(http://www.mycomputer.com/domain/.など)ではなく、相対ルート(/domain/など)を使用します。

- 文字列として相対Webルート・ディレクトリを返します。

- デフォルト値はありません。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.10項「ディレクトリとパス」

- 第4.2.25項「Webサーバー」

場所

- 「システム・プロパティ」、「インターネット」タブ、「HTTP相対Webルート」

- コンテンツ・サーバー: IntradocDir/config/config.cfg

例

構成設定として、相対Webルートを定義します。

HttpRelativeWebRoot=/domain/

Idoc Scriptとして、文字列として相対Webルートを返します。

<$HttpRelativeWebRoot$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のHttpAbsoluteWebRootに関する項

HttpServerAddress

Webサーバー・アドレスを部分URLとして定義します。

完全アドレス(http://www.mycomputer.com/など)ではなく、部分URL (mycomputerなど)を使用します。

文字列としてWebサーバー・アドレスを返します。

デフォルト値はありません。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.10項「ディレクトリとパス」

- 第4.2.25項「Webサーバー」

場所

- 「システム・プロパティ」、「インターネット」タブ、「HTTPサーバー・アドレス」

- コンテンツ・サーバー: IntradocDir/config/config.cfg

例

構成設定として、Webサーバー・アドレスを定義します。

HttpServerAddress=mycomputer

Idoc Scriptとして、文字列としてWebサーバー・アドレスを返します。

<$HttpServerAddress$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のIdcCommandServerHostに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のIntradocServerHostNameに関する項

HttpSystemHelpRoot

HttpHelpRoot変数と類似していますが、この変数はデフォルトのシステム言語に対してヘルプ・ファイルへのパスを返す点が異なります。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

ヘルプ・ファイルへのパスを返します。

例

HttpSystemHelpRoot=/domain/help/

関連項目

- HttpCommonRoot

- HttpHelpRoot

- HttpImagesRoot

- HttpWebRoot

HttpWebRoot

weblayout/ディレクトリのURLパスを取得します。

1つのコンテンツ・サーバーのインストールのリソースを複数のコンテンツ・サーバー・インスタンスで共有できます。この変数は、共有中のリソース・ファイルを持つコンテンツ・サーバー・インスタンスのDomainHome/ucm/cs/weblayout/ディレクトリへのURLパスを定義します。

次の構成設定は、この変数の値を決定します。

変数

説明

UseSSL

TRUEに設定した場合、Secure Sockets Layer (SSL)が使用されます(httpではなく、httpsを使用)。

isAbsoluteWeb

相対パスのかわりに完全なURLを使用するかどうかを定義します。これはコンテンツ・サーバー・インスタンスにより設定される内部フラグであり、ユーザー構成を対象としていません。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.10項「ディレクトリとパス」

出力

文字列として相対URLを返します。URLが外部の場合は、相対パスではなく、完全なURLが返されます。

例

コンテンツ・サーバーに次の値が返されます。

HttpWebRoot=/domain/

関連項目

- UseSSL

- HttpCommonRoot

- HttpHelpRoot

- HttpImagesRoot

HTTP_ACCEPT

ブラウザが受け入れられるコンテンツ・タイプのリストを取得します。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

コンテンツ・タイプのリストをカンマ区切り文字列として返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_ACCEPT=text/xml,application/xml,application/xhtml+xml,text/html;
q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;
q=0.2,text/css,*/*;q=0.1

Idoc Script文または評価の一部としての使用例:

<$if HTTP_ACCEPT$>
<!--statement-->

HTTP_ACCEPT_ENCODING

ブラウザがサポートする圧縮エンコーディングのリストを取得します。

コンテンツ・サーバーのバージョン7.0以降、HTMLファイルは配信用に圧縮されています。GZIP圧縮がデフォルトです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

圧縮エンコーディングのリストをカンマ区切り文字列として返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_ACCEPT_ENCODING=gzip, deflate, compress;q=0.9

Idoc Script文または評価の一部としての使用例:

<$if HTTP_ACCEPT_ENCODING$>
<!--statement-->

HTTP_ACCEPT_LANGUAGE

ブラウザ用に設定されているISO言語のリストを取得します。

この変数は、新規ユーザーまたはゲスト・ユーザー用にどのユーザー・ロケールが設定されるかを推定する場合に便利です。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

言語のリストをカンマ区切り文字列として返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_ACCEPT_LANGUAGE=en-us,en;q=0.50

Idoc Script文または評価の一部としての使用例:

<$if HTTP_ACCEPT_LANGUAGE$>
<!--statement-->

HTTP_COOKIE

HTTPリクエスト・ヘッダー内のCookieの名前と値のペアを取得します。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列をname1=string1; name2=string2のフォーマットで返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_COOKIE=IntradocAuth=Basic; IntrdocLoginState=1

Idoc Script文または評価の一部としての使用例:

<$if HTTP_COOKIE$>
<!--statement-->

HTTP_HOST

Webサーバーの名前を取得します。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.13項「Idoc Script」

出力

文字列としてWebサーバー名を返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_HOST=centralserver

Idoc Script文または評価の一部としての使用例:

<$if HTTP_HOST$>
<!--statement-->

HTTP_INTERNETUSER

システムがユーザーを設定できるようにWebサーバーのセキュリティ・フィルタからシステムに渡されるCGIパラメータを取得します。

この変数が設定されない場合は、REMOTE_USER変数の値が使用されます。

HTTP_INTERNETUSER変数とREMOTE_USER変数が設定されない場合、ユーザーは匿名になります。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列としてユーザー名を返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_INTERNETUSER=admin

Idoc Script文または評価の一部としての使用例:

<$if HTTP_INTERNETUSER$>
<!--statement-->

HTTP_REFERER

ローカル・サーバー上で参照されるディレクトリの完全なURLを取得します。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列として完全なURLを返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_REFERER=http://centralserver/domain/

Idoc Script文または評価の一部としての使用例:

<$if HTTP_REFERER$>
<!--statement-->

HTTP_USER_AGENT

クライアントのブラウザ・タイプ、バージョン番号、ライブラリおよびブラウザが構成されているプラットフォームを取得します。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列をsoftware/version (library) (platform)のフォーマットで返します。

例

ページまたはログへの情報出力としての使用例:

HTTP_USER_AGENT=Mozilla/4.7 [en] (WinNT; U)

Idoc Script文または評価の一部としての使用例:

<$if HTTP_USER_AGENT$>
<!--statement-->

IdcAuthExtraRequestParams

Webサーバーのプラグインの値をローカル・データから取得し、リクエストのヘッダーに入れて送信するように指定します。

たとえば、Webサーバー・フィルタのプラグインを使用してユーザーの属性を取得し、それをローカル値に入れる場合、IdcAuthExtraRequestParamsの中に属性名を指定すると、データをコンテンツ・サーバー・インスタンスに渡すこともできます。

この設定は、Idoc Scriptを使用して余分なHTTPヘッダー値にアクセスする場合にも使用できます。これらの変数は、データ・バインダ環境変数セットに組み込まれます。

- IdcAuthExtraRequestParamsリスト内の名前は、大/小文字に関係なくヘッダー名と一致している必要があります(大/小文字を区別しない一致)。

- Idoc Script変数として使用している場合、IdcAuthExtraRequestParams内の名前は正確に一致している必要があります(大/小文字を区別する一致)。

デフォルト値はありません。

IdcCommandの詳細は、第28章「コンテンツ・サーバーにアクセスするためのIdcCommandユーティリティの使用」を参照してください。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.25項「Webサーバー」

場所

IntradocDir/config/config.cfg

例

次の設定では、ヘッダーにあるHTTP_REFERERのローカル値を送信するようにIIS Webサーバーのプラグインに指示します(IISが自動的にHTTP_接頭辞を追加します)。

IdcAuthExtraRequestParams=referer

idocTestForInclude()

この関数は、dynamichtmlリソースが存在するかどうか確認するためにテストします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.11項「Dynamicdata」

パラメータ

この関数には、dynamichtmlリソースの名前であるパラメータ、includeNameが指定されています。

出力

リソースが存在する場合、TRUEを返します。

例

<$if idocTestForInclude("std_page_begin")$>    <$include std_page_begin$><$endif$>

inc()

インクルード・リソースのコードをページに追加します。

この関数は、パラメータとしてIdoc Script変数を取れる点を除き、includeキーワードと同じ動作をします。詳細は、第 3.4.1章「キーワードと関数の比較」を参照してください。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、インクルードの名前を定義する変数です。

出力

指定したインクルード・リソースで定義されたコードを表示します。

例

たとえば、カスタム・メタデータ・フィールドの全部ではなく、一部に対してIdoc Scriptを実行するとします。次のIdoc Scriptを実行することにより、フィールド名(specific_include_xCommentsなど)に基づいてインクルードを動的に作成することもできます。

<$loop DocMetaDefinition$>
<$myInclude = "specific_include_" & dName$>
<$exec inc(myInclude)$>
<$endloop$>

inc関数によって指定されたインクルードの出力を抑制するexecキーワードの使用に留意してください。inc関数の前にexecを使用しない場合、指定されたインクルードの内側のHTMLはページに表示されます。

specific_include_xCommentsフィールドが存在しない場合は、出力が表示されないため、このコードによってエラーがスローされることはありません。

関連項目

- include

- setResourceInclude()

incDynamicConversionByRule()

Dynamic Converterの特定の変換ルールに関連付けられているテンプレートとレイアウトを使用して、ドキュメントのLatestReleasedリビジョンの変換結果を返します。

強制変換によって作成されたフラグメントは、この関数を使用して直接参照することができます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.6.2項「Dynamic Converter」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、ドキュメントのコンテンツIDです。

- 2番目のパラメータは、変換ルールの名前です。

出力

指定した変換ルール用に定義されたテンプレートとレイアウトに従って変換された指定のドキュメントを取得します。

例

PhoneListのコンテンツIDを持つコンテンツ・アイテムの、変換ルールRuleAに従って変換された変換済レンディションを取得します。

<$incDynamicConversionByRule("PhoneList","RuleA")$>

関連項目

- ForcedConversionRules

incGlobal()

テキスト・ファイルのコンテンツ全体を現在のページの表示に含めます。

この関数は、デフォルトのポータル・ページの生成に使用します。

グローバル・インクルード・ファイルは、HTMLコード、 Idoc Scriptコードまたはその両方が含まれているテキスト・ファイルです。これは、サーバー起動時にロードされます。

グローバル・インクルード・ファイルには.inc拡張子が付いていて、DomainHome/ucm/cs/data/pages/ディレクトリに置かれる必要があります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、.incファイル拡張子のないグローバル・インクルード・ファイルの名前です。

出力

指定したグローバル・インクルード・ファイルで定義されたコードを表示します。

例

「Webレイアウト・エディタ」で「ポータルの更新」機能を使用してポータル・ページを変更すると、変更済テキストが含まれているportal_message.incというグローバル・インクルード・ファイルが作成されます。このファイルは、次のようにpne_home_page.htmテンプレートの中で参照されます。

<$incGlobal("portal_message")$>

include

インクルード・リソースのコード(<@dynamichtml include_name@>により定義)をページに追加します。

このキーワードは、コードの小さいチャンクを複数のテンプレート・ページで再使用できるため、Idoc Scriptで最もよく使われるコマンドでです。

詳細は、第3.3.1項「インクルード」を参照してください。

タイプおよび使用方法

- 第3.4項「特殊なキーワード」

- 第3.2.2項「Idoc Scriptのコメント」

パラメータ

唯一のパラメータは、インクルードの名前です。

出力

指定したインクルード・リソースで定義されたコードを表示します。

例

次のインクルードは、ほとんどのコンテンツ・サーバーWebページの開始と終了の作成に使用します。これらのインクルードは、次のファイルで定義されます。

IdcHomeDir/resources/core/standard_page.htm

<$include std_html_head_declarations$>
<$include body_def$>
<$include std_page_begin$>
Hello World!
<$include std_page_end$>

関連項目

- キーワードと関数の比較

- setResourceInclude()

- inc()

incTemplate()

Idocスクリプトの評価後に、コンテンツ・サーバー・テンプレートのコンテンツをページに追加します。

この関数を使用して、テンプレート全体のコンテンツをインクルードすることができます。ただし、リソース・インクルードは通常、Idoc Scriptをページ間で共有するためのすべての要件に十分柔軟に対応できるため、これを使用する必要はありません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、.htmファイル拡張子のないコンテンツ・サーバー・テンプレート・ファイルの名前です。

出力

指定したテンプレートで定義されたコードを表示します。

例

new_lookテンプレート・ファイルを取得します。

<$incTemplate("new_look")$>

indexerSetCollectionValue()

この関数は、検索インデクサのロジックを変更します。この関数は、索引コレクションに関する累積統計が計算できるように作成されています。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 4.2.3項「コンテンツ・アイテム」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、使用するフラグの名前です。

- 2番目のパラメータは、フラグの属性値です。

任意の名前と値が使用できます。これらの値は、次回にリソース・インクルードが索引コレクション用に実行されるときに使用可能になります。

InstanceDescription

インスタンスの説明を定義します。

インスタンスの説明はコンテンツ・サーバー・インスタンスで使用されます。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

場所

- 「システム・プロパティ」、「サーバー」タブ、「インスタンスの説明」

- IntradocDir/config/config.cfg

例

構成エントリとして:

InstanceDescription=Master_on_Server1

Idoc Scriptとして、文字列としてサーバー・インスタンスの説明を返します。

<$InstanceDescription$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のIDC_Nameに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のInstanceMenuLabelに関する項

isActiveTrace()

コアでセクションがトレースされているかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.9項「デバッグ」

出力

アクティブなトレース結果を返します。

例

<$isActiveTrace()$>

関連項目

- isVerboseTrace

isCheckin

現在のページがチェックイン・ページかどうかを指定します。

TRUEに設定した場合、現在のページがチェックイン・ページとして特定されます。

FALSEに設定した場合、現在のページはチェックイン・ページとして特定されません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- ページがチェックイン・ページである場合、TRUEを返します。

- ページがチェックイン・ページでない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isCheckin=1

スクリプトとしての使用例:

<$if isCheckin or isUpdate or isQuery$>
<$isFormSubmit = 1$>
<$if not isQuery$>
<$isEditMode = 1$>
<$formName = "Checkin"$>
<$endif$>
<$else$>
<$isFormSubmit = ""$>
<$isEditMode = ""$>
<$endif$>

IsCheckinPreAuthed

セキュリティ・トークンを取得することにより、現在のチェックインがチェックイン・アプリケーションで事前認可されているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- チェックインが事前認可されている場合、TRUEを返します。

- チェックインが事前認可されていない場合、FALSEを返します。

例

チェックインの事前認可を確認します。

<$IsCheckinPreAuthed$>

isComponentEnabled

定義されたコンポーネントが有効になっているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

唯一のパラメータは、コンポーネントの名前です。

出力

- 定義されたコンポーネントが有効になっている場合、TRUEを返します。

- 定義されたコンポーネントが有効になっていない場合、FALSEを返します。

例

<$isComponentEnabled("Folders")$>

IsContributor

ユーザーがコントリビュータであるかどうかの評価に使用します。通常は、ページに特殊なリンクを表示するかどうかの決定に使用します(たとえば、std_pageはこれを使用して、コンテンツ・マネージャ・リンクを表示するかどうかを決定します)。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.5項「コンテンツ・サーバー」

出力

- ユーザーがコントリビュータである場合、TRUEを返します。

- ユーザーがコントリビュータでない場合、FALSEを返します。

例

ユーザーがコントリビュータであるかどうかの評価に使用します。

<$if IsContributor$>

IsCriteriaSubscription

コンテンツ・アイテムのサブスクリプションが、コンテンツID (dDocName)に基づくのではなく、基準に基づくかどうかを評価します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.5項「コンテンツ・サーバー」

出力

- サブスクリプションが基準に基づいている場合、TRUEを返します。

- サブスクリプションが特定のコンテンツ・アイテムを対象としている場合、FALSEを返します。

例

サブスクリプションが基準に基づいているかどうかを評価します。

<$IsCriteriaSubscription$>

IsCurrentNav

現在表示中のページが、検索結果ページで次/前のナビゲーションの作成中にループされるページと同じであるかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.16.項「ページ表示」

- 第4.2.20項「検索」

出力

- ナビゲーションが現在のページと同じページでループしている場合、TRUEを返します。

- ナビゲーションが現在のページとは別のページでループしている場合、FALSEを返します。

例

ナビゲーションが現在のページと同じページでループしている場合、ページ番号はプレーン・テキストとして表示されます。ナビゲーションが現在のページと同じページでループしている場合、ページ番号はハイパーテキスト・リンクとして表示されます。

<$loop NavigationPages$>
<$if IsCurrentNav$>
<$HeaderPageNumber$>
<$else$>
<a href="<$strRemoveWs(inc("searchapi_navigation_specific_page"))$>">
<$HeaderPageNumber$></a>
<$endif$>
<$endloop$>

isDocPage

現在のページがメタデータを表示するページ(検索、チェックイン、コンテンツ情報などの各ページ)であるかどうかを指定します。

TRUEに設定した場合、現在のページがドキュメント・ページとして特定されます。

FALSEに設定した場合、現在のページはドキュメント・ページとして特定されません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- ページがドキュメント・ページである場合、TRUEを返します。

- ページがドキュメント・ページでない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isDocPage=1

スクリプトとしての使用例:

<$if isDocPage$>
<!--statement-->
<$endif$>

IsDynamic

ページがユーザーに動的に表示されるかどうかを確認します。

ユーザーによって表示されるページのほとんどは動的です。ただし、いくつかの静的ページは、変更せずにユーザーに配信されるように作成されています。例として、ゲスト・ポータル・ページや、自動生成される電子メールのコンテンツなどがあります。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.16.項「ページ表示」

出力

- ページがユーザーに動的に表示されている場合、TRUEを返します。

- ページが静的であるか表示できない場合、FALSEを返します。

例

ページが動的に表示されるかどうかを評価します。

<$if IsDynamic$>
<a href="<$redirect$>">
<$endif$>

IsDynamicConverterEnabled

Dynamic Converterを有効にします。

この値は、WebCenter Contentの初期インストール中はFALSEに設定されています。

この値は、Dynamic Converterのインストール中はTRUEに設定されています。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.6.2項「Dynamic Converter」

場所

- 「システム・プロパティ」、「オプション」タブ、「Dynamic Converterを有効にする」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「Dynamic Converterを有効にする」

- IntradocDir/config/config.cfg

例

構成設定として、Dynamic Converter機能を有効にします。

IsDynamicConverterEnabled=true

Idoc Scriptとして、Dynamic Converterの機能が有効になっているかどうかの評価に使用します。

<$if IsDynamicConverterEnabled and isTrue(IsDynamicConverterEnabled)$>
<tr>
<td align="center" width="75">
<a href="<$HttpCgiPath$>?IdcService=GET_TEMPLATE_CONVERSIONS">
<img src="<$HttpImagesRoot$><$admin_conversion_image$>" border="0"
width="<$adminImageWidth$>" height="<$adminImageHeight$>"></a>
</td>
<td width="10">&nbsp;
</td>
<td width="245"><span class=largeTableEntry>
<a href="<$HttpCgiPath$>?IdcService=GET_TEMPLATE_CONVERSIONS">
<$lc("wwTemplateConversions")$></span></a>
</td>
</tr>
<$endif$>

isEditMode

現在のページのメタデータ・フィールドが編集可能かどうかを指定します。

この変数は、チェックイン・ページとコンテンツ情報更新ページに設定されます。

TRUEに設定した場合、現在のページのメタデータ・フィールドが編集可能になります。

FALSEに設定した場合、現在のページのメタデータ・フィールドは編集できません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- 現在のページのメタデータ・フィールドが編集可能な場合、TRUEを返します。

- 現在のページのメタデータ・フィールドが編集できない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isEditMode=1

スクリプトとしての使用例:

<$if isCheckin or isUpdate or isQuery$>
<$isFormSubmit = 1$>
<$if not isQuery$>
<$isEditMode = 1$>
<$formName = "Checkin"$>
<$endif$>
<$else$>
<$isFormSubmit = ""$>
<$isEditMode = ""$>
<$endif$>

IsEditRev

現在のリビジョンがワークフロー内のエディタ・ステップにあるかどうかを確認します。

TRUEに設定した場合、レビューアはリビジョンのチェックアウト、編集およびチェックインを実行できます。

この変数は、ワークフロー・ステップを「ワークフロー管理」ツールでエディタ・ステップとして定義することによって設定されます。この変数はチェックイン・ページで評価されます。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.26項「ワークフロー」

出力

- 現在のリビジョンがワークフロー内のエディタ・ステップにある場合、TRUEを返します。

- 現在のリビジョンがワークフロー内のエディタ・ステップにない場合、FALSEを返します。

例

ワークフロー詳細を指定します。

<$if IsEditRev$>
addCheckinValue("IdcService", "WORKFLOW_CHECKIN");
if (form.isFinished.checked)
addCheckinValue("isFinished", form.isFinished.value);
<$else$>
addCheckinValue("IdcService", "CHECKIN_SEL");
<$endif$>

isExcluded

メタデータ・フィールドをページから完全に除外します。

タイプおよび使用方法

- 第4.1.5.2.2項「共通フィールド表示変数」

- 第4.2.16.項「ページ表示」

出力

- メタデータ・フィールドがページから完全に除外された場合、TRUEを返します。

- メタデータ・フィールドがページから除外されない場合、FALSEを返します。

例

現在のメタデータ・フィールドをページから除外します。

<$isExcluded=1$>

現在のメタデータ・フィールドに対するisExcludedのアクティブ値に応じて、カスタム変数を設定します。

<$isCustomExcluded = getValue("#active", fieldName & ":isExcluded")$>
$isCustomRelocated = getValue("#active", fieldName & ":isRelocated")$>
<$if isCustomExcluded or (isCustomRelocated and not isRelocated) or isExcluded or (isFieldHidden and not isFormSubmit)$>
<$isFieldExcluded = 1$>
<$endif$>

関連項目

- is Field Excluded

- isHidden

- isInfoOnly

- isRelocated

- optionListScript

IsExternalUser

ユーザーが、外部システム(LDAPシステムなど)からコンテンツ・サーバー・インスタンスにアクセスしているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.24項「ユーザー」

出力

- ユーザーが、外部システムからコンテンツ・サーバー・インスタンスにアクセスしている場合、TRUEを返します。

- ユーザーが、コンテンツ・サーバー・インスタンスに直接アクセスしている場合、FALSEを返します。

例

ユーザーが外部の場所にいるかどうかを確認します。

<$IsExternalUser$>

IsFailedConversion

Oracle WebCenter Content: Inbound Refineryシステムがコンテンツ・アイテムの変換に失敗したかどうかを確認します。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.6.1項「Inbound Refinery」

出力

- 変換プロセスが失敗した場合、TRUEを返します。

- 変換の失敗が検出されなかった場合、FALSEを返します。

例

変換プロセスが完全でなかった場合、テキストを表示します。

<$if IsFailedConversion$>
<p><font face="arial" size="2">
The Refinery was unable to complete the conversion process.</p>
<$endif$>

IsFailedIndex

インデクサがコンテンツ・アイテムの索引付けに失敗したかどうかを確認します。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.14項「索引付け」

出力

- インデクサがコンテンツ・アイテムを索引付けできなかった場合、TRUEを返します。

- コンテンツ・アイテムが正常に索引付けされた場合、FALSEを返します。

例

コンテンツ・アイテムが索引付けされなかった場合、テキストを表示します。

<$if IsFailedIndex $>
<p><font face="arial" size="2">
Unable to index content item.</p>
<$endif$>

sawflies()

文字列または式がFALSEとして評価されるかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、評価される文字列または式です。

出力

パラメータが文字列の場合:

- 文字列がF、f、Nまたはnで始まるか、0の場合、TRUEを返します。

- 文字列がその他の文字で始まる場合、FALSEを返します。

パラメータが文字列以外の場合:

- 値が0の場合、TRUEを返します。

- 値が0以外の場合、FALSEを返します。

例

文字列をfalseに評価して、TRUE (1)を返します。

<$isFalse("false")$>

整数5は1より大きいと評価して、FALSE (0)を返します。

<$isFalse(5>1)$>

等式の結果をゼロとして評価し、TRUE (1)を返します。

<$isFalse(1-1)$>

文字列等価文をtrueとして評価し、FALSE (0)を返します。

<$isFalse(strEquals("abc","abc"))$>

関連項目

- isTrue()

is Field Excluded

メタデータ・フィールドが除外されることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドが除外された場合、TRUEを返します。

- フィールドが除外されない場合、FALSEを返します。

例

メタデータ・フィールドが除外されるかどうかを判別します。

<$if isCustomExcluded or (isCustomRelocated and not isRelocated) or isExcluded or (isFieldHidden and not isFormSubmit)$>
<$isFieldExcluded = 1$>
<$endif$>

関連項目

- isExcluded

- isFieldHidden

- isFieldInfoOnly

- isFieldMemo

isFieldHidden

メタデータ・フィールドが非表示になることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドが非表示になる場合、TRUEを返します。

- フィールドが非表示にならない場合、FALSEを返します。

例

メタデータ・フィールドが非表示になるかどうかを判別します。

<$if isHidden or isCustomHidden$>
<$isFieldHidden = 1$>
<$else$>
<$isFieldHidden = ""$>
<$endif$>

関連項目

- isHidden

- is Field Excluded

- isFieldInfoOnly

- isFieldMemo

isFieldInfoOnly

メタデータ・フィールドが情報専用フィールドあることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドが情報専用フィールドである場合、TRUEを返します。

- フィールドが情報専用フィールドではない場合、FALSEを返します。

例

メタデータ・フィールドが情報専用であるかどうかを判別します。

<$if isInfo or isCustomInfo or isFieldHidden or isInfoOnly$>
<$isFieldInfoOnly = 1$>
<$else$>
<$isFieldInfoOnly = ""$>
<$endif$>

関連項目

- isInfoOnly

- is Field Excluded

- isFieldHidden

- isFieldMemo

isFieldMemo

メタデータ・フィールドがメモ・フィールドあることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドがメモ・フィールドである場合、TRUEを返します。

- フィールドがメモ・フィールドではない場合、FALSEを返します。

例

フィールドがメモ・フィールドであるかどうかを判別します。

<@dynamichtml compute_std_entry_type_info@>
<$if not hasOptionList and #active.fieldType like "Memo"$>
<$isFieldMemo = 1$>
<$else$>
<$isFieldMemo = ""$>
<$endif$>
<@end@>

関連項目

- is Field Excluded

- isFieldHidden

- isInfoOnly

IsFilePresent

現在表示中のページが、コンテンツ情報ページでRevision History表の作成中にループされるリビジョンを対象としているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

- 現在のリビジョンと同じリビジョンでループしている場合、TRUEを返します。

- 現在のリビジョンとは別のリビジョンでループしている場合、FALSEを返します。

例

現在のリビジョンでループしている場合、リビジョン番号はプレーン・テキストとして表示されます。現在のリビジョン以外でループしている場合、リビジョン番号はアクティブ・ボタンとして表示されます。

<@dynamichtml doc_rev_info@>
<$if IsFilePresent$>
<td width=10% align=center><span class=strongHighlight><$dRevLabel$></span></td>
<td nowrap width=30%><span class=strongHighlight><$dInDate$></span></td>
<td nowrap width=30%><span class=strongHighlight>
<$if dOutDate$><$dOutDate$><$else$><$lc("wwNone")$><$endif$></span></td>
<td width=20%><span class=strongHighlight>
<$rptDisplayMapValue("StatusList", dStatus)$></span></td>
<$else$>
<td width=10%><form action="<$HttpCgiPath$>" method=GET>
<input type=hidden name=IdcService value="DOC_INFO">
<input type=hidden name=dID value="<$dID$>">
<input type=hidden name=dDocName value="<$dDocName$>">
<input type=submit value="       <$dRevLabel$>      ">
</form></td>
...
<@end@>

isFormSubmit

現在のページが送信可能なHTMLフォームであるかどうかを指定します。

TRUEに設定した場合、現在のページは送信可能なHTMLフォームです。

FALSEに設定した場合、現在のページは送信可能なHTMLフォームではありません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- ページが送信可能なHTMLフォームである場合、TRUEを返します。

- ページが送信可能なHTMLフォームでない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isFormSubmit=1

ページが送信可能なHTMLフォームでない場合、フィールド・キャプションの後にコロンが1つ追加されます。

<@dynamichtml std_field_caption@>
<span class=<$fieldCaptionStyle$>>
<$fieldCaption$><$if not isFormSubmit$><$":"$><$endif$>
</span>
<@end@>

IsFullTextIndexed

インデクサがコンテンツ・アイテムを全文索引作成したかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.14項「索引付け」

出力

- コンテンツ・アイテムが全文索引作成された場合、TRUEを返します。

- コンテンツ・アイテムが全文索引作成されなかった場合、FALSEを返します。

例

コンテンツ・アイテムが全文索引作成されている場合、指定されたURLが設定されます。

<$if IsFullTextIndexed$>
<a href="<$redirect$>">
<$endif$>

isHidden

メタデータ・フィールドをユーザーに対して非表示にしますが、フィールドは非表示データとしてページにインクルードされます。

タイプおよび使用方法

- 第4.1.5.2.2項「共通フィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- メタデータ・フィールドがページで非表示になる場合、TRUEを返します。

- メタデータ・フィールドがページで非表示にならない場合、FALSEを返します。

例

現在のメタデータ・フィールドをユーザーに対して非表示にします。

<$isHidden=1$>

現在のメタデータ・フィールドに対するisHiddenのアクティブ値に応じて、カスタム変数を設定します。

<$isCustomHidden = getValue("#active", fieldName & ":isHidden")$>
<$if isHidden or isCustomHidden$>
<$isFieldHidden = 1$>
<$else$>
<$isFieldHidden = ""$>
<$endif$>

関連項目

- isExcluded

- isFieldHidden

- isInfoOnly

- isRelocated

- optionListScript

isInfo

現在のページが情報専用ページであるかどうかを指定します。

TRUEに設定した場合、現在のページは情報専用ページとして特定されます。

FALSEに設定した場合、現在のページは情報専用ページとして特定されません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- ページが情報専用ページである場合、TRUEを返します。

- ページが情報専用ページでない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isInfo=1

スクリプトとしての使用例:

<$if isInfo$>
<$captionFieldWidth="30%"$>
<$captionEntryWidth="70%"$>
<$elseif isEditMode$>
<$captionFieldWidth="20%"$>
<$captionEntryWidth="80%"$>
<$endif$>

isInfoOnly

メタデータ・フィールドを、入力フィールドとしてではなく、情報専用として表示します。

タイプおよび使用方法

- 第4.1.5.2.2項「共通フィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- メタデータ・フィールドが情報専用として表示される場合、TRUEを返します。

- メタデータ・フィールドが編集可能な場合、FALSEを返します。

例

現在のメタデータ・フィールドを情報専用として表示します。

<$isInfoOnly=1$>

現在のメタデータ・フィールドに対するisInfoOnlyのアクティブ値に応じて、カスタム変数を設定します。

<<$isCustomInfo = getValue("#active", fieldName & ":isInfoOnly")$>
<$if isInfo or isCustomInfo or isFieldHidden or isInfoOnly$>
<$isFieldInfoOnly = 1$>
<$else$>
<$isFieldInfoOnly = ""$>
<$endif$>

関連項目

- isExcluded

- isFieldInfoOnly

- isHidden

- isRelocated

- optionListScript

IsJava

コンテンツ・サーバーWebページのローカル・データを表示します。

この変数は、ページのフラグとして、またはサービス・コールのパラメータとして設定できます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.9項「デバッグ」

出力

TRUEに設定した場合、DataBinderにあるローカル・データをHDAフォーマットで返します。

例

コンテンツ・サーバーWebページのコードにインクルードされた場合、ページのローカル・データが表示されます。

<$IsJava=1$>

コンテンツ・サーバーのURLにインクルードされた場合、「新規チェックイン」ページのローカル・データが表示されます。

http://myinstance.com/idcplg/idc_cgi_isapi-instance.dll?IdcService=CHECKIN_NEW_FORM&IsJava=1

isLayoutEnabled()

特定のレイアウトがインストールされ、有効になっているかどうかの判別に使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

1つのパラメータとしてレイアウトのIDを取ります。

例

std_resources.htmファイルの場合:

<$if isLayoutEnabled("Trays")$><$do Publish=1$><$endif$>

isLinkActive

ユーザー名などの指定された条件に基づいて、チェックインまたは検索に対するプロファイルの表示にこのプロファイルを含めるかどうかを判別するために、Idoc Scriptによって使用されます。指定された条件がtrueに評価される場合、isLinkActiveの値はtrue (1)に設定されて、プロファイルは使用可能なプロファイルのリストに含まれます。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.5項「コンテンツ・サーバー」

- 第3.3.3.1項「パーソナライズ関数」

パラメータ

パラメータは存在せず、評価された条件に基づいて1または0 (trueまたはfalse)が設定されるだけです。

例

句が1つのみの条件セットのデフォルト・スクリプトがあるとします。ユーザー名が"guest"と一致する場合、isLinkActiveは1に設定され、プロファイルはそのユーザーの使用可能なプロファイルのリストに含まれます。

<$if getUserValue("dName") like "guest"$>
<$isLinkActive=1$>
<$endif$>

IsLocalSearchCollectionID

コンテンツ・アイテムがローカル検索コレクションにあるかどうかを確認します。ローカル検索コレクションの中でコンテンツ・アイテムのコンテンツIDを検索します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.5項「コンテンツ・サーバー」

出力

- コンテンツ・アイテムがローカル・コレクションにある場合、TRUEを返します。

- コンテンツ・アイテムがローカル・コレクションに見つからない場合、FALSEを返します。

例

コンテンツ・アイテムがローカル・コレクションからのものであるかどうかを評価します。

<@dynamichtml searchapi_define_result_doc_parameters@>
<$exec IsLocalSearchCollection="1"$>
<$if not IsLocalSearchCollectionID$>
<!--Collection has external ID-->
<$exec IsLocalSearchCollection=""$>

IsLoggedIn

現在のユーザーがログインしているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーがログインしている場合は、TRUEを返します。

- ユーザーがログインしていない場合は、FALSEを返します。

例

関数を実行する前に、ユーザーがログインしていて、電子メール・アドレスを持っているかどうかを確認します。

<@dynamichtml subscription_action_script@>
function allowSubscription(form)
{<$if IsLoggedIn$>
<$if IsUserEmailPresent$>
<$else$>
…}
<@end@>

IsMac

クライアント・ブラウザがMacintoshオペレーティング・システムで実行しているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.2項「クライアント」

出力

- クライアント・ブラウザがMacで実行している場合、TRUEを返します。

- クライアント・ブラウザがMacで実行していない場合、FALSEを返します。

例

ブラウザがMacで実行している場合、別のURLにリダイレクトします。

<$if IsMac$>
<a href="<$redirect$>">
<$endif$>

IsMaxRows

「処理中コンテンツ」ページまたは「レポート」ページにMaxQueryRows設定の許容値を超える結果が表示されているかどうかを確認します。詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のMaxQueryRowsに関する項を参照してください。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.16.項「ページ表示」

出力

- 結果数が許容される行数よりも多い場合、TRUEを返します。

- 結果数が許容される行数よりも少ない場合、FALSEを返します。

例

最大行数を超えた場合、エラー・メッセージを返します。

<$elseif IsMaxRows$>
<table border=0 cellpadding=1 cellspacing=1 width="100%">
<tr>
<span class=smallHighlight><$lc("wwOutputLimitedByMaxRows")$>
</span>
</tr>
</table>

isMultiOption

メタデータ・フィールドのオプション・リストで複数の値が選択できることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドが複数選択オプション・リストである場合、TRUEを返します。

- フィールドが複数選択オプション・リストではない場合、FALSEを返します。

例

フィールドが複数選択オプション・リストであることを指定します。

<$isMultiOption=1$>

オプション・リストのタイプを決定します。

<$if #active.fieldOptionListType like "*multi*"$>
<$exec isMultiOption=1$>
<$elseif #active.fieldOptionListType like "access*"$>
<$exec isAccessList=1$>
<$exec isStrictList=1$>
<$elseif not (#active.fieldOptionListType like "*combo*")$>
<!--Strict choice-->
<$exec isStrictList=1$>
<$endif$>

関連項目

- isStrictList

IsMultiPage

検索結果に対して複数のページが必要かどうかを確認します。この変数は、ResultCount入力変数により定義される1ページ当たりの表示行数(デフォルトは25)に依存します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.16.項「ページ表示」

- 第4.2.20項「検索」

出力

- 検索結果数が1ページ当たりの許容行数よりも多い場合、TRUEを返します。

- 検索結果数が1ページ当たりの許容行数よりも少ない場合、FALSEを返します。

例

行数を評価して、複数のページが必要かどうかを判別します。

<$IsMultiPage$>

isNew

コンテンツ・アイテムが新規であるか、またはリビジョンであるかどうかを確認します。この変数は、CHECKIN_NEW_FORMおよびCHECKIN_SIMILAR_FORMの各標準サービスによってTRUEに設定されます。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.16.項「ページ表示」

出力

- コンテンツ・アイテムが新規である場合、TRUEを返します。

- コンテンツ・アイテムが既存のコンテンツ・アイテムのリビジョンである場合、FALSEを返します。

例

コンテンツ・アイテムが新規である場合、指定されたサービスが実行されます。

<$if isNew$>
<input type=hidden name=IdcService value="CHECKIN_NEW">
<$endif$>

コンテンツ・アイテムがリビジョンである場合、元のコンテンツ・アイテム作成者が使用されます。

<$if not isNew$>value="<$dDocAuthor$>"<$endif$>

コンテンツ・アイテムが新規である場合、現在のユーザーのデフォルト・アカウントが使用されます。

<$if isNew$>
<$defaultAccounts$>
<$endif$>

IsNotLatestRev

リビジョンがチェックイン対象の最後のリビジョンであるかどうかを確認します。これは、必ずしも最後にリリースされたリビジョンとはかぎりません。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 4.2.3項「コンテンツ・アイテム」

出力

- コンテンツ・アイテムがチェックイン対象の最新のリビジョン以外である場合、TRUEを返します。

- コンテンツ・アイテムがチェックイン対象の最新のリビジョンである場合、FALSEを返します。

例

最新のリビジョンを確認します。

<$IsNotLatestRev$>

関連項目

- ClientControlled

- HasLocalCopy

IsNotSyncRev

リビジョンID (dID)の比較を実行することにより、クライアント・コンピュータのファイルが最新のリビジョンと一致するかどうかを確認します。

この変数は通常、コンテンツ・アイテムのローカル・コピーが最新リビジョンに更新されていない場合に、エラー・メッセージを表示するために使用します。

この変数は、クライアント側の製品(Desktopなど)とのインタフェースとして使用します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 4.2.3項「コンテンツ・アイテム」

出力

- リビジョンが一致しない場合、TRUEを返します。

- リビジョンが一致する場合、FALSEを返します。

例

最新リビジョンとの一致を確認して、エラー・メッセージを表示します。

<$if IsNotSyncRev$>
The local copy of this content item has not been updated to the latest revision.
Use Get Native File or Check Out to update your local copy of <$dDocName$>.
<$endif$>

IsOverrideFormat

ユーザーがチェックイン時に別の変換フォーマットを選択できるようにします。

TRUEに設定した場合、チェックイン・ページの「プライマリ・ファイル」および「代替ファイル」に対して「フォーマット」オプション・リストが表示されます。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.12項「フィールド表示」

場所

- 「システム・プロパティ」、「オプション」タブ、「チェックイン時にフォーマットのオーバーライドを許可」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「チェックイン時のフォーマットのオーバーライドを許可する」

- IntradocDir/config/config.cfg

例

構成設定の使用例:

IsOverrideFormat=true

Idoc Scriptとして、フォーマットのオーバーライド関数の値を返します。

<$IsOverrideFormat$>

IsPageDebug

すべてのインクルードのトレースを有効にして、Idoc Scriptのeval関数をコールします。

eval関数のコンテンツと動的に割り当てられたすべてのインクルードも、トレースの一部として表示されます。トレースは、includeコールまたはevalコールのネストされたレベルごとに1つの+文字ずつインデントされます。トレースでは、すべてのエラー・メッセージ(ネストされた場所情報を含まない)と、Idoc Scriptのすべてのtrace関数コールの出力も表示されます。

注意:

この設定は、Internet Explorerバージョン6ではサポートされていません。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.9項「デバッグ」

出力

トレースの結果は、Webページの一番下に表示されるデバッグ・トレースからアクセス可能なデバッグ・メニュー・ツールバー・オプションを介して表示できます。

デバッグ・トレースをクリックしてデバッグ・メニュー・ツールバーを表示し、次のオプションのいずれかをクリックします。

要素

説明

「すべて非表示」

開いているデバッグ・ポップアップをすべて非表示にします。

「Idocスクリプト・トレース」

コールされるすべてのインクルードのツリー構造ビューを表示します。

「リクエスト・バインダ」

ローカル・データおよびResultSetに関する情報を表示します。リクエスト・バインダはサーバーに送信されるDataBinder、つまり、サービス名とすべてのサービス固有のパラメータです。見出しをクリックして、詳細情報のビューを展開します。

「レスポンス・バインダ」

ローカル・データおよびResultSetに関する情報を表示します。レスポンス・バインダは、サービスの処理直後、ただしレスポンス・ページ生成前のDataBinderです。見出しをクリックして、詳細情報のビューを展開します。

「最終ページ・バインダ」

ローカル・データおよびResultSetに関する情報を表示します。最終ページ・バインダは、ページの生成中にDataBinderで変更された内容を反映しています。見出しをクリックして、詳細情報のビューを展開します。

「JavaScriptログ」

デフォルト設定値Verboseが指定されているロガー・コンソール・ウィンドウを表示します。チェックボックスを選択して、次の各オプション、「情報」、「警告」、「エラー」、「時間」、「ウィンドウ」、「トレース」、「グローバル」、「スキーマ」、「JavaScript」、「LogReader.」を表示します。「一時停止」または「クリア」をクリックして、ロガー・コンソールに表示される情報の速度と量を制御します。

コンテンツ・サーバーとのAPIレベルの相互作用については、リクエスト・バインダとレスポンス・バインダを参照してください。たとえば、SOAPリクエストを実行したり、その他のサービスに基づくAPIを使用するときには、最終ページ・バインダの情報は意味がなくなります。IsJava=1をリクエストに追加すると、レスポンス・バインダがHDAフォーマットで返されます。

カスタマイズ、ページの生成などに関しては、最終ページ・バインダを参照して、レスポンス・バインダとの相違を判別することもできます。

例

コンテンツ・サーバーのconfig.cfgファイルで構成設定として使用されるため、サーバー全体に適用されます。

IsPageDebug=1

Webブラウザで、「アドレス」フィールドでページのURLの末尾に追加される場合:

&IsPageDebug=1

テンプレート・ページまたはIdoc Scriptインクルードで使用される場合:

<$IsPageDebug=1$>

関連項目

- eval()

- setResourceInclude()

- trace()

IsPromptingForLogin

コンテンツ・サーバー・インスタンスがログインを確認するように設定されているか、またはログインがプログラムによって処理中であるかどうかを確認します。

Cookieログイン・ページでユーザーがまだログインしていないために最後のリクエストが失敗したような状況で、この変数はTRUEに設定されます。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.5項「コンテンツ・サーバー」

- 第4.2.21.2項「外部セキュリティ」

出力

- コンテンツ・サーバー・インスタンスがログインを確認するように設定されている場合、TRUEを返します。

- ログインがプログラムによって処理中である場合、FALSEを返します。

例

サーバーがログインを確認するように設定されているかどうかを評価します。

<$IsPromptingForLogin$>

isQuery

現在のページが検索ページかどうかを指定します。

TRUEに設定した場合、現在のページが検索ページとして特定されます。

FALSEに設定した場合、現在のページは検索ページとして特定されません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- ページが検索ページである場合、TRUEを返します。

- ページが検索ページでない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isQuery=1

スクリプトとしての使用例:

<$if isCheckin or isUpdate or isQuery$>
<$isFormSubmit = 1$>
<$if not isQuery$>
<$isEditMode = 1$>
<$formName = "Checkin"$>
<$endif$>
<$else$>
<$isFormSubmit = ""$>
<$isEditMode = ""$>
<$endif$>

isRelocated

インクルードの評価中にローカル変数がTRUEに設定されていないかぎり、メタデータ・フィールドを除外します。

この変数は通常、メタデータ・フィールドにカスタムの場所を設定するために使用します。フィールドをページ上で複数回定義することができ、実際に生成されるフィールドの場所はこの変数の値に依存します。

タイプおよび使用方法

- 第4.1.5.2.2項「共通フィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- メタデータ・フィールドがページのその場所にインクルードされる場合、TRUEを返します。

- メタデータ・フィールドがページのその場所から除外される場合、FALSEを返します。

例

現在のメタデータ・フィールドをページにインクルードします。

<$isRelocated=1$>

現在のメタデータ・フィールドに対するisRelocatedのアクティブ値に応じて、カスタム変数を設定します。

<$isCustomExcluded = getValue("#active", fieldName & ":isExcluded")$>
<$isCustomRelocated = getValue("#active", fieldName & ":isRelocated")$>
<$if isCustomExcluded or (isCustomRelocated and not isRelocated) or isExcluded or (isFieldHidden and not isFormSubmit)$>
<$isFieldExcluded = 1$>
<$endif$>

関連項目

- isExcluded

- isHidden

- isInfoOnly

- optionListScript

IsRequestError

StatusCode変数を評価することにより、コンテンツ・サーバー・インスタンスにリクエスト・エラー状態が存在するかどうかを確認します。

StatusCodeが負の数値(-1)に設定された場合、コンテンツ・サーバー・インスタンスにリクエスト・エラー状態が存在します。

リクエスト・エラー状態が存在する場合の標準的な動作は、現在のページの表示を中止して、エラー・ページを置換することです。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.9項「デバッグ」

- 第4.2.5項「コンテンツ・サーバー」

出力

- コンテンツ・サーバー・インスタンスにリクエスト・エラー状態が存在する場合(StatusCode = -1)、TRUEを返します。

- コンテンツ・サーバー・インスタンスにリクエスト・エラー状態が存在しない場合(StatusCodeが負の数値以外)、FALSEを返します。

例

リクエスト・エラー状態を評価します。

<$IsRequestError$>

関連項目

- abortToErrorPage()

- executeService()

- StatusCode

isRequired

メタデータ・フィールドの値が必須であるかどうかを指定します。

TRUEに設定した場合、メタデータ・フィールドは必須です。

FALSEに設定した場合、メタデータ・フィールドはオプションです。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

- メタデータ・フィールドが必須である場合、TRUEを返します。

- メタデータ・フィールドがオプションである場合、FALSEを返します。

例

dDocTitleメタデータ・フィールドを必須フィールドとして定義します。

<$fieldName = "dDocTitle", fieldCaption = lc("wwTitle"), isRequired = 1,
fieldType = "BigText", requiredMsg = lc("wwSpecifyTitle")$>

関連項目

- requiredMsg

IsSavedQuery

問合せが現在のユーザーのポータル・ナビゲーション・バーに保存されたかどうかを確認します。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.16.項「ページ表示」

- 第4.2.20項「検索」

出力

- 現在の問合せが保存されている場合、TRUEを返します。

- 現在の問合せが保存されていないか、問合せが見つからない場合、FALSEを返します。

例

問合せのステータスを評価します。

<$IsSavedQuery$>

IsSoap

コンテンツ・サーバーWebページのローカルSOAPデータを表示します。

この変数は、ページのフラグとして、またはサービス・コールのパラメータとして設定できます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.9項「デバッグ」

出力

TRUEに設定した場合、基礎となるSOAPコードをXMLフォーマットで返します。

例

コンテンツ・サーバーWebページのコードにインクルードされた場合:

<$IsSoap=1$>

コンテンツ・サーバーURLにインクルードされた場合:

http://myinstance.com/idcplg/idc_cgi_isapi-instance.dll?IdcService=CHECKIN_NEW_FORM&IsSoap=1

isStrictList

メタデータ・フィールドのオプション・リストでは複数の値が選択できないことを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- フィールドが複数選択オプション・リストではない場合、TRUEを返します。

- フィールドが複数選択オプション・リストである場合、FALSEを返します。

例

フィールドが複数選択オプション・リストではないことを指定します。

<$isStrictList=1$>

オプション・リストのタイプを決定します。

<$if #active.fieldOptionListType like "*multi*"$>
<$exec isMultiOption=1$>
<$elseif #active.fieldOptionListType like "access*"$>
<$exec isAccessList=1$>
<$exec isStrictList=1$>
<$elseif not (#active.fieldOptionListType like "*combo*")$>
<!--Strict choice-->
<$exec isStrictList=1$>
<$endif$>

関連項目

- isMultiOption

IsSubAdmin

現在のユーザーが少なくとも1つの管理アプリケーションに対して副管理者権限を持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーが副管理者権限を持っている場合、TRUEを返します。

- ユーザーが副管理者権限を持っていない場合、FALSEを返します。

例

関数を実行する前に、ユーザーがログインしていて、副管理者権限を持っているかどうかを確認します。

<@dynamichtml subscription_action_script@>
function allowSubscription(form)
{
<$if IsLoggedIn$>
<$if IsSubAdmin$>
<$else$>
…
}
<@end@>

IsSun

クライアント・ブラウザがSunシステムで実行しているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.2項「クライアント」

出力

- クライアント・ブラウザがSunで実行している場合、TRUEを返します。

- クライアント・ブラウザがSunで実行していない場合、FALSEを返します。

例

ブラウザがSunで実行している場合、別のURLにリダイレクトします。

<$if IsSun$>
<a href="<$redirect$>">
<$endif$>

IsSysManager

現在のユーザーがsysmanagerロールを持っているかどうか、つまり、コンテンツ・サーバー管理へのアクセス権を持っているかどうかを確認します。この変数は通常、特定のナビゲーション・リンクを条件付きで表示するために使用します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーがsysmanagerロールを持っている場合、TRUEを返します。

- ユーザーがロールを持っていない場合、FALSEを返します。

isTrue()

文字列または式がTRUEとして評価されるかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、評価される文字列または式です。

出力

パラメータが文字列の場合:

- 文字列がT、t、Y、yで始まるか、1の場合、TRUEを返します。

- 文字列がその他の文字で始まる場合、FALSEを返します。

パラメータが文字列以外の場合:

- 値が0以外の場合、TRUEを返します。

- 値が0の場合、FALSEを返します。

例

文字列をyesに評価して、TRUE (1)を返します。

<$isTrue("yes")$>

整数5は1より大きいと評価して、TRUE (1)を返します。

<$isTrue(5>1)$>

等式の結果をゼロとして評価し、FALSE (0)を返します。

<$isTrue(1-1)$>

文字列等価文をtrueとして評価し、TRUE (1)を返します。

<$isTrue(strEquals("abc","abc"))$>

関連項目

- sawflies()

isUpdate

現在のページがコンテンツ情報更新ページかどうかを指定します。

TRUEに設定した場合、現在のページがコンテンツ情報更新ページとして特定されます。

FALSEに設定した場合、現在のページがコンテンツ情報更新ページとして特定されません。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- 現在のページがコンテンツ情報更新ページである場合、TRUEを返します。

- 現在のページがコンテンツ情報更新ページではない場合、FALSEを返します。

例

ページの一番上に設定する使用例:

isUpdate=1

スクリプトとしての使用例:

<$if isCheckin or isUpdate or isQuery$>
<$isFormSubmit = 1$>
<$if not isQuery$>
<$isEditMode = 1$>
<$formName = "Checkin"$>
<$endif$>
<$else$>
<$isFormSubmit = ""$>
<$isEditMode = ""$>
<$endif$>

isUploadFieldScript

JavaScript内でインクルードが使用中であることを指定します。メタデータ・フィールドのアップロード方法の決定に使用します。

TRUEに設定した場合、インクルードがJavaScript内で使用中です。

FALSEに設定した場合、インクルードがJavaScript内で使用中です。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- インクルードがJavaScript内で使用中である場合、TRUEを返します。

- インクルードがJavaScript内で使用されていない場合、FALSEを返します。

例

JavaScript Wrapperを定義するインクルードに設定します。

<@dynamichtml std_upload_java_script@>
<script language="JavaScript">
// Java script for uploading.
<$isUploadFieldScript = 1$>
<$include std_upload_info_script$>
<$isUploadFieldScript = ""$>
</script>
<@end@>

スクリプトとしての使用例:

<$if isUploadFieldScript$>
<$defaultFieldInclude = "std_file_entry"$>
<$else$>
<$defaultFieldInclude = "std_nameentry_row"$>
<$fieldCaptionInclude = "std_field_caption"$>
<$fieldEntryInclude = "std_file_entry"$>
<$endif$>

IsUploadSockets

アップロード・ソケットを使用する必要があるかどうかを判別するために、Uploadアプレットによって使用されます。

これは内部フラグであり、ユーザー構成を対象としていません。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.2項「クライアント」

- 第4.2.21.2項「外部セキュリティ」

出力

- アップロード・ソケットがUploadアプレットで使用するように定義されている場合、TRUEを返します。

- アップロード・ソケットを使用する必要がない場合、FALSEを返します。

例

N/A

IsUserEmailPresent

現在のユーザーに対して電子メール・アドレスが定義されているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.24項「ユーザー」

出力

- ユーザーに対して電子メール・アドレスが定義されている場合、TRUEを返します。

- ユーザーに対して電子メール・アドレスが定義されていない場合、FALSEを返します。

例

関数を実行する前に、ユーザーがログインしていて、電子メール・アドレスを持っているかどうかを確認します。

<@dynamichtml subscription_action_script@>
function allowSubscription(form)
{
<$if IsLoggedIn$>
<$if IsUserEmailPresent$>
<$else$>
…
}
<@end@>

isUserOverrideSet()

ユーザーが他のユーザー向けにコンテンツをチェックインできるようにします。

これは、チェックイン・ページの「作成者」オプション・リストに影響します。デフォルトでは、管理者のみが、チェックイン時に別のユーザーを作成者として指定できます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

パラメータ

唯一のパラメータは値TRUEまたはFALSEです。

出力

ユーザーのオーバーライドが有効になっている場合、TRUEに評価します。

例

別のユーザーが作成者として指定されているコンテンツ・アイテムを、ユーザーがチェックインできるようになります。

<$isUserOverrideSet(true)$>

関連項目

- ExclusiveCheckout

isValidateFile()

Uploadアプレットのパラメータとして使用されます。この変数は、アップロードするファイルが存在することを検証します。使用するには、std_page.htmリソース・ファイル内のstd_multiupload_applet_definitionインクルードに定義されているアプレットの定義を上書きするコンポーネントを作成する必要があります。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

例

構成エントリとしての使用例:

isValidateFile=true

isVerboseTrace

コアでセクションがトレースされているかどうかを確認します。詳細トレースによって、完全なレポートが生成されます。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.9項「デバッグ」

出力

- トレースが「詳細」に設定されている場合、TRUEを返します。

- トレースが他のデバッグ・レベルに設定されている場合、FALSEを返します。

例

<$isVerboseTrace()$>

関連項目

- isActiveTrace()

IsWindows

クライアント・ブラウザがWindowsオペレーティング・システムで実行しているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.2項「クライアント」

出力

- クライアント・ブラウザがWindowsで実行している場合、TRUEを返します。

- クライアント・ブラウザがWindowsで実行していない場合、FALSEを返します。

例

ブラウザがWindowsで実行している場合、別のURLにリダイレクトします。

<$if IsWindows$>
<a href="<$redirect$>">
<$endif$>

IsWorkflow

チェックイン・ページのコンテンツ・アイテムがワークフロー内にあるかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.26項「ワークフロー」

出力

- コンテンツ・アイテムがワークフロー内にある場合、TRUEを返します。

- コンテンツ・アイテムがワークフロー内にない場合、FALSEを返します。

IsXml

URLでTRUEに設定されたときのHTMLフォームのRawダンプをHCSPファイルまたはHCSFファイルに表示します。これは、フォーム・データを抽出したり、フォームをリモート・アプリケーションから送信したりする場合に役立ちます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.9項「デバッグ」

出力

- フォームに含まれているXMLデータを返します。

関連項目

- IsJava

- IsSoap

isZoneSearchField

この関数は、全文検索用のフィールドの指定に使用します。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.20項「検索」

パラメータ

確認されるフィールドの名前。

js()

"..." JavaScriptリテラル文字列宣言で使用するように文字列をフォーマット化します。

この関数は、二重引用符を一重引用符に変更するなどの文字列操作を実行します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

JavaScript文字列宣言で使用するようにフォーマット化された文字列を返します。

例

JavaScript文字列宣言で使用するために文字列variablestringをフォーマット化します。

<$js("variablestring")$>

jsFilename()

スキーマで使用されます。オペレーティング・システムとJava Script(エンコード機能を実行)で必要とされる有効なファイル名文字列の中に非ASCII文字が含まれている可能性のある文字列をエンコードします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

唯一のパラメータは、エンコードする文字列です。

出力

エンコードされた文字列を返します。

例

<$jsFilename(fileName)$>

Json

コンテンツ・サーバーWebページのローカル・データを表示します。

この変数は、ページのフラグとして、またはサービス・コールのパラメータとして設定できます。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.9項「デバッグ」

出力

TRUEに設定した場合、JavaScriptオブジェクト内のDataBinderにあるローカル・データを、JSON (JavaScript Over Network)仕様に準拠して返します。

例

コンテンツ・サーバーWebページのコードにインクルードされた場合、ページのローカル・データが表示されます。

<$Json=1$>

コンテンツ・サーバーのURLにインクルードされた場合、「新規チェックイン」ページのローカル・データが表示されます。

http://myinstance.com/idcplg/idc_cgi_isapi-instance.dll?IdcService=CHECKIN_NEW_FORM&Json=1

lastEntryTs

ワークフロー・ステップに最後に入った時間のタイムスタンプを取得します。

この変数は条件文の作成に使用できますが、ハードコード化したり変更したりしないようにしてください。

最後のエントリ時間がコンパニオン・ファイルの中でローカライズされ、キーに保持されます。

<step_name>@<workflow_name>.lastEntryTs

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.8項「日付および時間」

出力

dateCurrentにより定義されたフォーマットでタイムスタンプを返します。

例

次のコードではLastEntryというジャンプを定義します。これは、親ワークフローに出て、最後にステップに入ったときが1週間以上前であったかどうかをレビューアに通知します。

<$if parseDate(wfCurrentGet("lastEntryTs")) < parseDate(dateCurrent(-7))$>
<$wfSet("WfJumpName","LastEntry")$>
<$wfSet("WfJumpTargetStep",wfExit(0,0))$>
<$wfSet("WfJumpEntryNotifyOff","0")$>
<$endif$>

lc()

現在のユーザーのロケールに基づいてローカライズ文字列の値を取得します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.15項「ローカライズ」

パラメータ

1つの必須パラメータと任意の数のオプション・パラメータを取ります。

- 最初のパラメータはローカライズ・キー(apLabelHelpまたはwwMyStringなど)です。

- オプション・パラメータは、ローカライズされた文字列内の中カッコで囲まれた引数(たとえば、{1})に従って解決される式です。

出力

- 現在のユーザーのロケールに対するローカライズ文字列の値を返します。

- 値が見つからない場合、文字列ID(wwMyStringなど)を返します。

例

検索ページでメタデータ検索演算子のオプションを取得します。

<select name="op" >
<option value="Contains"><$lc("wwContains")$>
<option value="Matches"><$lc("wwMatches")$>
<option value="Starts"><$lc("wwStarts")$>
<option value="Ends"><$lc("wwEnds")$>
<option selected value="Substring"><$lc("wwSubstring")$>
</select>

通知電子メールworkflow startedの件名行を設定します。ワークフローの名前(dWfName)がMarketingである場合、英語の結果値はWorkflow 'Marketing' has been startedとなります。

<@dynamichtml wf_started_subject@>
<$lc("wwWfStarted", dWfName)$>
<@end@>

lcCaption()

文字列をキャプションに折り返す機能。この場合は通常、文字列の右にコロンが1つ入ります。右から左に読む言語の場合(ヘブライ語、アラビア語など)、コロンは文字列の左に入ります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.15項「ローカライズ」

パラメータ

1つの必須パラメータを取ります。

- 折り返す文字列。

- オプション・パラメータは、ローカライズされた文字列内の中カッコで囲まれた引数(たとえば、{1})に従って解決される式です。

LmDefaultLayout()

使用するデフォルトのレイアウト(「トレイ」、「トップ・メニュー」など)を定義します。

デフォルトのインストール値は「トレイ」です。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

場所

IntradocDir/config/config.cfg

例

LmDefaultLayout=Top Menus

LmDefaultSkin()

使用するデフォルトのスキン(Oracle、Oracle2など)を定義します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.5項「コンテンツ・サーバー」

場所

IntradocDir/config/config.cfg

例

LmDefaultSkin=Oracle

lmGetLayout()

ユーザーにより選択されたレイアウト(「トレイ」、「トップ・メニュー」など)を取得します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

なし。

例

<$lmGetLayout()$>

関連項目

- lmGetSkin()

lmGetSkin()

ユーザーにより選択されたスキンを取得します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

なし。

例

<$lmGetSkin()$>

関連項目

- lmGetSkin()

loadCollectionInfo()

検索コレクションのメタデータをロードします。

検索コレクションに関するメタデータをロードするために、検索サービスで使用されます。

この関数は、ユーザー構成を対象としていません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.20項「検索」

パラメータ

1つのパラメータとして、ロードされる検索コレクションの名前を取ります。

出力

なし。

例

検索コレクション情報をロードします。

<$loadCollectionInfo(collection_name)$>

loadDocMetaDefinition()

DocMetaDefinitionデータベース表をResultSetとしてアクティブ・データにロードします。

DocMetaDefinitionデータベース表は、ロードした後でループできます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

なし。

出力

なし。

例

DocMetaDefinition表をResultSetとしてアクティブ・データにロードします。

<$loadDocMetaDefinition()$>

loadDocumentProfile()

ページ表示のトリガー値で指定されたように、コンテンツ・プロファイルをロードします。これは、「検索」、「チェックイン」、「情報」および「更新」の各ページの表示中にコールされます。この関数はリクエストに応じてコールされるため、コールされたときのページによってアクション(検索、情報など)が決定します。

この情報はコンテキストに依存します。isCheckin、isUpdate、isQueryまたはisInfoの各変数はローカル・データに設定され、ロードおよび表示されるページにloadDocumentProfile関数を送ります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

なし。

出力

なし。

例

<$loadDocumentProfile()$>

関連項目

- utLoadDocumentProfiles()

loadSchemaData()

スキーマResultSetのデータを現在のデータ・バインダのローカル・データにロードします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.19項「スキーマ」

パラメータ

この関数は、ゼロ、1つまたは2つのパラメータを取ることができます。

- 渡された引数がゼロの場合は、データ・バインダにアクティブResultSetの行のデータを入力します。戻り値はありません。

- 渡される引数が1つの場合、その引数は現在行から値を取得するResultSetの名前です。戻り値はありません。

- 2つの引数が渡される場合は、最初の引数としてResultSetの名前、2番目の引数としてロードするデータ・オブジェクトを特定するキーが渡されます。データが存在しない場合は0を返し、データが存在する場合は1を返します。戻り値に基づいてスクリプトを条件付きで実行するために、True()またはFalse()を使用します。

例

<$loadSchemaData()$>

関連項目

- clearSchemaData()

loadSearchOperatorTables()

演算子名の完全なセットと検索構文との間のマッピングをロードします。「検索」ページで使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

なし。

出力

演算子名に関連付けられた式(検索演算子マップ)を返します。

例

<$loadSearchOperatorTables()$>

loadUserMetaDefinition()

この関数は、カスタム・ユーザー・メタデータ定義をロードします。これは、ResultSetとしてページに置かれるUserMetaDefinition表に存在します。これは、管理者がユーザー・メタデータをコンテンツ・サーバー・インスタンスにマップできるように、LDAP管理ページで使用されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

なし。

localPageType

この関数は、ライブラリ・フォルダにあるページのページ・タイプを返します。これはディレクトリまたは問合せページである場合があります。この関数は通常、Layout Manager APIで使用されます。「トレイ」が選択されたレイアウトの場合、この関数はライブラリのページのツリー・ビューの構築に使用されます。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

パラメータ

1つのパラメータとして、ツリー・ビューの構成に使用するデータ・リンクを取ります。

MajorRevSeq

リビジョン番号のメジャー・シーケンスを定義します。

メジャー・リビジョンのラベル・シーケンスを返します(構成設定の値を返します)。

文字列を返します。

デフォルトは1から99です。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

場所

- 「システム・プロパティ」、「オプション」タブ、「メジャー・リビジョンのラベル・シーケンス」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「メジャー・リビジョンのラベル・シーケンス」

- IntradocDir/config/config.cfg

例

構成設定の使用例:

MajorRevSeq=A-Z

スクリプトとして、構成設定の値を返します。

<$MajorRevSeq$>

関連項目

- MinorRevSeq

MaxCollectionSize

1度のバッチでインデクサに渡すファイル数を定義します。

有効範囲は1から65535です。

大型の索引コレクションの場合は、値2000をお薦めします。値が小さくなると、索引作成のパフォーマンスが非効率になります。

1度のバッチで処理されるファイル数を返します。

デフォルトは25です。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.14項「索引付け」

場所

- 「リポジトリ・マネージャ」、「インデクサ」タブ、「構成」、「1度のインデクサ・バッチで処理されるコンテンツ・アイテム数」

- IntradocDir/config/config.cfg

例

構成設定として、バッチ・サイズを定義します。

MaxCollectionSize=25

スクリプトとして、構成ファイルから値を返します。

<$MaxCollectionSize$>

maxLength

メタデータ・フィールドで許容される最大文字数を設定します。

タイプおよび使用方法

- 第4.1.5.2.2項「共通フィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

フィールドの最大長を返します。

例

フィールドの最大長を100文字に設定します。

<$maxLength=100$>

現在のフィールド長に基づき、カスタム・フィールド長を指定します。

<$customFieldLength = getValue("#active", fieldName & ":maxLength")$>

MinorRevSeq

リビジョン番号のマイナー・シーケンスを定義します。

マイナー・リビジョンのラベル・シーケンスを返します(構成設定の値を返します)。

文字列を返します。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

場所

- 「システム・プロパティ」、「オプション」タブ、「マイナー・リビジョンのラベル・シーケンス」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「マイナー・リビジョンのラベル・シーケンス」

- IntradocDir/config/config.cfg

例

構成設定の使用例:

MinorRevSeq=a-c

スクリプトとして、構成設定の値を返します。

<$MinorRevSeq$>

関連項目

- MajorRevSeq

MSIE

クライアント・ブラウザがMicrosoft Internet Explorerであるかどうかを確認します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.2項「クライアント」

出力

- クライアント・ブラウザがInternet Explorerである場合、TRUEを返します。

- クライアント・ブラウザがInternet Explorerではない場合、FALSEを返します。

例

ブラウザがInternet Explorer以外の場合、別のURLにリダイレクトします。

<$if not MSIE$>
<a href="<$redirect$>">
<$endif$>

MultiUpload

複数ファイルのアップロード・アプレットを有効にします。

TRUEに設定した場合、アップロード・アプレットが有効になり、複数のファイルを1つのコンテンツ・アイテムとして圧縮してチェックインできるようになります。

FALSEに設定した場合、アップロード・アプレットは無効になります。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

- 第4.2.2項「クライアント」

場所

- 「システム・プロパティ」、「オプション」タブ、「アップロード・アプレットを有効にする」

- 「管理」、「管理サーバー」、「一般構成」メニュー・オプション、「アップロード・アプレットを有効にする」

- IntradocDir/config/config.cfg

例

構成設定として、アップロード・アプレットを有効にします。

MultiUpload=true

スクリプトとして、アップロード・アプレットの条件を評価します。

<$MultiUpload$>

関連項目

- DownloadApplet

- UploadApplet

NoMatches

検索問合せから一致が見つかったかどうかを確認します。

通常、検索結果ページでのメッセージの表示に使用します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.20項「検索」

出力

- 一致が見つからなかった場合、TRUEを返します。

- 一致が見つかった場合、FALSEを返します。

例

問合せから一致が見つからなかった場合、テキストを表示します。

<$if NoMatches$>
<p><font face="arial" size="2">
Found no matches out of <$TotalDocsProcessed$> documents searched matching the query.</p>
<$endif$>

noMCPrefill

MultiCheckinコンポーネントでメタデータ・フィールドに事前移入する必要がないことを指定します。

この変数は、カスタムHCSTページやコントリビューション・フォルダのコンポーネント・ページなどの特殊なページで使用できます。

TRUEに設定した場合、MultiCheckinコンポーネントはメタデータ・フィールドに事前移入しません。

FALSEに設定した場合、MultiCheckinコンポーネントによってメタデータ・フィールドが事前移入されます。

タイプおよび使用方法

- 第4.1.5.1項「ページ表示変数」

- 第4.2.16.項「ページ表示」

出力

- MultiCheckinコンポーネントがメタデータ・フィールドに事前移入しない場合は、TRUEを返します。

- MultiCheckinコンポーネントがメタデータ・フィールドに事前移入する場合は、FALSEを返します。

例

ページの一番上近くに設定します。

noMCPrefill=1

スクリプトとしての使用例:

<$noMCPrefill$>

NotificationQuery

この設定によって、期限切れコンテンツを検索する自動問合せの条件を定義します。

NotificationQueryが設定されていない場合、デフォルト値は、次の7日間で期限が切れるすべてのコンテンツです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

使用する問合せがパラメータになります。この問合せには、次のいずれかが使用できます。サンプルの問合せの詳細は、次の例の項を参照してください。

- Idoc Scriptから作成されたIdoc Script問合せ。

- URLエンコードによる問合せ。これは、検索を実行したときにWebブラウザのアドレスに表示されるURLを使用します。

- 検索変数を定義するプレーン・テキスト問合せ。

場所

IntradocDir/config/config.cfg

例

Idoc Scriptの例

データベースの索引付けとともに使用した場合、次の問合せでは、7日間のうちに期限が切れるすべてのドキュメントについて電子メールで通知されます。

NotificationQuery=dOutDate < '<$dateCurrent(7)$>'>

URLエンコードによる例

次の問合せでは、2007年8月1日をすぎると期限が切れるすべてのコンテンツが返されます。QueryText部分で始まるブラウザのアドレス行のURLがコピーされます。

NotificationQuery=QueryText=dOutDate+%3C+%608%2F1%2F06%60&SearchProviders= [...}

プレーン・テキスト問合せ

次の問合せでは、2007年8月1日をすぎると期限が切れるすべてのコンテンツが返されます。

NotificationQuery=8/1/07

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のEnableExpirationNotifierに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のNotificationIntervalInDaysに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のNotificationMaximumに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のNotifyExtrasに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のNotifyTimeに関する項

OneMatch

検索問合せから一致が1つだけ見つかったかどうかを確認します。

通常、検索結果ページでのメッセージの表示に使用します。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.20項「検索」

出力

- 一致が1つだけ見つかった場合、TRUEを返します。

- 一致が見つからなかったか、2つ以上の一致が見つかった場合、FALSEを返します。

例

検索問合せから一致が1つだけ見つかった場合、テキストを表示します。

<$if OneMatch$>
<p><font face="arial" size="2">
Found <$TotalRows$> document matching the query.</p>
<$endif$>

optionListKey

オプション・リストの値が含まれているResultSet列の名前を指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

オプション・リスト、ResultSet列の値を返します。

例

dFormatをDocFormats ResultSetの列として指定し、チェックイン・ページの標準のFormatフィールドに対してオプション・リストの値を取得します。

<@dynamichtml std_override_format_field@>
<$if not isInfo and IsOverrideFormat$>
<$fieldIsOptionList = 1, optionListResultSet = "DocFormats",
optionListKey = "dFormat",
optionListValueInclude = "std_override_format_option_value",
addEmptyOption = 1, emptyOptionLabel = lc("wwEmptyFormatOption")$>
<$include std_display_field$>
<$endif$>
<@end@>7

関連項目

- optionListResultSet

optionListName

オプション・リストの名前を指定します。

標準のメタデータ・フィールドの場合、これは内部オプション・リストの名前になります。詳細は、第3.6.3.1項「内部オプション・リスト」を参照してください。

カスタム・メタデータ・フィールドの場合、これは接尾辞.optionsの付いたフィールドの名前になります。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

オプション・リスト名を返します。

例

フィールドが1人だけのユーザーに制限されていない場合、オプション・リスト名はdocAuthorsに設定されます。

<$if SingleUser$>
<$isInfoOnly = 1$>
<$else$>
<$fieldIsOptionList = 1, optionListName = "docAuthors"$>
<$if HasExternalUsers$><$fieldOptionListType= "combo"$>
<$endif$>
<$endif$>

デフォルトのオプション・リスト・スクリプトを定義します。

<$if optionsAllowPreselect and fieldValue$>
<$defaultOptionListScript = "<$optList " & optionListName & ":fieldValue$>"$>
<$else$>
<$defaultOptionListScript = "<$optList " & optionListName & ":noselected$>"$>
<$endif$>

関連項目

- defaultOptionListScript

- fieldValue

- optionListScript

- optList()

- fieldIsOptionList

- fieldOptionListType

optionListResultSet

オプション・リストの値が含まれているResultSetの名前を指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

オプション・リストResultSetを返します。

例

DocFormatsを検索ページの標準のFormatフィールドに対するオプション・リストResultSetとして指定します。

<@dynamichtml std_format_fields@>
<$if ClientControlled or dFormat or dExtension$>
<$fieldName = "dFormat", fieldCaption = lc("wwNativeFormat"),
optionListResultSet = "DocFormats"$> <$include std_display_field$>
<$fieldName = "dExtension", fieldCaption = lc("wwNativeExtension"),
fieldWidth = 10$>
<$include std_display_field$>
<$endif$>
<@end@>

ResultSetをループすることにより、オプション・リストが作成されます。

<@dynamichtml compute_resultset_option_list_script@>
<$if not optionListKey$>
<$optionListKey = fieldName$>
<$endif$>
<$defaultOptionListScript = "<$loop " & optionListResultSet & "$>" &
"<$inc('std_resultset_option_list_item')$>" & "<$endloop$>"$>
<@end@>

関連項目

- optionListKey

- defaultOptionListScript

- optionListValueInclude

optionListScript

この変数が空以外の値に設定されている場合、フィールドのオプション・リストを表示する際にeval関数が使用されます。この変数によって、オプション・リスト(defaultOptionListScript変数により定義)の標準的な実装をオーバーライドすることができます。

タイプおよび使用方法

- 第4.1.5.2.2項「共通フィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- 値が空以外の場合、TRUEを返します。

- 値が空の文字列の場合、FALSEを返します。

例

オプション・リストの作成用にカスタム・スクリプトを定義します。

<$customOptionListScript = getValue("#active", fieldName & ":optionListScript")$>

関連項目

- defaultOptionListScript

optionListValueInclude

オプション・リストの値を定義するインクルードを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

インクルードのコードを返します。

例

オプション・リストの値のインクルードとしてstd_override_format_option_valueを指定します。

<@dynamichtml std_override_format_field@>
<$if not isInfo and IsOverrideFormat$>
<$fieldIsOptionList = 1, optionListResultSet = "DocFormats",
optionListKey = "dFormat",
optionListValueInclude = "std_override_format_option_value",
addEmptyOption = 1, emptyOptionLabel = lc("wwEmptyFormatOption")$>
<$include std_display_field$>
<$endif$>
<@end@>
<@dynamichtml std_override_format_option_value@>
<$dDescription$>
<@end@>

ResultSetのオプション・リストでのオプションの表示に使用するインクルードを指定します。

<@dynamichtml std_resultset_option_list_item@>
<$curValue = getValue("#active", optionListKey)$>
<option value="<$curValue$>" <$if optionsAllowPreselect and strEquals(curValue, fieldValue)$>selected<$endif$>>
<$if optionListValueInclude$>
<$inc(optionListValueInclude)$>
<$else$>
<$curValue$>
<$endif$>
<@end@>

関連項目

- optionListResultSet

optionsAllowPreselect

メタデータ・フィールドのオプション・リストに最後の値を事前設定できることを指定します。

タイプおよび使用方法

- 第4.1.5.2.3項「その他のフィールド表示変数」

- 第4.2.12項「フィールド表示」

出力

- オプション・リストが事前設定できる場合、TRUEを返します。

- オプション・リストが事前設定できない場合、FALSEを返します。

例

オプション・リストが事前設定できることを指定します。

<$optionsAllowPreselect=1$>

オプション・リストが事前設定されるかどうかを判別します。

<$if optionsAllowPreselect and fieldValue$>
<$defaultOptionListScript = "<$optList " & optionListName & ":fieldValue$>"$>
<$else$>
<$defaultOptionListScript = "<$optList " & optionListName & ":noselected$>"$>
<$endif$>

optList()

オプション・リストを生成します。

この関数は、コンテンツ・サーバー・ページでのオプション・リストの作成に広範に使用されます。

この関数は、loadMetaOptionsListをコールするサービスとともに使用した場合のみ、出力を生成します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.12項「フィールド表示」

パラメータ

1つのパラメータと、そのパラメータに対する1つのオプションの引数を取ります。

唯一のパラメータはフィールド名、オプション・リスト・キーまたは変数です。

- フィールド名の構文は<$optList fieldName$>です。カスタム・メタデータ・フィールドの場合、フィールド名は<$optList xFieldName.options$>に解決されます。または、接尾辞.optionsを直接指定することもできます。

- オプション・リスト・キーの構文は<$optList ListName$>です。

- 標準のメタデータ・フィールドの場合、ListNameは内部オプション・リスト(docAuthorsなど)の名前になります。詳細は、第3.6.3.1項「内部オプション・リスト」を参照してください。

- カスタム・メタデータ・フィールドの場合、ListNameはオプション・リスト・キー(FieldNameListなど)の名前になります。

- 変数の構文は<$optList variable$>です。変数は、フィールド名またはオプション・リスト・キーに解決される必要があります。

- 次のいずれかのオプションの引数がパラメータに追加できます。

- :noselected: オプション・リストが表示されるときに、値は選択されません。

- :fieldValue: fieldValue変数により指定された値がオプション・リストのデフォルト値として選択されます。

出力

値リストを返します。

例

次のスクリプトでは、内部のdocAuthorsリストから指定可能な作成者のリストが生成されます。

<$optList docAuthors$>

次のスクリプトでは、xRegion列のメタデータ・フィールドで指定されたオプションのリストが生成されます。

<$optList xRegion.options$>

次のスクリプトでは、変数optionListNameからオプション・リストが生成されて、デフォルト値が指定されます。

<$if optionsAllowPreselect and fieldValue$>
<$defaultOptionListScript = "<$optList " & optionListName & ":fieldValue$>"$>
<$else$>
<$defaultOptionListScript = "<$optList " & optionListName & ":noselected$>"$>
<$endif$>

関連項目

- 第3.6.3項「オプション・リスト」

- defaultOptionListScript

- optionListName

- optionListScript

- optionsAllowPreselect

- rsMakeFromList()

PageParent

ライブラリ内のディレクトリ・ページに親ページがあるかどうかを確認します。

タイプおよび使用方法

- 第4.1.9項「値変数」

- 第4.2.16.項「ページ表示」

出力

- 現在のディレクトリ・ページが別のディレクトリ・ページの子(サブフォルダ)である場合、TRUEを返します。

- ディレクトリ・ページが子(サブフォルダ)ではない場合、FALSEを返します。

例

ディレクトリ・ページがサブフォルダであるかどうかを確認します。

<$PageParent$>

parseDataEntryDate()

日付を解析しますが、代替解析フォーマットを使用するためにフェイルオーバー・ロジックを適用します。

日付は、標準の比較演算子とともに使用した場合にミリ秒に変換されます。たとえば、式(60*60*1000)は1時間と同等です。

この関数は通常、多数の秒、分、時、日を表す乗算式を使用して現在の時刻を調節する場合に使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、解析される式です。

出力

Java日付オブジェクトを返します。これは、表示用に文字列に変換されます。

例

<$parseDataEntryDate$>

parseDate

日付/時間を解析して算術評価が実行できるようにします。

日付は、標準の比較演算子とともに使用した場合にミリ秒に変換されます。たとえば、式(60*60*1000)は1時間と同等です。

この関数は通常、多数の秒、分、時、日を表す乗算式を使用して現在の時刻を調節する場合に使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

唯一のパラメータは、解析される式です。

出力

Java日付オブジェクトを返します。これは、表示用に文字列に変換されます。

例

次の式はそれぞれ、過去のある1日の日付と時間を返します。

<$parseDate(dateCurrent(-1))$>
<$parseDate(dateCurrent()-(24*60*60*1000))$>
<$dateCurrent(-1)$>
<$dateCurrent()-(24*60*60*1000)$>

1時間後の時刻を返します。1行目では、時間乗算式を使用して1時間が加算され、カスタム変数に時間と日付を割り当てて、出力を抑制します。2行目では、カスタム変数を参照して、時間のみを表示することを定義します。

<$exec my_customParseTime parseDate(dateCurrent()+(1000*60*60))$>
<$formatTimeOnly(my_customParseTime)$>

1年後の日付を返します。1行目では、時間乗算式を使用して1年が加算され、カスタム変数に時間と日付を割り当てて、出力を抑制します。2行目では、カスタム変数を参照して、日付のみを長いフォーマットで表示することを定義します。

<$exec my_customParseTime parseDate(dateCurrent()+(1000*60*60*24*365))$>
<$formatTimeOnly(my_customParseTime)$>

このスクリプトでは、7日後の日付が有効期限日より大きいかどうかを評価し、trueの場合はユーザーにメッセージを返します。

<$if dOutDate$>
<$if dateCurrent(7) > parseDate(dOutDate)$>
Content item expires in one week.
<$endif$>
<$endif$>

このスクリプトでは、カスタマイズされたワークフローのジャンプに対して条件文の中でparseDateを使用します。このスクリプトでは、このステップに最後に入ったのが4日前であった場合、ワークフローwf_lateの最初のステップに進んで、戻りステップが次のステップになるように設定することを指定します。

<$if parseDate(wfCurrentGet("lastEntryTs")) < dateCurrent(-4)$>
<$wfSet("wfJumpName", "lateJump")$>
<$wfSet("wfJumpTargetStep", "step_1@wf_late")$>
<$wfSet("wfJumpReturnStep", wfCurrentStep(1))$>
<$wfSet("wfJumpEntryNotifyOff", "0")$>
<$endif$>

関連項目

- dateCurrent()

parseDateWithPattern()

日付/時間を指定された日付/時間パターンに解析します。

日付は、標準の比較演算子とともに使用した場合にミリ秒に変換されます。たとえば、式(60*60*1000)は1時間と同等です。

この関数は通常、多数の秒、分、時、日を表す乗算式を使用して現在の時刻を調節する場合に使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.8項「日付および時間」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、コンテンツ・サーバー・インスタンスにより使用される日付文字列、または、parseDate関数またはdateCurrent関数を使用して作成された日付オブジェクトです。

- 2番目のパラメータは日付/時間パターン(例: MM/dd/yyyy)であり、これは標準的なJava SimpleDateFormatパターン文字列です。

出力

Java日付オブジェクトを返します。これは、表示用に文字列に変換されます。

例

現在の日付/時間を、パターンにより指定されたフォーマット(例: Wed, 4 Jul 2001 12:08:56 -0700)で表示します。

<$parseDateWithPattern(<$dateCurrent()$>,"EEE, d MMM yyyy HH:mm:ss Z")$>

関連項目

- parseDate

- dateCurrent()

- formatDateWithPattern()

PATH_INFO

この設定は廃止されています。Webサーバー・フィルタでは、この情報は送信されなくなりました。

CGIコンピュータへのファイル・システム・パスに関する追加情報を取得します。

仮想パスがPATH_TRANSLATED変数によって返されるときに、このパスの末尾にある追加情報もすべてPATH_INFOとして返されます。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列として追加の仮想パス情報を返します。

例

追加のCGIパス情報を取得します。

<$PATH_INFO$>

関連項目

- PATH_TRANSLATED

PATH_TRANSLATED

たとえば、CGIコンピュータへのファイル・システム・パスを取得します。

c:/domain/weblayout/idcplg/idc_cgi_isapi-idcm1.dll.

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列として仮想パスを返します。

例

CGIパスを取得します。

<$PATH_TRANSLATED$>

pneNavigation()

左のサイドバー・ナビゲーションを有効にします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.16.項「ページ表示」

パラメータ

名前/値のペアとして設定します。

pneNavigation=1

デフォルトは1(有効)です。

この関数を無効にするには、null文字列に設定する必要があります。

出力

TRUEまたはFALSEに評価します。

例

サイドバー・ナビゲーションを有効にします。

<$pneNavigation=1$>

サイドバー・ナビゲーションを強制的にオフにするには、次のようにnull文字列に設定します。

<$pneNavigation=""$>

この定義を1またはnull文字列以外に設定すると無効になり、サイドバー・ナビゲーションは無効になりません。

<$pneNavigation=0$>

QUERY_STRING

問合せに関してURLのデリミタ?の後に続く文字列を取得します。

この変数は、現在のCGIリクエストに固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.20項「検索」

- 第4.2.25項「Webサーバー」

出力

文字列として問合せ情報を返します。

例

ページまたはログへの情報出力としての使用例:

QUERY_STRING=IdcService=GET_DOC_PAGE&Action=GetTemplatePage&Page=STD_QUERY_PAGE

Idoc Script文または評価の一部としての使用例:

<$if QUERY_STRING$>
<!--statement-->

regexMatches()

一致を実行する正規表現を使用して、特定のパターンの文字列を検索します。正規表現の構成には、文字、文字クラスおよびその他のクラスと限定子を含めることができます。クラス・パターンのJava APIの詳細は、http://www.oracle.com/technetwork/java/index.htmlを参照してください。

この機能は、JVM 1.4以降のみで使用可能です。これは、WebCenter Contentバージョン7.0以降のデフォルト・バージョンになります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.5項「コンテンツ・サーバー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、一致する文字列です。

- 2番目のパラメータは式です。

例

次の例では、文字列が式に一致していないため、FALSEが返されます。

<$regexMatches("abcdef","abc")$>

次の例ではワイルドカードが存在しているため、TRUEが返されます。ドット・アスタリスク(.*)変換のかわりにアスタリスク(*)などの標準のワイルドカードを使用した場合、一致は失敗します。

<$regexMatches("abcdef", ".*abc.*")$>

関連項目

- 第3.5項「演算子」

- regexReplaceAll()

- regexReplaceFirst()

- strEquals()

- strIndexOf()

regexReplaceAll()

一致および置換を実行する正規表現を使用して、特定のパターンの文字列を検索します。正規表現の構成には、文字、文字クラスおよびその他のクラスと限定子を含めることができます。クラス・パターンのJava APIの詳細は、http://www.oracle.com/technetwork/java/index.htmlを参照してください。

この機能は、JVM 1.4以降のみで使用可能です。これは、WebCenter Contentバージョン11.1.1.7.0以降のデフォルト・バージョンになります。

正規表現のすべてのインスタンスを置換文字列に置き換えます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 4.2.3項「コンテンツ・アイテム」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは元の文字列です。

- 2番目のパラメータは、一致する文字列です。

- 3番目のパラメータは置換文字列です。

例

次の例ではxyzdef xyzdefを返します。

<$regexReplaceAll("abcdef abcdef","abc","xyz")$>

関連項目

- 第3.5項「演算子」

- regexMatches()

- regexReplaceFirst()

- strEquals()

- strIndexOf()

- strSubstring()

regexReplaceFirst()

一致および置換を実行する正規表現を使用して特定のパターンの文字列を検索し、最初のインスタンスを置換文字列に置き換えます。正規表現の構成には、文字、文字クラスおよびその他のクラスと限定子を含めることができます。クラス・パターンのJava APIの詳細は、http://www.oracle.com/technetwork/java/index.htmlを参照してください。

この機能は、JVM 1.4以降のみで使用可能です。これは、WebCenter Contentバージョン11.1.1.7.0以降のデフォルト・バージョンになります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 4.2.3項「コンテンツ・アイテム」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは元の文字列です。

- 2番目のパラメータは、一致する文字列です。

- 3番目のパラメータは置換文字列です。

例

次の例ではxyzdef abcdefを返します。

<$regexReplaceFirst("abcdef abcdef","abc","xyz")$>

関連項目

- 第3.5項「演算子」

- regexMatches()

- regexReplaceAll()

- strEquals()

- strIndexOf()

- strSubstring()

REMOTE_ADDR

リクエストを行うリモート・ホストのIPアドレスを返します。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列としてIPアドレスを返します。

例

ページまたはログへの情報出力としての使用例:

REMOTE_ADDR=207.0.0.1

Idoc Script文または評価の一部としての使用例:

<$if REMOTE_ADDR$>
<!--statement-->

関連項目

- REMOTE_HOST

REMOTE_HOST

リクエストを行うリモート・ホストの名前を返します。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

- 文字列としてホスト名を返します。

- サーバーがホスト名を認識していない場合は、文字列としてREMOTE_ADDRの値が返されます。

例

ページまたはログへの情報出力としての使用例:

REMOTE_HOST=207.0.0.1

Idoc Script文または評価の一部としての使用例:

<$if REMOTE_HOST$>
<!--statement-->

関連項目

- REMOTE_ADDR

REQUEST_METHOD

リクエストの作成に使用されたメソッドを取得します。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列としてリクエスト・メソッドを返します。

例

ページまたはログへの情報出力としての使用例:

REQUEST_METHOD=GET

Idoc Script文または評価の一部としての使用例:

<$if REQUEST_METHOD$>
<!--statement-->

requiredMsg

チェックイン時に必須メタデータ・フィールドに値が指定されていない場合に表示されるエラー・メッセージを指定します。

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

文字列としてエラー・メッセージを返します。

例

dDocTitleメタデータ・フィールドの必須フィールドのエラー・メッセージを、ローカライズされた文字列wwSpecifyTitleとして定義します。

<$fieldName = "dDocTitle", fieldCaption = lc("wwTitle"), isRequired = 1, fieldType = "BigText", requiredMsg = lc("wwSpecifyTitle")$>

関連項目

- isRequired

ResultsTitle

検索結果ページのタイトルを定義します。

Webレイアウト・エディタはこの変数を使用して、検索結果ページに名前を付け、そのページの一番上に見出しを表示します。

使用方法

- 第4.2.16.項「ページ表示」

- 第4.2.20項「検索」

出力

文字列としてページのタイトルを返します。

例

HDAエントリとして、検索結果ページに次のように名前が付けられます。

@Properties LocalData
ResultsTitle=Content Items
@end

スクリプトとして、定義された名前を返します。

<$if ResultsTitle$>ResultsTitle=<$url(ResultsTitle)$>

rptDisplayMapValue()

この関数は内部使用専用です。

この関数は、内部キー・コードのローカライズされた文字列表記を返します。これらのキー・コードは、コンテンツ・アイテムのステータスおよび状態フラグの格納に使用されます。この関数は、内部状態の説明を表示するために、「コンテンツ情報」ページと各ワークフロー・ページで使用されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.15項「ローカライズ」

パラメータ

次の2つのパラメータを取ります。

- キーが格納される表の名前。

- ローカライズされるキー。

rs()

この関数は、ResultSetの名前が付けられているResultSetを返します。実際に返されるオブジェクトがResultSetであるため、他の関数の戻り値に対して実行できないアクションが、この戻り値では実行可能になります。特に、ループ構文を結果に適用することができます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

この関数に指定されるパラメータはresultSetNameであり、これは返されるResultSetの名前です。

出力

見つかった場合はResultSetオブジェクト、見つからない場合はnull。

例

MyResultSetがResultSetの名前であるとした場合、次の構文を使用してResultSetでループすることができます。

<$loop rs("MyResultSet")$>... Script inside loop ...<$endloop$>

この関数は、Idoc Script関数のコール時に変数を一時的に割り当てる際にも使用できます。特に、次の例では、コール中にMyResultSetによりポイントされたものと同じResultSetをポイントするために一時的に変数rsParamを割り当てて、リソース・インクルードmy_includeをインクルードします。rs関数の結果が変数に割り当てられた場合、その変数にはResultSetに対する共有ポインタが指定されて、rsCreateReferenceをコールした場合と同じ効果が得られます。

<$inc("my_include", rsParam=rs("MyResultSet"))$>

rsAddFields()

新しいフィールドをResultSetに追加します。この関数は、フィールドがまだ存在していない場合のみフィールドを追加します。setValue(...)でも新しいフィールドを追加できますが、これはResultSetが空ではなく、現在の有効行にある場合のみに使用できることに注意してください。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、追加された新規フィールド(列)を取得するResultSetの名前です。

- 2番目のパラメータは、追加するフィールド(追加される列名)のカンマ区切りリストです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsAddFields(rsName, fieldsList)$>

rsAddFieldsWithDefaults()

新しいフィールドを既存のResultSetに追加します。rsAddFieldsとは異なり、この関数には、追加されるどのフィールドに対してもデフォルト値を指定できる機能があります。rsAddFieldsWithDefaultsでは、フィールド内の既存のデータが上書きされることはありません。新しいフィールドがResultSetに追加されるだけです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の表に、この関数のパラメータを示します。

パラメータ

説明

resultSetName

ResultSetの名前。

newFields

ResultSetに追加するフィールドのカンマ区切りリスト。指定されたフィールドのうち、ResultSet内に既存のものはすべて無視されます。

defaultValues

各行の新規フィールドに対して設定されたデフォルト値のオプションのカンマ区切りリスト。このリストの値はそれぞれ、newFieldsリストの同じ位置にある新規フィールドに対応しています。デフォルト値を設定するときにカンマを入れる必要がある場合は、カンマとして'î'が使用できます。defaultValuesリストがnewFieldsリストよりも長いまたは短い場合、この関数は余分のデフォルト値を無視するか、未指定のデフォルト値に対して空の文字列を使用します。

出力

なし。

例

フィールドの追加

<$rsCreateResultSet("MyList", "field1,field2,field3")$><$rsAppendRowValues("MyList", "A,B,C,D,E,F")$><$rsAddFieldsWithDefaults("MyList", "field4,field5,field6")$>

この基本的な例では、MyListというResultSetを作成し、いくつかの値を設定した後で、さらに3つのフィールドを、デフォルト値を設定せずにMyListに追加します。この結果得られる表は次のようになります。

field1

field2

field3

field4

field5

field6

A

B

C

D

E

F

デフォルトを指定したフィールドの追加

<$rsCreateResultSet("MyList", "field1,field2,field3")$><$rsAppendRowValues("MyList", "A,B,C,D,E,F")$><$rsAddFieldsWithDefaults("MyList", "field4,field5,field6", "X,Y,Z")$>

ここでは、新規フィールドのデフォルト値を定義します。この結果得られる表は次のようになります。

field1

field2

field3

field4

field5

field6

A

B

C

X

Y

Z

D

E

F

X

Y

Z

フィールドがすでに存在する場合

<$rsCreateResultSet("MyList", "field1,field2,field3")$><$rsAppendRowValues("MyList", "A,B,C,D,E,F")$><$rsAddFieldsWithDefaults("MyList", "field1,field4,field5", "X,Y,Z")$>

この場合は、すでにMyListに存在するフィールドを追加しようとしています。このアクションは完全に無視され、旧フィールドの値が保存されます。この結果得られる表は次のようになります。

field1

field2

field3

field4

field5

A

B

C

X

Y

D

E

F

X

Y

指定したデフォルト値が少ない場合

<$rsCreateResultSet("MyList", "field1,field2,field3")$><$rsAppendRowValues("MyList", "A,B,C,D,E,F")$><$rsAddFieldsWithDefaults("MyList", "field4,field5,field6", "X,Y")$>

この例では、すべてのフィールドに対して十分なデフォルト値がデフォルト値リストにないことに留意してください。この場合は、未指定の列に対して空白が入力されるだけです。

field1

field2

field3

field4

field5

field6

A

B

C

X

Y

D

E

F

X

Y

関連項目

- rsAddFields()

rsAddRowCountColumn()

この関数では、それぞれの行の値がその行の行カウントである新規フィールドを追加します。カウントは0から始まります。この関数は、XMLデータ・アイランドのResultSet(.hcspファイル内)に対してrsSort(...)を使用する直前に使用して、元の行の場所を保存する場合に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、新しい行カウント列が設定されるように変更されるResultSetの名前です。

- 2番目のパラメータは、その行カウントを保持するフィールドの名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsAddRowCountColumn(rsName, countFieldName)$>

rsAppend()

この関数はrsMergeと同様の特性を備えていますが、マージおよびテスト条件がない点が異なります。ResultSet rsNameSourceのすべての行がResultSet rsNameTargetに追加されます。さらに、rsNameTargetにはなく、rsNameSourceにあるすべてのフィールドがrsNameTargetに追加されます。ResultSetの簡単な組合せを実行する場合に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、マージによって変更が生じるResultSetです。

- 2番目のパラメータは、ターゲットに追加される行のあるResultSetです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsAppend("targetRsetName", "sourceRsetName")$>

関連項目

- rsMerge()

rsAppendNewRow()

ResultSetの末尾に新しい行を追加します。現在の行は影響を受けません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

唯一のパラメータは、新しい行を受け取るResultSetの名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

<$rsAppendNewRow("SearchResults")$>

rsAppendRowValues()

ResultSetに新しい行を追加するユーティリティ関数。値リストは、行に分割される値のカンマ区切りリスト(各値をエンコードするためにエスケープ規則、',' -> 'î'、'î' -> '#î'、'#' -> '##'を使用)です。n個のフィールドはResultSet内のフィールド数であると仮定します。n個のフィールドの値をカウントして新しい行を作成し、次のn個のフィールドの値を取り込んで次の1行を作成するというようにして、値リストが行に分割されていきます。値の数がn個のフィールドの正確な倍数でない場合は、最後の行のフィールド値が空の文字列でパディングされます。この関数は、Idoc Scriptを使用してResultSetを簡潔にハードコード化する場合に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、新しい行を取得するResultSetの名前です。

- 2番目のパラメータは、新規に追加する値です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rowValues = "a1, b1, a2, b2"$>
<$rsCreateResultSet("ResultSet1", "ColumnA,ColumnB")$>
<$rsAppendRowValues("ResultSet1", rowValues$>
<table border=2>
<tr><td>ColumnA</td><td>ColumnB</td></tr>
<$loop ResultSet1$>
<tr><td><$ColumnA$></td><td><$ColumnB$></td>
</tr>
<$endloop$>
</table>

この結果得られるHTMLは次のようになります。

列A

列B

列A

列B

A1

B1

A2

B2

rsCopyFiltered()

この関数は、1つのResultSetから選択された行のみをコピーして、別のResultSetを作成します。名前がrsNameTargetである前出のResultSetはすべて置換されます。filterPatternのパターンに対するテストを使用してfilterFieldの各行の値をテストすることにより、行が選択されます。パターン一致は、Idoc Scriptのlike演算子で使用するものと同じです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の4つのパラメータをとります。

- 最初のパラメータは、コピーする行のあるResultSetです。

- 2番目のパラメータは、コピーによって新規に作成されたResultSetです。

- 3番目のパラメータは、テストされるフィールドの名前です。

- 4番目のパラメータは、行をコピーする必要があるかどうかの確認に適用されるパターン一致です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsCopyFiltered(rsNameSource, rsNameTarget, filterField, filterPattern)$>

rsCreateReference()

この関数は、リクエスト・データ内の既存のResultSetに対する共有参照のあるIdoc Script変数を設定します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

この関数には、次のパラメータが指定されています。

パラメータ

説明

sourceResultSet

既存のResultSetの名前。

targetResultSet

まったく同じResultSetに対する参照を共有する変数の名前。

出力

成功した場合、TRUEを返します。

例

<$MyResultSet.field2$>および<$MyResultSetAlias.field2$>の現在の値は両方とも文字Eになります。

<$rsCreateResultSet("MyResultSet", "field1,field2,field3")$>
<$rsAppendRowValues("MyResultSet", "A,B,C,D,E,F")$>
<$rsCreateReference("MyResultSet", "MyResultSetAlias")$>
<$rsNext("MyResultSetAlias")$>

rsCreateResultSet()

fieldList内のフィールドのリストを使用して初期化されたResultSetを作成します。すべてのフィールドはstring型として設定されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、作成するResultSetの名前です。

- 2番目のパラメータは、フィールドのカンマ区切りリストです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsCreateResultSet(rsName, fieldList)$>

rsDeleteRow()

ResultSet内の現在の行を削除します。現在の行が次の行に進みます(または、ResultSetの末尾行が削除された場合、ResultSetの末尾の後をポイントします)。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

唯一のパラメータは、現在の行が削除されるResultSetの名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

<$rsDeleteRow("Folders")$>

rsDocInfoRowAllowDisclosure()

ResultSetの現在行により参照されるコンテンツ・アイテムのURLの表示が現在のユーザーに許可されるかどうかを確認します。

この関数は、コンテンツ・アイテムの問合せによって生成されたResultSetのURLを選択的に表示する場合に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

- 第4.2.21.1項「内部セキュリティ」

パラメータ

唯一のパラメータは、コンテンツ・アイテムに関する情報が現在行に含まれているResultSetの名前です。

出力

- ユーザーに対してコンテンツ・アイテムのURLの表示が許可される場合、TRUEを返します。

- ユーザーに対してコンテンツ・アイテムのURLの表示が許可されない場合、またはResultSetが空の場合、FALSEを返します。

例

ユーザーがresultSet1の現在行にあるコンテンツ・アイテムのURLを表示できるかどうかを確認します。

<$rsDocInfoRowAllowDisclosure("resultSet1")$>

rsExists()

ResultSetが存在するかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

1つのパラメータとしてResultSetの名前を取ります。

出力

- ResultSetが見つかった場合、TRUEを返します。

- ResultSetが存在しないか空の場合、FALSEを返します。

例

<$if rsExists("resultSet1")$>
code to execute if TRUE
<$endif$>

rsFieldByIndex()

ゼロから始めて、指定された列索引にあるフィールドの名前を取得します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- ResultSetの名前。

- 索引番号。

例

<$rsFieldName = rsFieldByIndex("resultSet1", "2")$>

rsFieldExists()

指定されたResultSetに特定のフィールドが含まれているかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 検索されるResultSetの名前。

- 見つける必要のあるフィールドの名前。

出力

- フィールドが見つかった場合、TRUEを返します。

- フィールドが存在しない場合、FALSEを返します。

例

<$if rsFieldExists("resultSet1", "FieldName1")$>
code to execute if TRUE
<$endif$>

rsFindRowPrimary()

一致する値を見つけるために、ResultSetの最初の列を検索します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、最初の列が検索の対象となるResultSetの名前です。

- 2番目のパラメータは、検索対象の値です。

出力

- 指定された値が指定されたResultSetの最初の列に見つかった場合、TRUEを返します。

- 指定された値が見つからない場合、FALSEを返します。

例

value1に一致する値が見つかるまで、resultSet1の最初の列を検索します。

<$rsFindRowPrimary("resultSet1","value1")$>

rsFirst()

ResultSet内の最初の行に移動します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

唯一のパラメータは、ResultSetの名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

SearchResults ResultSetを最初の行に進めます。

<$exec rsFirst("SearchResults")$>

rsInsertNewRow()

操作中のResultSetの現在行の直前に行を挿入します。新しい行が現在行になります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

唯一のパラメータは、新しい行が挿入されるResultSetの名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsInsertNewRow("SearchResults")$>

rsIsRowPresent()

ResultSetの現在行のステータスを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

1つのパラメータとしてResultSetの名前を取ります。

出力

- ResultSetが現在有効な行にある場合、TRUEを返します。

- 有効な行にない場合、FALSEを返します。

例

<$if rsIsRowPresent("resultSet1")$>
code to execute if TRUE
<$endif$>

rsLoopInclude()

この関数は、1行ごとに1回リソース・インクルードを実行しながら、ResultSetでループします。このインクルードの実行中、ResultSetは一時的にアクティブになります(標準的な<$loop ...$>構成の場合と同じです)。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

この関数には、次のパラメータが指定されています。

パラメータ

説明

ResultSetName

ループするResultSetの名前。

includeName

実行するリソース・インクルードの名前。

出力

リソース・インクルードの各種反復を組み合わせた出力。

例

<$rsLoopInclude(resultSetName, includeName)$>

rsLoopSingleRowInclude()

この関数は、1つのリソース・インクルードを実行する間に、ResultSetを一時的にアクティブにプロモートします。これはrsLoopIncludeと非常によく似た動作をしますが、ResultSetの現在行に対してインクルードが実行されるのは1回のみです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

この関数には、次のパラメータが指定されています。

パラメータ

説明

ResultSetName

アクティブにするResultSetの名前。

includeName

実行するリソース・インクルードの名前。

出力

リソース・インクルードの出力。

例

<$rsLoopSingleRowInclude(resultSetName, includeName)$>

関連項目

- rsLoopInclude()

rsMakeFromList()

オプション・リストから単一列のResultSetを作成します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

2つの必須パラメータと1つのオプションのパラメータを取ります。

- 最初のパラメータは、作成されるResultSetの名前です。

- 2番目のパラメータは、既存のオプション・リストの名前です(例: docAccountsまたはxMyCustomField.options)。

- 3番目のオプションのパラメータは、ResultSet列の名前です。値が指定されていない場合、列名のデフォルトはrowになります。

出力

列を1つ持つResultSetを作成します。この列には、指定されたオプション・リストの値が移入されます。

例

2つのResultSet、ListAおよびListBをsecurityGroupsおよびdocAuthorsの各オプション・リストから作成します。

<$lista = "securityGroups"$>
<$rsMakeFromList("ListA", lista)$>
<$rsMakeFromList("ListB", "docAuthors", "name")$>
<table border=2>
<tr><td>Security Groups</td><td>Authors</td></tr>
<tr>
<td><$loop ListA$><$row$><br>
<$endloop$></td>
<td><$loop ListB$><$name$><br>
<$endloop$></td>
</tr>
</table>

ResultSetsは次のようになります。

@ResultSet ListA
1
row
Public
Secure
@end
@ResultSet ListB
1
name
hchang
pkelly
sysadmin
user1
@end

この結果得られるHTMLは次のような表になります。

ListA

ListB

セキュリティ・グループ

Authors

hchang

パブリック

okelly

セキュア

sysadmin

user1

関連項目

- rsMakeFromString()

- オプション・リスト

- optList()

rsMakeFromString()

文字列から単一列のResultSetを作成します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

2つの必須パラメータと1つのオプションのパラメータを取ります。

- 最初のパラメータは、作成されるResultSetの名前です。

- 2番目のパラメータは、解析される文字列のカンマ区切りリスト(例: a,b,c,d)、または値としてカンマ区切り文字列を持つ変数です。

- 3番目のオプションのパラメータは、ResultSet列の名前です。値が指定されていない場合、列名のデフォルトはrowになります。

出力

列を1つ持つResultSetを作成します。この列には、指定された文字列の値が移入されます。

例

2つのResultSet、StringAおよびStringBを作成します。

<$stringa = "a,b,c,d"$>
<$rsMakeFromString("StringA", stringa)$>
<$rsMakeFromString("StringB", "A,B,C,D", "name")$>
<table border=2>
<tr><td>StringA</td><td>StringB</td></tr>
<tr>
<td><$loop StringA$><$row$><br>
<$endloop$></td>
<td><$loop StringB$><$name$><br>
<$endloop$></td>
</tr>
</table>

ResultSetsは次のようになります。

@ResultSet StringA
1
row
a
b
c
d
@end
@ResultSet StringB
1
name
A
B
C
D
@end

この結果得られるHTMLは次のような表になります。

Stringa

Stringb

A

A

B

B

C

C

D

D

関連項目

- rsMakeFromList()

rsMerge()

1つのResultSetの行を別のResultSetにマージします。rsCommonFieldフィールドにあるrsNameSource ResultSetの値がrsNameTargetの行にある同じフィールドの値と一致する場合、その行は置換されます。そうでない場合は、rsNameSourceの行が追加されます。rsNameTargetに同じ値で一致する行が複数存在する場合は、最初の行のみが置換されます。その行は、一致する行のあるrsNameSourceの最後の行によって置換されます。ResultSet rsNameSourceのフィールドのうち、rsNameTargetに存在しないフィールドはすべてrsNameTargetの新しいフィールドとして追加されます。この関数は、複数の一致による問題が生じるのを避けるために、rsCommonFieldフィールドで一意の値のみを持つResultSetで最もよく機能します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータ(rsNameTarget)は、マージによって変更が生じるResultSetです。

- 2番目のパラメータ(rsNameSource)は、ターゲットにマージされる行のあるResultSetです。

- 3番目のパラメータ(rsCommonField)は、両方の結果セットにあって、マージの基準として使用されるフィールドです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsMerge(rsNameTarget, rsNameSource, commonField$>

関連項目

- rsAppend()

rsMergeDelete()

rsMergeReplaceOnlyと類似していますが、ResultSet rsNameTargetの一致する行が置換されるのではなく、削除される点が異なります。これは、別のResultSetにすでに存在する行をResultSetから削除する場合に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータ(rsNameTarget)は、マージによって変更が生じるResultSetです。

- 2番目のパラメータ(rsNameSource)は、ターゲットにマージされる行のあるResultSetです。

- 3番目のパラメータ(rsCommonField)は、両方の結果セットにあって、rsNameTargetから削除する行のテストとして使用されるフィールドです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsMergeDelete(rsNameTarget, rsNameSource, rsCommonField)$>

rsMergeReplaceOnly()

rsMergeと類似していますが、行は置換されるだけであり、ResultSet rsNameTargetに追加されません。さらに、rsNameSourceの新規フィールドはrsNameTargetに追加されません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータ(rsNameTarget)は、マージによって変更が生じるResultSetです。

- 2番目のパラメータ(rsNameSource)は、ターゲットにマージされる行のあるResultSetです。

- 3番目のパラメータ(rsCommonField)は、両方の結果セットにあって、マージの基準として使用されるフィールドです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$rsMergeReplaceOnly(rsNameTarget, rsNameSource, rsCommonField) $>

rsNext()

ResultSet内の次の行に移動します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

唯一のパラメータは、ResultSetの名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

SearchResults ResultSetを次の行に進めます。

<$exec rsNext("SearchResults")$>

rsNumFields()

ResultSetにあるフィールド数を示します。これは、rsFieldByIndexと併用する場合に役立ちます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

1つのパラメータとしてResultSetの名前を取ります。

出力

フィールド数を返します。

例

<$numFields = rsNumFields("resultSet1")$>

関連項目

- rsFieldByIndex()

rsNumRows()

ResultSetにある行数を示します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

1つのパラメータとしてResultSetの名前を取ります。

出力

行数を返します。

例

<$numRows = rsNumRows("resultSet1")$>

rsRemove()

ResultSetを削除します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

1つのパラメータとしてResultSetの名前を取ります。

例

<$rsRemove("resultSet1")$>

rsRename()

ResultSetの名前を変更します。

変数を使用して新しいResultSet名を定義する場合は、rsFirst、rsNextおよび#isRowPresentを使用して新しいResultSet変数を手動でループする必要があります。次に例を示します。

<$rsNewName="MySearchResults"$>
<$rsRename("SearchResults", rsNewName)$>
<$rsFirst(rsNewName)$>
<$loopwhile getValue(rsNewName, "#isRowPresent")$>
<!--output code-->
<$rsNext(rsNewName)$>
<$endloop$>

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、既存のResultSetの名前です。

- 2番目のパラメータは、新しいResultSetの名前です。ResultSetがすでに存在している場合、コールは失敗します。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

SearchResults ResultSetの名前をMySearchResultsに変更します。

<$rsRename("SearchResults", "MySearchResults")$>

rsRenameField()

ResultSetのフィールド名を変更します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは、名前を変更するフィールドのあるResultSetの名前です。

- 2番目のパラメータは、フィールドの現在の名前です。

- 3番目のパラメータは、フィールドの新しい名前です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

warehouse ResultSetのinvoiceフィールドの名前をoutlaysに変更します。

<$exec rsRenameField("warehouse", "invoice", "outlays")$>

rsSetRow()

ResultSet内の指定された行に移動します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、ResultSetの名前です。

- 2番目のパラメータは、行番号です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

SearchResults ResultSetを10番目の行に進めます。

<$exec rsSetRow("SearchResults",10)$>

rsSort()

ResultSetを特定の列でソートします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の4つのパラメータをとります。次に例を示します。

rsSort(rsName,sortCol,sortType,sortOrder)

パラメータ

説明

rsName

ResultSetの名前。

sortCol

ソート基準となる列の名前。

sortType

ソートのタイプ(デフォルトはint):

string: アルファベット順にソート

int: 数値でソート

date: 日付別にソート

sortOrder

ソート順(デフォルトはasc):

asc: 昇順

desc: 降順

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

SearchResults ResultSetをコンテンツIDにより降順でソートします。

<$rsSort("SearchResults","dDocName","string","desc")$>

rsSortTree()

XMLデータ構造(ノード、親ノード、深さ属性のあるもの)の表現であるResultSetをソートします。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

7つのパラメータを取ります。次に例を示します。

rsSortTree(rsName,itemIdCol,parentIdCol,nestLevelCol,sortCol,sortType,sortOrder)

パラメータ

説明

rsName

ResultSetの名前。

itemIdCol

各ノードの一意のIDが含まれている列の名前。

parentIdCol

親ノード(存在する場合)のIDが含まれている列の名前。

nestLevelCol

各ノードのネスト・レベル(深さ)が含まれている列の名前。

sortCol

ソート基準となる列の名前。

sortType

ソートのタイプ(デフォルトはint):

string: アルファベット順にソート

int: 数値でソート

date: 日付別にソート

sortOrder

ソート順(デフォルトはasc):

asc: 昇順

desc: 降順

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗するか、ResultSetが空の場合、FALSEを返します。

例

discussionPosts ResultSetをitemNumber列によって昇順でソートします。

<$rsSortTree("discussionPosts", "discussionPosts!itemNumber",
"discussionPosts!parentNumber", "dpItemNestLevel",
"discussionPosts!itemNumber", "int", "asc")$>

SafeDir

余分のコンテンツ・サーバー・ファイルがContent Serverアナライザ・ユーティリティによって移動される場所を取得します。

デフォルトは、IdcAnalyzeLogDir設定により指定されたログ・ディレクトリにあるサブディレクトリです。

この変数は設定可能ではありません。

タイプおよび使用方法

- 第4.1.6.4項「その他の読取り専用変数」

- 第4.2.9項「デバッグ」

- 第4.2.10項「ディレクトリとパス」

例

スクリプトとして、構成設定の値を返します。

<$SafeDir$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のIdcAnalyzeLogDirに関する項

SCRIPT_NAME

CGIリンク・ファイルへの相対パスを取得します。

CGIリンク・ファイルは、オペレーティング・システムおよびWebサーバーごとに異なるWebサーバー・セキュリティ・フィルタの実行可能ファイルです。たとえば、Solarisの場合のファイル名はnph-idc_cgi.exeです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列として相対パスを返します。

例

ページまたはログへの情報出力としての使用例:

SCRIPT_NAME=/idcplg/idc_cgi_isapi-instance>.dll

Idoc Script文または評価の一部としての使用例:

<$if SCRIPT_NAME$>
<!--statement-->

SelfRegisteredAccounts

自己登録ユーザーに指定されるデフォルトのアカウントと権限を定義します。

これはカンマ区切りリストです。

アカウント別の権限を、アカウント名の後にカッコに入れて指定する必要があります。

#noneエントリは、アカウントが割り当てられていないコンテンツ・アイテムに権限を付与します。#allエントリでは、すべてのアカウントに権限が与えられます。

デフォルト値はありません。

文字列としてアカウントのリストを返します。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.21.1項「内部セキュリティ」

場所

IntradocDir/config/config.cfg

例

構成設定の使用例:

SelfRegisteredAccounts=#none(RWDA),USERS/<$NewUser$>,BOS(R)

スクリプトとして、文字列として定義済アカウント情報を返します。

<$SelfRegisteredAccounts$>

関連項目

- SelfRegisteredAccounts

SelfRegisteredRoles

自己登録ユーザーに指定されるデフォルトのロールを定義します。

これはカンマ区切りリストです。

デフォルト値はありません。

文字列としてロールを返します。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.21.1項「内部セキュリティ」

場所

IntradocDir/config/config.cfg

例

構成設定の使用例:

SelfRegisteredRoles=guest,salesRole

スクリプトとして、文字列として定義済ロールを返します。

<$SelfRegisteredRoles$>

関連項目

- SelfRegisteredRoles

SERVER_NAME

自己参照URLに表示されるようなホスト名、DNSエイリアスまたはWebサーバーのIPアドレスを取得します。

この変数はリクエスト固有ではなく、すべてのリクエストに対して設定されます。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列としてサーバー情報を返します。

例

ページまたはログへの情報出力としての使用例:

SERVER_NAME=centralserver

Idoc Script文または評価の一部としての使用例:

<$if SERVER_NAME$>
<!--statement-->

SERVER_PORT

リクエストが送信されたWebサーバーのポート番号を取得します。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列としてポート番号を返します。

例

ページまたはログへの情報出力としての使用例:

SERVER_PORT=80

Idoc Script文または評価の一部としての使用例:

<$if SERVER_PORT$>
<!--statement-->

SERVER_PROTOCOL

受信リクエストのプロトコルとリビジョンを返します。

この変数は、現在のゲートウェイ・プログラム・リクエスト固有のものです。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列をprotocol/revisionのフォーマットで返します。

例

ログへの情報出力としての使用例:

SERVER_PROTOCOL=HTTP/1.0

Idoc Script文または評価の一部としての使用例:

<$if SERVER_PROTOCOL$>
<!--statement-->

SERVER_SOFTWARE

この設定は、バージョン7.0以降では廃止されています。

Webサーバー・フィルタでは、この情報は送信されなくなりました。

リクエストに回答しているWebサーバー・ソフトウェアの名前とバージョンを返します。

これは、ゲートウェイを実行しているサーバーでもあります。

この変数はリクエスト固有ではなく、すべてのリクエストに対して設定されます。

タイプおよび使用方法

- 第4.1.3項「環境変数」

- 第4.2.25項「Webサーバー」

出力

文字列をname/versionのフォーマットで返します。

例

ページまたはログへの情報出力としての使用例:

SERVER_SOFTWARE=Microsoft-IIS/4.0

Idoc Script文または評価の一部としての使用例:

<$if SERVER_SOFTWARE$>
<!--statement-->

setContentType()

返されたページに対してコンテンツ・タイプを設定し、ブラウザがそのページを適切にレンダリングできるようにします。たとえば、text/plain、application/excelまたはtext/xmlというコンテンツ・タイプ(ファイル形式タイプまたはMIMEタイプ)です。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

唯一のパラメータはコンテンツ・タイプです。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$setContentType("text/plain")$>

setCookie

ブラウザにCookie値を設定します。

セッション情報、または匿名ユーザーに関する情報の保持に使用します。

有効期限を渡して、指定した時間にCookieが期限切れになるようにすることもできます。

重要:

セキュア・データをCookieに格納しないでください。悪質なユーザーによってサイトにCookieが設定されるリスクがあるため、Cookieの使用を制限してください。

タイプおよび使用方法

- 第4.1.7項「設定可能変数」

- 第4.2.25項「Webサーバー」

パラメータ

この関数は、次の3つのパラメータを取ることができます。

- 最初のパラメータは、Cookieの名前です。

- 2番目のパラメータは、設定される値です。

- 3番目のパラメータは、Cookieの期限切れを指定する有効期限インジケータです。

例

次の例では、Cookie myCounterがユーザーのブラウザに設定され、ユーザーがこのページにアクセスすると値が増分されます。このCookieは1日で期限切れになります。

<$myCounter=getCookie("myCounter")$>
<$if not myCounter$>
<$myCounter=1$>
<$endif$>
Num times loaded: <$myCounter$>
<$setCookie("myCounter", myCounter+1, dateCurrent(1))$>

関連項目

- getCookie

setExpires()

この関数は、ページの有効期限の絶対時間の設定に使用できます。これは、存続期間が長く、頻繁にリクエストされる可能性のあるページで使用するのが最適です。クライアントとサーバー間の時間同期化の問題により、特に存続期間の短いキャッシュの場合は全面的に信頼できるわけではありません。データは、受入れ可能なHTTP日付フォーマットの1つに従って設定する必要があります。

詳細は、次のW3プロトコルを参照してください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、HTTPが必要とするフォーマットの絶対日付であり、この後でページをリフレッシュする必要のある日付です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

この設定により、ページは指定された絶対時間に期限切れになります。タイムスタンプはすべてGMTタイムゾーン内である必要があります。

<$setExpires("Sat, 02 Aug 2003 24:00:00 GMT")$>

これは、他のIdoc Script関数を使用して現在の日付から14日後に有効期限を設定する方法です。

<$date=formatDateWithPattern(dateCurrent(14), "EEE, dd MMM yyyy")$>
<$setExpires(date & " 24:00:00 GMT"))$> >

関連項目

- setHttpHeader()

setHttpHeader()

この関数は、任意のHTTPヘッダーの設定に使用できます。値にはCache-Control、Content-Type、Last-Modifiedまたはその他の受入れ可能なHTTPヘッダーがありますが、これに限られるものではありません。

詳細は、次のW3プロトコルを参照してください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

次の2つのパラメータを取ります。次に例を示します。

setHttpHeader(headerName, headerValue)

パラメータ

説明

headerName

有効なHTTPヘッダーの名前。

headerValue

ヘッダーの値。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

この例ではコンテンツ・タイプがXMLに設定され、渡されたXSLTを使用してブラウザでレンダリングできるようになります。

<$setHttpHeader("Content-Type", "text/xml")$>

関連項目

- setMaxAge()

setMaxAge()

この関数は、ページの有効期限の絶対時間の設定に使用できます。これは、存続期間が長く、頻繁にリクエストされる可能性のあるページで使用するのが最適です。クライアントとサーバー間の時間同期化の問題により、特に存続期間の短いキャッシュの場合は全面的に信頼できるわけではありません。データは、受入れ可能なHTTP日付フォーマットの1つに従って設定する必要があります。

詳細は、次のW3プロトコルを参照してください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

唯一のパラメータは、このページの存続期間(単位: 秒)です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

この場合は、ページのコンテンツが即時に期限切れになります。

<$setMaxAge(0)$>

この例では、このページのキャッシュ存続期間が10分に設定され、この時間の終了後にページを必ずリフレッシュする必要があることをブラウザに通知します。

<$setMaxAge(600)$>
<$setHttpHeader("Cache-Control", "must-revalidate")$>

関連項目

- setHttpHeader()

setResourceInclude()

インクルードを定義します。

この関数により、動的に構成されたスクリプトをインクルードに割り当てることができます(eval関数でこのようなスクリプトを解析し、評価できる場合と同様です)。

指定されたインクルードがすでに存在している場合は、新しいスクリプトでsuperキーワードを使用して既存のインクルードを参照することができます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.13項「Idoc Script」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、インクルードの名前です。

- 2番目のパラメータは、インクルードのコンテンツを定義する文字列です。この文字列には、Idocスクリプトを含めることができます。

出力

インクルードを解析できなかった場合は0を返し、解析できる場合は1を返します。

この動作を抑制するには、execを使用します。

例

文字列「My name is resource include」を使用して、スクリプトを動的に構成します。

<$setResourceInclude("my_name","My name is <$my_name$>")$>

superキーワードを使用して、std_display_fieldインクルードを変更します。

<$myInclude="<span class='field'><$include super.std_display_field$></span>"
<$setResourceInclude("std_display_field",myInclude)$>

次の例では、返される結果が抑制されます。

<$exec setResourceInclude("std_display_field",myInclude)$>

setValue()

ターゲットとして、#localまたはResultSetの名前のいずれでも使用できます。ターゲットが#localである場合、パラメータnameは、パラメータvalueによって設定される値のあるローカル・データ変数の名前を識別します。ターゲット領域が空ではなく、#localではない場合、パラメータtargetによって指定されたResultSetのフィールドが設定されます。ResultSetが存在していて、現在有効な現在行にある場合、その行にある特定の列の値(パラメータnameにより指定された列)はパラメータvalueの値を使用して設定されます。フィールドが現在ResultSetの一部でない場合、そのフィールドは新しい列としてそのResultSetに追加され、値が設定されます。ターゲットResultSetが有効な行にない場合、この関数の効果はありません(ただし、内部例外がサーバー出力で報告されます)。この関数はgetValue()と対照的である必要があります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.18項「ResultSet」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは、設定されるターゲット領域(#localまたはResultSetの名前のいずれか)です。

- 2番目のパラメータは、設定される値を保持するキーの名前(ローカル変数またはResultSetフィールドのいずれか)です。

- 3番目のパラメータは、設定される値です。

出力

- この関数が成功した場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

<$setValue(target, name, value)$>

SingleGroup

現在のリビジョンがBasicワークフロー内のコントリビュータ・ステップにあるかどうかを評価します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 4.2.3項「コンテンツ・アイテム」

- 第4.2.26項「ワークフロー」

出力

- リビジョンがコントリビュータ・ステップにある場合、TRUEを返します。

- リビジョンがコントリビュータ・ステップにない場合、FALSEを返します。

例

リビジョンがコントリビュータ・ステップにあるかどうかを評価します。

<$if not SingleGroup$>

SourceID

現在の動的サーバー・ページのコンテンツIDを指定します。

この変数は、ref:dIDと同じ値を返します。詳細は、第 3.6.4項「動的サーバー・ページのメタデータ参照」を参照してください。

タイプおよび使用方法

- 第4.1.6.3節「コンテンツ読取り専用変数」

- 4.2.3項「コンテンツ・アイテム」

出力

文字列としてコンテンツIDを返します。

例

現在のHCSFページの値にdID変数を設定します。

<input type=hidden name="dID" value="<$SourceID$>">

StatusCode

最後の関数コールが成功したか、または失敗したかを指定します。この変数は、サービス・コールの終わりに設定されます。

一部の関数では、成功した場合にこの変数をゼロ(0)に設定します。

一部の関数では、失敗した場合にこの変数を負の数値(-1)に設定します。通常はabortToErrorPage関数をコールして、最新の関数コールによるStatusMessage値とともにエラー・ページが表示されます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.5項「コンテンツ・サーバー」

出力

- 最後の関数コールが成功した場合、0を返します。

- 最後の関数コールが失敗した場合、-1を返します。

例

現在のステータス・コードを返します。

<$StatusCode$>

関連項目

- abortToErrorPage()

- getUserValue()

- hasAppRights()

- StatusMessage

StatusMessage

最後の関数コールに対するエラー・メッセージを定義します。この変数はサービス・コールの終わりに設定されますが、サービス・コール中の設定が可能です。

この変数は通常、abortToErrorPage関数のコール時にエラー・ページに表示されます。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.5項「コンテンツ・サーバー」

出力

- 最後の関数コールが成功した場合、OKを返します。

- 最後の関数コールが失敗した場合、ローカライズされたエラー・メッセージを返します。

例

現在のステータス・メッセージを返します。

<$StatusMessage$>

関連項目

- abortToErrorPage()

- StatusCode

stdSecurityCheck()

標準のセキュリティ・モデルに基づき、現在のユーザーがリクエストされたコンテンツ・アイテムへのアクセス権を持っているかどうかを確認します。

標準の(または、デフォルトの)セキュリティ・モデルでユーザーに対してコンテンツ・アイテムへのアクセス権が許可されるかどうかを判別するために、アクティブなデータが確認されます。これにより、セキュリティのカスタム実装では標準のセキュリティ・モデルがベースラインとして引き続き実行可能になります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

パラメータ

なし。

出力

- 現在のユーザーにコンテンツ・アイテムへのアクセス権がある場合、TRUEを返します。

- 現在のユーザーにコンテンツ・アイテムへのアクセス権がない場合、FALSEを返します。

例

ユーザーの権限レベルを、リクエストされたコンテンツ・アイテムと比較します。

<$stdSecurityCheck()$>

strCenterPad()

文字列の両サイドに同等のスペースを埋め込みます。文字列のそれぞれのサイドに同数のスペースを追加して、文字列が少なくとも指定された長さになるようにします。必要に応じて、文字列の長さに1文字が追加されます。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは文字列長です。

出力

両サイドにスペースを加えた文字列を返します。

例

フォーム<space><space>inf<space><space>を使用して、それぞれのサイドに同数のスペースを埋め込み、7文字の長さの文字列を作成します。

<$strCenterPad("inf", 7)$>

フォーム<space><space><space>inf<space><space><space>を使用して、それぞれのサイドに同数のスペースを埋め込み、9文字の長さの文字列を作成します。

<$strCenterPad("inf", 8)$>

フォーム<space><space><space>inf<space><space><space>を使用して、それぞれのサイドに同数のスペースを埋め込み、9文字の長さの文字列を作成します。

<$strCenterPad("inf", 9)$>

strCommaAppendNoDuplicates()

この関数は、既存の文字列に新しいトークンを追加します。カンマ1つと新しいトークンを加えた文字列が返されます。文字列にトークンがすでに存在している場合、トークンは追加されません。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータはトークンです。

例

<$myString = strCommaAppendNoDuplicates(myString, "A")$>
<$myString = strCommaAppendNoDuplicates(myString, "B")$>
<$myString = strCommaAppendNoDuplicates(myString, "C")$>
<$myString = strCommaAppendNoDuplicates(myString, "A")$>
<$myString = strCommaAppendNoDuplicates(myString, "B")$>

strConfine()

文字列を最大長に制限し、必要に応じてパディングを追加します。

文字列が指定された長さと等しいか、それより短い場合は、影響を受けません。

文字列が指定された長さよりも長い場合は短縮され、指定された長さに等しくなるように3つのパディング文字が追加されます。パディングに使用する文字は、StrConfineOverflowChars変数を変更することによって指定できます。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは最大文字列長です。

出力

文字列を返します。

例

文字列を制限し、フォームin<dot><dot><dot>を使用して3つのパディング文字(ドット)を追加し、5文字の長さの文字列を作成します。

<$strConfine("inform", 5)$>

文字列を制限し、フォームi<dot><dot><dot><dot>を使用してパディング文字(ドット)を追加し、5文字の長さの文字列を作成します。

<$strConfine("i", 5)$>

文字列を最大10文字の長さに制限して、この6文字の文字列が影響を受けないようにします。

<$strConfine("inform", 10)$>

文字列を最大6文字の長さに制限して、この6文字の文字列が影響を受けないようにします。

<$strConfine("inform", 6)$>

関連項目

- StrConfineOverflowChars

StrConfineOverflowChars

文字列のパディング文字を定義します。

strConfine Idoc Script関数によってパディング用に使用される文字を定義します。

デフォルトはピリオド(ドット)です。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.22項「文字列」

場所

IntradocDir/config/config.cfg

例

構成エントリとしての使用例:

StrConfineOverflowChars=.

関連項目

- strConfine()

strEquals()

2つの文字列が、大/小文字の区別も含めて同等であるかどうかを確認します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは、最初のパラメータと比較される文字列です。

出力

- 文字列が同等である場合、TRUEを返します。

- 文字列が同等でない場合、FALSEを返します。

例

文字列が同等であるかどうかを評価して、TRUE (1)を返します。

<$strEquals("Home","Home")$>

文字列が同等であるかどうかを評価して、FALSE (0)を返します。

<$strEquals("home","Home")$>

関連項目

- regexMatches()

- regexReplaceAll()

- regexReplaceFirst()

- strEquals()

strEqualsIgnoreCase()

2つの文字列が、大/小文字の区別を含めないで同等であるかどうかを確認します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは、最初のパラメータと比較される文字列です。

出力

- 文字列が同等である場合、TRUEを返します。

- 文字列が同等でない場合、FALSEを返します。

例

文字列が同等であるかどうかを評価して、TRUE (1)を返します。

<$strEqualsIgnoreCase("home","Home")$>

文字列が同等であるかどうかを評価して、FALSE (0)を返します。

<$strEqualsIgnoreCase("home","page")$>

関連項目

- strEquals()

strGenerateRandom()

この関数は、16進文字のランダム文字列を生成します。lengthパラメータによって指定された数の文字を出力します。長さが指定されていない場合は、16文字がデフォルトになります。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

パラメータとして文字列の長さを取ります。

strIndexOf()

文字列が別の文字列の部分文字列であるかどうかを判別します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは、使用可能な部分文字列です。

出力

- 2番目の文字列が最初の文字列の部分文字列である場合は、最初の文字列内で部分文字列が始まる箇所を示した索引値を返します。最初の文字の索引値は 0です。

- 2番目の文字列が最初の文字列の部分文字列でない場合は、-1の値を返します。

例

xyがxyzの部分文字列であるかどうかを評価して、索引値0を返します。

<$if strIndexOf("xyz","xy") >=0$> check for substring <$endif$>

yzがxyzの部分文字列であるかどうかを評価して、索引値-1を返します。

<$if strIndexOf("xyz","yz") >=0$> check for substring <$endif$>

abがxyzの部分文字列であるかどうかを評価して、索引値-1を返し、これが部分文字列ではないことを示します。

<$if strIndexOf("xyz","ab") >=0$> check for substring <$endif$>

strLeftFill()

文字列の左サイドに文字を充填して、文字列を指定された長さにします。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは充填文字です。

- 3番目のパラメータは長さです。

出力

必要に応じて指定された文字を左に充填した文字列を返します。

例

文字Zを左サイドの10個のスペースに充填して、文字列sleepをフォーマット化します。この例では、文字列ZZZZZsleepを返します。

<$strLeftFill("sleep",'Z',10)$>

文字列sleepを返します。

<$strLeftFill("sleep",'Z',4)$>

strLeftPad()

文字列の左に余分のスペースを埋め込んで、文字列を指定された長さにします。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは長さです。

出力

必要に応じてスペースを左に充填した文字列を返します。

例

フォーム<space><space>infを使用して左に余分なスペースを埋め込み、5文字の長さの文字列を作成します。

<$strLeftPad("inf", 5)$>

文字列informationを返します。

<$strLeftPad("information", 5)$>

strLength()

文字列の長さを評価します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

整数値を返します。

例

文字列homeの長さを評価して、整数4を返します。

<$strLength("home")$>

strLower()

文字列をすべて小文字でフォーマット化します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

すべて小文字の文字列を返します。

例

文字列Homeを評価して、homeを返します。

<$strLower("Home")$>

strRemoveWs()

文字列から空のスペースを削除します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

スペースのない文字列を返します。

例

文字列homeとして、文字列h o m eをフォーマット化します。

<$strRemoveWs("h o m e")$>

strReplace()

既存の部分文字列を別の部分文字列に置換します。

置換する部分文字列が複数存在する場合、それらはすべて新しい部分文字列に置換されます。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは、置換が実行される文字列です。

- 2番目のパラメータは、置換される部分文字列です。

- 3番目のパラメータは、既存の部分文字列を置換する部分文字列です。

出力

文字列を返します。

例

語classifiedをrestrictedに置換した結果、文字列This document is restrictedが生成されます。

<$strReplace("This document is classified.","classified","restricted")$>

日付のスラッシュをピリオドに置換して、フォーム6.20.2001の日付を生成します。

<$strReplace(formatDateOnly(dateCurrent()),"/",".")$>

strReplaceIgnoreCase()

既存の部分文字列を別の部分文字列に置換して、大/小文字を区別せずに検索を実行します。

置換する部分文字列が複数存在する場合、それらはすべて新しい部分文字列に置換されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは、置換が実行される文字列です。

- 2番目のパラメータは、置換される部分文字列です。

- 3番目のパラメータは、既存の部分文字列を置換する部分文字列です。

出力

文字列を返します。

例

<$hello = "Hello world! I love the world!"$>
<$strReplaceIgnoreCase(hello, "WORLD", "universe")$>

strRightFill()

文字列の右サイドに文字を充填して、文字列を指定された長さにします。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは充填文字です。

- 3番目のパラメータは長さです。

出力

必要に応じて指定された文字を右に充填した文字列を返します。

例

文字Zを右サイドの10個のスペースに充填して、文字列sleepをフォーマット化します。この例では、文字列sleepZZZZZを返します。

<$strRightFill("sleep",'Z',10)$>

文字列sleepを返します。

<$strRightFill("sleep",'Z',4)$>

strRightPad()

文字列の右に余分のスペースを埋め込んで、文字列を指定された長さにします。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは長さです。

出力

必要に応じてスペースを右に充填した文字列を返します。

例

フォームinf<space><space>を使用して右に余分なスペースを埋め込み、5文字の長さの文字列を作成します。

<$strRightPad("inf", 5)$>

文字列informationを返します。

<$strRightPad("information", 5)$>

strSubstring()

文字列から部分文字列を取得します。

最初の文字の索引値は0です。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

次の2つまたは3つのパラメータを取ります。

- 最初のパラメータは文字列です。

- 2番目のパラメータは、開始索引を表す数字です。

- 3番目のオプションのパラメータは、終了索引を表す数字です。

出力

部分文字列を返します。

- 終了索引パラメータが指定されている場合は、開始索引の文字で始まり、終了索引の前の文字で終わる部分文字列が返されます。

- 終了索引パラメータが指定されていない場合は、開始索引から文字列の終わりまでの部分文字列が返されます。

例

文字列の最初の2文字myを取得します。

<$strSubstring("mystring",0,2)$>

2番目の文字の後の文字列stringを取得します。

<$strSubstring("mystring",2)$>

関連項目

- regexReplaceAll()

- regexReplaceFirst()

strTrimWs()

文字列の最初と最後からスペースを削除します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

先行スペースまたは後続スペースのない文字列を返します。

例

文字列" homepage "を文字列homepageとしてフォーマット化します。

<$strTrimWs(" homepage ")$>

strUpper()

文字列をすべて大文字でフォーマット化します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

すべて大文字の文字列を返します。

例

文字列Homeを評価し、HOMEを返します。

<$strUpper("Home")$>

SysAdminAddress

システム管理者の電子メール・アドレスを定義します。

これは、ワークフロー内と、コンテンツ・サーバー・インスタンスから送信されるサブスクリプション通知電子メールで使用されるアドレスです。

文字列を返します。

デフォルト値はありません。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.24項「ユーザー」

- 第4.2.5項「コンテンツ・サーバー」

場所

- 「システム・プロパティ」、「インターネット」タブ、「管理者の電子メール・アドレス」

- 「管理」、「管理サーバー」、「インターネットの構成」メニュー・オプション、「管理者の電子メール・アドレス」

- IntradocDir/config/config.cfg

例

構成設定の使用例:

SysAdminAddress=admin@example.com

スクリプトとして、構成設定の値を返します。

<$SysAdminAddress$>

関連項目

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のMailServerに関する項

- 『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』のSmtpPortに関する項

TemplateClass

現在のページに対するテンプレートの分類を取得します。

この変数により、テンプレートのアイデンティティに基づいてテンプレートに条件付きコンテンツを作成できます。この変数をテンプレート・ページの中で使用して、サーバーにより配信されたページの配信元を判別します。

標準テンプレートの場合、この変数は、templates.hdaファイル内のIntradocTemplates表のclass列で定義されます。

検索結果テンプレートの場合、この変数はResultsに評価します。

レポート・テンプレートの場合、この変数はReportsに評価します。

動的サーバー・ページの場合、この変数は通常はIdcDynamicFileです。

タイプおよび使用方法

- 第4.1.6.1項「テンプレート読取り専用変数」

- 第4.2.16.項「ページ表示」

- 第4.2.23項「テンプレート」

出力

文字列を返します。

例

このマークアップでは、テンプレート情報の表がページに表示されます。

<TABLE>
<TR><TD>Template Name</TD>
<TD><$TemplateName$></TD></TR>
<TR><TD>Template Class</TD>
<TD><$TemplateClass$></TD></TR>
<TR><TD>Template Type</TD>
<TD><$TemplateType$></TD></TR>
<TR><TD>Template File Path</TD>
<TD><$TemplateFilePath$></TD></TR>
</TABLE>

関連項目

- TemplateFilePath

- TemplateName

- TemplateType

TemplateFilePath

テンプレートの実際のロード元のパスを取得します。

この変数により、テンプレートのアイデンティティに基づいてテンプレートに条件付きコンテンツを作成できます。この変数をテンプレート・ページの中で使用して、サーバーにより配信されたページの配信元を判別します。

タイプおよび使用方法

- 第4.1.6.1項「テンプレート読取り専用変数」

- 第4.2.16.項「ページ表示」

- 第4.2.23項「テンプレート」

出力

文字列としてパスを返します。

例

このマークアップでは、テンプレート情報の表がページに表示されます。

<TABLE>
<TR><TD>Template Name</TD>
<TD><$TemplateName$></TD></TR>
<TR><TD>Template Class</TD>
<TD><$TemplateClass$></TD></TR>
<TR><TD>Template Type</TD>
<TD><$TemplateType$></TD></TR>
<TR><TD>Template File Path</TD>
<TD><$TemplateFilePath$></TD></TR>
</TABLE>

関連項目

- TemplateClass

- TemplateName

- TemplateType

TemplateName

現在のページに対するテンプレートの内部名を取得します。たとえば、DOC_INFOまたはCHECKIN_NEW_FORMです。

この変数により、テンプレートのアイデンティティに基づいてテンプレートに条件付きコンテンツを作成できます。この変数をテンプレート・ページの中で使用して、サーバーにより配信されたページの配信元を判別します。

タイプおよび使用方法

- 第4.1.6.1項「テンプレート読取り専用変数」

- 第4.2.16.項「ページ表示」

- 第4.2.23項「テンプレート」

出力

文字列としてテンプレート名を返します。

例

このマークアップでは、テンプレート情報の表がページに表示されます。

<TABLE>
<TR><TD>Template Name</TD>
<TD><$TemplateName$></TD></TR>
<TR><TD>Template Class</TD>
<TD><$TemplateClass$></TD></TR>
<TR><TD>Template Type</TD>
<TD><$TemplateType$></TD></TR>
<TR><TD>Template File Path</TD>
<TD><$TemplateFilePath$></TD></TR>
</TABLE>

関連項目

- TemplateClass

- TemplateFilePath

- TemplateType

TemplateType

現在のページのテンプレート・タイプを指定します。

この変数により、テンプレートのアイデンティティに基づいてテンプレートに条件付きコンテンツを作成できます。この変数をテンプレート・ページの中で使用して、サーバーにより配信されたページの配信元を判別します。

標準テンプレートの場合、この変数は、templates.hdaファイル内のIntradocTemplates表のformtype列で定義されます。

検索結果テンプレートの場合、この変数は、templates.hdaファイル内のSearchResultTemplates表のformtype列で定義されます。

レポート・テンプレートの場合、この変数は、reports.hdaファイル内のIntradocReports表のdatasource列で定義されます。

動的サーバー・ページの場合、この変数はhcspまたはhcsfのいずれかです。

タイプおよび使用方法

- 第4.1.6.1項「テンプレート読取り専用変数」

- 第4.2.16.項「ページ表示」

- 第4.2.23項「テンプレート」

出力

文字列としてテンプレート・タイプを返します。

例

このマークアップでは、テンプレート情報の表がページに表示されます。

<TABLE>
<TR><TD>Template Name</TD>
<TD><$TemplateName$></TD></TR>
<TR><TD>Template Class</TD>
<TD><$TemplateClass$></TD></TR>
<TR><TD>Template Type</TD>
<TD><$TemplateType$></TD></TR>
<TR><TD>Template File Path</TD>
<TD><$TemplateFilePath$></TD></TR>
</TABLE>

関連項目

- TemplateClass

- TemplateFilePath

- TemplateName

toInteger()

文字列を整数に変換します。

注意:

文字列連結、文字列挿入、単純比較の場合は、第3.5.2項「特殊文字列演算子」に説明する文字列演算子を使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

整数値を返します。文字列が数字に評価されなかったり、整数以外に評価される場合は、エラーがスローされます。

例

文字列4を整数に変換して、値4を返します。

<$toInteger("4")$>

trace()

デバッグまたはトレース・メッセージのログをIsPageDebug出力に記録できるようにします。メッセージをコンソールまたはシステム・ログに出力することもできます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.9項「デバッグ」

パラメータ

1つの必須パラメータと2つのオプションのパラメータを取ります。

- 最初のパラメータは、出力されるメッセージです。この値は次のいずれかです。

- 文字列。文字列が唯一のパラメータとして渡される場合は、この関数を実行するためにIsPageDebug変数を設定する必要があります。文字列は累積デバッグ・トレースに追加されます。

- #local: 現在のすべてのローカル変数のダンプを準備します。

- #all: すべてのローカル・データ、ResultSetおよび環境データの完全なHDAダンプを準備します。

- 2番目の(オプションの)パラメータは、メッセージがリレーされる場所です。次の値が指定できます。

- #console: コンソールに表示します。

- #log: メッセージのログをHTMLログ・ファイルに記録します。

- 変数の名前(StatusMessageなど)。この場合、メッセージは現在の値に追加されます。

- 3番目の(オプションの)パラメータは適切なトレーシング・セクション用であり、場所パラメータが#consoleに設定されている場合のみ関連します。

例

次の例では、文字列messageが、常にログされるシステム・コンソールにログとして記録されます。

<$trace("message", "#console")$>

次の例では、文字列messageが、pagecreationトレーシング・セクションにあるシステム・コンソールにログとして記録されます。

<$trace("message", "#console", "pagecreation")$>

次の例では、文字列messageがHTMLコンテンツ・サーバーのログ・ファイルにログとして記録されます。

<$trace("message", "#log")$>

次の例では、すべてのローカル変数とその値がシステム・コンソールにダンプされます。

<$trace("#local", "#console")$>

次の例では、すべてのローカル変数、ResultSetおよび環境変数がシステム・コンソールにダンプされます。

<$trace("#all", "#console")$>

次の例では、すべてのデータが変数MyTraceDumpにダンプされ、あとでページに表示できます。これは、HCSP開発者がコンソール・ログの表示に際して適切なアクセス権を持っていない場合などに役立ちます。

<$trace("#all", "MyTraceDump")$>
<$MyTraceDump$>

関連項目

- IsPageDebug

UploadApplet

複数ファイルのアップロード・アプレットを有効にします。

重要:

この設定は、Uploadアプレットのカスタム・レガシー・バージョン専用です。標準のMultiUpload変数が有効になっているときには、これを有効にしないでください。

TRUEに設定した場合、アップロード・アプレットが有効になり、複数のファイルを1つのコンテンツ・アイテムとして圧縮してチェックインできるようになります。

FALSEに設定した場合、アップロード・アプレットは無効になります。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.5項「コンテンツ・サーバー」

- 第4.2.2項「クライアント」

場所

IntradocDir/config/config.cfg

例

構成設定として、アップロード・アプレットを有効にします。

UploadApplet=true

スクリプトとして、アップロード・アプレットの条件を評価します。

<$UploadApplet$>

関連項目

- DownloadApplet

- MultiUpload

url()

URLで使用するように文字列をフォーマット化します。

この関数は、空白と予約文字をエスケープ・シーケンスに変換します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

URLで使用するようにフォーマット化された文字列を返します。

例

文字列home pageをhome%20pageとしてフォーマット化します。

<$url("home page")$>

文字列home/pageをhome%2fpageとしてフォーマット化します。

<$url("home/page")$>

文字列home?pageをhome%3fpageとしてフォーマット化します。

<$url("home?page")$>

urlEscape7Bit()

この関数は、文字列パラメータのURLエンコード化バージョンを返します。これはurl関数と類似していますが、7ビット・クリーン(ASCII)以外の文字のみをエンコードします。したがって、この関数は同じ文字列上で繰り返しコールできます。

url関数を使用して文字列をダブル・エンコードする場合、すべての%文字は%25にエンコードされます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

URLで使用するようにフォーマット化された文字列を返します。

例

<$path = "mÿ fïlë.txt"$>
20fïlë.txt = <$url(path)$>
mÿ%2520fïlë.txt = <$url(url(path))$>
m%ff%20f%efl%eb.txt = <$urlEscape7Bit(url(path))$>
m%ff%20f%efl%eb.txt= <$urlEscape7Bit(urlEscape7Bit(url(path)))$>

関連項目

- url()

UseHtmlOrTextHighlightInfo

全文検索キーワードの強調表示が有効になっているかどうか、およびこのファイル形式(PDF、HTMまたはTXTなど)で強調表示がサポートされているかどうかを確認します。

EnableDocumentHighlightの設定がTRUEである場合、キーワードの強調表示は有効になっています。

タイプおよび使用方法

- 第4.1.2項「動的変数」

- 第4.2.20項「検索」

出力

- 強調表示が有効になっている場合、TRUEを返します。

- 強調表示が有効になっていない場合、FALSEを返します。

例

検索キーワードの強調表示ステータスを返します。

<$UseHtmlOrTextHighlightInfo$>

関連項目

- UseXmlUrl

- EnableDocumentHighlight

UserAccounts

現在のユーザーが割り当てられているアカウントのカンマ区切りリストを取得します。

- #noneエントリは、アカウントが割り当てられていないコンテンツ・アイテムに対する権限を示します。

- #allエントリは、すべてのアカウントに対する権限を示します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

文字列としてアカウント・リスト・タイプを返します。

例

次に例を示します。

UserAccounts=BOS,SEA,MSP/Gen

このマークアップでは、ユーザー変数がページに表示されます。

<$if UserName$>
Logon Name: <$UserName$><BR>
User Name: <$UserFullName$><BR>
E-mail Address: <$UserAddress$><BR>
Accounts: <$UserAccounts$><BR>
<$endif$>

UserAddress

現在のユーザーの電子メール・アドレスを取得します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.24項「ユーザー」

出力

文字列として電子メール・アドレスを返します。

例

このマークアップでは、ユーザー変数がページに表示されます。

<$if UserName$>
Logon Name: <$UserName$><BR>
User Name: <$UserFullName$><BR>
E-mail Address: <$UserAddress$><BR>
Default Account: <$UserDefaultAccount$><BR>
<$endif$>

UserAppRights

現在のユーザーのアプリケーション権利を確認します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

ユーザーの権利を指定するビット・フラグ番号を返します。

管理アプリケーション

ビット・フラグ

ユーザー管理

1

Webレイアウト・エディタ

2

リポジトリ・マネージャ

4

ワークフロー管理

8

構成マネージャ

16

Archiver

32

例

現在のユーザーのアプリケーション権利を表示します。

<$UserAppRights$>

たとえば、次のように組み合わせると次の番号が生成されます。

- ユーザー管理 + Webレイアウト・エディタ = 3

- リポジトリ・マネージャ + ワークフロー管理 + アーカイバ = 44

- 6つのアプリケーションすべて = 63

関連項目

- AdminAtLeastOneGroup

- UserIsAdmin

UserDefaultAccount

現在のユーザーのデフォルトのアカウントを取得します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

文字列としてアカウント名を返します。

例

このマークアップでは、ユーザー変数がページに表示されます。

<$if UserName$>
Logon Name: <$UserName$><BR>
User Name: <$UserFullName$><BR>
E-mail Address: <$UserAddress$><BR>
Default Account: <$UserDefaultAccount$><BR>
<$endif$>

UserFullName

現在のユーザーのフルネーム。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.24項「ユーザー」

出力

- 文字列としてユーザーのフルネームを返します。

- ユーザーがログインしていない場合は、文字列anonymousを返します。

例

このマークアップでは、ユーザー変数がページに表示されます。

<$if UserName$>
Logon Name: <$UserName$><BR>
User Name: <$UserFullName$><BR>
E-mail Address: <$UserAddress$><BR>
Default Account: <$UserDefaultAccount$><BR>
<$endif$>

userHasAccessToAccount()

ユーザーが特定の権限レベルで名前付きアカウントへのアクセス権を持っている場合、この関数はTRUEを返します。権限は、次のようにアクセス・レベルを1文字で表記したものです。

- R: 読取り。1として指定されます。

- W: 書込み。2として指定されます。

- D: 削除。4として指定されます。

- A: 管理。8として指定されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータはアカウント名です。

- 2番目のパラメータは、確認されるアクセス・レベルです。

出力

- 現在のユーザーに指定されたアクセス権がある場合、TRUEを返します。

- ユーザーに指定されたアクセス権がない場合、FALSEを返します。

例

ユーザーが指定されたアカウントの読取りアクセス権を持っているかどうかを評価します。

<$userHasAccessToAccount("profile_account", 1)$>

ユーザーが指定されたアカウントの読取りおよび書込みアクセス権を持っているかどうかを評価します。

<$userHasAccessToAccount("profile_account", 3)$>

userHasGroupPrivilege()

ユーザーが指定されたグループに対して指定された権限を持っている場合、TRUEを返します。権限は、次のようにアクセス・レベルを1文字で表記したものです。

- R: 読取り

- W: 書込み

- D: 削除

- A: 管理

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

パラメータ

次の2つのパラメータを取ります。

- 確認されるセキュリティ・グループ。

- 確認されるアクセス・レベル。

出力

- 現在のユーザーに指定されたアクセス権がある場合、TRUEを返します。

- ユーザーに指定されたアクセス権がない場合、FALSEを返します。

例

ユーザーが指定されたロールを持っているかどうかを評価します。

<$userHasGroupPrivilege("Public", "R")$>
<$userHasGroupPrivilege("Secure", "A")$>

userHasRole()

現在のユーザーが特定のロールを持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

パラメータ

唯一のパラメータは、ロールの名前です。

出力

- 現在のユーザーが指定されたロールを持っていない場合、TRUEを返します。

- ユーザーが指定されたロールを持っていない場合、FALSEを返します。

例

ユーザーが指定されたロールを持っているかどうかを評価します。

<$userHasRole("admin")$>

UserIsAdmin

現在のユーザーが管理アプレットの権利を持っているかどうかを確認します。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

- ユーザーが管理権を持っている場合、TRUEを返します。

- ユーザーが管理権を持っていない場合、FALSEを返します。

例

ユーザーの管理権を評価します。

<$UserIsAdmin$>

関連項目

- AdminAtLeastOneGroup

- UserAppRights

UserLanguageID

ユーザーの優先言語を表す2文字のコード(たとえば、enは英語、frはフランス語、jaは日本語)を返します。

これは、ローカライズ・コンテンツのURLを構成する場合に役立ちます。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.15項「ローカライズ」

出力

優先言語のコードを返します。

UserLocaleId

ユーザーのロケールのフルネーム(たとえば、English-US、English-UK、Japaneseなど)を返します。

ロケールには、言語、日付、数値フォーマットに関する情報が含まれています。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.2.15項「ローカライズ」

出力

優先言語の名前を返します。

UserName

現在のユーザーのユーザー名を取得します。

タイプおよび使用方法

- 第4.1.6項「読取り専用変数」

- 第4.2.24項「ユーザー」

出力

- 文字列としてユーザー名を返します。

- ユーザーがログインしていない場合は、文字列anonymousに評価します。

例

このマークアップでは、ユーザー変数がページに表示されます。

<$if UserName$> Logon Name: <$UserName$><BR>
User Name: <$UserFullName$><BR>
E-mail Address: <$UserAddress$><BR>
Default Account: <$UserDefaultAccount$><BR>
<$endif$>

UserRoles

現在のユーザーが属しているロールのカンマ区切りリストを取得します。

タイプおよび使用方法

- 第4.1.6.2項「ユーザー読取り専用変数」

- 第4.2.21.1項「内部セキュリティ」

- 第4.2.24項「ユーザー」

出力

文字列としてユーザー・ロール・リストを返します。

例

次に例を示します。

PublicContributor,ClassifiedConsumer

ユーザー・ロールのリストを参照します。

<$if UserRoles$>
<$include optional_field$>
<$endif$>

UseSSL

Secure Sockets Layer (SSL)を有効にします。

- この設定は、変数HttpWebRootおよびHttpCgiPathに影響します。

- SSL対応のWebサーバーを使用している場合のみ、Secure Sockets Layerを使用します。

- TRUEに設定した場合、SSL (httpではなくhttps)が使用されます。

デフォルトはFALSEです。

タイプおよび使用方法

- 『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』に説明する構成変数。

- 第4.2.21.2項「外部セキュリティ」

- 第4.2.25項「Webサーバー」

場所

- 「システム・プロパティ」、「インターネット」タブ、「Secure Sockets Layerの使用」

- IntradocDir/config/config.cfg

例

構成設定として、SSLを有効にします。

UseSSL=true

スクリプトとして、構成設定の値を返します。

<$UseSSL$>

関連項目

- HttpCgiPath

- HttpWebRoot

UseXmlUrl

検索キーワードの強調表示がXMLドキュメントに対して有効になっているかどうかを確認します。TRUEに設定した場合、キーワード検索の実行時にXML URLが構成されます。

タイプおよび使用方法

- 第4.1.1項「条件動的変数」

- 第4.1.6項「読取り専用変数」

出力

- XMLキーワードの強調表示が有効になっている場合、TRUEを返します。

- XMLキーワードの強調表示が有効になっていない場合、FALSEを返します。

例

XMLドキュメントに対する検索キーワードの強調表示のステータスを返します。

<$UseXmlUrl$>

関連項目

- UseHtmlOrTextHighlightInfo

- EnableDocumentHighlight

utGetValue()

指定されたパーソナライズ(ユーザー・トピック)ファイルからユーザー・プロパティの値を返します。

ユーザー・トピック・ファイルは、IntradocDir/data/users/profiles/us/username/ディレクトリに置かれているHDAファイルです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.17項「パーソナライズ」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、ユーザー・トピックHDAファイルの名前です。

- 2番目のパラメータは、ユーザー・トピック・ファイルで定義されたプロパティの名前です。

出力

指定されたユーザー・トピック・ファイルのプロパティの値を返します。

例

現在のユーザーのpne_portal.hdaファイルにあるemailFormatプロパティの値を返します。

<$utGetValue("pne_portal","emailFormat")$>

関連項目

- utLoad()

- utLoadResultSet()

utLoad()

パーソナライズ(ユーザー・トピック)ファイルをロードして、utGetValue関数とutLoadResultSet関数で使用できるようにします。

ユーザー・トピック・ファイルは、IntradocDir/data/users/profiles/us/username/ディレクトリに置かれているHDAファイルです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.17項「パーソナライズ」

パラメータ

唯一のパラメータは、ユーザー・トピックHDAファイルの名前です。

例

現在のユーザーのwf_in_queue.hdaファイルをロードして、他のユーザー・トピック関数が使用できるようにします。

<$utLoad("wf_in_queue")$>

関連項目

- utGetValue()

- utLoadResultSet()

utLoadDocumentProfiles()

コンテンツ・プロファイルに対するユーザーの現在のMy Check InリンクおよびMy Searchリンクに関する情報の取得に使用します。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.4項「コンテンツ・プロファイル」

パラメータ

次の2つのパラメータを取ります。

- ユーザー・トピック名。

- パーソナライズ・リンクでユーザーが使用できるコンテンツ・プロファイルが含まれているResultSetの名前。

例

<$utLoadDocumentProfiles("pne_portal", "PneDocumentProfiles")

関連項目

- loadDocumentProfile()

utLoadResultSet()

パーソナライズ(ユーザー・トピック)ファイルで指定されたResultSetをDataBinderにロードします。

ユーザー・トピック・ファイルは、IntradocDir/data/users/profiles/us/username/ディレクトリに置かれているHDAファイルです。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.17項「パーソナライズ」

- 第4.2.18項「ResultSet」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、ユーザー・トピックHDAファイルの名前です。

- 2番目のパラメータは、ユーザー・トピック・ファイルで定義されたResultSetの名前です。

出力

- ResultSetが正常にDataBinderにロードされた場合、TRUEを返します。

- 関数が失敗した場合、FALSEを返します。

例

SavedQueries ResultSetを、現在のユーザーのpne_portal.hdaファイルからDataBinderにロードします。

<$utLoadResultSet("pne_portal","SavedQueries")$>

関連項目

- utGetValue()

- utLoad()

valueStyle

メタデータ・フィールドの値のスタイルを指定します。

次のSPANスタイルは通常、値に使用します。これらは、WC_CONTENT_ORACLE_HOME/shared/config/resources/std_page.htmリソース・ファイルにあるstd_style_declarationインクルードで定義されます。

- tableEntry

- xxsmall

- strongHighlight

タイプおよび使用方法

- 第4.1.5.2.1項「フィールド情報変数」

- 第4.2.12項「フィールド表示」

出力

値スタイルの名前を返します。

例

値スタイルを設定します。

<$if isFieldInfoOnly$>
<$if valueStyle$>
<$fieldValueStyle = valueStyle$>
<$else$>
<$fieldValueStyle = "tableEntry"$>
<$endif$>
<$endif$>

Downloadアプレットが使用されるときに、フィールド値にxxsmallスタイルを使用します。

<$if useDownloadApplet$>
<$valueStyle="xxsmall", fieldValue = strTrimWs(inc("download_file_by_    applet_form_content"))$>
<$else$>
<$fieldValue = strTrimWs(inc("doc_file_get_copy"))$>
<$endif$>

関連項目

- fieldValueStyle

wfAction

現在リビジョンで実行されているアクションを取得します。

- この変数はワークフロー・ステップの終了イベント後に設定されるため、通常は次のステップの入力イベントの際に評価されます。

- 設定可能なアクションは、次のとおりです。

- APPROVE

- REJECT

- CHECKIN

- CONVERSION

- META_UPDATE

- TIMED_UPDATE

- RESUBMIT

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてアクションの名前を返します。

例

リビジョンが却下されている最中である場合、元の作成者に通知します。

<$if wfAction like "REJECT"$>
<$wfSet("wfJumpName", "notifyAuthor")$>
<$wfSet("wfJumpEntryNotifyOff", "0")$>
<$wfNotify(dDocAuthor, "user")$>
<$endif$>

リビジョンが現在承認中であっても、xDeptのメタデータ値がHRでない場合は、承認が終了して、エラー・ページが表示されます。

<$if wfAction like "APPROVE" and not(xDept like "HR")$>
<$abortToErrorPage("The revision is not in HR.")$>
<$endif$>

wfAddActionHistoryEvent()

イベントをワークフローのコンパニオン・データ内のWorkflowActionHistory表に挿入します。この関数には、3つのパラメータが必須です。行のその他の値は、計算されるか、ローカル・データから継承されます。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータはワークフロー・アクションです。

- 2番目のパラメータは、アクションに関連付けられたメッセージです。

- 3番目のパラメータは、現在のワークフロー・ステップのユーザーのカンマ区切りリストです。現在のリストを計算する関数については、wfComputeStepUserList()を参照してください。

関連項目

- wfComputeStepUserList()

wfAdditionalExitCondition

現在のステップに定義されている終了条件を取得します。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列として終了条件を返します。

例

IdcHomeDir/resources/core/templates/workflow_info.htmテンプレート・ページにある次のコードは、「ワークフロー・ステップ情報」ページでの終了条件の表示に使用します。

<$wfDisplayCondition(dWfName, currentStepName, "wfAdditionalExitCondition")$>

この変数の標準的な終了条件は、次のようになります。

dSecurityGroup like "Secure"

wfAddUser()

ワークフロー・ステップのレビューア・リストにユーザー、エイリアスまたはワークフロー・トークンを追加します。この関数はトークン内でのみ使用できます。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータはユーザー名、エイリアスまたはトークン名を指定します。

- 2番目のパラメータは、タイプとしてユーザーまたはエイリアスのいずれかを指定します。

例

ユーザーmjonesをレビューアとして追加します。

<$wfAddUser("mjones", "user")$>

元の作成者のトークンとhrエイリアスをレビューアとして追加します。

<$wfAddUser(dDocAuthor, "user")$>
<$wfAddUser("hr", "alias")$>

wfComputeStepUserList()

ワークフロー内の現在のステップからユーザーのリストを計算します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

出力

ユーザーのカンマ区切りリストを返します。

関連項目

- wfAddActionHistoryEvent()

wfCurrentGet()

コンパニオン・ファイルからローカル状態値を取得します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

唯一のパラメータはキーです。

出力

コンパニオン・ファイルからローカル状態値を返します。

例

ローカル・キー<step_name>@<workflow_name>.myKeyの値を返します。

<$wfCurrentGet("myKey")$>

関連項目

- wfGet()

wfCurrentSet()

コンパニオン・ファイルのキーのローカル状態値を設定します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータはキーです。

- 2番目のパラメータは値です。

例

キー<step_name>@<workflow_name>.myKey to myValueを設定します。

<$wfCurrentSet("myKey", "myValue")$>

関連項目

- wfSet()

wfCurrentStep()

現在のステップに関連するステップ名を取得します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

唯一のパラメータは、現在のステップに関連するステップ数を表す整数です。

出力

- ステップ名を返します。

- ワークフローの最初または最後に到達すると、それぞれ最初のステップ名または最後のステップ名を返します。

例

現在のステップ名を返します。

<$wfCurrentStep(0)$>

直前のステップ名を返します。

<$wfCurrentStep(-1)$>

次のステップ名を返します。

<$wfCurrentStep(1)$>

実際に次のステップに移動するには、次の例に示すようにジャンプを設定する必要があります。

<$wfSet("wfJumpName", "move to next step")$>
<$wfSet("wfJumpTargetStep", wfCurrentStep(1))$>
<$wfSet("wfJumpEntryNotifyOff", "0")$>

wfDisplayCondition()

ワークフロー・ステップの終了条件を取得します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の3つのパラメータをとります。

- 最初のパラメータはワークフロー名です。

- 2番目のパラメータはステップ名です。

- 3番目のパラメータは、表示される終了条件です。

出力

終了条件式を返します。

例

IdcHomeDir/resources/core/templates/workflow_info.htmテンプレート・ページにある次のコードは、「ワークフロー・ステップ情報」ページでの終了条件の表示に使用します。

<$wfDisplayCondition(dWfName, currentStepName, "wfAdditionalExitCondition")$>

ここで:

- dWfNameは、ワークフロー名の内部変数です。

- currentStepNameは、ステップ名の内部変数であるdWfNameと同等になるように、前もってテンプレート・ページに設定されます。

- wfAdditionalExitConditionは、終了条件式の内部変数です。標準的な終了条件の出力は、次のようになります。

dSecurityGroup like "Secure"

wfExit()

ワークフロー・ステップを終了します。この関数では、関数のパラメータに従ってワークフロー内の特定のステップにリビジョンを移動させ、親リスト情報をリセットします。ワークフローを完全に終了するには、wfExit(100,100)または、リビジョンが親ワークフローに戻った後でワークフロー内の最後のステップを確実に通過するパラメータを使用します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、巻き戻すジャンプ数を指定します。

- 2番目のパラメータは、最初のパラメータによって決定されたステップに対するターゲット・ステップを指定します。

例

ワークフロー内の親ステップに退出します。

<$wfExit(0,0)$>

直前のジャンプ・ステップに戻ります。

<$wfExit(1,0)$>

直前のジャンプ・ステップに戻って、ワークフロー内の次のステップに移動します。

<$wfExit(1,1)$>

wfGet()

コンパニオン・ファイルから状態値を取得します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

唯一のパラメータは状態キーです。

出力

コンパニオン・ファイルから状態値を返します。

例

現在のジャンプ名を返します。

<$wfGet("wfJumpName")$>

関連項目

- wfCurrentGet()

wfGetStepTypeLabel

この関数は内部ワークフローのステップタイプを取得し、判読可能なラベルに変換します。たとえば、:C:CA:CE:は3つの状態、:C: (コントリビューション)、:CA: (自動コントリビュートまたは元の作成者ステップ)および:CE: (リビジョンの編集)を示しています。このIdoc Script関数の適用後、ラベルがAuto Contributor, Edit Revisionになる場合があります。

指定可能な現在の状態は、次のとおりです。

状態

説明

:CA:

自動コントリビューション・ステップ、またはすべての管理者定義ワークフロー・ステップの前に発生するステップ(元の作成者がドキュメント却下を処理)。

:CE:

現在のリビジョンを編集します。すべての編集が現在のリビジョンに置き換わります。

:CN:

新規リビジョンを作成します。すべての編集によって新規リビジョンが作成されます。

:R:

レビューします。ドキュメントの承認または却下が可能です。

:C:

コントリビューション。ドキュメントの編集が可能です。

ワークフローのドキュメント・ステップの状態には、そのステップに対してtrueであるすべての状態が、複数の値をコロン(:)で区切って(余分のコロンは削除されます)1つのフィールドとして結合されて指定されています。したがって、新規リビジョンを作成するコントリビュータ/レビューアのステップには、状態:R:C:CE:が指定されます。順序は関係ありませんが、:C:は、 :CE:の存在によって推定できる場合であっても、存在している必要があります(ステップがコントリビュータ・ステップであることも含意しています)。値:C:は現在のワークフロー・ステップの機能を正確に表し、コンテンツ・サーバーは含意のルール(:CE: -> :C:)を追求しないため、ワークフロー・ステップではコア・コントリビュータ・タイプのアクティビティ(チェックアウトまたはチェックアウトを元に戻すなど)が許可されないという文により、コンテンツ・サーバー・システムは、:C:は存在しないものと判断します(:CE:が存在している場合でも)。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

パラメータ

唯一のパラメータは、内部ワークフロー・ステップのタイプの値です。

例

<$wfGetStepTypeLabel(stepType)$>

wfIsFinishedDocConversion()

現在のアクションの終了後にドキュメントがGENWWWにないかどうかを示します。

このIdoc Script関数がtrueを返した場合、変換プロセスが終了して、コンテンツ・アイテムはGENWWWに存在しなくなります。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

出力

- ドキュメントの変換が終了している場合、TRUEを返します。

- コンテンツ・アイテムがまだGENWWWにあり、変換が終了していない場合、FALSEを返します。

例

<$wfIsFinishedDocConversion()$>

wfIsNotificationSuppressed()

このワークフローが現在、特定のワークフロー・イベントに対してすべてのワークフロー通知を抑止している場合、TRUEを返します。現在のアクションが終了するまで、またはwfSetSuppressNotification関数を使用して通知が再有効化されるまで、キュー内のワークフローと電子メールへの通知も抑止の対象となります。

通知の抑止は一時的なものです。後続のワークフロー・アクションに対して通知が有効になっていたり、存続が許可されている場合、現在のステップ用に送信されていない通知がすべて送信され、キュー内のワークフローは適宜更新されます。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

出力

- 通知が抑止されている場合、TRUEを返します。

- 通知が抑止されていない場合、FALSEを返します。

例

<$wfIsNotificationSuppressed()$>

関連項目

- wfSetSuppressNotification()

wfIsReleasable()

ドキュメントが、ワークフローに関するかぎり、リリースされるかどうかを示します。ドキュメントがまだGENWWにあるかDONEになっている場合でも、このIdoc Script関数がtrueを返す場合、ワークフローはドキュメントのリリースを妨げません。falseが返される場合、ドキュメントはワークフローからリリースするように許可されるまでリリースされません。このIdoc Script関数はパラメータを取りません。存在している可能性のあるすべてのドキュメント情報のアクティブなリリース状態値を評価します(Idoc Scriptの条件では、#active.dReleaseStateが値Eではないかどうかを確認します)。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

出力

- ドキュメントがリリース可能である場合、TRUEを返します。

- コンテンツ・アイテムがリリース可能でない場合、FALSEを返します。たとえば、コンテンツ・アイテムがチェックイン・プロセスおよび変換プロセス(または、その一方)を完了していない場合があります。

例

<$wfIsReleasable()$>

wfJumpEntryNotifyOff

ジャンプ開始通知のオンとオフを切り替えます。

- この変数がTRUEの場合、ジャンプの開始時にレビューアに通知されません。

- この変数がFALSEの場合、ジャンプの開始時にレビューアに通知されます。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

TRUEまたはFALSEを返します。

例

次のコードでは、ステップ開始通知が0に設定されます。これは、ジャンプに入ると即時にレビューアに通知されることを意味します。

<$wfSet("wfJumpEntryNotifyOff","0")$>

wfJumpMessage

ジャンプに入ったときにユーザーに送信される通知電子メールに含まれるメッセージを定義します。

- メッセージが指定されていない場合、電子メールのメッセージには電子メール・テンプレートの情報のみが含まれます。

- ジャンプ・メッセージには、eval関数を使用して実行する必要のあるIdocスクリプトを含めることができます。次に例を示します。

<$eval(dDocName)$> is ready for your review.

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてメッセージを返します。

例

次のコードでは、ジャンプに入ると同時にユーザーに通知される電子メール・メッセージの中にメッセージThis is the message textが組み入れられます。

<$wfSet("wfJumpMessage","This is the message text")$>

関連項目

- eval()

wfJumpName

現在のジャンプの名前を取得します。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてジャンプ名を返します。

例

次のコードでは、現在のジャンプの名前をMyJumpに設定します。

<$wfSet("wfJumpName","MyJump")$>

wfJumpReturnStep

現在のジャンプの後でワークフローが終了すると同時にリビジョンが戻る親ワークフロー内のステップの名前を返します。

- この戻りステップは、リビジョンがジャンプ先であるワークフロー内の最後のステップを適切に完了し、ワークフローを通常に終了した場合のみ、適用されます。したがって、この戻りステップは、リビジョンが別のワークフローにジャンプするときには適用されません。

- コンパニオン・ファイルでは、戻りステップはローカル・キーに格納されます。

<step_name>@<workflow_name>.returnStep

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてステップ名を返します。

例

次のコードでは、戻りステップを親ワークフロー内の次のステップとして設定します。

<$wfSet("wfJumpReturnStep",wfCurrentStep(1))$>

wfJumpTargetStep

条件が満たされた場合にリビジョンがジャンプするステップの名前を取得します。

ターゲット・ステップは、シンボルを使用して(wfCurrentStep(1)など)、または明示的に(MyStep@MyWorkflowなど)参照できます。ステップ・イベント・スクリプトではシンボルによる参照を使用することを強くお薦めします。こうすることで、スクリプトの変更と再使用が容易になります。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてステップ名を返します。

例

次のコードでは、ターゲット・ステップを明示的に設定します。ジャンプ条件が満たされた場合、リビジョンはMarketingワークフロー内のstep_1というステップにジャンプします。

<$wfSet("wfJumpTargetStep","step_1@Marketing")$>

次のコードでは、シンボルを使用してターゲット・ステップを設定します。ジャンプ条件が満たされた場合、リビジョンは現在のワークフロー内の最初のステップにジャンプします。

<$wfSet("wfJumpTargetStep",WfStart)$>

wfLoadDesign()

この関数は、ワークフローの既存ステップまたはワークフローの終了条件に関する情報の取得に使用します。

この関数はIntradocDir/data/workflow/design/workflowname.hdaファイルをロードして、ワークフローに関する設計情報が含まれているResultSetを返します。The workflownameの値はdWfName変数の値に対応しており、通常はワークフロー・ページ、電子メール・テンプレート、ジャンプ・スクリプトで使用できます。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

1つのパラメータとしてワークフローの名前を取ります。

出力

ResultSetとして情報を返します。

例

<$wfLoadDesign(WorkflowName)$>

wfMailSubject

ワークフローの電子メール通知の件名行を定義します。

件名行が指定されていない場合、電子メールでは、通知のタイプ(レビュー、却下またはワークフロー開始)に応じたデフォルトの件名が使用されます。

件名文字列にIdocスクリプトをインクルードすることができます。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列として件名行を返します。

例

元の作成者に件名行Content has been releasedを使用して通知します。

<$wfMailSubject="File <$dDocName$> has been released"$>
<$wfNotify(dDocAuthor, "user")$>

関連項目

- wfNotify()

- wfMessage

wfMessage

ワークフローの電子メール通知に含まれるメッセージを定義します。

メッセージが指定されていない場合、電子メールでは、通知のタイプ(レビュー、却下またはワークフロー開始)に応じたデフォルトのメッセージが使用されます。

メッセージ文字列にIdocスクリプトをインクルードすることができます。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列としてメッセージを返します。

例

元の作成者にメッセージContent has been releasedを使用して通知します。

<$wfMessage="File <$dDocName$> has been released"$>
<$wfNotify(dDocAuthor, "user")$>

関連項目

- wfNotify()

- wfMailSubject

wfNotify()

指定されたユーザー、エイリアスまたはワークフロー・トークンに電子メール・メッセージを送信します。

変数wfMailSubjectおよびwfMessageを設定して、通知メッセージをカスタマイズすることができます。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

2つのパラメータと、3番目として1つのオプションのパラメータを取ります。

- 最初のパラメータは、通知の対象となるユーザー名、エイリアスまたはトークンを指定します。

- 2番目のパラメータは、タイプとしてユーザー、エイリアスまたはトークンのいずれかを指定します。

- オプションの3番目のパラメータは、メッセージの作成に使用する電子メール・テンプレートの名前を指定します。(テンプレートの定義については、IdcHomeDir/resources/core/templates/templates.hdaファイルを参照してください。)

例

元の作成者に通知します。

<$wfNotify(dDocAuthor, "user")$>

IdcHomeDir/resources/core/templates/reject_mail.htmファイルをテンプレートとして使用して、myAliasエイリアス内のすべてのユーザーに通知します。

<$wfNotify("myAlias", "alias", "WF_REJECT_MAIL")$>

関連項目

- wfMailSubject

- wfMessage

wfParentList

これまでにリビジョンがアクセスしたワークフロー・ステップのリスト(親リスト)を取得します。これにより、ジャンプが発生した場所と、エラー、却下または終了時のステップの巻き戻し方法をシステムに通知します。

この変数は条件文の作成に使用できますが、ハードコード化したり変更したりしないようにしてください。

エラー、却下または終了によって親リストが巻き戻された場合はステップがリストから削除されるため、親リストは完全なステップ履歴を反映していないことがあります。

親リストはグローバルであり、ステップ名でローカライズされることはありません。

親リスト内のステップは、最新のステップを最初にして表示されます。ステップはシャープ記号(#)で区切られています。ステップ名の前にあるアスタリスク(*)は、ジャンプ・ステップであることを示します。次に例を示します。

Step_B@Workflow_2#*Step_A@Workflow_2#Step_1@Workflow_1

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

出力

文字列として親リストを返します。

例

親リストの使用法の1つとして、ワークフロー・スクリプトのテスト中にコンテンツ・アイテムによってアクセスされるジャンプをシミュレートすることができます。たとえば、「テスト」タブまたは「スクリプトの編集」画面でコンテンツ・アイテムを選択して、「アイテムのワークフロー状態のロード」をクリックすると、次の行が生成されます。

wfParentList=step_1@Marketing#contribution@Marketing

wfReleaseDocument

現在ワークフローによってロックされているドキュメントについて、ワークフローにすべての未処理のドキュメント・リビジョンをリリースさせます。このようにリリースされたリビジョンは索引作成エンジンによって自由に評価できるため、リリースされたリビジョンの1つを全文索引作成することもできます。

この関数は、ワークフロー・イベント全体を実行するワークフロー・ステップをIdoc Scriptで評価するというコンテキストでのみ使用できます。ドキュメントがワークフローによってすでにリリースされている場合、この関数は効果を発揮しません。この関数でドキュメントがワークフローを終了することはありません。

ドキュメントに対して作成された新規リビジョンはすべて、「ロックされた」(リリース不可の)状態に戻ります。つまり、この関数は現在のリビジョンをリリースしますが、新規に作成されるリビジョンには適用されません。この関数はパラメータを取らず、結果を返すことはありません。これは、現在アクティブなワークフロー・ドキュメントに作用します。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

例

<$wfReleaseDocument()$>

wfSet()

コンパニオン・ファイルに特定の値のキーを設定します。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータはキーです。

- 2番目のパラメータは値です。

例

キーwfJumpNameをMyJumpに設定します。

<$wfSet("wfJumpName", "MyJump")$>

関連項目

- wfCurrentSet()

wfSetSuppressNotification()

ワークフロー通知が現在のアクション(チェックイン、更新、再送信など)の実行時に送信されるかどうかを示す内部フラグを設定します。

この抑止は、電子メールおよびキュー内のワークフローの更新に適用されます。この関数のもう1つの使用法として、ドキュメントの変換が終了するまでワークフロー通知を抑止することができます。これにより、ドキュメントの変換終了時にドキュメントが自動コントリビュータ・ワークフローのステップを越えないようにすることができます。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

1つのパラメータとして内部フラグを取ります。1 (TRUE)に設定した場合、通知が抑止されます。0 (FALSE)に設定した場合、通知は抑止されません。

例

<$wfSetSuppressNotification(1)$>

関連項目

- wfIsNotificationSuppressed()

WfStart

リビジョンを現在のワークフローの最初のステップに送信します。この変数は大文字のWで始まることに注意してください。

タイプおよび使用方法

- 第4.1.8.2項「ワークフロー変数」

- 第4.2.26項「ワークフロー」

例

ジャンプのターゲット・ステップがワークフローを再開するように設定します。

<$wfSet("wfJumpTargetStep",WfStart)$>

wfUpdateMetaData()

ワークフローの現在のコンテンツ・アイテム・リビジョンのメタデータ値を定義します。

wfUpdateMetaData関数は、カスタム・メタデータ・フィールドの更新のみに使用できます。この関数を使用して、標準の、事前定義フィールドを更新することはできません。

タイプおよび使用方法

- 第4.1.8.1項「ワークフロー関数」

- 第4.2.26項「ワークフロー」

パラメータ

次の2つのパラメータを取ります。

- 最初のパラメータは、メタデータ・フィールドの名前です。

- 2番目のパラメータは、メタデータ・フィールドの値です。

例

「コメント」フィールドの値として「This is my comment.」を定義します。

<$wfUpdateMetaData("xComments", "This is my comment.")$>

xml()

XMLで使用するように文字列をフォーマット化します。

この関数は、英数字以外の文字を、文字を表す適切なXMLシーケンスに置換します。たとえば、アンパサンド"&"文字は"&amp;"シーケンスに置換されます。

文字列の中に二重引用符文字を使用する場合、バックスラッシュ"\"を二重引用符の前に付けてそれを文字として表示する必要があります。エスケープ・フラグとしてバックスラッシュを使用しない場合、二重引用符は文字列の終わりとして解釈されます。

タイプおよび使用方法

- 第4.1.4項「グローバル関数」

- 第4.2.22項「文字列」

パラメータ

唯一のパラメータは文字列です。

出力

URLで使用するようにフォーマット化された文字列を返します。

例

アンパサンドをエスケープして、XMLフォーマットの文字列「Me &amp; you」を返します。

<$xml("Me & you.")$>

英数字以外の文字をエスケープして、XMLフォーマットの文字列「Test the &quot;, &gt;, and &lt; characters」を返します。

<$xml("Test the \", >, and < characters.")$>

B Webサイトの構築

この付録では、Webレイアウト・エディタおよびそれを使用したWebサイトの構築方法について説明します。

この章では、次の項目について説明します。

- B.1項「Webサイトの計画」

- B.2項「Webページの使用」

- B.3項「Webページの管理」

- B.4項「レポートの使用」

- B.5項「問合せの書込み」

B.1 Webサイトの計画

Webサイトの計画は管理者が担当します。Webレイアウト権限があるサブ管理者はグループとアカウントのディレクトリ・ページを作成できます(そのグループとアカウントに対する権限がある場合)。

この項には、次の項目が含まれます。

- B.1.1項「Webレイアウト」

- B.1.2項「サイト構造と表示基準の定義」

- B.1.3項「タスク順序」

B.1.1 Webレイアウト

ホームページでは、ライブラリ(目次)リンクにWebレイアウトの最上位レベルが表示されます。Webレイアウトはすべてのアプリケーションに必要とはかぎりませんが、ファイルのグループ化とナビゲーションのための効果的な方法を提供します。Webレイアウトが作成されていない場合、「検索」機能で提供されるのは、コアとなるOracle WebCenter Content Server内のファイルに対するアクセスのみです。ただし、Site Studioのような他の製品、フォルダやカテゴリ化フォルダのような追加コンポーネントには、他のナビゲーション方法が用意されています。

アクティブ・レポートと履歴レポートは別の機能で、この項で後述します。Web表示可能ファイルの名前は常に小文字です。

図B-1に、サイト構築機能としてローカル・ページ、URLおよび問合せを使用したWebレイアウトの例を示します。

図B-1 Webレイアウトの例

ライブラリWebページで、これらの機能は、ファイル・フォルダ・アイコンの横にタイトルがあるリンクとして表示されます。問合せを表すフォルダをクリックすると、その問合せの基準と一致するファイルへの一連のリンクが生成されます。

B.1.2 サイト構造と表示基準の定義

Webサイトの構造は、Webレイアウト・エディタの「Web階層」ペインで定義します。次に、ユーザーがフォルダ(またはリンク)をクリックしたときに、特定のファイルを表示するための基準を定義します。各リンクに対する基準は、各ファイルのメタデータに基づいています。問合せを実行する以外に、リンクは、他のページのリンクにジャンプしてURLに進んだり、レポートを表示したりします。次の例は、リンクを設定してファイルを表示する方法を示しています。

- 例1: ユーザーがFormsという名前のリンクからエンジニアリング・フォームにアクセスできるように、構成マネージャを使用して、Formsという名前のコンテンツ・タイプを作成します。次に、Webレイアウト・エディタを使用して、問合せ「タイプはフォームに等しい」を作成します。
コンテンツ・タイプの作成方法の詳細。詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のコンテンツ・タイプの定義に関する項を参照してください。

- 例2: ユーザーが特定のStandard Work Proceduresにアクセスできるように、SWPというコンテンツ・タイプを作成し、問合せ「タイプはSWPに等しい」と、部分文字列が7200のコンテンツ名を作成します。

B.1.3 タスク順序

次の手順は、Webレイアウト・エディタを使用してWebサイトを作成する通常の順序を示しています。

1. 情報の収集。最初の手順では、ユーザーがどのようにして情報を直感的に取得するか、ユーザーにとって必要な情報とその検索方法に関する情報を収集します。これがセキュリティに与える影響に関する情報も収集します。

2. メタデータのカスタマイズ。必要に応じて、役立つと思われる追加フィールドを作成して、サイトのメタデータをカスタマイズします。
詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のリポジトリ・フィールドとメタデータのカスタマイズに関する項を参照してください。

3. コンテンツ・タイプの定義。サイトをサポートするコンテンツ・タイプを定義します。
詳細は、『Oracle Fusion Middleware Oracle WebCenter Contentのマネージング』のコンテンツ・タイプの定義に関する項を参照してください。

4. セキュリティ・グループ、ユーザーおよびロールの定義。セキュリティ・グループとユーザーを作成し、ユーザーにロールを割り当ててそのユーザーの権限を確立します(『Oracle Fusion Middleware Oracle WebCenter Contentの管理』で説明されています)。

5. Webサイトの定義。Webサイトのレイアウトを作成します。Webサイトには、ナビゲーションによってファイルを検索して表示できる構造が用意されていますが、これは必須ではありません。ファイルの検索にユーザーが検索エンジンのみを使用することを優先する企業もあれば、ナビゲーション構造と検索エンジンの両方の使用を優先する企業もあります。Webサイトを設計するには、最初に図B-2に示すようなWebサイト構造を描くことが役立ちます。

図B-2 Webサイト構造の例

B.2 Webページの使用

初期計画が完了した後は、Webサイトを構築してその機能を確定します。適切に実行されない場合や管理できない場合は、その機能を改訂します。自分とユーザーに役立つような設計ができるまでこのプロセスを続行します。

ページ上のリンクは、次のいずれかにジャンプします。

- ローカル・ページ

- URL

- 問合せ

- レポート

リンクはすべて類似しており、図B-3のローカル・ページに示すように、同じページに結合できます。

図B-3 ローカル・ページの例にあるリンク

ローカル・ページは、2つのタイプ(ディレクトリまたはレポート)のいずれかになります。ディレクトリのローカル・ページには、他のローカル・ページやURLを開いたり、問合せを実行するリンクを含めることができます。レポートのローカル・ページを作成できるのは管理者のみです。適切な権限がある管理者またはサブ管理者は、ディレクトリのローカル・ページを作成できます。

外部URLは指定したURL (Webアドレス)へのリンクです。イントラネットまたはインターネット上の任意のURLアドレスまたはWebページにリンクできます。

検索問合せでは、定義済の問合せの基準を満たしているファイルへのリンクが含まれたページが生成されます。このページはコンテンツ検索の結果ページに類似しています。

重要:

問合せでは、ページ・リンクがあるセキュリティ・グループ、アカウントまたはその両方を継承できます。セキュリティ・グループまたはアカウントが継承されている場合、そのセキュリティ・グループまたはアカウント内のファイルへの問合せは自動的に制限されます。

レポートはアクティブまたは履歴のいずれかです。アクティブ・レポートはファイル・フォルダ・リンクとして表示され、実行ごとにデータベース問合せが実行されて、現在の情報が表示されます。履歴レポートは、アクティブ・レポートと同様にファイル・フォルダ・リンクとして表示されますが、含まれているのは、その履歴レポートの最初の実行時に問い合せた情報です。データベース問合せはレポートを開くたびに実行されず、レポートが変更されるのはデータベースが更新された場合のみです。

B.3 Webページの管理

サブ管理者は、「オプション」メニューの「問合せ結果ページ」機能にアクセスできず、権限のないアプリケーションにもアクセスできません。さらに、サブ管理者の表示、編集および削除権限は、それぞれの項で説明するように制限されています。

- B.3.1項「新しいWebページの追加」

- B.3.2項「Webページのプロパティの編集」

- B.3.3項「ローカル・ページ・リンクの作成」

- B.3.4項「外部URLリンクの作成」

- B.3.5項「階層Webページ構造の編集」

B.3.1 新しいWebページの追加

Webレイアウトに新しいWebページを追加する手順は、次のとおりです。

1. 「Webページの階層」ペインで、「追加」をクリックします。
「Webページの追加」画面が開きます。

2. 新しいページに関する情報を入力します。

3. 「OK」をクリックします。

B.3.2 Webページのプロパティの編集

Webページのプロパティを編集する手順は、次のとおりです。

1. 「Webページの階層」ペインで、該当するページを選択します。

2. 「ページのプロパティ」ペインで、「編集」をクリックします。
「ページのプロパティの編集」画面が開きます。

3. 該当するプロパティを編集します。

4. 「OK」をクリックします。

B.3.3 ローカル・ページ・リンクの作成

ローカル・ページ・リンクを作成する手順は、次のとおりです。

1. 「Webページの階層」ペインで、新しいローカル・ページを配置するページを選択します。

2. 「ページ・リンク」ペインで、「追加」をクリックします。
「ページ・リンクの追加」画面が開きます。

3. 「ローカル・ページ」を選択して「OK」をクリックします。

4. 新しいローカル・ページに関する情報を「ローカル・ページ・リンクの編集」画面に入力します。

5. 終了後は、「OK」をクリックします。

B.3.4 外部URLリンクの作成

外部URLリンクを作成する手順は、次のとおりです。

1. 「Webページの階層」ペインで、新しいURLを配置するページを選択します。

2. 「ページ・リンク」ペインで、「追加」をクリックします。
「ページ・リンクの追加」画面が開きます。

3. 「外部URL」を選択して、「OK」をクリックします。

4. URLに関する情報を「外部URLの編集」画面に入力します。

5. 終了後は、「OK」をクリックします。

6. ブラウザをリフレッシュして、新しいページを表示します。

B.3.5 階層Webページ構造の編集

階層Webページ構造を編集する目的は、ページを挿入して、そのページを階層ページの新しい親にすることです。

次に例を示します。

1. 構造を作成します。

2. 「QSTest」ディレクトリを選択すると、ページ・リンクの「PCTest」も選択されます。

3. 「ページ・リンク」.の「削除」をクリックします。

4. 「索引」ディレクトリを選択して、「ページ・リンク」の「追加」を選択します。

5. 新しいページを作成します。

- ページに「NewEngPage」というタイトルをつけます。

- 「NewEngPage」の説明を入力します。

6. 「OK」をクリックします。
「Webページの階層」ペインに「NewEngPage」が開きます。

7. 「QSTest」を選択して、「ページ・リンク」の「追加」を選択します。

8. 「ローカル・ページ」を選択します。

9. 「OK」をクリックします。
これで、「NewEngPage」が「QSTest」の下に表示されます。

10. 「NewEngPage」を選択して、「ページ・リンク」の「追加」をクリックします。

11. 「ローカル・ページ」、「OK」を選択します。
ページ名が「PCTest」であることに注意してください。

「NewEngPage」には「PCTest」が子として入力され、「2ndTest」内の外部URLは保持されています。

次の画面に、この手順例で作成した階層Webページ構造を示します。

B.4 レポートの使用

この項には、次の項目が含まれます。

- B.4.1項「レポートについて」

- B.4.2項「アクティブ・レポートの定義」

- B.4.3項「履歴レポートの定義」

- B.4.4項「アクティブ・レポート内の問合せ式の編集」

B.4.1 レポートについて

Webレイアウト・エディタでは、2つのタイプのレポート(アクティブ・レポートと履歴レポート)を定義できます。

- アクティブ・レポートはファイル・フォルダ・リンクとして表示され、実行ごとにデータベース問合せが実行されて、現在の情報が表示されます。アクティブ・レポートを定義して、その問合せ式を編集できます。

- 履歴レポートは、アクティブ・レポートと同様にファイル・フォルダ・リンクとして表示されますが、含まれているのは、その履歴レポートの最初の実行時に問い合せた情報です。データベース問合せはレポートを開くたびに実行されず、レポートが変更されるのはデータベースが更新された場合のみです。履歴レポートの作成手順は、アクティブ・レポートの作成手順とほぼ同じです。唯一の違いは、「履歴レポートの作成」画面には、レポートの各ページに含めることができる行数を指定するための追加フィールド(「1ページ当たりの行数」)があることです。

B.4.2 アクティブ・レポートの定義

アクティブ・レポートを定義する手順は、次のとおりです。

1. Webレイアウト・エディタで、新しいWebページを追加し、ページ・タイプとして「アクティブ・レポート」を選択します。

2. Webレイアウト・エディタの「アクティブ・レポートの仕様」ペインで、「レポート問合せの編集」をクリックします。

3. 「アクティブ・レポート問合せの編集」画面に情報を入力して、問合せを定義します。

4. 「OK」をクリックします。

B.4.3 履歴レポートの定義

アーカイブ履歴レポートを準備する手順は、次のとおりです。

1. Webレイアウト・エディタで、新しいWebページを追加し、ページ・タイプとして「履歴レポート」を選択します。

2. Webレイアウト・エディタの「履歴レポートの定義」ペインで、「レポート・データの作成」をクリックします。

3. 「履歴レポートの作成」画面でレポート・データを作成するときは、データ・ソースに対して「アーカイブ履歴」を指定します。

4. レポートのための、取得するデータを戻す問合せを書き込みます。たとえば、コンテンツIDを指定します。

5. レポートに情報を指定した後は、「OK」をクリックします。

B.4.4 アクティブ・レポート内の問合せ式の編集

アクティブ・レポート内の問合せ式を編集する手順は、次のとおりです。

1. 「Webページの階層」ペインで、編集するレポートを選択します。

2. 「アクティブ・レポートの仕様」ペインで、「レポート問合せの編集」をクリックします。

3. 「アクティブ・レポート問合せの編集」画面の「問合せ式」ウィンドウで、編集する問合せ行を選択します。

4. 必要に応じて問合せを変更し、「更新」をクリックします。

注意:

「カスタム問合せ式」チェック・ボックスの選択を解除すると、式は元の定義に戻り、変更内容はすべて失われます。

5. 「OK」をクリックします。問合せが指定されていない場合は、すべての値が戻されます。

B.5 問合せの書込み

この項には、次の項目が含まれます。

- 問合せリンクの作成

- 問合せリンク内の問合せ式の編集

- 問合せ結果ページの追加

- 問合せ結果ページの編集

- 問合せ結果ページの削除

問合せリンクを定義するときは、カスタムの問合せ式を書き込むことができます。カスタム問合せの書込みに使用する方法は、書き込む問合せの種類によって異なります。

ディレクトリのカスタム問合せを書き込むには、独自のスクリプト言語であるIdocスクリプトを使用します。レポート問合せは、SQLスクリプトとIdocスクリプトを使用して書き込むことができます。Idoc Scriptについては、『Oracle Fusion Middleware Oracle WebCenter Contentの構成リファレンス』で詳しく説明しています。基本的なSQLスクリプトの説明を次に示します。

注意:

SQL構文はデータベースによって異なります。異なるデータベースでは、ワイルドカードなどのアイテムに対して異なる構文が予想されます。特定の構文情報については、使用しているデータベースのマニュアルを参照してください。

SQLスクリプトには演算子が含まれており、問合せにある語句の間の論理的関係を示します。次の表に、基本的な演算子とその使用方法の一部を示します。

演算子

使用方法

AND

指定された語句を含むファイルを戻します。

OR

指定された語句を少なくとも1つ含むファイルを戻します。

=

等しい

<> or !

等しくない

<

より小さい

>

より大きい

<+

以下

>+

以上

IN

表内の位置を検索します。

BETWEEN

範囲内の値を検索します。

NOT

特定の条件が含まれているファイルを除外します。

SQLスクリプトの例は、次のとおりです。

- 内部リビジョンIDが50000未満のすべてのファイルを検索します。

dID < '50000'

- コンテンツIDが10000から50000までのすべてのファイルを検索します。

dDocName BETWEEN '10000' AND '50000'

B.5.1 問合せリンクの作成

問合せリンクを作成する手順は、次のとおりです。

1. 「Webページの階層」ペインで、新しい問合せリンクを配置するページを選択します。

2. 「ページ・リンク」ペインで、「追加」をクリックします。
「ページ・リンクの追加」画面が開きます。

3. 「問合せ」を選択して、「OK」をクリックします。
「問合せリンクの定義」画面が開きます。

4. 画面に情報を入力します。

5. 終了後は、「OK」をクリックします。

Idocスクリプト変数およびHTMLタグを「テキスト1」フィールドおよび「テキスト2」フィールドに追加するときは、その結果生成されるHTMLタグによって検索結果ページの表示に影響が及ぶ場合もあることに注意してください。詳細は、Oracle Fusion Middleware Oracle WebCenter Content構成リファレンスを参照してください。

B.5.2 問合せリンク内の問合せ式の編集

問合せリンク内の問合せ式を編集する手順は、次のとおりです。

1. Webレイアウト・エディタの「ページ・リンク」ペインで、編集する問合せを選択します。

2. 「編集」をクリックします。
「問合せリンクの定義」画面が開きます。

3. 問合せ式領域で、編集する問合せ行を選択します。

4. 必要に応じて、メタデータ、演算子、メタデータ値の各フィールドに変更を加えてから、「更新」をクリックします。

5. 「OK」をクリックします。

注意:

「カスタム問合せ式」チェック・ボックスの選択を解除すると、式は元の定義に戻り、変更内容はすべて失われます。

B.5.3 問合せ結果ページの追加

問合せ結果ページを追加するには、次の手順に従います。このタスクを実行できるのは管理者で、Webレイアウト権限があるサブ管理者は実行できません。

1. 「Webレイアウト・エディタ」メニューから「オプション」を選択し、次に「問合せ結果ページ」を選択します。
「問合せ結果ページ」画面が開きます。

2. 「追加」をクリックして、「結果表示用ページの追加」を表示します。

3. 新しいページに関する情報を入力します。「問合せ結果の追加」/「問合せ結果の編集」ページのフィールドの説明を確認します。

4. 「OK」をクリックします。

B.5.4 問合せ結果ページの編集

問合せ結果ページを編集するには、次の手順に従います。このタスクを実行できるのは管理者で、Webレイアウト権限があるサブ管理者は実行できません。

1. 「Webレイアウト・エディタ」メニューから「オプション」、「問合せ結果ページ」を選択し、次にそのページの名前を選択します。

2. 「編集」をクリックします。
「問合せ結果の追加」/「問合せ結果の編集」ページが開きます。

3. 必要な変更を加え、「OK」をクリックします。

B.5.5 問合せ結果ページの削除

問合せ結果ページを削除するには、次の手順に従います。このタスクを実行できるのは管理者で、Webレイアウト権限があるサブ管理者は実行できません。

1. 「Webレイアウト・エディタ」メニューから「オプション」、「問合せ結果ページ」を選択し、次にそのページの名前を選択します。

2. 「削除」をクリックします。

3. 要求された場合は、「OK」をクリックして削除を確認します。

C トラブルシューティング

この付録では、Oracle WebCenter Content Serverのカスタマイズに関する問題を解決するためのトラブルシューティング機能の使用方法について説明します。

この付録には、次の項が含まれます。

- C.1項「トラブルシューティング機能について」

- C.2項「サーバー・エラーの表示」

- C.3項「ページ・データの表示」

- C.4項「リソースのロードの監視」

C.1 トラブルシューティング機能について

使用時にコンテンツ・サーバー・ページを評価する場合に使用可能ないくつかのトラブルシューティング機能があります。

C.2 サーバー・エラーの表示

コンポーネント・ファイルや動的サーバー・ページに構文エラーなどの記述ミスがあると、コンテンツ・サーバーでエラーが発生する可能性があります。コンテンツ・サーバー・インスタンスでエラーが発生すると、次の場所にエラーが報告されます。

- コマンド・プロンプトからコンテンツ・サーバーを実行した場合は、コンソール・ウィンドウにエラーが表示されます。

- コンテンツ・サーバーにログインできる場合、「管理」メニューから、「ログ・ファイル」を選択し、次に「Content Serverログ」を選択します。
「コンテンツ・サーバーのログ・ファイル」ページに最近のログの一覧が表示されます。ログを開くにはクリックします。

- DomainHome/ucm/cs/weblayout/groups/secure/logsディレクトリにあるコンテンツ・サーバーのログ・ファイルを表示できます。

C.3 ページ・データの表示

IsJavaを設定すると、コンテンツ・サーバーWebページのローカル・データが表示されます。

- Webブラウザのアドレス・ボックスで、ページのURLの最後に次のコードを追加します。

&IsJava=1

- テンプレート・ページまたはインクルードで、次のコードを使用します。

<$IsJava=1$>

IsPageDebugを設定すると、コンテンツ・サーバーWebページで呼び出されるすべてのインクルードのツリー構造ビューが表示されます。Webページの下部にデバッグ・トレースが表示されます。

- Webブラウザのアドレス・ボックスで、ページのURLの最後に次のコードを追加します。

&IsPageDebug=1

- テンプレート・ページまたはインクルードで、次のコードを使用します。

<$IsPageDebug=1$>

ヒント:

サーバー全体に対して設定を適用する場合は、config.cfgファイルでIsPageDebug変数を設定することもできます。

- スクリプト・デバッグ・トレースにマーカーを配置するには、値を表示する箇所、またはステップを実行する箇所に次のコードを配置します。

<$trace("marker code")$>

たとえば、次のコードを使用して、現在のユーザー名をデバッグ・トレースに挿入できます(Idocスクリプトを評価するには、eval関数を使用する必要があります)。

<$trace(eval("The user name is <$UserName$>"))$>

IsJavaおよびIsPageDebugの詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

C.4 リソースのロードの監視

コマンドラインからコンテンツ・サーバーを実行すると、3つの構成設定を使用して、リソースのロード状況を表示できます。IntradocDir/config/config.cfgファイルで、次の変数のうち必要なものを1に設定します。

- TraceResourceLoadを1に設定すると、リソースのすべてのロード、オーバーライド、競合およびマージがログに記録されます。

- TraceResourceOverrideを1に設定すると、システム・リソースがコンポーネント・リソースによってオーバーライドされたり、コンポーネント・リソースが2回ロードされたりした場合に、そのイベントがログに記録されます。

- TraceResourceConflictを1に設定すると、システム・リソースがコンポーネント・リソースによって2回オーバーライドされた場合に、そのイベントがログに記録されます。

これらの構成設定の詳細は、『Oracle Fusion Middleware Oracle WebCenter Content構成リファレンス』を参照してください。

索引
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Z

記号

-演算子, 3.5.3, 3.5.3

#active, 3.4

#env, 3.4

#local, 3.4

%演算子, 3.5.3

&演算子, 3.5.2

*演算子, 3.5.3

*ワイルドカード, 3.5.2

+演算子, 3.5.3

?ワイルドカード, 3.5.2

|演算子, 3.5.2

A

abortToErrorPage, A

AboutBoxメソッド, IdcClient OCX, 29.2.5.1

アクセス・レベル属性, 18.2.7

アクセス番号, 32.3.3.2.3

サービスへのアクセス, 28

アカウント, 3.6.2.1

アクション形式, 18.2.7

アクション

制御マスク, 18.2.7

エラー・メッセージ, 18.2.7

name, 18.2.7

パラメータ, 18.2.7

サービス・リソース, 18.2.7.1.2

タイプ, 18.2.7

「アクション」列

アクション・メニュー・アイコン, 11.3

サービスResultSet, 18.2.7

「アクション」メニュー

カスタマイズ, 11.3

生成, 11.1

「アクション」列のアイコン, 11.3

概要, 11.1

activeキーワード, 3.4 アクティブ・レポート

定義, B.4.2

問合せ式の編集, B.4.4

概要, B.4.1

Active Server Pages

埋込みのSOAPリクエスト, 32.4.1

サービスの実行, 32.4

ActiveXコントロール, IdcClient OCX, 29.2.3.1 アクティビティ・メトリック

SQL問合せのカスタマイズ, 15.4

削減後の手順でのSQL問合せ, 15.4

ADD_USERサービス, 32.3.3.2 addEmptyOption, A ADF アプリケーション開発フレームワーク(ADF)を参照 AdminAtLeastOneGroup, A 管理インタフェース, 3.3.6 拡張コンポーネント・マネージャ

概要, 12.2.2

ページ, 12.2.2

AFBrandingBarLogo, 6.4.1.1 AFDefaultFont, 6.4.1.2 AfterLogin, A AllowCheckin, A AllowCheckout, A AllowReview, A アンパサンド&(amp;)演算子, 3.5.2 and演算子, 3.5.4 匿名ユーザー・インタフェース

カスタマイズ, 5.5

外部の顧客がログインなしで利用, 5.5

変更のためのExtranetLookコンポーネント, 5.5

Apache Jakarta Tomcat Server, 27.1 API, JCRアダプタのインストール, 31.2 アプレット, 1.1.1.2 アプリケーション開発フレームワーク(ADF)

JCRアダプタ用のインストール, 31.2.1

アーキテクチャ

Oracle WebCenter Content, 1.1, 2

WebDAV, 25.3.2.3

アーカイブ履歴レポート, B.4.3 アーカイバ, 3.3.6.4 アジアの言語, 12.1.3.1.1 ページのアセンブル, 1.5.3 アセンブリのプロパティ, 18.2.2.3.2 アスタリスク(*)ワイルドカード, 3.5.2 属性

ClientControlledContextValue, 29.2.6.1

HostCgiUrl, 29.2.6.2

name, 32.3.3.2.3

Password, 29.2.6.3

サービス・リソース, 18.2.7.1.1

タイプ, 32.3.3.2.3, 32.3.3.3.3

UseBrowserLoginPrompt, 29.2.6.4

UseProgressDialog, 29.2.6.5

UserName, 29.2.6.6

WorkingDir, 29.2.6.7

対象読者, はじめに 作成者, 3.6.2.1 AuthorAddress, A AuthorDelete, A AutoNumberPrefix, A

B

Backメソッド, IdcClient OCX, 29.2.5.2

バッチ・ローダー・ユーティリティ, 1.1.1.2, 3.3.6.3, 4.2.1

バッチ・モード, 16, 16.1

BatchLoaderPath, A

開始フォーム・セクション, 7.2.4.3.1

動作, コンテンツ・サーバー, 2

binディレクトリ, 1.1.1.2

複数のリクエスト用のバインダ, 再利用, RIDC, 30.8

バインディング要素, WSDLファイル構造, 32.5.1.1

ブール演算子, 3.5.4

ブランド・バー・ロゴ, カスタマイズ, 6.4.1.1

break, 3.3.5.5, A

ブラウザ, 複数, 1.4

BrowserVersionNumber, A

Webサイトの構築, B

ファイルのバンドル, 5.8.1

フィルタの順序, 5.8.1

概要, 5.8

PublishedBundles表, 5.8.1

ボタン, フォーム, 7.2.4.3.4

C

c, A

-c connection_mode

自動, 28.2.2.4

サーバー, 28.2.2.4

スタンドアロン, 28.2.2.4

C#クラス・ファイル, 32.5.4 キャッシュ設定, JCRアダプタ, 31.4.6 cacheInclude, A リソースのキャッシング, 1.5.2 リモートでのサービスのコール, 28.4 CancelRequestメソッド, IdcClient OCX, 29.2.5.3 captionEntryWidth, A captionFieldWidth, A カスケード・スタイルシート(CSS)

カスタマイズ, 1.4

wcc-skin.css, 6.4.1.3

wcc-styles.css, 6.4.1.3

「分類」ボタン, 16, 16.1 CFGファイル, 18.2.9 CgiUrlテキスト・ボックスのプロパティ, 編集後, 29.2.3.2 文字, 特殊, コマンド・ファイルの構文, 28.2.1.3 CHECKIN_UNIVERSALサービス, WSDL, 32.3.3.6 CheckIn.wsdlファイル, 32.5.1 CHECKOUT_BY_NAMEサービス, WSDL, 32.3.3.7 CIS

非推奨, はじめに

CIS。「Remote Intradoc Client (RIDC)」を参照 ClassAliases ResultSet, 12.3.3.4 clearSchemaData, A ClientControlled, A ClientControlledContextValueプロパティ, 29.2.6.1 クライアント, 4.2.2

構成, 30.3

WebDAV, 25.3.2.1

COM統合

API, 29

インタフェース, 29.1

概要, 29.1

結合された出力表

ファイル・タイプのロギング・ステータスの変更, 15.2.1.3

ログに記録されないファイル・タイプ, 15.2.1.3

SctIgnoreFileTypesによるファイル・タイプの設定, 15.2.1.3

コマンド・ファイル

IdcCommandパラメータ, 28.2.1

IdcCommandサービス・コマンド, 28.2.1

IdcCommandユーティリティ・オプション, 28.2.2.1

構文

優先順位, 28.2.1.2

サービス・コマンド, 28.2.1.1

特殊文字, 28.2.1.3, 28.2.1.3

特殊タグ, 28.2.1.3

コマンド・テキスト・ボックスのプロパティ, 編集後, 29.2.3.2 コマンドファイルの構文, 特殊文字, 28.2.1.3 コマンドライン・ユーティリティ

ComponentTool

説明, 12.2.3

コンポーネントのインストール, 19.5

オプション, 28.2.1 コマンド, 検証, 29.2.3.2 カンマ, セパレータとして使用, 3.3.2.4 コメントフィールド, Idoc Script, 3.6.2.1 コメント, Idoc Script, 3.2.2 フォームの共通コード, 7.6.1 共通フィールド表示変数, 4.1.5.2.2 通信

JCRアダプタの構成, 31.4

メソッド, JCRアダプタ, 31.4.1

比較演算子

説明, 3.5.1

動的サーバー・ページ, 7.2.1, 7.2.1.2

コンポーネント定義ファイル, 12.1.3.1.3, 12.1.3.1.3, 12.3.3 コンポーネント・マネージャ

拡張, 12.1.2, 12.2.2, 12.2.2

カスタム・コンポーネント, 12.1.2

コンポーネントの無効化, 13.3

コンポーネントの有効化, 13.3

コンポーネントのインストール, 19.3

コンポーネント・ウィザード

動的表の作成, 18.2.4

カスタム・コンポーネント, 12.1.2, 12.1.4.2

説明, 12.2.1

コンポーネントの無効化, 13.3

動的表の編集, 18.2.4.2

環境リソースの編集, 18.2.9.2

HTMLインクルードの編集, 18.2.1.2, 18.2.2.2, 18.2.3.2

サービス・リソースの編集, 18.2.7.2

静的表の編集, 18.2.5.2

テンプレート・リソースの編集, 18.2.8.2

コンポーネントの有効化, 13.3

コンポーネントのインストール, 19.4

インタフェース, 12.2.1

概要, 12.2.1

コンポーネント・ファイルの操作用のツール, 12.1.4.2

WebCenter Contentユーティリティ, 1.1.1.2

リソースの使用, 12.4

コンポーネント

拡張コンポーネント・マネージャ, 12.2.2

コンポーネント・マネージャ, 12.2.2

ComponentToolコマンドライン・ユーティリティ, 12.2.3

作成, 12.1.4.1, 12.1.4.1

カスタム

コンポーネント・ウィザード, 12.1.2, 12.1.4.2

開発に関する推奨事項, 12.1.4

ディレクトリとファイル, 12.1.3

管理, 12.1.2

操作, 12

ディレクトリ, 1.1.1.4, 12.1.3, 12.1.4 無効化, 13.1 有効化, 13.1 ファイル

変更, 1.5.2

コンポーネントの作成, 12.1.3

コンポーネント・ウィザード, 12.1.4.2

開発に関する推奨事項, 12.1.4

編成, 12.1.4.4

概要, 12.1.1

テキスト・エディタ, 12.1.4.2

操作, 12.1.4.2

機能, 12.1.2 HDAファイル, 12.1.3.5, 12.3, 12.3 IdcClient OCX, 29.2.3.1 インストール

ComponentToolユーティリティ, 19.5

概要, 19.1

制限, 12.1.2 ロード, 1.5.1.1 命名規則, 12.1.4.5 操作のサマリー, 15 概要, 12.1 標準, 12 システム, 12 使用, 12.1.2 操作, 12 ファイルの操作, 12.1.4.2 デプロイメント用のZIPファイル, 12.1.3.5.2 Components ResultSet, 12.1.3.1.1, 12.3.2 ComponentToolコマンドライン・ユーティリティ

説明, 12.2.3

コンポーネントのインストール, 19.5, 19.5

計算される設定, ランチャ, 28.4.2 computeDocUrl, A computeRenditionUrl, A 条件動的変数, 4.1.1 条件, 3.3.4

例, 3.3.4.1

変数の参照, 3.3.2.5

configディレクトリ, 1.1.1.3, 1.1.1.5 config.cfg構成ファイル, 5.3 構成

情報の変更, 9.1

クライアント, 30.3

config.cfgファイル, 5.3

構成ファイル内のエントリ, 5.3

JCRアダプタの通信, 31.4

JSPサポート, 27.2

ランチャ, 28.4.5

オプション, idcCommandユーティリティ, 28.2.2

構成ファイル

環境リソース, 18.2.9

例, 28.4.6

ロード順序, 1.5.1.2

構成設定

Content Trackerに対するデフォルト値, 15.2.1

SctAutoTruncateDataStrings, 15.2.1

SctComponentDir, 15.2.1

SctDebugLogEnabled, 15.2.1

SctDebugLogFilePath, 15.2.1

SctDebugServiceBinderDumpEnabled, 15.2.1

SctFilterPluginLogDir, 15.2.1

SctIdcAuthExtraConfigParams, 15.2.1

SctIgnoreDirectories, 15.2.1

SctIgnoreFileTypes, 15.2.1

SctLogDir, 15.2.1

SctLogEnabled, 15.2.1

SctLogSecurity, 15.2.1

SctMaxRecentCount, 15.2.1

SctMaxRereadTime, 15.2.1

SctPostReductionExec, 15.2.1

SctProxyNameMaxLength, 15.2.1

SctReductionAvailableDatesLockback, 15.2.1

SctReductionLogDir, 15.2.1

SctReductionRequireEventLogs, 15.2.1

SctScheduledReductionEnable, 15.2.1

SctSnapshotEnable, 15.2.1

SctSnapshotLastAccessEnable, 15.2.1

SctSnapshotLastAccessField, 15.2.1

SctSnapshotLongCountEnable, 15.2.1

SctSnapshotLongCountField, 15.2.1

SctSnapshotLongCountInterval, 15.2.1

SctSnapshotShortCountEnable, 15.2.1

SctSnapshotShortCountField, 15.2.1

SctSnapshotShortCountInterval, 15.2.1

SctUrlMaxLength, 15.2.1

SctUseGMT, 15.2.1

Content Trackerに対する値の設定, 15.2.2

構成変数, ロード, 1.5.1.1 接続

RIDCによる処理, 30.6

モード, IdcCommandユーティリティ・オプション, 28.2.2.4

コンテンツ属性, メタデータ・タグ, 7.2.4.2.3 Content Categorizer

カスタマイズ, 16

新しいドキュメントのメタデータ値, 16.1

コンテンツID, 3.6.2.1 Content Integration Suite (CIS)

非推奨, はじめに

Content Integration Suite (CIS)。「Remote Intradoc Client (RIDC)」を参照 コンテンツ・アイテム, 4.2.3

例, Webブラウザに表示されるHelloWorld, 7.7

情報の検索, JCR, 31.5

表, JCR, 31.5

コンテンツ・サーバー, 4.2.5

動作, 2

構成変数, ロード, 1.5.1.1

JCRアダプタ通信の構成, 31.4

カスタム・コンポーネント, ロード, 1.5.1.1

開発モード, 12.1.4.3

インタフェース, 29.3.2

匿名ユーザー・インタフェース, 変更, 5.5

ルック・アンド・フィールの変更, 5

ナビゲーションの変更, 5

カスタマイズ, 5.4

変更, 5

ODMAファイル, 29.3.2

内部初期化, 1.5.1.1 JCRアダプタのデータ・モデル, 31.1.2 システム機能の変更, 8 レポート, ロード, 1.5.1.1 リソース, ロード, 1.5.1.1 起動動作, 1.5.1 起動手順, 1.5.1.1 テンプレート, ロード, 1.5.1.1 Content Tracker

コンポーネント, 15

デフォルトの構成設定値, 15.2.1

構成変数の設定, 15.2.2

Content Trackerロギング・サービス

アプリケーションからのコール, 15.3.3.3

Idoc Scriptからの呼び出し, 15.3.3.4

サービス・コールの概要, 15.3.2

CONTENT_LENGTH, A コンテキスト・ルート, 26.1.2 コントリビューション・フォルダ, システムレベルのデフォルト・フォルダ, 25.3.1 制御マスク, 18.2.7 コントロール, IdcClient OCX, 29.2.2 規則, ネーミング, 7.2.3.1, 12.1.4.5 変換, 4.2.6

Dynamic Converter, 4.2.6.2

Inbound Refinery, 4.2.6.1

core/configディレクトリ, 1.1.1.5 coreContentOnly, A 作成

オプション・リスト, 3.6.3.3

変数, 3.3.2.1

IdcCommandパラメータの作成および実行, 28.3, 28.3 CSS カスケード・スタイルシート(CSS)を参照してください。 CURRENT_DATE, A CURRENT_ROW, A カスタム・コンポーネント

拡張コンポーネント・マネージャ, 12.1.2

コンポーネント・ウィザード, 12.1.2, 12.1.4.2

開発に関する推奨事項, 12.1.4

ディレクトリとファイル, 12.1.3

ロード, 1.5.1.1

理解, 12.1.3, 12.1.4

操作, 12

カスタム・インクルード

例, 7.3

HCSPファイル参照, 7.5

HCSTファイル参照, 7.4

IDOCファイル, 7.6

カスタム・インストール・パラメータ・ファイル, 12.1.3.5.3 カスタム・リソース・ファイル, 12.1.3.2, 12.1.3.5 カスタマイズ

コンテンツ・サーバー・インタフェース, 5, 5.4

コンテンツ・サーバー・ナビゲーション, 5

ポップアップ・メニュー, 11.3

サービス, 10.1

サイト用のファイル, 12.1.3.5.1

推奨されるスキル, 1.4

ステージ, 1.3

システム設定, 8.1

ヒント, 1.3

推奨されるツール, 1.4

タイプ, 1.2

WebCenter Contentインスタンス, 1

D

データ・バインダ, 12.1.3.3

データ収集

ファイル・タイプのロギング・ステータスの変更, 15.2.1.3

ログに記録されないファイル・タイプ, 15.2.1.3

SctIgnoreFileTypesによるファイル・タイプの設定, 15.2.1.3

データ削減

ファイル・タイプのロギング・ステータスの変更, 15.2.1.3

ログに記録されないファイル・タイプ, 15.2.1.3

SctIgnoreFileTypesによるファイル・タイプの設定, 15.2.1.3

データ・セクション

概要, 7.2.4.2

構造, 7.2.4.2.1

データ型要素, WSDLファイル構造, 32.5.1.1 データベース, 4.2.7 データベースとの対話, 1.5.4 日付と時間, 4.2.8 dateCurrent, A dCheckoutUser, 3.6.2.2 dcShowExportLink, A dDocAccount, 3.6.2.1 dDocAuthor, 3.6.2.1 dDocFormats, 3.6.2.2 dDocID, 3.6.2.2 dDocName, 3.6.2.1, 3.6.4 dDocNameパラメータ, 7.2.2.1.2 dDocTitle, 3.6.2.1 dDocType, 3.6.2.1, 3.6.4 デバッグ・トレース, C.3 デバッグ, 4.2.9 デフォルト・アカウント, A デフォルト接尾辞, 7.2.4.2.5 defaultFieldInclude, A defaultOptionListScript, A DefaultTaskPaneUrlプロパティ, DesktopTag, 33.5.8 定義

Webレイアウト・エディタでのアクティブ・レポート, B.4.2

フォーム・フィールド, 7.6.1.4

フォーム情報, 7.6.1.3

非表示フィールド, 7.6.1.5

定義ファイル, 12.1.3.1.3 DELETE_USERサービス, 32.3.3.5 DelimitedUserRoles, A デプロイメント

JCRアダプタ, 31.3

JCRアダプタ用のJCR API, 31.2.3

JCRアダプタ用のJCR統合ライブラリ, 31.2.4, 31.2.5

JCRアダプタ用のRIDC, 31.2.2

DesktopTag

チェックイン, 33.3.2

チェックアウト, 33.3

構成ファイル、33.1、33.5

構成, 33.5

カスタム・フィールド, 33.5.4

ExtendedUserAttributesコンポーネント, 33.5.7

フィールド, 33.5.2

ファイルのチェックイン操作, 33.3.2

File Get操作, 33.3.1

ログ, 33.5.9

メタデータ・フィールド

MicroSoft Officeファイルのプロパティ, 33.5.3

処理, 33.5.5

プロパティ

DefaultTaskPaneUrl, 33.5.8

DesktopTagFields, 33.5.3

DesktopTagFieldsCustom, 33.5.5

DesktopTagFieldsExtended, 33.5.7

DesktopTagFormats, 33.5.1

DesktopTagFormatsExclude, 33.5.10

DesktopTagLog, 33.5.9

DesktopTagPrefix, 33.5.2

DesktopTagPrefixCustom, 33.5.4

DesktopTagPrefixExtended, 33.5.6

DISProperties, 33.5.3

DISTaskPaneUrlプロパティ, 33.5.8

DesktopTagFieldsプロパティ, 33.5.3 DesktopTagFieldsCustomプロパティ, 33.5.5 DesktopTagFieldsExtendedプロパティ, 33.5.7 DesktopTagFormatsプロパティ

説明, 33.5.1

DesktopTagFormatsExclude, 33.5.10

DesktopTagFormatsExcludeプロパティ

説明, 33.5.10

DesktopTagFormatsおよび, 33.5.10

DesktopTagLogプロパティ, 33.5.9 DesktopTagPrefixプロパティ, 33.5.2 DesktopTagPrefixCustomプロパティ, 33.5.4 DesktopTagPrefixExtendedプロパティ, 33.5.6 開発

コンテンツ・サーバー, 12.1.4.3

動的サーバー・ページ, 7.2.3

HCSFページ, 7.2.3.2

dExtension, 3.6.2.2, 3.6.4 dFileSize, 3.6.2.2 dFlag1, 3.6.2.2 dFormat, 3.6.2.2 dID, 3.6.2.2, 3.6.4 dIDパラメータ, 7.2.2.1.2 DIMEメッセージのフォーマット, 32.1.1.5 dInDate, 3.6.2.1 dIndexerState, 3.6.2.2 ディレクトリ, 1.1.1

bin, 1.1.1.2

components, 1.1.1.4

config, 1.1.1.3

core/config, 1.1.1.5

groups, 1.1.1.6

idoc, 1.1.1.5

images, 1.1.1.6

install, 1.1.1.5

javascript, 1.1.1.5

jspserver, 1.1.1.5

lang, 1.1.1.5

命名規則, 12.1.4.5

編成, 12.1.4.4

reports, 1.1.1.5

resources, 1.1.1.5, 1.1.1.6

構造, 12.1.3.6

templates, 1.1.1.5, 1.1.1.5, 1.1.1.5

用語, 1.1.1.1

WebCenter Content, 1.1.1

weblayout, 1.1.1.6

ディレクトリとパス, 4.2.10 ディレクトリ問合せ, B.5 コンポーネントの無効化, 13.1 dIsCheckedOut, 3.6.2.2 表示表, 作成, 11.2 dIsPrimary, 3.6.2.2 DISPropertiesカスタム・プロパティ, 33.5.3 DISTaskPaneUrlプロパティおよびDesktopTag, 33.5.8 dIsWebFormat, 3.6.2.2 除算(/)演算子, 3.5.3 dLocation, 3.6.2.2 dMessage, 3.6.2.2 DOC_INFOサービス

コンテンツ・アイテム情報の取得, 32.3.3.9

例, 18.2.7.1

DOC_INFO_SIMPLEサービス, 7.6.1.1 docAccountsリスト, 3.6.3.1 docAuthorsリスト, 3.6.3.1 DoCheckoutLatestRevメソッド, IdcClient OCX, 29.2.5.4 DocInfo.wsdl file, 32.5.1 docLoadResourceIncludes, A docLoadResourceIncludes関数

説明, 7.2.2.1

HCSFページ, 7.2.4.1.2

パラメータ, 7.2.2.1.2

コールの要件, 7.2.2.1.1

docRootFilename, A docTypesリスト, 3.6.3.1 DocTypeSelected, A documentノード, 32.3.1.3.2 documentノード, SOAP, 32.3.1.3.2 DocUrl, A docUrlAllowDisclosure, A dOriginalName, 3.6.2.2 ダブルバイト文字, 12.1.3.1.1 dOutDate, 3.6.2.1 DownloadApplet, A DownloadFileメソッド, IdcClient OCX, 29.2.5.5 DownloadNativeFileメソッド, IdcClient OCX, 29.2.5.6 DownloadSuggestedName, A dpGet, A dpPromote, A dpPromoteRs, A dProcessingState, 3.6.2.2 dpSet, A Dragメソッド, IdcClient OCX, 29.2.5.7 dReleaseState, 3.6.2.2 dRendition1, 3.6.2.2 dRendition2, 3.6.2.2 dRevClassID, 3.6.2.2 dRevLabel, 3.6.2.1 dSecurityGroup, 3.6.2.1, 3.6.4 dStatus, 3.6.2.2 dWebExtension, 3.6.2.2 dWfName, A dWfStepName, A Dynamic Converter, 4.2.6.2 動的データ表リソース, 1.1.2, 18.2.2 動的サーバー・ページ

Webページのナビゲーションの変更, 7

比較演算子, 7.2.1, 7.2.1.2

作成, 7.2, 7.2

開発に関する推奨事項, 7.2.3

docLoadResourceIncludes関数, 7.2.2.1

例, 7.3, 7.4, 7.5, 7.7

Idocスクリプト

機能, 7.2.2

タグ, 7.2.1, 7.2.1.1

命名規則, 7.2.3.1 概要, 7.1 ページ・タイプ, 7.1.1 プロセス, 7.1 メタデータの参照, 3.6.4, 7.2.1, 7.2.1.4 特殊文字, 7.2.1, 7.2.1.3 構文, 7.2.1 ヒント, 7.2.3.1 タイプ, 7.1.1 動的表リソース

作成, 18.2.4, 18.2.4

編集, 18.2.4.2

HDAファイル形式, 18.2.4

マージ・ルール, 18.2.4.1

概要, 1.1.2

動的変数, 4.1.9 動的Webページ, アセンブリ, 1.5.3 Dynamicdata Idocスクリプトの関数, 18.2.2.4 dynamicdataインクルード, 1.1.2 dynamichtml, 3.3.1

E

EARファイル, 6.4

「アクティブ・レポート問合せの編集」画面, B.4.2

EDIT_USERサービス, 32.3.3.3

EditDocInfoLatestRevメソッド, IdcClient OCX, 29.2.5.8

編集

動的データ表リソース, 18.2.2.2

動的表リソース, 18.2.4.2

環境リソース, 18.2.9.2

HTMLインクルード・リソース, 18.2.1.2

ResultSet, 7.2.4.2.7

サービス・リソース, 18.2.7.2

静的表, 18.2.5.2

文字列リソース, 18.2.3.2

テンプレート・リソース, 18.2.8.2

HDAファイル内の要素, 12.1.3.1.1 else条件文, 3.3.4 elseif条件文, 3.3.4 電子メール, 3.3.6.6 埋込みのSOAPリクエスト, 32.4.1 EmptyAccountCheckinAllowed, A EnableDocumentHighlight, A コンポーネントの有効化, 13.1 encodeHtml, A フォームの最後, 7.2.4.3.5 endif条件文, 3.3.4 ループの終了, 3.3.5.5 endloop, 3.3.5.5 エンタープライズ・アプリケーションの統合, 25 entryCount, A envキーワード, 3.4 環境, 12.1.3.3, 12.1.3.3.3 環境リソース

説明, 18.2.9

編集, 18.2.9.2

例, 18.2.9.1

ファイルの内容, 18.2.9.1

概要, 1.1.2

環境変数, ランチャ, 28.4.3 EOD

コマンド・ファイル・タグ, 28.2.1.3

データ終了マーカー, 28.2.1.3

エラー・メッセージ・セクション, サービス・リソース, 18.2.7 エラー・メッセージ・サービス属性, 18.2.7 エラー, サーバー, C.2 eval, 3.4.1.2, A イベント

IdcClient OCX, 29.2.2.1

IntradocBeforeDownload, 29.2.4.1

IntradocBrowserPost, 29.2.4.2

IntradocBrowserStateChange, 29.2.4.3

IntradocRequestProgress, 29.2.4.4

IntradocServerResponse, 29.2.4.5

例

外部キー値の変更, 7.2.4.3.3

ClassAliases ResultSet, 12.3.3.4

HCSFページのコード, 7.6.1

コンポーネント定義ファイル, 12.3.3, 18.3

コンポーネントのHDAファイル, 12.3.1

条件, 3.3.4.1

構成ファイル, 28.4.6

Webブラウザに表示されるコンテンツ・アイテム, 7.7

動的サーバー・ページ, 7.3, 7.4, 7.5, 7.7

環境リソース, 18.2.9.1

フィールド情報変数, 4.1.5.2.1

Filters ResultSet, 12.3.3.3

フォーム・フィールド, 7.6.1.4

Form_Loadコード, 編集後, 29.2.3.2

glueファイル, 12.3.3, 18.3

HCSFページ, 7.6

HCSPページ, 7.4

HCSTページ, 7.4

HDAファイル, 1.1.1.4, 12.1.3.1

Webブラウザに表示されるHelloWorld, 7.7

HTMLインクルード, 18.2.1.1

IdcClient OCXコンポーネント

メソッド, 29.2.2.2

プロパティ, 29.2.2.3

IDOCページ, 7.4, 7.5, 7.6, 7.7 インクルード, 3.3.1.1 JSPページ, ロード, 27.3 LocalDataセクション, 12.1.3.1.1 MergeRules ResultSet, 12.3.3.2, 18.2.8 OCXメソッド, 29.2.2.2 OCXプロパティ, 29.2.2.3 その他のフィールド表示変数, 4.1.5.2.3 プロパティ・セクション, 12.1.3.1.1 問合せリソース, 18.2.6.1 レポート・ページ, 18.2.8.1.2, 18.2.8.1.2 ResourceDefinition ResultSet, 12.3.3.1 ResultSetルーピング, 3.3.5.2 ResultSetセクション, 12.1.3.1.1 SendPostCommand_Clickコード, 編集後, 29.2.3.2 サービス

アクション, 18.2.7.1.2

属性, 18.2.7.1.1

定義, 18.2.7

リソース, 18.2.7, 18.2.7.1

superタグ, 3.3.1.3, 18.2.1.1 テンプレート・ページ, 18.2.8.1.1, 18.2.8.1.1, 18.2.8.1.1 whileループ, 3.3.5.4 ExclusiveCheckout, A exec, 3.4, 3.4.1.1, A executeService, A 有効期限, 3.6.2.1 拡張されたサービス・ロギング, 15.3.1.2 ExtendedUserAttributesコンポーネントおよびDesktopTag, 33.5.7 外部セキュリティ, 4.2.21.2 外部URL, リンクの作成, B.3.4 ExternalUserAccounts, A ExternalUserRoles, A ExtranetLookコンポーネント

匿名ユーザー・インタフェースの変更, 5.5

概要, 5.5

ExtraRootNodesフォーム要素, 7.2.4.2.5, 7.2.4.2.6

F

特長, JSP, 27.1.3

フィールド表示, 4.2.12

フィールド表示変数, 4.1.5.2

共通, 4.1.5.2.2

その他, 4.1.5.2.3

フィールド情報変数, 4.1.5.2.1 fieldサブノード, SOAP, 32.3.1.3.8 fieldCaption, A fieldCaptionInclude, A fieldCaptionStyle, A fieldDefault, A fieldEditWidth, A fieldEntryInclude, A fieldExtraScriptInclude, A fieldInclude, A fieldIsOptionList, A fieldMaxLength, A fieldName, A fieldOptionListType, A フィールド

フォーム入力, 7.2.4.3.3

メタデータ, 3.6.1

オプション・リスト, 3.6.3

標準のメタデータ, 3.6.2

fieldType, A fieldValue, A fieldValueStyle, A fieldWidth, A ファイル拡張子, 参照, 7.6.1.2 ファイル・ストア・プロバイダ, JCR, 31.7 ファイル・ストア表, JCR, 31.5 ファイル

バンドル, 5.8.1

コマンド, 28.2.2.1

コマンド・ファイル, IdcCommandユーティリティ, 28.2.1.1

コンポーネント定義, 12.1.3.1.3, 12.3.3

コンポーネントZIP, 12.1.3.5.2

コンポーネントのHDA, 12.1.3.5, 12.3

config.cfg, 5.3

構成, 18.2.9

カスタム・インストール・パラメータ, 12.1.3.5.3

カスタム・リソース, 12.1.3.2, 12.1.3.5

サイト用にカスタマイズ, 12.1.3.5.1

環境, 18.2.9

glue, 12.1.3.1.3

HCSF

説明, 7.1.1.4

製品の説明フォーム, 7.6

HCSP

カスタム・インクルードの参照, 7.5

説明, 7.1.1.3

HCST

カスタム・インクルードの参照, 7.4

説明, 7.1.1.2

HDA

説明, 12.1.3.1

書式, 12.1.3.1

IDOC

カスタム・インクルード, 7.6

説明, 7.1.1.1

情報の取得, 7.6.1.1 ログ, IdcCommandユーティリティ・オプション, 28.2.2.3 マニフェスト, 12.1.3.4 命名規則, 12.1.4.5 パブリッシュされたファイルの最適化, 5.8 編成, 12.1.4.4 パブリッシュされたページの参照, 5.8.2 search_results.htm, 18.2.8 タイプ, 12.1.1 使用方法, 5.8.2 WebCenter Content, 1.1.1 コンポーネントの操作, 12.1.4.2 fileUrl, A フィルタのプロパティ, 18.2.2.3.4 Filters ResultSet, 12.3.3.3 FIRSTREV, A Flexiondoc, 16, 16.1 フォルダ・コンポーネント

仮想フォルダの利点, 25.3.1

構造, 25.3.1

仮想フォルダ・インタフェース, 25.3.1

ForcedConversionRules, A forceExpire, A 外部キー, 値の変更, 7.2.4.3.3 フォーム・プロパティ, 7.2.4.3.2 フォーム・セクション, 7.2.4.3

開始, 7.2.4.3.1

フォーム・ボタン, 7.2.4.3.4

フォームの最後, 7.2.4.3.5

プロパティ, 7.2.4.3.2

Form_Loadコード, 編集後, 29.2.3.2 formatDate, A formatDateDatabase, A formatDateDisplay, A formatDateOnly, A formatDateOnlyDisplay, A formatDateOnlyFull, A formatDateWithPattern, A 形式

アクション, 18.2.7

表の指定, 18.2.2.1

formatTimeOnly, A formatTimeOnlyDisplay, A フォーム

ボタン, 7.2.4.3.4

共通コード, 7.6.1

フォーム情報の定義, 7.6.1.3

要素, 7.2.4.2.6

フォーム・セクションの終了, 7.2.4.3.5

フィールド

定義中, 7.6.1.4

入力用, 7.2.4.3.3

プロパティ, 7.6.1.3 送信, 7.6.1.6 Forwardメソッド, IdcClient OCX, 29.2.5.9 機能, 変更, 8 機能, 3.3.3

docLoadResourceIncludes, 7.2.2.1

Dynamicdata Idocスクリプト, 18.2.2.4

eval, 3.4.1.2

Idocスクリプト, 7.2.2

inc, 3.4.1.4

パーソナライズ, 3.3.3.1

キーワードとの比較, 3.4.1

ワークフロー, 4.1.8.1, 4.2.26.2

Fusion Order Demoアプリケーション

説明, 2.1

設定, 2.2

G

GATEWAY_INTERFACE, A

generateUniqueId, A

アクション・メニューの生成, 11.1

WSDLファイルからのプロキシ・クラスの生成, 32.5.4

WSDLファイルの生成, 32.5.3

GenericSoapService, 26.1.2

GET_CRITERIA_WORKFLOWS_FOR_GROUP service, 32.3.3.13

GET_FILEサービス, 32.3.3.10

GET_SEARCH_RESULTSサービス, 32.3.3.11

GET_TABLEサービス, 32.3.3.12

GET_USER_INFOサービス, 32.3.3.4

getCookie, A

GetCopyAccess, A

getDebugTrace, A

getErrorTrace, A

getFieldConfigValue, A

getFieldViewDisplayValue, A

getFieldViewValue, A

GetFile.wsdlファイル, 32.5.1

getFreeMemory, A

getHelpPage, A

getOptionListSize, A

getParentValue, A

getRequiredMsg, A

getTextFile, A

getTotalMemory, A

getUserValue, A

getValue, A

getValueForSpecifiedUser, A

getViewValue, A

getViewValueResultSet, A

グローバル関数, 4.1.4

glueファイル, 12.1.3.1.3

GoCheckinPageメソッド, IdcClient OCX, 29.2.5.10

groupsディレクトリ, 1.1.1.6

H

hasAppRights, A

hasDocInfo, 3.6.4

HasExternalUsers, A

HasLocalCopy, A

hasOptionList, A

HasOriginal, A

HasPredefinedAccounts, A

HasUrl, A

HCSFファイル

説明, 7.1.1.4

製品の説明フォーム, 7.6

構文, 7.2.1

.hcsfファイル。「HCSFファイル」を参照 HCSFページ

共通コード, 7.6.1

作成, 7.6

データ・セクション, 7.2.4.2, 7.2.4.2.1

フォーム・フィールドの定義, 7.6.1.4

フォーム情報の定義, 7.6.1.3

非表示フィールドの定義, 7.6.1.5

説明, 7.2.4

docLoadResourceIncludes関数, 7.2.4.1.2

例, 7.6

フォーム・ボタン, 7.2.4.3.4

フォーム要素, 7.2.4.2.6

フォームの最後, 7.2.4.3.5

フォーム・プロパティ, 7.2.4.3.2

フォーム・セクション, 7.2.4.3

Webブラウザで作成するフォーム, 7.6

HTML宣言, 7.2.4.1.1

HTMLインクルード, 7.2.4.1.4

isFormFinished属性, 7.2.4.2.2

ロード・セクション, 7.2.4.1

metaタグ, 7.2.4.1.3

メタデータ・タグ, 7.2.4.2.3

ネストされたタグ, 7.2.4.2.4

ファイル拡張子の参照, 7.6.1.2

XMLタグの参照, 7.2.4.2.5

ResultSets, 7.2.4.2.7

resultsets属性, 7.2.4.2.2

ファイル情報の取得, 7.6.1.1

フォームの送信, 7.6.1.6

ヒント, 7.2.3.2

変数, 7.2.4.1.4

HCSPファイル

カスタム・インクルードの参照, 7.5

説明, 7.1.1.3

構文, 7.2.1

.hcspファイル。「HCSPファイル」を参照 HCSPページ

作成, 7.4, 7.5, 7.7

例, 7.4

表示するリンク, 7.6

HCSTファイル

カスタム・インクルードの参照, 7.4

説明, 7.1.1.2

構文, 7.2.1

.hcstファイル。「HCSTファイル」を参照 HCSTページ

作成, 7.4, 7.5, 7.7

例, 7.4

HDAファイル

コンポーネント定義, 12.3

説明, 12.1.3.1

要素, 12.1.3.1.1

例, 1.1.1.4, 12.1.3.1

コンポーネント用のidcファイル, 12.1.3.1.2

コンポーネント用のidc, 12.3

idc_components.hda, 12.3.1

ResultSetセクション, 12.1.3.1.1

.hdaファイル。「HDAファイル」を参照 HEADセクション, HCSFページ, 7.2.4.1.4 「ヘッドライン表示」表, 11.2.1 HeavyClient, A Webブラウザに表示されるHelloWorldコンテンツ・アイテム, 7.7 非表示フィールド, 定義, 7.6.1.5 階層フォルダ, 25.3.1 履歴レポート, B.4.1 Homeメソッド, IdcClient OCX, 29.2.5.11 HostCgiUrlプロパティ, IdcClient, 29.2.6.2 HTML宣言, HCSFページ, 7.2.4.1.1 HTMLエディタ, 1.4 テンプレートのHTML, 1.4 HTMLインクルード, 18.2.1

作成, 18.2.3.2, 18.2.3.2

編集, 18.2.1.2, 18.2.2.2, 18.2.3.2

例, 18.2.1.1

HCSFページ, 7.2.4.1.4

概要, 1.1.2

標準, 18.2.1, 18.2.2, 18.2.3

superタグ, 18.2.1.1, 18.2.1.1

htmlRefreshTimeout, A htmlRefreshUrl, A HTTPヘッダー, 32.3.1.1 HTTP_ACCEPT, A HTTP_ACCEPT_ENCODING, A HTTP_ACCEPT_LANGUAGE, A HTTP_COOKIE, A HTTP_HOST, A HTTP_INTERNETUSER, A HTTP_REFERER, A HTTP_USER_AGENT, A HttpAbsoluteCgiPath, A HttpAdminCgiPath, A HttpBrowserFullCgiPath, A HttpCgiPath, A HttpCommonRoot, A HttpEnterpriseCgiPath, A HttpHelpRoot, A HttpImagesRoot, A HttpLayoutRoot, A HttpRelativeAdminRoot, A HttpRelativeWebRoot, A HttpServerAddress, A HttpSystemHelpRoot, A HttpWebRoot, A

I

コンポーネント用のidc HDAファイル, 1.1.1.4, 12.1.3.1.2

idcネームスペース, 32.3.1.2

idc_components.hdaファイル, 12.3.1, 12.3.1

IdcAnalyze WebCenter Contentユーティリティ, 1.1.1.2

IdcAuthExtraRequestParams, A

idcbegindataタグ, 7.2.4.2.1

IdcClient ActiveX Controlモジュール, 29.2.3.1

IdcClientイベント, 29.2.4

IdcClient OCXコンポーネント

コンテンツ・サーバーの機能, 29.2.2.1

コントロールの設定, 29.2.3

説明, 29.2.2

インタフェース, 29.2.2.4

メソッド, 29.2.2.2

AboutBox, 29.2.5.1

Back, 29.2.5.2

CancelRequest, 29.2.5.3

DoCheckoutLatestRev, 29.2.5.4

DownloadFile, 29.2.5.5

DownloadNativeFile, 29.2.5.6

Drag, 29.2.5.7

EditDocInfoLatestRev, 29.2.5.8

Forward, 29.2.5.9

GoCheckinPage, 29.2.5.10

Home, 29.2.5.11

InitiateFileDownload, 29.2.5.12

InitiatePostCommand, 29.2.5.13

Move, 29.2.5.14

Navigate, 29.2.5.15

NavigateCgiPage, 29.2.5.16

RefreshBrowser, 29.2.5.17

SendCommand, 29.2.5.18

SendPostCommand, 29.2.5.19

SetFocus, 29.2.5.20

ShowDMS, 29.2.5.21

ShowDocInfoLatestRev, 29.2.5.22

ShowWhatsThis, 29.2.5.23

StartSearch, 29.2.5.24

Stop, 29.2.5.25

UndoCheckout, 29.2.5.26

ViewDocInfo, 29.2.5.27

ViewDocInfoLatestRev, 29.2.5.28

ZOrder, 29.2.5.29

プロパティ

例, 29.2.2.3

概要, 29.2.2.3

設定, 29.2.3.1 IdcClient OCXコントロール

説明, 29.2.2

イベント, 29.2.2.1

IdcClient OCXメソッド, 29.2.5 IdcClientのプロパティ

編集済, 29.2.3.2

概要, 29.2.6

IdcCommandユーティリティ

サービスへのアクセス, 28

リモートでのサービスのコール, 28.4

コマンド・ファイルの構文, 28.2.1, 28.2.1.1

コマンドライン・オプション, 28.2.1

構成オプション, 28.2.2

実行, 28.2

オプション

コマンド・ファイル, 28.2.2.1

接続モード, 28.2.2.4

ログ・ファイル, 28.2.2.3

ユーザー, 28.2.2.2

概要, 28.1 リポジトリ・サーバー, 28.3 設定, 28.2 ランチャの使用, 28.5 WebCenter Content, 1.1.1.2 idccs_components.hdaファイル, 12.1.3.5 idcenddataタグ, 7.2.4.2.1 idcformrulesタグ, 7.2.4.2.2 idcibr_components.hdaファイル, 12.1.3.5 IdcServerサービス, 1.1.1.2, 1.1.1.2 IdcServerNTサービス, 1.1.1.2, 1.1.1.2 IdcServiceコマンド・ファイルの構文のタグ, 28.2.1.3 idcurm_components.hdaファイル, 12.1.3.5 IdcWebLoginService Webサービス, 26.1.2 IdcWebRequestService Webサービス, 26.1.2 IDE, 1.4 idocディレクトリ, 1.1.1.5 IDOCファイル

カスタム・インクルード, 7.6

説明, 7.1.1.1

構文, 7.2.1

.idocファイル。「IDOCファイル」を参照 IDOCページ

作成, 7.4, 7.5, 7.6, 7.7

例, 7.4, 7.5, 7.6, 7.7

idocリソース・タイプ, 1.1.1.5 Idocスクリプト, 4.2.13

コメント, 3.2.2

定義, 1.4

機能, 動的サーバー・ページ, 7.2.2

構文, 3.2

タグ, 3.2.1

タグ, 動的サーバー・ページ, 7.2.1, 7.2.1.1

使用, 3.3

if条件文, 3.3.4 imagesディレクトリ, 1.1.1.6 実装アーキテクチャ, コンテンツ・サーバーにマップされたWebサービス, 32.1.1.7 Inbound Refinery, 4.2.6.1 inc, 3.4.1.4, A incDynamicConversionByRule, A incGlobal, A include, 3.4, A includeキーワード, 3.4.1.3 インクルード, 3.3.1

カスタム

例, 7.3

IDOCファイル, 7.6

例, 3.3.1.1 プロパティ, 18.2.2.3.4 incTemplate, A indexerSetCollectionValue, A 索引付け, 4.2.14 初期化, RIDC, 30.2 InitiateFileDownloadメソッド, IdcClient OCX, 29.2.5.12 InitiatePostCommandメソッド, IdcClient OCX, 29.2.5.13 インストール・ディレクトリ, 1.1.1.5 インストール

コンポーネント・マネージャ, 19.3

コンポーネント・ウィザード, 19.4

コンポーネント

ComponentToolユーティリティ, 19.5, 19.5

概要, 19.1

JCRアダプタ

ADFランタイム・ライブラリ, 31.2.1

必要なAPI, 31.2

必要なランタイム・ライブラリ, 31.2

インストーラ, 1.1.1.2 InstanceDescription, A 統合開発環境, 1.4 統合

COM API, 29

WebCenter Contentとエンタープライズ・アプリケーション, 25

JSP, 27.1

メソッド, 概要, 25.1

ODMA, 29.3

エンタープライズ・アプリケーションとWebCenter Content, 25

WebDAV, 25.3.2

インタフェース, 管理, 3.3.6 インタフェース, コンテンツ・サーバー

匿名ユーザー・インタフェース, 変更, 5.5

ルック・アンド・フィールの変更, 5

ナビゲーションの変更, 5

カスタマイズ

レイアウトおよびスキン, 5.4

概要, 5

変更, 5 内部初期化, 1.5.1.1 内部セキュリティ, 4.2.21.1 IntradocAppアプレット, 1.1.1.2 IntradocBeforeDownloadイベント, IdcClient, 29.2.4.1 IntradocBrowserPostイベント, IdcClient, 29.2.4.2 IntradocBrowserStateChangeイベント, IdcClient, 29.2.4.3 IntradocClient OCXコンポーネント, 29.2.1 IntradocReports ResultSet, 12.1.3.1.1 IntradocRequestProgressイベント, IdcClient, 29.2.4.4 IntradocServerResponseイベント, IdcClient, 29.2.4.5 IntradocTemplates ResultSet, 12.1.3.1.1 isActiveTrace, A isCheckin, A IsCheckinPreAuthed, A isComponentEnabled, A IsContributor, A IsCriteriaSubscription, A IsCurrentNav, A isDocPage, A IsDynamic, A IsDynamicConverterEnabled, A isEditMode, A isEditMode変数, 7.6.1.3 IsEditRev, A isExcluded, A IsExternalUser, A IsFailedConversion, A IsFailedIndex, A isFalse, A isFieldExcluded, A isFieldHidden, A isFieldInfoOnly, A isFieldMemo, A IsFilePresent, A isFormFinished属性, 7.2.4.2.2 isFormSubmit, A isFormSubmit変数, 7.6.1.3 IsFullTextIndexed, A isHidden, A isInfo, A isInfoOnly, A IsJava, A IsJava設定, C.3 isLatestRevision, 3.6.4 isLayoutEnabled, A, A IsLocalSearchCollectionID, A IsLoggedIn, A IsMac, A IsMaxRows, A isMultiOption, A IsMultiPage, A isNew, A IsNotLatestRev, A IsNotSyncRev, A IsOverrideFormat, A IsPageDebug, A IsPageDebug設定, C.3 IsPromptingForLogin, A isQuery, A isRelocated, A IsRequestError, A isRequired, A IsSavedQuery, A IsSoap, A isStrictList, A IsSubAdmin, A IsSun, A IsSysManager, A isTrue, A isUpdate, A isUploadFieldScript, A IsUploadSockets, A IsUserEmailPresent, A isUserOverrideSet, A isValidateFile, A isVerboseTrace, A IsWindows, A IsWorkflow, A IsXml, A isZoneField, A

J

Java Content Repositoryアダプタ

概要, 31.1

使用, 31

Java SOAPクライアント, 32.2.1 JavaScript

コンテンツ・サーバーの使用, 1.4

デバッガ, 1.4

javascriptディレクトリ, 1.1.1.5 JavaServer Pages。「JSP」を参照 JCR

コンテンツ・アイテム

情報の検索, 31.5

表, 31.5

ファイル・ストア・プロバイダ, 使用, 31.7 ファイル・ストア表, 31.5 検索索引

表, 31.5

使用, 31.6

表

コンテンツ・アイテム, 31.5

ファイル・ストア, 31.5

検索索引, 31.5

JCRアダプタ

通信

構成, 31.4

ソケット通信の構成, 31.4.2

SSLの構成, 31.4.3

リスナー・ポート, 31.4.2, 31.4.3

メソッド, 31.4.1

プロバイダ, 31.4.1

構成, 31.4.4

キャッシュ設定, 31.4.6

ユーザー・エージェント, 31.4.5

データ・モデル

コード, 31.1.2

コンテンツ・サーバー, 31.1.2

デプロイ, 31.3 JCR APIのデプロイ, 31.2.3 RIDCのデプロイ, 31.2.2 ADFランタイム・ライブラリのインストール, 31.2.1 必要なAPIおよびランタイム・ライブラリのインストール, 31.2 JCR統合ライブラリ, 31.2.4, 31.2.5 Web通信, 31.4.4 JCR API, JCRアダプタ用のデプロイ, 31.2.3 JCRデータ・モデル, 31.1.1 JCR統合ライブラリ, JCRアダプタ用のデプロイ, 31.2.4, 31.2.5 JDeveloper

インストール, 6.2

js, A jsFilename, A Json, A JSP

コンテンツ・サーバーへのアクセス, 27.1

実行, 27.1, 27.1.1

特長, 27.1.3

統合

JSPサポートの構成, 27.2

サンプルのページのロード, 27.3

概要, 27.1

サポート, 構成, 27.2 jspserverディレクトリ, 1.1.1.5

K

キーワード, 3.4, 4.2.13.1

exec, 3.4.1.1

インクルード, 3.4.1.3

関数との比較, 3.4.1

L

ラベル, ビジュアル・インタフェース, 29.2.3.2

langディレクトリ, 1.1.1.5

lastEntryTs, A

ランチャ

計算される設定, 28.4.2

構成, 28.4.5

環境変数, 28.4.3

引用符のルール, 28.4.1

ユーザー・インタフェース, 28.4.4

使用, 28.5

レイアウト

新規作成, 5.7

説明, 5.1.3

概要, 5.1

選択, 5.2

トップ・メニュー, 5.1.3

トレイ, 5.1.3

タイプ, 5.1.1

lc, A lcCaption, A like演算子

説明, 3.5.2

ワイルドカード, 3.5.2

リンク, HCSPページ表示, 7.6 リスナー・ポート, JCRアダプタ通信, 31.4.2, 31.4.3 リスト, オプション, 3.6.3, 3.6.3.1

作成, 3.6.3.3

機能, 3.6.3.2

変数, 3.6.3.2

LMDefaultLayout, A LMDefaultSkin, A lmGetLayout, A lmGetSkin, A ロード・セクション, 7.2.4.1 loadCollectionInfo, A loadDocMetaDefinition, A loadDocumentProfile, A ロード

構成変数, 1.5.1.1

カスタム・コンポーネント, 1.5.1.1

リソースの監視, C.4

標準レポート, 1.5.1.1

標準リソース, 1.5.1.1

標準テンプレート, 1.5.1.1

loadSchemaData, A loadSearchOperatorTables, A loadUserMetaDefinition, A localキーワード, 3.4 ローカル・ページ, リンクの作成, B.3.3 ローカル・ページ, B.2 LocalData, 12.1.3.3.1

データ・バインダ評価, 12.1.3.3

プロパティ・セクション名, 12.1.3.1.1

ローカライズ, 4.2.15 ローカライゼーション, 文字列の解決, 1.5.5 localPageType, A ログ・ファイル, IdcCommandユーティリティ・オプション, 28.2.2.3 ルック・アンド・フィール, コンテンツ・サーバーのカスタマイズ, 5 ループ処理, 3.3.5

終了, 3.3.5.5

ResultSet, 3.3.5.1

ResultSetの例, 3.3.5.2

while, 3.3.5.3

whileの例, 3.3.5.4

M

MajorRevSeq, A

manifestファイル

概要, 12.1.3.4

Manifest ResultSet, 12.1.3.4 manifest.hdaファイル, 12.1.3.4 マーカー, トレース, C.3 MaxCollectionSize, A maxLength, A メニュー, 「アクション」, 生成, 11.1 マージ・プロパティ, 18.2.2.3.1 マージ・ルール

動的表リソース, 18.2.4.1

静的表, 18.2.5.1

MergeInclude, 3.7 MergeRules ResultSet, 12.3.3.2

列, 12.3.3.2.1

例, 12.3.3.2

テンプレート・リソース, 18.2.8

toTable列, 12.3.3.2.1

メッセージ要素, WSDLファイル構造, 32.5.1.1 メッセージング・プロトコル, 32.1.1.9 metaタグ, 7.2.4.1.3 メタデータ

フィールド, 3.6

ネーミング, 3.6.1

オプション・リスト, 3.6.3

標準, 3.6.2

オプション・リスト, 3.6.3 参照,7.2.1, 7.2.1.4 動的サーバー・ページでの参照, 3.6.4 標準フィールド, 3.6.2 タグ

コンテンツ属性, 7.2.4.2.3

フォーム・フィールドの値, 7.2.4.2.3

MetaData.wsdlファイル, 32.5.1 メソッド

CancelRequest, 29.2.5.3

DoCheckoutLatestRev, 29.2.5.4

DownloadFile, 29.2.5.5

DownloadNativeFile, 29.2.5.6

Drag, 29.2.5.7

EditDocInfoLatestRev, 29.2.5.8

Forward, 29.2.5.9

GoCheckinPage, 29.2.5.10

IdcClient OCX

AboutBox, 29.2.5.1

Back, 29.2.5.2, 29.2.5.2

CancelRequest, 29.2.5.3

DoCheckoutLatestRev, 29.2.5.4

DownloadFile, 29.2.5.5

DownloadNativeFile, 29.2.5.6

Drag, 29.2.5.7

EditDocInfoLatestRev, 29.2.5.8

Forward, 29.2.5.9

GoCheckinPage, 29.2.5.10

Home, 29.2.5.11

InitiateFileDownload, 29.2.5.12

InitiatePostCommand, 29.2.5.13

Move, 29.2.5.14

Navigate, 29.2.5.15

NavigateCgiPage, 29.2.5.16

RefreshBrowser, 29.2.5.17

SendCommand, 29.2.5.18

SendPostCommand, 29.2.5.19

SetFocus, 29.2.5.20

ShowDMS, 29.2.5.21

ShowDocInfoLatestRev, 29.2.5.22

ShowWhatsThis, 29.2.5.23

StartSearch, 29.2.5.24

Stop, 29.2.5.25

UndoCheckout, 29.2.5.26

ViewDocInfo, 29.2.5.27

ViewDocInfoLatestRev, 29.2.5.28

ZOrder, 29.2.5.29

InitiateFileDownload, 29.2.5.12 InitiatePostCommand, 29.2.5.13 Move, 29.2.5.14 Navigate, 29.2.5.15 NavigateCgiPage, 29.2.5.16 RefreshBrowser, 29.2.5.17 SendCommand, 29.2.5.18 SendPostCommand, 29.2.5.19 SetFocus, 29.2.5.20 ShowDocInfoLatestRev, 29.2.5.22 ShowWhatsThis, 29.2.5.23 StartSearch, 29.2.5.24 Stop, 29.2.5.25 UndoCheckout, 29.2.5.26 ViewDocInfo, 29.2.5.27 ViewDocInfoLatestRev, 29.2.5.28 Zorder, 29.2.5.29 Microsoft .NET, 32.1.1.8, 32.1.1.8 Microsoft Visual Basic, 29.2.3, 29.2.3.1 MinorRevSeq, A マイナス(-)演算子, 3.5.3 係数(%)演算子, 3.5.3 リソースのロードの監視, C.4 Moveメソッド, IdcClient OCX, 29.2.5.14 MSIE, A 乗算(*)演算子, 3.5.3 MultiUpload, A

N

ネームスペース, 32.3.1.2

名前/値のペア, 18.2.9

命名規則, 3.1

ディレクトリ, 12.1.4.5, 12.1.4.5

動的サーバー・ページ, 7.2.3.1

ファイル, 12.1.4.5

ネーミング, メタデータ・フィールド, 3.6.1 Navigateメソッド, IdcClient OCX, 29.2.5.15 NavigateCgiPageメソッド, IdcClient OCX, 29.2.5.16 ナビゲーション

コンテンツ・サーバーのカスタマイズ, 5

動的サーバー・ページ, 7

ネストされたタグ

ResultSets, 7.2.4.2.7

XMLノード, 7.2.4.2.4

.NETのアーキテクチャ, 32.1.1.8 .NET Framework, 32.1.1.8 .NETプラットフォーム, 32.1.1.8 新規リンクSOAP, 32.1.1.3 新規リンクUDDI, 32.1.1.4 ノード, SOAP

パケットの形式, 32.3.1.3

サービス, 32.3.1.3.1

NoMatches, A noMCPrefill, A 非アクティブResultSets, 12.1.3.3 非保護モード・レポート, プリファレンス変数の値, 15.2.1.2 not演算子, 3.5.4 NotificationQuery, A 数値演算子, 3.5.3

O

OCXコンポーネント。「IdcClient OCXコンポーネント」を参照

OCXコントロール, Visual Basicフォーム, 29.2.3.2

OCXイベント, 29.2.2.1

OCXの例

メソッド, 29.2.2.2

プロパティ, 29.2.2.3

OCXインタフェース, 29.2.1 ODMAクライアント, 29.3.1 ODMAクライアント・インタフェース, 29.3.2, 29.3.2 ODMAデスクトップ・シェル・インタフェース, 29.3.2, 29.3.2 ODMA統合, 29.3 ODMAインタフェース, 29.3.2 OneMatch, A 演算子, 3.5

アンパサンド&(amp;), 3.5.2

and, 3.5.4

ブール, 3.5.4

比較

説明, 3.5.1

除算(/), 3.5.3 like, 3.5.2 マイナス(-), 3.5.3 係数(%), 3.5.3 乗算(*), 3.5.3 not, 3.5.4 数値, 3.5.3 or, 3.5.4 パイプ(|), 3.5.2 プラス(+), 3.5.3 特殊文字列, 3.5.2 演算子, 動的サーバー・ページ, 7.2.1 最適化, パブリッシュされたファイル, 5.8 オプション・リスト, 3.6.3

作成, 3.6.3.3

Idocスクリプト, 3.6.3.2

内部, 3.6.3.1

optionサブノード, SOAP, 32.3.1.3.5 optionlistノード

説明, 32.3.1.3.4

SOAP, 32.3.1.3.4

optionListKey, A optionListName, A optionListResultSet, A optionListScript, A optionListValueInclude, A optionsAllowPreselect, A optList, 3.6.3.3, A or演算子, 3.5.4 Oracle Web Services Manager, 25.2, 26.1.1, 32 Oracle WebCenter Content

アーキテクチャ, 1.1, 2

カスタマイズ, 1

ディレクトリ, 1.1.1

components, 1.1.1.4

用語, 1.1.1.1

ファイル, 1.1.1 エンタープライズ・アプリケーションとの統合, 25 Oracle WebCenter Content Server。「コンテンツ・サーバー」を参照 編成, コンポーネント・ファイル, 12.1.4.4 その他のフィールド表示変数, 4.1.5.2.3

P

ページ表示変数, 4.1.5.1, 4.2.16

ページ変数, 4.1.5

PageParent, A

ページ

動的サーバー, タイプ, 7.1.1

動的Web, アセンブリ, 1.5.3

HCSF

説明, 7.2.4

Webブラウザで作成するフォーム, 7.6

HCSP, 表示するリンク, 7.6 レポート, 18.2.8, 18.2.8.1 テンプレート, 18.2.8, 18.2.8.1 パラメータ

アクション, 18.2.7

docLoadResourceIncludes関数, 7.2.2.1.2

文字列, 18.2.3.1

parseDataEntryDate, A parseDate, A parseDateWithPattern, A パスワード, 29.2.6.3 PATH_INFO, A PATH_TRANSLATED, A パスとディレクトリ, 4.2.10 パーソナライズ関数, 3.3.3.1, 4.2.17 PING_SERVERサービス, 32.3.3.1 パイプ(|)演算子, 3.5.2 Webサイトの計画, B.1.1 プラス(+)演算子, 3.5.3 pneNavigation, A ポップアップ・メニュー。「アクション」メニューを参照 ポート・タイプ要素, WSDLファイル構造, 32.5.1.1 PortalInfo.wsdl, 32.5.1 削減後の処理, アクティビティ・メトリックのSQL問合せ, 15.4 優先順位, 28.2.1.2 事前定義されたResultSets, 12.1.3.1.1 プレゼンテーション・ページ, 18.2.8.1 製品説明フォーム, HCSFファイル, 7.6 プログラミング

Java, 1.4

その他, 1.4

プロパティ

アセンブリ, 18.2.2.3.2

CgiUrl TextBox, 編集後, 29.2.3.2

コマンド・テキスト・ボックス, 編集後, 29.2.3.2

フィルタ, 18.2.2.3.4

フォーム, 7.2.4.3.2, 7.6.1.3

IdcClient OCXコンポーネント, 29.2.2.3

idcClient, 編集後, 29.2.3.2

インクルード, 18.2.2.3.4

マージ, 18.2.2.3.1

レスポンス・テキスト・ボックス, 編集後, 29.2.3.2

SendPostCommand CommandButton, 編集後, 29.2.3.2

ソート, 18.2.2.3.3

表, 指定, 18.2.2.3

プロバイダ, JCRアダプタの通信, 31.4.1 パブリック・ファイル, 最適化のためのバンドル, 5.8 パブリッシュされたファイル

使用の最適化, 5.8

参照, 5.8.2

PublishedBundles表, 5.8.1, 5.8.1 PublishedResources, 5.8.2

Q

QDocInfo問合せ, 標準, 18.2.6.1

問合せ

QDocInfo, 標準, 18.2.6.1

ディレクトリの書込み, B.5

レポートの書込み, B.5

問合せ式

アクティブ・レポートの編集, B.4.4

問合せリンクの編集, B.5.2

問合せリンク

作成, B.5.1

問合せ式の編集, B.5.2

問合せリソース, 18.2.6

編集, 18.2.6.2

例, 18.2.6.1

概要, 1.1.2

問合せ結果ページ

追加, B.5.3

削除, B.5.5

編集, B.5.4

QUERY_STRING, A 疑問符(?)ワイルドカード, 3.5.2 引用符のルール, ランチャ, 28.4.1

R

読取り専用変数, 4.1.6

テンプレート, 4.1.6.1

ユーザー, 4.1.6.2

推奨されるスキル, 1.4 ref接頭辞

メタデータ値, 3.6.4

ファイル拡張子の参照, 7.6.1.2, 7.6.1.2

メタデータの参照, 7.2.1.4

変数の参照

条件, 3.3.2.5

リソース・ファイル内, 3.3.2.2

テンプレート, 3.3.2.2

メタデータの参照

動的サーバー・ページ, 3.6.4, 7.2.1, 7.2.1.4

ref接頭辞, 7.2.1.4

XMLタグの参照, 7.2.4.2.5 RefreshBrowserメソッド, IdcClient OCX, 29.2.5.17 regexMatches, A regexReplaceAll, A regexReplaceFirst, A 標準変数, 3.3.2.7 リリース日, 3.6.2.1 Remote Intradoc Client (RIDC)

複数のリクエスト用のバインダ, 再利用, 30.8

コンビニエンス・クラス, 30.1.2

JCRアダプタ用のデプロイ, 31.2.2

接続の処理, 30.6

初期化, 30.2

概要, 30.1

サービス, 30.5

ストリーム

受信, 30.7

送信, 30.7

ユーザー認証, 30.4, 30.4 ユーザー・セキュリティ, 提供, 30.9 使用, 30 リモート・プロシージャ・コール, 32.2 REMOTE_ADDR, A REMOTE_HOST, A レンディション・パラメータ, 7.2.2.1.2 繰り返されたResultSetタグ, 7.2.4.2.7 ResultSetsの繰り返されたタグ, 7.2.4.2.7 レポート・ページ

例, 18.2.8.1.2, 18.2.8.1.2

場所, 18.2.8

プレゼンテーション・ページ, 18.2.8.1

Webページ・リクエストの結果, 18.2.8.1

レポート問合せ, 書込み, B.5 レポート

アーカイブ履歴, B.4.3

Webレイアウト・エディタを使用した定義, B.4

ディレクトリ, 1.1.1.5

ロード, 1.5.1.1, 1.5.1.1

REQUEST_METHOD, A requiredMsg, A リソース・カテゴリ, 18.2 リソースのロード, 監視, C.4 リソース・タイプ

idoc, 1.1.1.5

表, 1.1.1.5

テンプレート, 1.1.1.5

ResourceDefinition ResultSet

列, 12.3.3.1.1

説明, 12.3.3.1

例, 12.3.3.1

場所, 12.1.3.1.1

目的, 12.1.3.1.1

リソース, 12.4

キャッシュ, 1.5.2

変更, 1.5.2

カスタム, 他のファイル, 12.1.3.5

ディレクトリ, 1.1.1.5

動的表, 18.2.4

環境, 18.2.9

概要, 1.1.2

問合せ

編集, 18.2.6.2

概要, 18.2.6

サービス, 18.2.7 標準, 1.1.2 静的表, 18.2.5 文字列, 18.2.3 resourcesディレクトリ, 1.1.1.6 レスポンス・テキスト・ボックスのプロパティ, 編集後, 29.2.3.2 ResultSetルーピング

説明, 3.3.5.1

例, 3.3.5.2

ResultSetセクション, HDAファイル, 12.1.3.1.1 resultsetサブノード, SOAP, 32.3.1.3.6, 32.3.1.3.6 ResultSets, 4.2.18, 12.1.3.3.2

ClassAliases, 12.3.3.4

Components, 12.1.3.1.1, 12.3.2

XMLタグによる定義, 7.2.4.2.7

編集, 7.2.4.2.7

Filters, 12.3.3.3

IntradocReports, 12.1.3.1.1

IntradocTemplates, 12.1.3.1.1

Manifest, 12.1.3.4

MergeRules, 12.3.3.2

ネストされたタグ, 7.2.4.2.7

非アクティブ, 12.1.3.3

事前定義済, 12.1.3.1.1

繰り返されたタグ, 7.2.4.2.7

ResourceDefinition, 12.1.3.1.1, 12.3.3.1

SearchResultTemplates, 12.1.3.1.1

繰り返されたタグ, 7.2.4.2.7

XMLタグ, 7.2.4.2.7

resultsets属性, 7.2.4.2.2 resultsetsフォーム要素, 7.2.4.2.5, 7.2.4.2.6 ResultsTitle, A ファイル情報の取得, 7.6.1.1 リバース・プロキシ・サーバー, Webビーコン機能, 15.5.1 リビジョン, 3.6.2.1 RevisionSelectionMethodパラメータ, 7.2.2.1.2 RIDC。「Remote Intradoc Client (RIDC)」を参照 ロール・リスト, 3.6.3.1 rowサブノード, SOAP, 32.3.1.3.7 RPC, 32.2 rptDisplayMapValue, A rsAddFields, A rsAddRowCountColumn, A rsAppend, A rsAppendNewRow, A rsAppendRowValues, A rsCopyFiltered, A rsCreateResultSet, A rsDeleteRow, A rsDocInfoRowAllowDisclosure, A rsExists, A rsFieldByIndex, A rsFieldExists, A rsFindRowPrimary, A rsFirst, A rsInsertNewRow, A rsIsRowPresent, A rsMakeFromList, 3.6.3.3, A rsMakeFromString, A rsMerge, A rsMergeDelete, A rsMergeReplaceOnly, A rsNext, A rsNumFields, A rsNumRows, A rsRemove, A rsRename, A rsRenameField, A rsSetRow, A rsSort, A rsSortTree, A ランタイム・ライブラリ

ADF, JCRアダプタ用のインストール, 31.2.1

JCRアダプタ用のインストール, 31.2

S

SafeDir, A

SAML, 26.1.1

サンプルのサービス・コール, GET_USER_INFO, 32.3.3.4

サンプルWSDLファイル, 32.5.2

スキーマ, 4.2.19

スキーマのパブリッシャ, 4.2.19

SCRIPT_NAME, A

スクリプト可能なサービス, 7.2.2.2

SctAutoTruncateDataStrings

Content Tracker構成設定, 15.2.1

SctComponentDir

Content Tracker構成設定, 15.2.1

SctDebugLogEnabled

Content Tracker構成設定, 15.2.1

SctDebugLogFilePath

Content Tracker構成設定, 15.2.1

SctDebugServiceBinderDumpEnabled

Content Tracker構成設定, 15.2.1

SctFilterPluginLogDir

Content Tracker構成設定, 15.2.1

SctIdcAuthExtraConfigParams

Content Tracker構成設定, 15.2.1

SctIgnoreDirectories

Content Tracker構成設定, 15.2.1

SctIgnoreFileTypes

Content Tracker構成設定, 15.2.1

SctLogDir

Content Tracker構成設定, 15.2.1

SctLogEnabled

Content Tracker構成設定, 15.2.1

SctLogSecurity

Content Tracker構成設定, 15.2.1

SctMaxRecentCount

Content Tracker構成設定, 15.2.1

SctMaxRereadTime

Content Tracker構成設定, 15.2.1

SctPostReductionExec

Content Tracker構成設定, 15.2.1

SctProxyNameMaxLength

Content Tracker構成設定, 15.2.1

SctReductionAvailableDatesLookback

Content Tracker構成設定, 15.2.1

SctReductionLogDir

Content Tracker構成設定, 15.2.1

SctReductionRequireEventLogs

Content Tracker構成設定, 15.2.1

SctScheduledReductionEnable

Content Tracker構成設定, 15.2.1

SctServiceFilter

構成ファイル、15.3.1

内容, 15.3.1.3

エントリの編集, 15.3.3.1

SctSnapshotEnable

Content Tracker構成設定, 15.2.1

SctSnapshotLastAccessEnable

Content Tracker構成設定, 15.2.1

SctSnapshotlastAccessField

Content Tracker構成設定, 15.2.1

SctSnapshotLongCountEnable

Content Tracker構成設定, 15.2.1

SctSnapshotLongCountField

Content Tracker構成設定, 15.2.1

SctSnapshotLongCountInterval

Content Tracker構成設定, 15.2.1

SctSnapshotShortCountEnable

Content Tracker構成設定, 15.2.1

SctSnapshotShortCountField

Content Tracker構成設定, 15.2.1

SctSnapshotShortCountInterval

Content Tracker構成設定, 15.2.1

SctUrlMaxLength

Content Tracker構成設定, 15.2.1

SctUseGMT

Content Tracker構成設定, 15.2.1

SctWebBeaconIDList

Content Tracker構成設定, 15.2.1

検索索引

表, JCR, 31.5

使用, JCR, 31.6

search_results.htmファイル, 18.2.8 検索, 4.2.20 SearchResultTemplates ResultSet, 12.1.3.1.1 Search.wsdl, 32.5.1 Search.wsdlファイル, 32.5.1 セクション

データ, 7.2.4.2, 7.2.4.2.1

フォーム, 7.2.4.3

HEAD, HCSFページ, 7.2.4.1.4

負荷, 7.2.4.1

LocalData, 12.1.3.1.1

ResultSet, 12.1.3.1.1

保護モード・レポート, プリファレンス変数の値, 15.2.1.2 セキュア・ソケット通信(SSL), JCRアダプタ, 31.4.2, 31.4.3 セキュリティ, 4.2.21

外部, 4.2.21.2

内部, 4.2.21.1

Security Assertion Markup Language, 26.1.1 セキュリティ・チェック, プリファレンス変数の値, 15.2.1.2 セキュリティ・グループ, 3.6.2.1 securityGroups list, 3.6.3.1 SelfRegisteredAccounts, A SelfRegisteredRoles, A SendCommandメソッド, IdcClient OCX, 29.2.5.18 SendPostCommand CommandButtonプロパティ, 編集後, 29.2.3.2 SendPostCommandメソッド, IdcClient OCX, 29.2.5.19 SendPostCommand_Clickコード, 編集後, 29.2.3.2 サーバー・エラー, 表示, C.2 SERVER_NAME, A SERVER_PORT, A SERVER_PROTOCOL, A SERVER_SOFTWARE, A サーバー, WebDAV, 25.3.2.2 サービスおよびポート要素, WSDLファイル構造, 32.5.1.1 サービス属性

アクセス・レベル, 18.2.7

エラー・メッセージ, 18.2.7

サービス・クラス, 18.2.7

サービス・タイプ, 18.2.7

通知された件名, 18.2.7

テンプレート・ページ, 18.2.7

サービス・コール

ADD_USER, 32.3.3.2

CHECKIN_UNIVERSAL, 32.3.3.6

CHECKOUT_BY_NAME, 32.3.3.7

DELETE_USER, 32.3.3.5

DOC_INFO, 32.3.3.9

EDIT_USER, 32.3.3.3

GET_CRITERIA_WORKFLOWS_FOR_GROUP, 32.3.3.13

GET_FILE, 32.3.3.10

GET_SEARCH_RESULTS, 32.3.3.11

GET_TABLE, 32.3.3.12

ロギング, 15.3.1.1

PING_SERVER, 32.3.3.1

サンプル, 32.3.3

SOAPレスポンス/リクエスト, 32.3.3

UNDO_CHECKOUT_BY_NAME, 32.3.3.8

サービス・クラス属性, 18.2.7 サービス定義表, 18.2.7 サービス要素, WSDLファイル構造, 32.5.1.1 サービス・ハンドラ・フィルタ

構成ファイルの内容, 15.3.1.3

構成ファイルの概要, 15.3.1

エントリの編集, 15.3.3.1

serviceノード, SOAP, 32.3.1.3.1, 32.3.1.3.1 サービス・リソース属性, 18.2.7.1.1 サービス・リソース, 18.2.7

アクション, 18.2.7.1.2

編集, 18.2.7.2

例, 18.2.7, 18.2.7.1

概要, 1.1.2

サービスResultSet, 「アクション」列, 18.2.7 サービス・タイプ属性, 18.2.7 サービス

アクセス, IdcCommandユーティリティ, 28

アクション, 18.2.7

ユーザーの追加, 32.3.3.2

カスタマイズ, 10.1

DOC_INFO, 18.2.7.1, 32.3.3.9

DOC_INFO_SIMPLE, 7.6.1.1

例

アクション, 18.2.7.1.2

属性, 18.2.7.1.1

定義, 18.2.7

リソース, 18.2.7

実行可能ファイル, 1.1.1.2 RIDC, 30.5 スクリプト可能, 7.2.2.2 起動エラー, 1.1.1.2 「サービス」タブ

サービス・エントリの追加および編集, 15.3.4.1

フィールド・マップResultSetの追加, 15.3.4.2

setContentType, A setCookie, A setExpires, A SetFocusメソッド, IdcClient OCX, 29.2.5.20 setHttpHeader, A setMaxAge, A setResourceInclude, A 設定可能変数, 4.1.7 設定,

IsJava, C.3

TraceResourceConflict, C.4

TraceResourceOverride, C.4

setValue, A ShowDMSメソッド, IdcClient OCX, 29.2.5.21 ShowDocInfoLatestRevメソッド, IdcClient OCX, 29.2.5.22 ShowWhatsThisメソッド, IdcClient OCX, 29.2.5.23 Simple Object Access Protocol, 26.1.1 Simple Object Access Protocol。「SOAP」を参照 SingleGroup, A サイト構造, B.1.2 Site Studio Webビーコン機能, 15.5.1 カスタマイズのスキル, 1.4 スキン

カスタマイズ, 6

説明, 5.1.2

概要, 5.1

選択, 5.2

タイプ, 5.1.1

SOAP

通信, 32.1.1.3, 32.1.1.3

「データ・リストの要素」ページ, 32.6

定義, 32.1

メッセージ, 32.2

ノード

パケットの形式, 32.3.1.3

サービス, 32.3.1.3.1

パケットの形式

ドキュメント, 32.3.1.3.2

フィールド, 32.3.1.3.8

HTTPヘッダー, 32.3.1.1

idcネームスペース, 32.3.1.2

ネームスペース, 32.3.1.2

ノード, 32.3.1.3

optionlist, 32.3.1.3.4

概要, 32.3.1

resultset, 32.3.1.3.6

サービス, 32.3.1.3.1

ユーザー, 32.3.1.3.3

リクエスト, 32.3.1 Webサービス、アクセス、特殊文字, 32.3.2 ソート・プロパティ, 18.2.2.3.3 SourceID, A 特殊文字

コマンド・ファイルの構文

#, 28.2.1.3

\;, 28.2.1.3

説明, 28.2.1.3

EOD, 28.2.1.3

動的サーバー・ページ, 7.2.1, 7.2.1.3 EODコマンド・ファイル・タグ, 28.2.1.3 IdcServiceコマンド・ファイルのタグ, 28.2.1.3 文字列, 18.2.3 SOAP

XMLフォーマットで渡す, 32.3.2

Webサービス, アクセス, 32.3.2

XMLエンコーディング・フォーマット, 32.3.2 特殊なキーワード, 3.4 特殊文字列演算子, 3.5.2 特殊タグ, コマンド・ファイルの構文, 28.2.1.3 SQL問合せ

アクティビティ・メトリック用のカスタマイズ, 15.4

アクティビティ・メトリック用の削減後の手順, 15.4

標準コンポーネント, 12 標準メタデータ・フィールド, 3.6.2 ページの標準的な先頭, 1.5.3 ページの標準的な末尾, 1.5.3 ページの標準的なヘッダー, 1.5.3 標準的なレポート・ページ, 18.2.8.1 標準リソース

例, 1.1.2

ロード, 1.5.1.1

標準的なテンプレート・ページ, 18.2.8.1 StandardResultsテンプレート, 18.2.8 StartSearchメソッド, IdcClient OCX, 29.2.5.24 起動動作, コンテンツ・サーバー, 1.5.1, 1.5.1 起動手順, コンテンツ・サーバー, 1.5.1.1 静的表リソース, 1.1.2 静的表, 18.2.5

編集, 18.2.5.2

マージ・ルール, 18.2.5.1

StatusCode, A StatusMessage, A stdSecurityCheck, A Stopメソッド, IdcClient OCX, 29.2.5.25 strCenterPad, A strCommaAppendNoDuplicates, A strConfine, A StrConfineOverflowChars, A ストリーム

受信, RIDC, 30.7

送信, RIDC, 30.7

strEquals, A strEqualsIgnoreCase, A strGenerateRandom, A strIndexOf, A 文字列パラメータ, 18.2.3.1 文字列, 4.2.22

概要, 1.1.2

解決, 1.5.5

リソース・ファイル, 18.2.3

特殊文字, 18.2.3

特殊な演算子, 3.5.2

構造, 18.2.3

strLeftFill, A strLeftPad, A strLength, A strLower, A strRemoveWs, A strReplace, A strReplaceIgnoreCase, A strRightFill, A strRightPad, A strSubstring, A strTrimWs, A 構造, ファイルおよびディレクトリ, 12.1.4.4 strUpper, A 通知された件名属性, 18.2.7 フォームの送信, 7.6.1.6 サブノード, SOAP

フィールド, 32.3.1.3.8

オプション, 32.3.1.3.5

resultset, 32.3.1.3.6

行, 32.3.1.3.7

置換順序, 変数, 3.3.2.6 super, 3.4 superタグ

説明, 3.3.1.2

例, 3.3.1.3

HTMLインクルードの例外, 18.2.1.1

Suppliersモジュール, 2.1 構文

動的サーバー・ページ, 7.2.1

HCSFファイル, 7.2.1

HCSPファイル, 7.2.1

HCSTファイル, 7.2.1

IDOCファイル, 7.2.1

Idocスクリプト, 3.2

サービス・アクション, 18.2.7

SysAdminAddress, A システム・コンポーネント, 12 システム機能, 変更, 8 システム・プロパティ・ユーティリティ, 1.1.1.2, 8.1 システム設定, 変更, 8.1

T

表

コンテンツ・アイテム, JCR, 31.5

表示, 作成, 11.2

動的データ, 18.2.2

ファイル・ストア, JCR, 31.5

フォーマット, 指定, 18.2.2.1

ヘッドライン表示, 11.2.1

プロパティ, 指定, 18.2.2.3

リソース・タイプ, 1.1.1.5

検索索引, JCR, 31.5

サムネイル表示, 11.2.2

tablesディレクトリ, 1.1.1.5 タグ

idcformrules, 7.2.4.2.2

Idocスクリプト, 3.2.1, 7.2.1

ResultSets

ネストされた, 7.2.4.2.7

繰り返された, 7.2.4.2.7

特殊, コマンド・ファイルの構文, 28.2.1.3 super, 3.3.1.2 ResultSetsのXML定義, 7.2.4.2.7 テンプレート・ページ

属性, 18.2.7

例, 18.2.8.1.1, 18.2.8.1.1

標準の場所, 18.2.8

プレゼンテーション・ページ, 18.2.8.1

Webページ・リクエストの結果, 18.2.8.1

テンプレート読取り専用変数, 4.1.6.1 テンプレート・リソース, 18.2.8

編集, 18.2.8.2

MergeRules ResultSet, 18.2.8

概要, 1.1.2

TemplateClass, A TemplateFilePath, A TemplateName, A テンプレート, 4.2.23

ロード, 1.5.1.1

ページ, 例, 18.2.8.1.1

リソース・タイプ, 1.1.1.5

templatesディレクトリ, 1.1.1.5 TemplateType, A 用語, WebCenter Contentディレクトリ, 1.1.1.1 テキスト・エディタ

コンポーネントのカスタマイズ, 1.4

コンポーネント・ファイルの編集, 12.1.4.2

サムネイル表示の表, 11.2.2 日付と時間, 4.2.8 ヒント

動的サーバー・ページ, 7.2.3.1

HCSFページ, 7.2.3.2

「タイトル」フィールド・キャプション, 3.6.2.1 toInteger, A Tomcatサーバー, 27.1, 27.1.2 ツール, カスタマイズ, 1.4 toTable列, 12.3.3.2.1 trace関数, A トレース・マーカー, C.3 TraceResourceConflict setting, C.4 TraceResourceOverride setting, C.4 トラブルシューティング, C.1 タイプ・フィールド・キャプション, 3.6.2.1 タイプ

カスタマイズ, 1.2

動的サーバー・ページ, 7.1.1

レイアウト, 5.1.1

スキン, 5.1.1

U

UDDIサービス・レジストリ, 32.1.1.4, 32.2

ワークフローの理解, 4.1.8

UNDO_CHECKOUT_BY_NAME service, 32.3.3.8

UndoCheckoutメソッド, IdcClient OCX, 29.2.5.26

UploadApplet, A

URL

外部リンクの作成, B.3.4

エンコーディング, XML形式, 32.3.2

url関数, A urlEscape7Bit, A UseBrowserLoginPromptプロパティ, 29.2.6.4 UseHtmlOrTextHighlightInfo, A ユーザー管理, 8.1 ユーザー・エージェント, JCRアダプタの構成, 31.4.5 ユーザー認証, RIDC, 30.4, 30.4 ユーザー・インタフェース

カスタム・スキン, 6

ランチャ, 28.4.4

userノード, SOAP, 32.3.1.3.3, 32.3.1.3.3 ユーザー・パーソナライズ設定, 5.2 ユーザー・プロファイル・パーソナライズ設定, 5.2.1 ユーザー読取り専用変数, 4.1.6.2 ユーザー・セキュリティ, 提供, RIDC, 30.9 ユーザー・トピック, 3.3.3.1 ユーザー, IdcCommandユーティリティ・オプション, 28.2.2.2 UserAccounts, A UserAddress, A UserAppRights, A UserDefaultAccount, A UserFullName, A userHasAccessToAccount, A userHasGroupPrivilege, A userHasRole, A UserIsAdmin, A UserLanguageID, A UserLocaleId, A UserName, A UserName property, IdcClient OCX, 29.2.6.6 UserRoles, A ユーザー, 4.2.24 Idocスクリプトに使用, 3.3 UseSSL, A UseXmlUrl, A カンマをセパレータとして使用, 3.3.2.4 MergeIncludesを使用して結果をフォーマット化, 3.7 utGetValue, A ユーティリティ

binディレクトリ, 1.1.1.2

IdcCommand, サービスへのアクセス, 28

utLoad, A utLoadDocumentProfiles, A utLoadResultSet, A

V

値変数, 4.1.9

valueStyle, A

変数, 3.3.2

値の割当て, 3.3.2.3

共通フィールド表示変数, 4.1.5.2.2

条件動的, 4.1.1

構成, 18.2.9

作成, 3.3.2.1

動的, 4.1.2, 4.1.9

環境, 18.2.9

フィールド表示, 4.1.5.2, 4.1.5.2.3

フィールド情報, 4.1.5.2.1

機能, 3.6.3.2

HCSFページ, 7.2.4.1.4

オプション・リスト, 3.6.3.2

ページ, 4.1.5

ページ表示, 4.1.5.1

読取り専用, 4.1.6

参照, 3.3.2.2

標準, 3.3.2.7

設定可能, 4.1.7

置換順序, 3.3.2.6

テンプレート読取り専用, 4.1.6.1

ユーザー読取り専用, 4.1.6.2

カンマをセパレータとして使用, 3.3.2.4

値, 4.1.9

Webサーバー, 4.1.3

ワークフロー, 4.1.8.2

verifyコマンド, 29.2.3.2 ViewDocInfoメソッド, IdcClient OCX, 29.2.5.27 ViewDocInfoLatestRevメソッド, IdcClient OCX, 29.2.5.28 仮想フォルダ, 25.3.1 Visual Basic, 29.2.3.1 Visual Basic環境, 開発用のビジュアル・インタフェース, 29.2.3 Visual Basicフォーム, OCXコントロール, 29.2.3.2 ビジュアル・インタフェース

コマンドの定義, 29.2.3.2

作成, 29.2.3.2

説明ラベル, 29.2.3.2

返された結果, 29.2.3.2

テスト, 29.2.3.2

Visual Studio .NET, 32.1.1.8

W

WccAdf.earファイル, 6.4

wcc-skin.css, 6.4.1.3

WccSmallBrandingBarLogo, 6.4.1.3

wcc-styles.css, 6.4.1.3

Webビーコン

設計のガイドライン, 15.5.6.2

設計に関する制限事項, 15.5.6.1

埋込みHTMLの例, 15.5.7.1

埋込みJavaScriptの例, 15.5.7.2

埋込みの例, 15.5.7

実装に関する考慮事項, 15.5.6

操作の概要, 15.5.2

概要, 15.5

参照 - 概要, 15.5.4

JavaScriptを処理する方法の例, 15.5.7.3

リバース・プロキシ・サーバー, 15.5.1

Site Studio, 15.5.1

Webビーコン参照

データ取得, 15.5.4.3

埋込み, 15.5.4.2

フォーマット構造, 15.5.4.1

フォーマットの例, 15.5.4.1

概要, 15.5.4

Webレイアウト・エディタ, 3.3.6.2, 18.2.8

概要, B

アクティブ・レポート, B.4.1

追加

問合せ結果ページ, B.5.3

Webページ, B.3.1

作成

外部URLリンク, B.3.4

ローカル・ページ・リンク, B.3.3

問合せリンク, B.5.1

Webサイト, B.1.3

定義

アクティブ・レポート, B.4.2

ファイルを表示する基準, B.1.2

サイト構造, B.1.2

問合せ結果ページの削除, B.5.5 編集

アクティブ・レポートの問合せ式, B.4.4

問合せリンク内の問合せ式, B.5.2

問合せ結果ページ, B.5.4

Webページのプロパティ, B.3.2

Webページ構造, B.3.5

履歴レポート, B.4.1 Webサイトの計画, B.1 タスク, B.1.3 使用, B.3 レポートの使用, B.4 Webページの使用, B.2 レポート問合せの書込み, B.5 Webページ

Webレイアウト・エディタでの追加, B.3.1

動的サーバー・ページでのナビゲーションの変更, 7

プロパティの編集, B.3.2

構造の編集, B.3.5

使用, B.2, B.2

Webページ, 動的アセンブリ, 1.5.3 Webリソースの公開, 5.4.1 Webサーバー

環境変数, 4.1.3

Idocスクリプトの変数, 4.2.25

Webサービス・ポリシー標準, 26.1.1 Webサービス

コンテキスト・ルート, 26.1.2

GenericSoapService, 26.1.2

IdcWebLoginService, 26.1.2

IdcWebRequestService, 26.1.2

.NET, 実装, 32.1.1.8

Oracle WebLogic ServerとWebCenter Content Webサービスの併用, 26

Oracle WSM, 25.2, 26.1.1, 32

概要, 25.2

SAML, 26.1.1

セキュリティ, 26.1.1

SOAP, アクセス

概要, 26.1.1

特殊文字, 32.3.2

WebCenter Content, Oracle WebLogic Server Webサービス, 26 WS-Policy標準, 26.1.1 WS-Security標準, 26.1.1 Web Services Definition Language。「WSDL」を参照 Webサービスのフレームワーク, 25.2

SOAP通信, 32.1.1.3, 32.1.1.3

UDDIサービス・レジストリ, 32.1.1.4

WSDLインタフェース, 32.1.1.2

XMLデータ, 32.1.1.1, 32.1.1.1

WebCenter Content Webサービス, Oracle WebLogic Server Webサービスとの併用, 26 WebCenter Content WebDAVクライアント, 25.3.2.1 WebDAV

アーキテクチャ, 25.3.2.3, 25.3.2.3

クライアント, 25.3.2.1, 25.3.2.1

機能, 25.3.2

統合, 25.3, 25.3.2

サーバー, 25.3.2.2

WebDavクライアント, WebCenter Content, 25.3.2.1 weblayoutディレクトリ, 1.1.1.6 WebLogic Serverドメイン, 統合, 6.2.3 Webサイト

構築, B

ファイルを表示する基準の定義, B.1.2

計画, B.1

wfAction, A wfAddActionHistoryEvent, A wfAdditionalExitCondition, A wfAddUser, A wfComputeStepUserList, A wfCurrentGet, A wfCurrentSet, A wfCurrentStep, A wfDisplayCondition, A wfExit, A wfGet, A wfGetStepTypeLabel, A wfIsFinishedDocConversion, A wfIsNotificationSuppressed, A wfIsReleasable, A wfJumpEntryNotifyOff, A wfJumpMessage, A wfJumpName, A wfJumpReturnStep, A wfJumpTargetStep, A wfLoadDesign, A wfMailSubject, A wfMessage, A wfNotify, A wfParentList, A wfReleaseDocument, A wfSet, A wfSetSuppressNotification, A WfStart, A wfUpdateMetaData, A whileループ

条件付ループ, 3.3.5.3

例, 3.3.5.4

ワイルドカード

アスタリスク(*), 3.5.2

疑問符(?), 3.5.2

記号, 3.5.2

ワークフロー管理, 3.3.6.1 ワークフロー, 4.2.26

機能, 4.1.8.1, 4.2.26.2

概要, 4.1.8

変数, 4.1.8.2

Workflow.wsdlファイル, 32.5.1 コンポーネント・ファイルの操作, 12.1.4.2 WSDL

定義, 32.1

インタフェース, 32.1.1.2

仕様, 32.2

WSDL要素

バインディング, 32.5.1.1

データ型, 32.5.1.1

メッセージ, 32.5.1.1

ポート, 32.5.1.1

ポート・タイプ, 32.5.1.1

サービス, 32.5.1.1

WSDLファイル構造, 32.5.1.1

バインディング要素, 32.5.1.1.4

データ型要素, 32.5.1.1.1

メッセージ要素, 32.5.1.1.2

ポート・タイプ, 32.5.1.1.3

サービスおよびポート要素, 32.5.1.1.5

WSDLファイル

CheckIn.wsdl, 32.5.1

DocInfo.wsdl, 32.5.1

GetFile.wsdl, 32.5.1

MetaData.wsdl, 32.5.1

PortalInfo.wsdl, 32.5.1

Search.wsdl, 32.5.1, 32.5.1

Workflow.wsdl, 32.5.1

wsdl.hdaファイル, 32.5.3

X

xComments, 3.6.2.1

XMLデータ, 32.1.1.1, 32.1.1.1

xml関数, A

XMLタグ

ResultSetsの定義, 7.2.4.2.7

idcformrules要素, 7.2.4.2.1

メタデータ要素, 7.2.4.2.1, 7.2.4.2.3

参照, 7.2.4.2.5

XMLベース・メッセージング・プロトコル, 32.1.1.9 XMLベースのリモート・プロシージャ・コール, 32.3.1 特殊文字のXMLエンコーディング, SOAP, 32.3.2

Z

ZIPファイル, 12.1.3.5.2

ZOrderメソッド, IdcClient OCX, 29.2.5.29

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。