Adminインタフェースのツリーのカスタマイズの詳細は、次の項を参照してください。
ツリーは、図66-1に示すように、Adminインタフェースの左ペインに一連のタブとして表示されます。
WebCenter Sitesのツリー・タブは、ツリー・アプレットにより作成されます。ツリー・アプレットに渡される様々なパラメータを設定することにより、独自のツリーの作成または変更が可能です。ツリー・アプレットは、次に示す各種のパラメータを受け入れます。
アプレット全体のパラメータ: アプレットの全体的な外観および動作を制御します。
ツリー固有のパラメータ: ツリーの外観および動作を制御します。
ノードのパラメータ: ツリーの個別ノードの外観および動作を制御します。
OpURLノードのパラメータ: ツリーとWebCenter Sitesの通信を可能にします。
データベースにある一連のツリー・タブ表には、タブ名、どのロールがタブへのアクセス権を持つか、およびツリー・タブにデータを移入するエレメントへのパスなど、ツリー構成に関する情報が格納されます。これらの表には「ツリー・タブ」画面を介して情報を入力します。Adminインタフェースで、「管理」タブを選択して、「ツリー」ノードをクリックします。
WebCenter Sitesで提供されているデフォルトのツリー・タブのほとんどでは、ツリー・データに対するリクエストはOpenMarket/Gator/UIFramework/LoadTabエレメントを通して渡されます。LoadTabエレメントは、セッション・タイムアウトのチェックなど、複数の基本タスクを実行します。
たとえば、「Product」タブは、ロード時に次のステップを完了します。
「Product」タブにあるJavaコードにより、LoadTabエレメントがコールされます。
LoadTabエレメントにより、TreeTabデータベース表に問合せが行われます。これにより、「Product」ツリーの最上位ノードにデータをロードするエレメントが取得されます。この場合のエレメントは、OpenMarket/Xcelerate/ProductGroups/LoadTreeエレメントおよびOpenMarket/Xcelerate/Product/LoadTreeエレメントです。
OpenMarket/Xcelerate/ProductGroups/LoadTreeエレメントおよびOpenMarket/Xcelerate/Product/LoadTreeエレメントにより、データベースに対して、ツリーのノードに対応するアセットの問合せが行われ、元のツリー・アプレットにノードのデータがストリームされます。
ツリー・アプレットにより、ノード・データが解析され、ノードが開きます。
「Product」タブのJavaコードにより、グローバル・コンテキスト・メニューを初期化するためのエレメント、つまりOpenMarket/Gator/UIFramework/LoadGlobalPopupエレメントがコールされます。このエレメントにより、「Product」タブからコールされた、各ツリーをロードするエレメントに対して、GetTypesコマンドが送信されます。ツリーをロードするエレメントにより、このコマンドが受信されると、スタート・メニュー・アイテムをグローバル・コンテキスト・メニューに表示する、アセット・タイプのリストが返されます。
OpenMarket/Gator/UIFramework/LoadGlobalPopupエレメントにより、指定されたアセット・タイプのスタート・メニュー・アイテムが検索され、その情報が元のツリーにストリームされます。
システムの各アセット・タイプには、LoadTreeエレメントが必要なことに注意してください。LoadTreeエレメントは、実際にツリーをロードする、別のエレメントへのポインタです。アセット・タイプが子を持つことが可能な場合、それぞれの子は、LoadTreeエレメントを持つ必要があります。LoadTreeエレメントのパスは次のとおりです。
OpenMarket/Xcelrate/AssetType/MyAssetType/LoadTree
MyAssetTypeは、LoadTreeエレメントにより参照されるアセット・タイプの名前です。
LoadTreeエレメントは、「ツリーの管理」フォームの「セクション」フィールドに設定されたアセット・タイプに基づいてコールされます。
表66-1には、ツリーをロードするためにコア・アセット・タイプによって使用される複数のエレメントのリストが含まれます。
表66-1 アセット・タイプのエレメント
| アセット・タイプ | 場所 | 説明 |
|---|---|---|
フレックス・グループ |
|
FlexGroupの親階層およびFlexAssetの子を表示します |
フレックス・アセット |
|
フレックス・グループに属さないフレックス・アセットを表示します |
サイト・ナビゲーション・ツリー |
|
サイト・プラン・ツリーを表示します |
サイト・ナビゲーション・アソシエーション |
|
サイト・プラン・ツリーにおけるアセットのアソシエーションを表示します |
ブックマーク |
|
ブックマーク・ツリーを表示します |
管理ツリー |
|
管理ツリーを表示します |
管理ツリーのヘルパー・エレメント |
|
管理ツリー用のヘルパー・エレメントをロードします |
アセット・タイプ |
|
ツリーの最上位レベルのアセット・タイプのノード、およびそのタイプのすべてのアセットの名前を、ツリーの下位レベルに表示します |
ツリー内のノードの外観または動作を変更するには、これらの標準エレメントのいずれかに基づいて、ツリーをロードする新しいエレメントを作成します。その後、Webサイトの管理者がエレメント名およびそのエレメントへのパスを指定できるようになります。これは、「ツリー・タブ」フォームとは違う場所にある新規ツリー・フォームの「セクション名」フィールドおよび「エレメント名」フィールドで指定します。
ツリーの追加の詳細は、『Oracle WebCenter Sitesの管理』を参照してください。
注意:
デフォルトのJREインストールの一部では、ツリー内の一部のアイテムがUTF-8文字ではなく、名前の中にボックスが含まれる状態で表示される場合があります。このフォントに関する問題を解決する方法は2通りあります。
サポートされているフォント・ファイルを$JRE_HOME/lib/fonts/fallbackにコピーします
http://docs.oracle.com/javase/8/docs/technotes/guides/intl/fontconfig.htmlで説明されているとおりに、フォント構成プロパティファイルの1つを介したマッピングを使用してローカル・フォントを物理フォントに構成します。
ツリー・ノードの変更の詳細は、「ノードのパラメータ」を参照してください。
アプレット全体のパラメータは、TreeAppletParams.xmlエレメントに設定されています。ツリー・アプレットの動作を変更するには、表66-2に示すように、パラメータ値を変更します。
表66-2 アプレット全体のパラメータ
| パラメータ | 説明 |
|---|---|
|
デバッグのオン/オフを切り替えます。有効な値は、 |
|
すべてのノード・データのURL文字列が付加されるベース文字列を設定します。たとえば、
|
|
ツリーの背景色を、10進数のRGB値を使用して設定します。このパラメータが設定されていない場合、背景色は、ツリーが埋め込まれているHTMLフレームの色にデフォルトで設定されます。 |
|
表示されるツリー・タブの数を設定します。この値は自動的に設定されます。 |
|
ノードのリンクを表示する対象のフレームです。デフォルト値は、 |
ツリー固有のパラメータは、「新規ツリー・タブの追加」フォームと「新規ツリー・タブの追加」フォームを作成するOpenMarket\Gator\UIFramework\TreeTabAdd.xmlエレメントにより設定されます。ツリーの外観または動作を変更するには、表66-3に示すパラメータ値を変更します。パラメータ値を変更するには、フォームを使用するか、TreeTabAddエレメントを変更します。
表66-3 ツリー固有のパラメータ
| パラメータ | 説明 |
|---|---|
|
タブに表示されるテキストを設定します。 この値は、「管理」タブにある、「ツリーの管理」フォームのTitleフィールドで設定されます。 |
|
マウス・ポインタがタブ索引上にあるときに表示されるテキストを設定します。 この値は、「管理」タブにある、「ツリーの管理」フォームのTool Tipフィールドで設定されます。 |
|
ノードの子を取得するためにコールするページのURIです。 この値は、 |
|
ツリー内のノードに対するコンテキスト・メニュー・アクションを実行するページのURLです。デフォルト値は、 この値は、 |
|
展開されたノードを表すときに使用するアイコンへのパスです。デフォルトは、プラス記号( この値は、 |
|
展開されていないノードを表すときに使用するアイコンへのパスです。デフォルトは、マイナス記号( この値は、 |
|
ツリーのノードを線でつなぐかどうかを設定します。有効な値は この値は、 |
|
ルート・ノードのIDを設定します。この文字列は、ノード・パスの指定に使用されます。デフォルトで、 この値は、 |
|
この値は、「管理」タブにある、「ツリーの管理」フォームのGlobalItemsフィールドで設定されます。 |
|
この値は、「管理」タブにある、「ツリーの管理」フォームのNodeItemsフィールドで設定されます。 |
ノードのパラメータにより、ツリーのノードの外観および動作が決定されます。これらのノードの外観および動作を定義するには、エレメントを記述します。そのエレメントによって、表66-4に示すノードのパラメータを設定し、ツリーのノードを作成するBuildTreeNode.xmlエレメントに値を渡します。
表66-4 ノードのパラメータ
| パラメータ | 説明 |
|---|---|
|
このノードに表示されるテキストを指定します。値が一意である必要はありません。デフォルト値は""です。 |
|
ツリー内で一意の文字列識別子です。WebCenter Sitesで選択中のパスの表現に使用されます。このIDは、WebCenter Sitesにより指定されます。 |
|
ノードが実行不可の場合は、このパラメータをノード・データに含めないでください。 |
|
|
|
ツリー全体のコンテキスト・メニューでこのオプションを選択した場合、 |
|
このノードの相対レベルで、>= 0という数字で表されます。値が0(ゼロ)の場合は、このノードが、データを要求しているノードの直接の子であることを示します。 一度に複数レベルのノードをロードするには、この値に0 (ゼロ)より大きい数字を設定します。デフォルト値は0です。 |
|
ラベルの先頭に付加されるイメージのURIです。このフィールドがノード・データに含まれていない場合は、そのノードにイメージが表示されません。 |
|
サブツリー階層のURIです。このフィールドがノード・データに含まれていない場合、このノードは追加のロードを必要としません。 このパラメータに指定されるURLには、ツリー・アプレットがノードの子を検索できるよう、十分な情報が含まれている必要があります。たとえば、階層が次のような場合、 「Product」タブ/Reebok/Running Shoes
ContentServer?pagename=OpenMarket/Gator/UIFramework/ LoadTab&AssetType=ProductGroups&populate=OpenMarket/ Xcelerate/AssetType/ProductGroups/LoadTree&op= load&parent=Variables.parentid
|
|
ノードのコンテキスト・メニューに表示されるアクションです。この文字列は、同一ノードのデータ・セットに複数回出現することがあります。 |
|
サーバーに対して、指定されたアクションを実行するためのURLです。この値の先頭には、
|
|
ツリーのリフレッシュに使用できる、1つまたは一連のキーを作成します。この値を、現在のノードのIDに設定します。 |
LoadAdministrationAssetエレメントの抜粋を次に示します。この抜粋では、ノードのパラメータの値が設定され、その値がBuildTreeNodeエレメントに渡されます。
この抜粋で参照されているListofAssetリストは、指定されたタイプのアセットに関する情報のリストです。このリストは、エレメントの別の場所で実行される、SQL問合せにより生成されたものです。
<CALLELEMENT NAME="OpenMarket/Gator/UIFramework/BuildTreeNode">
<ARGUMENT NAME="Label"
VALUE="ListofAsset.name"/>
<ARGUMENT NAME="Description"
VALUE="ListofAsset.description"/>
<ARGUMENT NAME="ID"
VALUE="Variables.TreeNodeID"/>
<ARGUMENT NAME="OpURL"
VALUE="ContentServer?pagename=
OpenMarket/Gator/UIFramework/TreeOpURL&
AssetType=Variables.AssetType"/>
<ARGUMENT NAME="ExecuteURL"
VALUE="ContentServer?pagename=
OpenMarket/Gator/UIFramework/TreeOpURL&
AssetType=Variables.AssetType&n0_=
Variables.packedTreeNodeID&op=displayNode"/>
<ARGUMENT NAME="OKActions"
VALUE="Status;Inspect;Edit;Delete;refresh"/>
<ARGUMENT NAME="Image"
VALUE="Xcelerate/OMTree/TreeImages/AssetTypes/Variables.AssetType.gif"/>
<ARGUMENT NAME="RefreshKeys"
VALUE="ListofAsset.id"/>
</CALLELEMENT>
ツリーのノードの外観または動作をカスタマイズするには、標準エレメントの1つをコピーし、ノードの引数を変更します。ツリーをロードするエレメントには、次の変数が渡されていることに注意してください。そのため、作成またはカスタマイズした、ツリーをロードするすべてのエレメントでは、次の変数を考慮する必要があります。
LoadTreeエレメントにより渡された変数
AssetType: 新規ツリーフォームを使用して作成されたセクション名に設定されています
op: initに設定されています
LoadGlobalPopupエレメントにより渡された変数
command: GetTypesに設定されています
AssetType: 新規ツリーフォームを使用して作成されたセクション名に設定されています
varname: スタート・メニュー・アイテムの表示対象とするアセット・タイプのカンマ区切りのリストとともに、これを設定します
popupvar: グローバル・コンテキスト・メニューにアイテムを追加する場合はtrue、コンテキスト・メニューにアイテムを追加する必要のない場合はfalseに設定します
ツリーの各ノードには、ユーザーがマウスで右クリックすると表示されるメニューがあります。このメニューのコマンドを使用すると、ノードをリフレッシュしたり、ブラウザのウィンドウの右側にページをロードできます。ノードのコンテキスト・メニューには、コマンドが追加できます。これにより、状態フォームやパブリッシュ・フォームなどのフォームのロードが可能になります。アセット・タイプおよびIDを使用してコールされるフォームはいずれも、ノードのコンテキスト・メニュー・コマンドからコールされる可能性が高いものです。
次の手順を完了することによって、ノードのコンテキスト・メニューにコマンドを追加します。
ツリーを変更可能なエレメントでは、ツリーが現在のデータを表示するようにリフレッシュする必要があります。指定可能なリフレッシュ・アクションには、次の3種類があります。
Self: 指定されたノードの子をリフレッシュします
Parent: 指定されたノードおよびその子をリフレッシュします
Root: ツリー全体をリフレッシュします
ツリーをリフレッシュする手順には次の2つがあります。
RefreshKeysを保持するようにします。RefreshKeysは通常、現在のノードのアセットIDで、リフレッシュの発生を許可します。OpenMarket/Xcelerate/UIFramework/UpdateTreeOMTreeエレメントをコールして_TreeRefreshKeys_変数を渡し、目的のリフレッシュのタイプを可変の値で指定します。ノードのRefreshKeysは、BuildTreeNodeエレメントにRefreshKeys引数を渡して設定します。「ノードのパラメータ」にコードのサンプルを示します。
ツリーをリフレッシュするには、OpenMarket/Xcelerate/UIFramework/UpdateTreeOMTreeエレメントを、次の例に示すとおりにコールします。
<CALLELEMENT NAME="OpenMarket/Xcelerate/UIFramework/UpdateTreeOMTree"><ARGUMENT NAME= "_TreeRefreshKeys_" VALUE= "Root:ActiveList"/></CALLELEMENT>
WebCenter Sitesでは、WebCenter SitesのAdminインタフェースでツリーへのアクセスを制御するためにセキュリティ・ロールを使用します。システム定義の「管理」タブ、「サイト管理者」タブ、および「ワークフロー」タブについても、それらのタブのユーザーはxceladmin ACLを持っている必要があります。
追加の制御を使用できるようにするには、wcs_properties.jsonのプロパティを設定します。たとえば、xcelerate.showSiteTreeでは、デフォルトでツリーを表示するかどうかを決定します。また、xcelerate.restrictSiteTreeでは、どのユーザーがツリーを表示または非表示にできるかを決定します。ツリーおよびセキュリティの詳細は、『Oracle WebCenter Sitesの管理』を参照してください。