プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter Sitesでの開発
12c (12.2.1.2.0)
E82734-02
目次へ移動
目次

前
次

67 Adminインタフェースのツリーのカスタマイズ

WebCenter Sitesの管理ユーザーおよび編集ユーザーは、Adminインタフェースに表示される様々なツリーと対話します。こうしたツリーの変更により、Adminインタフェースをカスタマイズできます。

トピック:

67.1 Adminインタフェースのツリーについて

ツリーは、Adminインタフェースの左ペインにノードの数を表示します。

図67-1 Adminインタフェース

図67-1の説明が続きます
「図67-1 Adminインタフェース」の説明

WebCenter Sitesのツリー・タブは、ツリー・アプレットにより作成されます。ツリー・アプレットに渡される様々なパラメータを設定することにより、独自のツリーの作成または変更が可能です。ツリー・アプレットは、次に示す各種のパラメータを受け入れます。

  • アプレット全体のパラメータ: アプレットの全体的な外観および動作を制御します。

  • ツリー固有のパラメータ: ツリーの外観および動作を制御します。

  • ノードのパラメータ: ツリーの個別ノードの外観および動作を制御します。

  • OpURLノードのパラメータ: ツリーとWebCenter Sitesの通信を可能にします。

データベースにある一連のツリー・タブ表には、タブ名、どのロールがタブへのアクセス権を持つか、およびツリー・タブにデータを移入するエレメントへのパスなど、ツリー構成に関する情報が格納されます。これらの表には「ツリー・タブ」画面を介して情報を入力します。Adminインタフェースで、「管理」タブを選択して、「ツリー」ノードをクリックします。

67.1.1 ツリー・タブのロード

WebCenter Sitesで提供されているデフォルトのツリー・タブのほとんどでは、ツリー・データに対するリクエストはOpenMarket/Gator/UIFramework/LoadTabエレメントを通して渡されます。LoadTabエレメントは、セッション・タイムアウトのチェックなど、複数の基本タスクを実行します。

たとえば、「Product」タブは、ロード時に次のステップを完了します。

  1. 「Product」タブにあるJavaコードにより、LoadTabエレメントがコールされます。

  2. LoadTabエレメントにより、TreeTabデータベース表に問合せが行われます。これにより、「Product」ツリーの最上位ノードにデータをロードするエレメントが取得されます。この場合のエレメントは、OpenMarket/Xcelerate/ProductGroups/LoadTreeエレメントおよびOpenMarket/Xcelerate/Product/LoadTreeエレメントです。

  3. OpenMarket/Xcelerate/ProductGroups/LoadTreeエレメントおよびOpenMarket/Xcelerate/Product/LoadTreeエレメントにより、データベースに対して、ツリーのノードに対応するアセットの問合せが行われ、元のツリー・アプレットにノードのデータがストリームされます。

  4. ツリー・アプレットにより、ノード・データが解析され、ノードが開きます。

  5. 「Product」タブのJavaコードにより、グローバル・コンテキスト・メニューを初期化するためのエレメント、つまりOpenMarket/Gator/UIFramework/LoadGlobalPopupエレメントがコールされます。このエレメントにより、「Product」タブからコールされた、各ツリーをロードするエレメントに対して、GetTypesコマンドが送信されます。ツリーをロードするエレメントにより、このコマンドが受信されると、スタート・メニュー・アイテムをグローバル・コンテキスト・メニューに表示する、アセット・タイプのリストが返されます。

  6. OpenMarket/Gator/UIFramework/LoadGlobalPopupエレメントにより、指定されたアセット・タイプのスタート・メニュー・アイテムが検索され、その情報が元のツリーにストリームされます。

システムの各アセット・タイプには、LoadTreeエレメントが必要なことに注意してください。LoadTreeエレメントは、実際にツリーをロードする、別のエレメントへのポインタです。アセット・タイプが子を持つことが可能な場合、それぞれの子は、LoadTreeエレメントを持つ必要があります。LoadTreeエレメントのパスは次のとおりです。

OpenMarket/Xcelrate/AssetType/MyAssetType/LoadTree

MyAssetTypeは、LoadTreeエレメントにより参照されるアセット・タイプの名前です。

LoadTreeエレメントは、「ツリーの管理」フォームの「セクション」フィールドに設定されたアセット・タイプに基づいてコールされます。

次の表には、ツリーをロードするためにコア・アセット・タイプによって使用される複数のエレメントのリストが含まれます。

表67-1 アセット・タイプのエレメント

アセット・タイプ 場所 説明

フレックス・グループ

OpenMarket/Gator/UIFramework/LoadGroupNodes

FlexGroupの親階層およびFlexAssetの子を表示します

フレックス・アセット

OpenMarket/Gator/UIFramework/LoadOrphanNodes

フレックス・グループに属さないフレックス・アセットを表示します

サイト・ナビゲーション・ツリー

OpenMarket/Xcelerate/AssetType/Page/LoadSiteTree

サイト・プラン・ツリーを表示します

サイト・ナビゲーション・アソシエーション

OpenMarket/Gator/UIFramework/LoadChildren

サイト・プラン・ツリーにおけるアセットのアソシエーションを表示します

ブックマーク

OpenMarket/Gator/UIFramework/LoadActiveList

ブックマーク・ツリーを表示します

管理ツリー

OpenMarket/Gator/UIFramework/LoadAdminTree

管理ツリーを表示します

管理ツリーのヘルパー・エレメント

OpenMarket/Gator/UIFramework/Admin

管理ツリー用のヘルパー・エレメントをロードします

アセット・タイプ

OpenMarket/Gator/UIFramework/LoadAdministrationAsset

ツリーの最上位レベルのアセット・タイプのノード、およびそのタイプのすべてのアセットの名前を、ツリーの下位レベルに表示します

ツリー内のノードの外観または動作を変更するには、これらの標準エレメントのいずれかに基づいて、ツリーをロードする新しいエレメントを作成します。その後、Webサイトの管理者がエレメント名およびそのエレメントへのパスを指定できるようになります。これは、「ツリー・タブ」フォームとは違う場所にある新規ツリー・フォームの「セクション名」フィールドおよび「エレメント名」フィールドで指定します。

Oracle Fusion Middleware 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つを介したマッピングを使用してローカル・フォントを物理フォントに構成します。

ツリー・ノードの変更の詳細は、「ノードのパラメータ」を参照してください。

67.1.1.1 アプレット全体のパラメータ

アプレット全体のパラメータは、TreeAppletParams.xmlエレメントに設定されています。ツリー・アプレットの動作を変更するには、次の表に示すように、パラメータ値を変更します。

表67-2 アプレット全体のパラメータ

パラメータ 説明

Debug

デバッグのオン/オフを切り替えます。有効な値は、trueおよびfalseです。Debugtrueに設定されていると、Javaコンソールのデバッグおよびエラー・メッセージングがオンになります。

ServerBaseURL

すべてのノード・データのURL文字列が付加されるベース文字列を設定します。たとえば、ServerBaseURLfile://localhostに設定され、LoadURLパラメータの値がNodeReader.testである場合、ツリーの子ノードをロードするために使用されるURLは次のようになります。

file://localhost/NodeReader.test

BackgroundColor

ツリーの背景色を、10進数のRGB値を使用して設定します。このパラメータが設定されていない場合、背景色は、ツリーが埋め込まれているHTMLフレームの色にデフォルトで設定されます。

TotalPanes

表示されるツリー・タブの数を設定します。この値は自動的に設定されます。

URLTarget

ノードのリンクを表示する対象のフレームです。デフォルト値は、XcelAction(ブラウザのウィンドウの右側にあるペインの名前)です。

67.1.1.2 ツリー固有のパラメータ

ツリー固有のパラメータは、「新規ツリー・タブの追加」フォームと「新規ツリー・タブの追加」フォームを作成するOpenMarket\Gator\UIFramework\TreeTabAdd.xmlエレメントにより設定されます。ツリーの外観または動作を変更するには、フォームを使用するか、TreeTabAddエレメントを変更して、パラメータ値を変更します。

表67-3 ツリー固有のパラメータ

パラメータ 説明

Title

タブに表示されるテキストを設定します。

この値は、「管理」タブにある、「ツリーの管理」フォームのTitleフィールドで設定されます。

ToolTip

マウス・ポインタがタブ索引上にあるときに表示されるテキストを設定します。

この値は、「管理」タブにある、「ツリーの管理」フォームのTool Tipフィールドで設定されます。

LoadURI

ノードの子を取得するためにコールするページのURIです。

この値は、TreeTabAddエレメントで設定されます。

ActionURL

ツリー内のノードに対するコンテキスト・メニュー・アクションを実行するページのURLです。デフォルト値は、OpURL.xmlエレメントを示します。

この値は、TreeTabAddエレメントで設定されます。

OpenIcon

展開されたノードを表すときに使用するアイコンへのパスです。デフォルトは、プラス記号(+)です。

この値は、TreeTabAddエレメントで設定されます。

CloseIcon

展開されていないノードを表すときに使用するアイコンへのパスです。デフォルトは、マイナス記号(-)です。

この値は、TreeTabAddエレメントで設定されます。

LineStyle

ツリーのノードを線でつなぐかどうかを設定します。有効な値はAngledと空白です(デフォルトはAngled)。パラメータがAngledに設定されている場合は、ノードが線でつながれます。値を空白にしておくと、ノードは線でつながれません。

この値は、TreeTabAddエレメントで設定されます。

RootID

ルート・ノードのIDを設定します。この文字列は、ノード・パスの指定に使用されます。デフォルトで、Titleパラメータの値が設定されます。

この値は、TreeTabAddエレメントで設定されます。

GlobalItems

この値は、「管理」タブにある、「ツリーの管理」フォームのGlobalItemsフィールドで設定されます。

NodeItems

この値は、「管理」タブにある、「ツリーの管理」フォームのNodeItemsフィールドで設定されます。

67.1.1.3 ノードのパラメータ

ノードのパラメータにより、ツリーのノードの外観および動作が決定されます。これらのノードの外観および動作を定義するには、エレメントを記述します。そのエレメントによって、ノードのパラメータを設定し、ツリーのノードを作成するBuildTreeNode.xmlエレメントに値を渡します。

表67-4 ノードのパラメータ

パラメータ 説明

Label

このノードに表示されるテキストを指定します。値が一意である必要はありません。デフォルト値は""です。

ID

ツリー内で一意の文字列識別子です。WebCenter Sitesで選択中のパスの表現に使用されます。このIDは、WebCenter Sitesにより指定されます。

ExecuteURL

Executeアクションの完了時に表示するページのURI値です。この値の先頭には、ServerBaseURLの値が付加されます。

ノードが実行不可の場合は、このパラメータをノード・データに含めないでください。

URLTarget

ExecuteURLの対象のフレームです。ノード・データにExecuteURLが含まれていない場合は、アプレット全体のパラメータで指定された対象がデフォルトで設定されます。

Description

ツリー全体のコンテキスト・メニューでこのオプションを選択した場合、Labelで指定された文字列にかわるものです。デフォルト値は""です。

Level

このノードの相対レベルで、>= 0という数字で表されます。値が0(ゼロ)の場合は、このノードが、データを要求しているノードの直接の子であることを示します。

一度に複数レベルのノードをロードするには、この値に0 (ゼロ)より大きい数字を設定します。デフォルト値は0です。

Image

ラベルの先頭に付加されるイメージのURIです。このフィールドがノード・データに含まれていない場合は、そのノードにイメージが表示されません。

LoadURL

サブツリー階層のURIです。このフィールドがノード・データに含まれていない場合、このノードは追加のロードを必要としません。

このパラメータに指定されるURLには、ツリー・アプレットがノードの子を検索できるよう、十分な情報が含まれている必要があります。たとえば、階層が次のような場合、

「Product」タブ/Reebok/Running Shoes

LoadURLの値は次のようになります。

ContentServer?pagename=OpenMarket/Gator/UIFramework/
LoadTab&AssetType=ProductGroups&populate=OpenMarket/
Xcelerate/AssetType/ProductGroups/LoadTree&op=
load&parent=Variables.parentid

parentidは、Running ShoesアセットのアセットIDであり、oppopulateは、ツリーをロードするエレメントをルーティングするためにLoadTabで使用されます。

OKAction

ノードのコンテキスト・メニューに表示されるアクションです。この文字列は、同一ノードのデータ・セットに複数回出現することがあります。

OpURL

サーバーに対して、指定されたアクションを実行するためのURLです。この値の先頭には、ServerBaseURLパラメータの値が付加されます。

NodeItemsパラメータの値がNULL文字列で、そのためOKActionが指定されていない場合でないかぎり、このパラメータをノード・データに含めてください。

RefreshKeys

ツリーのリフレッシュに使用できる、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&#38;
    AssetType=Variables.AssetType"/>

  <ARGUMENT NAME="ExecuteURL" 
    VALUE="ContentServer?pagename=
    OpenMarket/Gator/UIFramework/TreeOpURL&#38;
    AssetType=Variables.AssetType&#38;n0_=
    Variables.packedTreeNodeID&#38;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に設定します

67.1.1.4 コマンド・ノードのコンテキスト・メニューの追加

ツリーの各ノードには、ユーザーがマウスで右クリックすると表示されるメニューがあります。このメニューのコマンドを使用すると、ノードをリフレッシュしたり、ブラウザのウィンドウの右側にページをロードできます。ノードのコンテキスト・メニューには、コマンドが追加できます。これにより、状態フォームやパブリッシュ・フォームなどのフォームのロードが可能になります。アセット・タイプおよびIDを使用してコールされるフォームはいずれも、ノードのコンテキスト・メニュー・コマンドからコールされる可能性が高いものです。

次の手順を完了することによって、ノードのコンテキスト・メニューにコマンドを追加します。

  1. ノードのOKActionsフィールドに、新規コマンドを実際の表示どおりに追加します。
  2. ノードのOpURLで参照されるエレメント(通常はTreeOpURLエレメント)に、ロード対象のフォームをコールする新規のIF文を追加します。

    たとえば、次のTreeOpURLエレメントのコードにより、ノードが開きます。

    <IF COND="Variables.op=displayNode">
         <THEN>
          <callelement NAME="OpenMarket/Gator/UIFramework/TreeIDFromPath">
          <argument NAME="TreePath" VALUE="Variables.TreeNodePath"/>
          </callelement>
             <setvar NAME="id" VALUE="Variables.ID"/>
             <callelement NAME="OpenMarket/Xcelerate/UIFramework/ApplicationPage">
             <argument NAME="ThisPage" VALUE="ContentDetailsFront"/>
             <argument NAME="contentfunctions" VALUE="true"/>
             <argument NAME="AssetType" VALUE="Variables.AssetType"/>
         </callelement>
        </THEN>
    

67.1.2 ツリーのリフレッシュ

ツリーを変更可能なエレメントでは、ツリーが現在のデータを表示するようにリフレッシュする必要があります。指定可能なリフレッシュ・アクションには、次の3種類があります。

  • Self: 指定されたノードの子をリフレッシュします

  • Parent: 指定されたノードおよびその子をリフレッシュします

  • Root: ツリー全体をリフレッシュします

ツリーをリフレッシュする手順には次の2つがあります。

  1. ツリーをカスタマイズするエレメントをコーディングし、リフレッシュ対象のツリー・ノードがRefreshKeysを保持するようにします。RefreshKeysは通常、現在のノードのアセットIDで、リフレッシュの発生を許可します。
  2. 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>

67.2 ツリーおよびセキュリティについて

WebCenter Sitesでは、WebCenter SitesのAdminインタフェースでツリーへのアクセスを制御するためにセキュリティ・ロールを使用します。AdminWorkflowなどシステム定義のノードのユーザーに、xceladmin ACLを割り当てる必要があります。

追加の制御を使用できるようにするには、wcs_properties.jsonのプロパティを設定します。たとえば、xcelerate.showSiteTreeでは、デフォルトでツリーを表示するかどうかを決定します。また、xcelerate.restrictSiteTreeでは、どのユーザーがツリーを表示または非表示にできるかを決定します。Oracle Fusion Middleware Oracle WebCenter Sitesの管理のユーザーおよびセキュリティの管理を参照してください。

67.3 ツリーのエラー・ロギングについて

ツリー関連のエラーおよびデバッグ・メッセージは、すべてJavaコンソールにログ出力されます。ツリーの作成時にDebugパラメータに値を指定することで、デバッグのオン/オフを切り替えることができます。

デバッグを有効にするとパフォーマンスに影響するため、配信システムでは通常、エラー・ロギングをオフにしておいてください。