Oracle WebCenter Sites 11g: グローバル構成プロパティ、ツールバー、メニュー・バーのカスタマイズ
概要
目的
このチュートリアルでは、Oracle WebCenter Sites 11gのContributorインタフェースのグローバル構成プロパティ、ツールバー、およびメニュー・バーをカスタマイズする方法について説明します。
所要時間
約60分
概要
Oracle WebCenterは、ソーシャル・ビジネスで対象を絞ったWebサイトを使って顧客ロイヤルティを向上させることが可能な統合プラットフォームです。 このWebサイトにより、ソーシャル・ビジネスの顧客はコンテキストに合った情報にシームレスにアクセスできます。
Oracle WebCenterの重要な柱の1つが、Oracle WebCenter Sitesです。 Oracle WebCenter Sites 11g Webエクスペリエンス管理(WEM)プラットフォームを使用すると、マーケティング担当者とビジネス・ユーザーは、複数のチャネルを通じてグローバルに、コンテキストに即したソーシャル体験や双方向のオンライン体験を簡単に作成、管理し、売上げとロイヤルティの向上を図ることができます。
- 同時に開くことができるタブの数を変更する
- AVIArticleの調査ビューのツールバーにカスタムのボタンとアクションを追加する
- AVIArticleのメニュー・バーにカスタムのメニューとメニュー・コマンドを追加する
- Oracle WebCenter Sites 11gのJumpStart Kit、またはインストールされ実行されているサンプル・サイトの完全なインストール
- インストールおよび構成されて実行されているWebCenter Sites Developer Toolsプラグイン、またはWebCenter Sites Explorer(Oracle WebCenter Sitesに含まれる)
- Oracle Technology Network(OTN)からダウンロードしたDeveloper's Guide for Customizing the Contributor Interface
- 開発者ガイドで提供されているサンプル・エレメント
- Mozilla FirefoxまたはMicrosoft Internet Explorer Webブラウザ
このチュートリアルでは、Contributorインタフェースのグローバル構成プロパティ、ツールバー、およびメニュー・バーをカスタマイズする方法について説明します。
シナリオ
このチュートリアルでは、以下を実行します。
ハードウェアとソフトウェアの要件
- Oracle Universityで提供されているトレーニング・コースOracle WebCenter Sites 11g for Developerに参加している
- Oracle WebCenter Sites 11g Contributorインタフェースの実用的な知識を持っている
- Java、JavaScript、Dojo Toolkit、およびHTMLの経験がある
- WebCenter Sites Developer Toolsプラグインに精通している
- Developer's Guide for Customizing the Contributor Interface(特に第1章と第2章)の内容を十分に確認している
前提条件
このチュートリアルを適切に完了するには、以下が必要です。
ユーザー・インタフェースのフレームワーク
- 構成フェーズ
- アクション・フェーズ
- プレゼンテーション・フェーズ
- 単一サイトのアセット・タイプ固有のパス:
CustomElements/<SiteName>/<AssetType>/<controllerElementName>Config - すべてのサイトのアセット・タイプ固有のパス:
CustomElements/<AssetType>/<controllerElementName>Config - サイト固有のパス:
CustomElements/<SiteName>/<controllerElementName>Config - グローバルパス:
CustomElements/<controllerElementName>Config
この項では、UI Controllerのユーザー・インタフェース(UI)のフレームワークとプロセス・フローについて学習します。
Contributorインタフェースのフレームワークはサービス・レイヤーの上に配置され、クライアントのリクエストを処理します。 UIフレームワークは、プレゼンテーション・レイヤーとUI Controllerで構成されます。

プレゼンテーション・レイヤーは、ビューをレンダリングするエレメントとレスポンスを生成するエレメントで構成されます。 Contributorインタフェースからリクエストを受信すると、UI Controllerは次の3つのフェーズでリクエストを処理します。
UI Controllerは、各フェーズでカスタム・エレメントをチェックします。 各フェーズは条件付きです。 UI Controllerは、そのフェーズのカスタム・エレメントが存在しないことを検出すると、次のフェーズに進みます。 ElementCatalog表のCustomElements下のすべてのパスを次の順序で調べて、カスタム・エレメントを検出します (次のリストに、構成フェーズのカスタム・エレメントのサンプル・パスを示します)。
- 構成フェーズのエレメント:
<controllerElementName>Config - アクション・フェーズのエレメント:
<controllerElementName>Action - プレゼンテーション・フェーズのエレメント:
<controllerElementName>Html
ElementCatalogのCustomElementsの下にカスタム・エレメントを作成します。 次に、エレメントのネーミング規則を示します。
次の図に、UI Controllerのプロセス・フローを示します。
カスタム・エレメントとシステム・デフォルト・エレメントを別々に保存することを推奨します。 システム・デフォルトを直接オーバーライドすると、システムを新しいバージョンのOracle WebCenter Sitesにアップグレードしたときに、カスタマイズの内容がオーバーライドされます。 次に、WebCenter Sites ExplorerでのCustomElementsのデータ構造ビューの例を示します。
構成プロパティのカスタマイズ
configオブジェクト- システム定義の構成プロパティ
構成プロパティで、すべてのコンテンツ管理サイトのContributorインタフェースの表示条件を設定します。 この項では、以下のトピックについて説明します。
configオブジェクト
クライアント側のフレームワークでは、サーバー側のコントローラ・エレメントUI/Config/GlobalHtmlからクライアント側のおもな構成設定を取得します。 クライアント側のアプリケーションは、起動時にこのプレゼンテーション・エレメントを実行します。 プレゼンテーション・エレメントはJavaScriptコードを提供し、このJavaScriptコードによって、クライアント側のアプリケーションがリクエスト・パラメータとして名前を付与するJavaScript関数が定義されます。
<%@ taglib prefix="cs" uri="futuretense_cs/ftcs1_0.tld"%>
<cs:ftcs>
webcenter.sites['${param.namespace}'] = function (config) {
config.maxTabCount = 50;
config.defaultView = …;
… merge
}
</cs:ftcs>
関数本体で、必要に応じてconfigオブジェクトを操作します。 クライアント側のアプリケーションでは、エレメントUI/Config/GlobalHtmlに指定されているように構成プロパティを設定します。 クライアント側のアプリケーションは、サーバー側のコントローラ・エレメントから追加の構成プロパティを取得して、複数の場所にグローバル構成プロパティを複製することなく、複数のソースの設定をマージできます。 複数のソースから取得する構成設定の例として、デフォルトのグローバル構成、サイト固有の構成、およびカスタム構成があります。
システム定義の構成プロパティ
次に、変更可能なシステム定義の構成プロパティのリストを示します。 システム定義の構成プロパティの詳細については、Developer's Guide to Customizing the Contributor Interfaceを参照してください。
注:デフォルトでは、enableWebModeプロパティとenableDatePreviewプロパティは、futuretense.iniシステム・ファイルに配置されているxcelerate.enableinsiteプロパティとcs.sitepreviewプロパティの値をとります。 これらの値をオーバーライドするには、futuretense.iniファイルでこれらの値を変更するか、次の項の手順に従ってカスタムのグローバル構成エレメントを作成します。
カスタムのグローバル構成プロパティの追加
- カスタム・エレメント
UI/Configの作成 - カスタマイズのテスト
- Host name or address:
localhost - Username:
fwadmin - Password:
xceladmin - Port:
8080 - Select application server URL path:
CS servlet (/cs/CatalogManager)
クライアント側のアプリケーションによって、UI/Configのすべてのエレメントから構成設定が取得され、これらの構成設定がマージされます。 カスタムのグローバル・プロパティを追加するには、UI/Config下にエレメントを作成してから、CustomElementsに対応するカスタム・エレメントを作成します。 このカスタム・エレメントによって、すべてのサイトのmaxTabCountのデフォルト値が(50から5に)変更されて、fooと呼ばれるカスタムのグローバル・プロパティが導入されます。 この項では、以下のタスクを完了します。
カスタム・エレメントUI/Configの作成
WebCenter Sites Explorerを起動し、以下の手順を完了してログインします。
a. Fileメニューから「Open Oracle WebCenter Sites」を選択します。
b. Oracle WebCenter Sites Loginウィンドウで、次の値を入力し、「OK」をクリックします。

「Tables」、「ElementCatalog」、および「UI」を展開し、「Config」をクリックします。 右側にConfigのコンテンツが表示されます。

右側のパネルで、elementname列の下を右クリックし、「New」を選択します。

エレメント名にCustomConfigHtmlと入力します。

CustomConfigHtmlで、url列の下をクリックし、表示されたボタンをクリックします。

New fileダイアログ・ボックスで、Type/Ext.が「.jsp」に設定されていることを確認して、「OK」をクリックします。

エレメント・ウィンドウで、<!-- user code here -->の後に次のコード・スニペットを入力します。
webcenter.sites['${param.namespace}'] = function (config) { // override this element in order to provide site-specific configuration settings // (CustomElements/UI/Config/CustomConfigHtml)}
「Save」をクリックします。

Close「x」ボタンをクリックして、エレメント・ウィンドウを閉じます。

左側のパネルで、「CustomElements」を右クリックして、「New」→「Folder」を選択します。

フォルダ名にUIと入力します。
「UI」を右クリックして、「New」→「Folder」を選択します。

フォルダ名にConfigと入力し、「Config」をクリックして右側のパネルにコンテンツを開きます。

右側のパネルで、elementname列の下を右クリックし、「New」を選択します。

エレメント名にCustomConfigHtmlと入力します。
CustomConfigHtmlで、url列の下をクリックし、表示されたボタンをクリックします。
New fileダイアログ・ボックスで、Type/Ext.が「.jsp」に設定されていることを確認して、「OK」をクリックします。

エレメント・ウィンドウで、すべてのコードを次のコード・スニペットに置き換えます。
<%@ taglib prefix="cs" uri="futuretense_cs/ftcs1_0.tld" %>
<%@ taglib prefix="ics" uri="futuretense_cs/ics.tld" %>
<cs:ftcs>
webcenter.sites['${param.namespace}'] = function (config) {
// override existing properties
config.maxTabCount = 5;
// add custom properties
config.foo = "bar";
}
</cs:ftcs>
「Save」をクリックします。

Close「x」ボタンをクリックして、エレメント・ウィンドウを閉じます。

「Save」をクリックして、データベースの変更をコミットします。

カスタマイズのテスト
Webブラウザで、パスワードxceladminを使ってfwadminとしてContributorインタフェースにログインします。

Siteで、「avisports」を選択して、「Contributor」ボタンをクリックします。

左側のパネルで、「Content Tree」をクリックします。

Content Treeで、「Articles」と「Baseball Articles」を展開します。

アーティクルをダブルクリックして、右側のパネルにコンテンツを表示します。

左側のパネルで、他の4つのアーティクルをダブルクリックします。 アーティクルをいくつ開いたら、次のメッセージが表示されましたか。
maxTabCountプロパティを5に設定しているため、同時に4つのアーティクル・アセット・タブを開くことができます。 Homeタブ(閉じることができない)は開いたタブとしてカウントされます。 グローバル構成エレメントを作成したため、同じインストールの他のサイトでこのエレメントをテストできます。
カスタムのサイト固有の構成プロパティの追加
GlobalHtmlCustomConfigHtml(または他のカスタムのグローバル・プロパティ・エレメント)SiteConfigHtml- ツールバーのカスタマイズ
- メニュー・バーのカスタマイズ
- Host name or address:
localhost - Username:
fwadmin - Password:
xceladmin - Port:
8080 - Select application server URL path:
CS servlet (/cs/CatalogManager) - エレメントSiteConfigHtml
.jspの変更 - カスタマイズのテスト
- Host name or address:
localhost - Username:
fwadmin - Password:
xceladmin - Port:
8080 - Select application server URL path:
CS servlet (/cs/CatalogManager)
コントローラによって、エレメントUI/Configから次の順序で構成設定がロードされます。
コントローラ・エレメントUI/Config/SiteConfigHtmlで、サイト固有のプロパティを指定します。 デフォルトでは、UI/Config/SiteConfigHtmlで、サイト固有のプロパティは提供されません。 CustomElements/your_site_name/UI/Config/下に独自のSiteConfigHtmlを作成すると、システム・デフォルトのコントローラUI/Config/SiteConfigHtmlをオーバーライドできます。 次に、実行可能な2つのタイプのサイト固有のカスタマイズを示します。
ツールバーのカスタマイズ
アセットでWebモードまたはフォーム・モードで動作するアクションを表示するように、ツールバーをカスタマイズできます。 特定のアセット・タイプやサブタイプのツールバーについてさらにカスタマイズできます。 次に、ページ・アセットのデフォルトのツールバーを示します。
エレメントUI/Config/GlobalHtmlは、ツールバーで特定のビュー向けに表示するアクション(Webモードでのアセットの調査、フォーム・モードでのアセットの編集など)のリストを示します。 ツールバーを構成するには、toolbarプロパティを使用します。
config.toolbars = { "viewAlias": { "view_mode_1" : [action_1, action_2, ...], "view_mode_2" : [action_1, action_2, ...] ... }
構成設定viewAliasで、このツールバーを表示するビューのタイプを指定します。 エイリアスが、config.views下のエレメントUI/Config/GlobalHtmlに定義されている利用可能なエイリアスのいずれかと一致している必要があります。 サポートされているエイリアスは、次のとおりです。
view_mode_iモードは、editやviewなどのビューでサポートされているモードの1つです。 たとえば、アセットをWebモードで編集および表示できます。
config.toolbars = { "web": { "edit" : [action_1, action_2, ...], "view" : [action_1, action_2, ...] ... }
構成設定action_iは、ツールバーに含まれるアクションを示します。 saveやapproveなどの標準のアクションが、それぞれのアイコン、タイトル、代替のテキストなどにマッピングされます。 たとえば、次のようになります。
config.toolbars = { "web": { "edit" : ["form-mode", "inspect", "separator", "save", "preview", ...], "view" : ["form-mode", "edit", "separator", "preview", "approve", ...]
ツールバーにサイトの特定のアセット・タイプのカスタム・アクションを追加するには、カスタム・エレメントSiteConfigHtmlを作成します。 次の項では、エレメントSiteConfigHtmlを変更してカスタム・ツールバー・アクションを追加し、カスタマイズをテストします。 カスタム・ツールバー・アクションによって、ツールバーにボタンが追加されます。 ボタンをクリックすると、アセット画面にメッセージが表示されます。 アセットAVIArticleの調査ビューのツールバーは、現在、次のように表示されています。

エレメントSiteConfigHtml.jspの変更
WebCenter Sites Explorerを起動し、以下の手順を完了してログインします。
a. Fileメニューから「Open Oracle WebCenter Sites」を選択します。
b. Oracle WebCenter Sites Loginウィンドウで、次の値を入力し、「OK」をクリックします。
左側のパネルで、「Tables」、「ElementCatalog」、「CustomElements」、「avisports」、および「UI」を展開し、「Config」をクリックしてコンテンツを表示します。

SiteConfigHtmlで、url列内をクリックし、表示されたボタンをクリックします。

エレメント・ウィンドウで、最後の右かっこ(})の前に次のコード・スニペットを追加します。
config.toolbars["web/AVIArticle"] = { "view": ["form-mode", "edit", "separator", "preview", "approve", "separator", "checkincheckout", "separator", "helloWorld", "refresh"], "edit": config.toolbars.web.edit // reuse default web mode toolbar } config.toolbarButtons.helloWorld = { src: 'js/fw/images/ui/ui/toolbarButton/smartlist.png', onClick: function () { var doc = SitesApp.getActiveDocument(), // the document in the active tab asset = doc.get('asset'), // the asset object view = SitesApp.getActiveView(); // the active view view.info('Hello World! The asset is an ' + asset.type + ' with id: ' + asset.id); } }

「Save」をクリックします。

Close「x」ボタンをクリックして、エレメント・ウィンドウを閉じます。

「Save」をクリックして、データベースの変更をコミットします。

カスタマイズのテスト
Webブラウザで、パスワードxceladminを使ってfwadminとしてContributorインタフェースにログインします。
選択を求められたら、Siteメニューから「avisports」を選択して、「Contributor」ボタンをクリックします。
左側のパネルで、「Content Tree」をクリックします。

Content Treeで、「Articles」と「Baseball Articles」を展開します。
アーティクルをダブルクリックして、右側のパネルにコンテンツを表示します。
アーティクル・タブのツールバーに新しいアイコンが表示されます。
このアイコンをクリックします。
カスタム・メッセージが表示されます。
メニュー・バーへのカスタム・メニューの追加
すべてのアセット・タイプのメニュー・バーまたは特定のアセット・タイプとそのサブタイプのメニュー・バーに、カスタムのメニュー・コマンドとアクションを追加できます。 この項では、アセット・タイプAVIArticleのメニュー・バーにカスタム・メニューを追加します。 カスタム・メニューは、1つのカスタム・オプションで構成されます。 次のタスクについて説明します。
カスタマイズがない場合、AVIArticleのメニュー・バーは次のように表示されます。

エレメントSiteConfigHtml.jspの変更
WebCenter Sites Explorerを起動し、以下の手順を完了してログインします。
a. Fileメニューから「Open Oracle WebCenter Sites」を選択します。
b. Oracle WebCenter Sites Loginウィンドウで、次の値を入力し、「OK」をクリックします。

「Tables」、「ElementCatalog」、「CustomElements」、「avisports」、および「UI」を展開し、「Config」をクリックして、右側のパネルにコンテンツを表示します。

SiteConfigHtmlで、url列の下をクリックし、表示されたボタンをクリックします

エレメント・ウィンドウで、最後の右かっこ(})の前に次のコード・スニペットを追加します。
config.menubar["AVIArticle"] = config.menubar["default"].slice(0); config.menubar["AVIArticle"].push({ "id": "customMenu", "label": "Custom Menu", "children": [{ "label": "Custom Action", "action": function () { alert("My custom action"); } }] });

「Save」をクリックします。
Close「x」ボタンをクリックして、エレメント・ウィンドウを閉じます。
「Save」をクリックして、データベースの変更をコミットします。

カスタマイズのテスト
Webブラウザで、パスワードxceladminを使ってfwadminとしてContributorインタフェースにログインします。

選択を求められたら、Siteメニューから「avisports」を選択して、「Contributor」ボタンをクリックします。

左側のパネルで、「Content Tree」をクリックします。

Content Treeで、「Articles」と「Baseball Articles」を展開します。
アーティクルをダブルクリックして、右側のパネルにコンテンツを表示します。
アーティクルの調査ビューのメニュー・バーに、カスタム・メニューが表示されます。
「Custom Menu」の上にカーソルを置いてメニュー・コマンドを表示し、「Custom Action」をクリックします。

次のようなアラートが表示されます。
まとめ
- 同時に開くことができるタブの数を変更する
- AVIArticleの調査ビューのツールバーにカスタムのボタンとアクションを追加する
- AVIArticleのメニュー・バーにカスタムのメニューとメニュー・コマンドを追加する
- OTNのOracle WebCenter Sites 11g
- Oracle WebCenter Sites ドキュメント
- トレーニング・コースOracle WebCenter Sites 11g for Developers
- Oracle Learning Library
- Oracle University
- Dojo Toolkitのドキュメント
- カリキュラムの開発責任者: Jenny Wongtangswad
- 編集者: Susan Moxley
- QA: Veera PutrevuおよびKrishna Chitta
このチュートリアルで学習した内容は、次のとおりです。
参考資料
著者
このOracle by Exampleチュートリアルをナビゲートする際、次の機能を使用できます。
- ヘッダー・ボタンの非表示:
- ヘッダー内のボタンを非表示にするには、タイトルをクリックします。 ボタンを再表示するには、もう一度タイトルをクリックします。
- トピック一覧:
- トピックをクリックすると、その項に移動します。
- すべてのトピックを開く:
- 該当する項の詳細を表示または非表示にするには、ボタンをクリックします。 デフォルトでは、すべてのトピックが閉じられています。
- すべてのイメージを非表示:
- スクリーンショットを表示または非表示にするには、ボタンをクリックします。 デフォルトでは、すべてのイメージが表示されています。
- 印刷:
- コンテンツを印刷するには、ボタンをクリックします。 現在表示または非表示にされているコンテンツが印刷されます。
このチュートリアルの特定の項に移動するには、一覧からトピックを選択してください。