Oracle® Fusion Middleware Oracle WebCenter Portal開発者用チュートリアル 11g リリース1 (11.1.1.6.0) B55930-03 |
|
前 |
次 |
このレッスンでは、WebCenter Portalアプリケーションで所有およびデプロイされるコンテンツ・リポジトリ接続を作成します。今回のケースでは、Oracle WebCenter Contentリポジトリに接続すると、そこからOracle WebCenter Content用のOracle WebCenter Portalコンテンツ・サービスへのアクセスが可能になります。Oracle WebCenter Contentを主要接続として設定し、Contributionsディレクトリに移動します。このディレクトリには、About Us、Contact Us、Home、Menuなど、アプリケーション用のHTMLコンテンツ・ファイルがコンテンツ・サブ・フォルダに格納されています。
次に、これらのファイルおよびドキュメント - コンテンツ・プレゼンタ・サービスを使用して、アプリケーション用のタスク・フロー・バインディングを作成します。たとえば、home.jspx
ファイルに、コンテンツ・プレゼンタとしてhome.html
ファイルをドラッグ・アンド・ドロップします。Oracle WebCenter Contentリポジトリへの接続を有効化することにより、必要なコンテンツをより効率的に管理でき、アプリケーションの開発も最適化できます。
このレッスンでは、コンテンツ・アイテムをデフォルト・ナビゲーション・モデルに追加する方法、反復開発の利用方法などのタスクについても説明します。反復開発を利用すると、統合WebLogic Serverで実行中にアプリケーションを変更できるため、Webブラウザのページをリフレッシュすると変更の効果を即座に表示できます。また、新しいコンテンツ問合せを追加することにより、指定したメタデータ・フィールド・タグに基づいてポータル・アプリケーションで必要なすべてのドキュメントをフェッチできるようになります。
レッスンの終了時には、前のレッスンで作成したページが図6-1のように表示されます。
ナビゲーション・モデルへのコンテンツ・アイテムの追加および新規コンテンツ問合せの追加の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のポータルのナビゲーション・モデルの作成に関する項を参照してください。コンテンツ・リポジトリおよびUCMの管理の詳細は、Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイドを参照してください。
Oracle JDeveloperを使用すると、コンテンツ・リポジトリ(このケースではOracle WebCenter Content)への接続を作成することにより、Oracle WebCenter PortalのOracle WebCenter Content用コンテンツ・サービスに保存されたドキュメント・コンテンツを管理および処理できます。次に、この接続をポータル・アプリケーションで所有およびデプロイします。次の手順に従って、アプリケーション・リソースにこの接続を作成してください。
コンテンツ・リポジトリに接続するには、次のようにします。
「アプリケーション・ナビゲータ」で、「アプリケーション・リソース」まで移動して、Connections
フォルダを右クリックします。
「接続の作成」、「コンテンツ・リポジトリ」アイテムの順に選択します。図6-2に示すように、「コンテンツ・リポジトリ接続の作成」ダイアログが表示されます。
「接続名」フィールドで、UCM
と入力します。UCM
はすべて大文字で入力してください。Oracle WebCenter Contentの接続に、たとえばmyUCM
のような別の指定は使用しないでください。チュートリアル用のOracle WebCenter Contentコンテンツは特定の接続名に依存します。接続名は、必ずUCM
にしてください。
「リポジトリ・タイプ」フィールドから、Oracle Content Server
を選択します。「ドキュメント・サービスの主要接続として設定」が選択されていることを確認してください。
構成パラメータ・ペイン(図6-2)で、表6-1に示すパラメータと値を入力します。「サーバー・ホスト名」には自分のサーバー・ホスト、つまり、Oracle Content Serverが実行されているシステムのホスト名を入力します。「コンテンツ・サーバー・リスナー・ポート」は、Oracle Serverのポートです。
「現在のJDeveloperセッションのログイン資格証明を指定」(図6-2)が選択されていることを確認してください。
「ユーザー名」フィールドにweblogic
と入力し、「パスワード」フィールドにweblogic1と入力します。
「接続のテスト」をクリックし、正常に完了した場合は「OK」をクリックします。
「アプリケーション・リソース」で、図6-3に示すように、Connections
フォルダを開きます。Oracle WebCenter Contentリポジトリに接続されています。
「UCM」接続の下で、Contributions
フォルダを展開し、アップロードしたコンテンツが保存されているUCM Content
フォルダに移動します。図6-4に示すように、home.html
ファイルが含まれるHome
フォルダを展開します。
図6-4 UCM Contentディレクトリでhome.htmlファイルが表示された状態で開かれたHomeフォルダ
ポータルのプロジェクト・ディレクトリに戻り、Pages
フォルダに移動します。home.jspx
ファイルを開き、次に「ソース」タブをクリックして「ソース」ビューで表示します。図6-5に示すように、home.jspx
ファイルが「ソース」ビューに表示されます。
図6-6に示すように、ファイル中央のXMLコード・スニペット<cust:panelCustomizable id="hmpnc1" layout="scroll"/>
を選択します。選択したスニペットの後ろに別のコード行を追加します。
図6-7に示すように、UCM Content
フォルダでHome
フォルダを展開し、home.html
ファイルを選択します。
JDeveloperで、home.jspx
ファイルの「ソース」ビューに戻ります。図6-6に示すように、XMLコード・スニペット<cust:panelCustomizable id="hmpnc1" layout="scroll"/>
を選択し、home.html
を「接続」からpanelCustomizable
にドラッグ・アンド・ドロップします。
図6-8に示すように、「作成」メニュー項目を選択し、サブ・メニュー・リストをスクロール・ダウンして「ドキュメント - コンテンツ・プレゼンタ」を選択して、この項目をクリックします。
図6-9に示すように、「タスク・フロー・バインディングの編集」ダイアログが表示されます。タスク・フローの「入力パラメータ」には、特定の値が自動的に割り当てられます。「OK」をクリックします。
最後の2つの手順で、「コンテンツ・プレゼンタ」タスク・フローを追加し、タスク・フロー・パラメータがナビゲーション・リンク・パラメータから値を読み取るように設定しました。home.jspx
がすでにページ階層に追加され、ページ階層はデフォルトのナビゲーション・モデルに追加されているため、ポータル・アプリケーションを実行すると、ナビゲーション・メニューにHomeノードが自動的に表示されます。
変更を保存します。
Webブラウザをリフレッシュします。
図6-10に示すように、ナビゲーションに新しいHomeリンクが表示され、Homeページの中央にドキュメント・コンテンツのテキストが表示されます。
図6-10 HomeページおよびHomeコンテンツが定義されたWebブラウザのMyPortalApplication
この手順のシーケンスで、「コンテンツ・プレゼンタ」タスク・フローを使用して、UCM Contentフォルダにタブとしてドキュメントを表示およびレンダリングする方法を学習しました。
「コンテンツ・プレゼンタ」タスク・フローを使用すると、XMLコード内のリージョンとしてタスク・フローをパネル・コンポーネントにドラッグ・アンド・ドロップして、タスク・フローをリージョンにバインドできます。次に、ナビゲーション・リンク・パラメータから値を読み取るようにタスク・フロー・パラメータを設定できます。
ここまでの手順で、テンプレートとして使用でき、必要な場合は複数のナビゲーション・リンクを追加できるページを作成しました。
WebCenter Portalアプリケーション用にOracle WebCenter Contentリポジトリへの接続を正しく作成し、コンテンツ・プレゼンタとしてhome.html
ファイルをドラッグ・アンド・ドロップするために必要な手順を実行しましたので、ここからは、リポジトリに保存されているコンテンツの編集権限を持つユーザーをポータル・アプリケーションで作成します。
この特定のタスクを完了するには、次の2つの手順が必要です。
アプリケーションでのユーザー(このケースではcontentadmin
という名前)の作成
埋込みLDAP WebLogicサーバーでの同一名(contentadmin
)のユーザーの作成および管理者グループへの追加
これらの手順を完了した後にアプリケーションを実行してcontentadmin
としてログインすると、このユーザーのアイデンティティがOracle WebLogic Serverの埋込みLDAPに伝播されます。
UCMインスタンスでも同じ埋込みLDAPがアイデンティティ・ストアとして使用されるため、また、管理者ユーザー・グループに属するすべてのユーザーにはデフォルトで読取り、書込み、削除および管理権限が付与されるため、追加したユーザー(contentadmin
)もコンテンツを編集できます。
リポジトリに保存されているコンテンツの編集権限を持つユーザーをポータル・アプリケーションで作成するには、次のようにします。
図6-11に示すように、「アプリケーション・ナビゲータ」で「アプリケーション・リソース」に移動し、META-INF
フォルダを展開して、jazn-data.xml
ファイルを開きます。
contentadmin
という名前のユーザーをポータル・アプリケーションで作成します(図6-12)。
アプリケーションでユーザーを作成した後は、Oracle WebLogic Serverの埋込みLDAPでユーザーを作成します。
図6-12 Oracle WebCenter Contentでユーザーとして作成されたcontentadminおよび「名前」と「パスワード」フィールド
Oracle WebCenter ContentサーバーがインストールされているOracle WebLogic Server管理コンソールにログインし、ユーザー名としてcontentadmin
、および製品のインストール時に使用したパスワードを入力します(図6-13)。表示名はContentadminになります。
Oracle WebCenter Contentの「ドメイン構造」ペインで、「セキュリティ・レルム」項目(図6-14)を選択してクリックします。
「レルム」表で、名前myrealm
(図6-15)を選択してクリックします。
「myrealmの設定」ペイン(図6-16)で、「ユーザーとグループ」タブを選択してクリックします。
「ユーザー」表で、「新規」ボタン(図6-17)をクリックします。
新しいユーザーの名前を指定するように求められたら、contentadmin
という名前のユーザーを作成します(図6-18)。新しいユーザーの説明を指定するように求められたら、この新しいユーザーをコンテンツ管理者として指定します。
「ユーザー」表で、新規作成したユーザーを選択してクリックします(図6-19)。「コンテンツ管理者」が「説明」フィールドに表示されます。ページには、このセキュリティ・レルム内に構成されている各ユーザーの情報が表示されます。
「contentadminの設定」ペインで、「グループ」タブを選択およびクリックします(図6-20)。
「グループ」タブを選択し、「親グループ: 使用可能」リストから「管理者」グループを選択して、「グループ」に追加します(図6-20)。このページは、特定のユーザーのグループ・メンバーシップを構成するために使用します。
「保存」をクリックします。
これらの手順を完了すると、追加したユーザー(contentadmin
)は、コンテンツ・リポジトリのUCMコンテンツを編集できるようになります。
次の手順のシーケンスでは、アプリケーションのデフォルト・ナビゲーション・モデルXMLファイルにコンテンツ・アイテムを追加するタスクに進みます。
コンテンツ・アイテムをデフォルト・ナビゲーション・モデルに追加するには、次のようにします。
ポータル・アプリケーション・プロジェクトの「アプリケーション・ナビゲータ」で、ナビゲーション・フォルダ(/oracle/webcenter/portalapp/navigations
)に進みます。default-navigation-model.xml
を右クリックして「開く」を選択します。
図6-22に示すように、ナビゲーション・モデルの「設計」ビューの左側にある「ナビゲーション」列で、新規ノードの「追加」アイコン(プラス・アイコン)をクリックし、「コンテンツ・アイテム」を選択します。
default-navigation-model.xml
ファイルのナビゲーション・ウィンドウには、contentItem
と指定されたリンク、および同じくcontentItem
と指定されたIDが表示されます。図6-23に示すように、これらのエントリを変更する必要があります。「タイプ」フィールドはContent
として設定されています。
About Usファイルを選択し、「リンク」の「ID」フィールドにaboutus
と入力します。「URL属性」ペインに、「表示値」としてAbout Us
と入力します。
「URL」フィールドの横にある「参照」アイコン(拡大鏡の形)をクリックして、コンテンツを参照します。
図6-24に示すように、「リソースの選択」ダイアログで、「UCM」サブ・フォルダを展開し、UCM Content
フォルダに移動してaboutus.html
ファイルを選択します。
「OK」をクリックします。選択したリソースのURLが「URL」フィールドに表示されます。
コンテンツ接続からナビゲーションにファイルをドラッグ・アンド・ドロップするだけでも、コンテンツが自動的に作成されます。
ファイルを保存します。
Webブラウザに戻り、ブラウザ・ページをリロードして、WebLogicユーザーとしてログインします。図6-25に示すように、ナビゲーション・モデルのHomeの横にAbout Usリンクが表示されます。
WebCenter Portalアプリケーションでは、反復開発オプションがデフォルトで有効化されています。このオプションには様々な利点があります。
一例をあげると、反復開発を利用することにより、統合WebLogic Serverで実行中にアプリケーションを変更できるため、Webブラウザの現在のページをリフレッシュすると変更の効果を即座に表示できるようになり、開発プロセスの速度が上がります。
ヒント: ブラウザをリフレッシュすると、ページ定義およびページ階層、既存のJSPXファイルおよびナビゲーション・モデル、ページ・テンプレート、リソース・カタログ、タスク・フロー、またはページに追加したポートレットへの変更をほぼ即座に表示できます。たとえば、ページにタスク・フローを追加してブラウザを単にリフレッシュしたり、タスク・フローの値を変更してただちに結果を表示したりできます。ただし、反復開発でサポートされていない操作もあり、新しいファイルを明示的(新しいページ定義またはページ階層など)または暗黙的に作成した場合は、アプリケーションを再実行する必要があります。たとえば、ページ階層のノードにサブ・ページを追加して 基本的に、反復開発を行う場合は特定の最適化機能が無効になります。反復開発は、ビルトイン型サーバーを使用してJDeveloperから実行している場合のみ適用されます。ポータル・アプリケーションがステージング・サーバーまたは本番サーバーにデプロイされると、このオプションの影響はなくなります。 |
前の手順3: ナビゲーション・モデルへのコンテンツ・アイテムの追加では、新しいコンテンツ・リンクをアプリケーションに追加し、Webブラウザのコンテンツをリフレッシュすると、そのコンテンツ・リンクがナビゲーション階層に表示されました。
アプリケーションで反復開発を有効にした場合、JDeveloperでルートの下のデフォルト・ナビゲーション・モデルにタイプがContent
の新規リンクを追加し、そのリンクのmenu.html
ドキュメントを選択します。アプリケーションに変更を保存してブラウザ・ページをリフレッシュすると、ナビゲーション・メニューにMenuノードが表示されます。クリックすると、メニューのコンテンツを表示できるようになります。
アプリケーションのデフォルト・ナビゲーション・モデルに新規リンクを追加するには、次のようにします。
「アプリケーション・ナビゲータ」で、default-navigation-model.xml
ファイルを選択します。「アプリケーション・プロパティ」メニュー項目を右クリックします。
「アプリケーション・プロパティ」ダイアログで、「実行」ノードの「WebCenter」を選択し、「反復開発の有効化」が選択されていることを確認します。(これはデフォルトで選択されています。)
「OK」をクリックします。
図6-26に示すように、「ナビゲーション」ペインでdefault-navigation-model.xml
ファイルを選択し、プラス・アイコンをクリックして、「ナビゲーション」に「コンテンツ・アイテム」を追加します。
contentItem
がdefault-navigation-model.xml
ナビゲーションにノードとして表示され、「ID」フィールドにcontentItem
として表示されます。図6-27に示すように、「ID」をmenu
、「表示値」をMenu
に変更します。
「URL」フィールドの横の「参照」アイコンをクリックします。
図6-28に示すように、「UCM」接続にあるMenu
フォルダに移動して、menu.html
ファイルを選択します。
「OK」をクリックします。
図6-29に示すように、WebブラウザのHomeページをリフレッシュして、HomeページのナビゲーションにMenuリンクが表示されたことを確認します。これは、ポータル・アプリケーションで反復開発機能を有効化した結果です。
図6-29 ナビゲーション・モデルにメニュー・リンクが追加されてリフレッシュされたWebブラウザ・ページ
次の手順では、新しいコンテンツ問合せをポータル・アプリケーションに追加します。この問合せでは、Oracle WebCenter Contentリポジトリでメタデータ・フィールド・タグに基づくすべてのドキュメントをフェッチします。
新規コンテンツ問合せを追加するには、次のようにします。
JDeveloperでポータル・アプリケーションに戻り、default-navigation-model.xml
ファイルを開きます。
プラス・ボタンをクリックして新しいノード・アイコンを追加します。
図6-30に示すように、リストから「コンテンツ問合せ」メニュー・アイテムを選択します。
「コンテンツ問合せ」ペインで、「ID」フィールドにmenucontent
と入力します。「コンテンツ問合せ属性」ペインで、「表示値」にMenu Content
と入力します(図6-31)。
ナビゲーション・ノードでMenu Contentを選択し、「URL」フィールドで「参照」アイコンをクリックします。「リソースの選択」ダイアログが表示されます。
「リソースの選択」ダイアログで、「接続」を展開し、「UCM」を選択して、「OK」をクリックします。図6-32に示すように、UCMという名前の接続が「リポジトリ」フィールドに表示されます。
Menu Content項目(コンテンツ問合せ)をMenu項目にドラッグ・アンド・ドロップします。図6-33に示すように、この問合せは、UCMのメタデータ・フィールド・タグに基づいて、UCMの問合せに指定された条件に一致するすべてのドキュメントをフェッチします。
「問合せ」フィールドに、コンテンツ問合せテキストをSELECT cmis:name FROM ora:t:IDC:GlobalProfile WHERE ora:p:xWCTags LIKE 'menu%'
と入力します。コンテンツ問合せが正しく機能するように、ドキュメントは"menu
"というキーワードでタグ付けする必要があります。
「フォルダの内容の挿入」を選択します。
ヒント: メニュー・コンテンツ問合せはメニュー・ノードの子であるため、メニュー・コンテンツ問合せの結果がメニュー・ノードの下で発行されるようにするために、このケースではこの手順が必須であり、必ず実行する必要があります。ただし、すべてのユースケースでこの手順が必須なわけではありません。 |
コンテンツ問合せが正常に実行され、正しい結果セットを返すようにするために、コンテンツでメタデータを設定する必要があります。
手順8で示すように、Content Management Interoperability Services (CMIS)問合せは次のようになります。
SELECT cmis:name FROM ora:t:IDC:GlobalProfile WHERE ora:p:xWCTags LIKE 'menu%'
UCMは、各メタデータ・フィールドの表示名および内部名という概念に依存しています。たとえば、このCMIS問合せでは、xWCtags
がメタデータ・フィールドの内部名で、Tagsが同じフィールドの表示名です。CMIS問合せを作成する場合は、UCM内部名をフィールドに使用する必要があります。
ヒント: この例で使用されているCMIS問合せは、メタデータ・フィールドTags に基づいてすべてのドキュメントをフェッチします。コンテンツ問合せが正しく機能するために、コンテンツ・サーバーのOracle WebCenter Content管理コンソールで、Tags フィールドの横のメタデータを入力する必要があります。この例では、Tags フィールドはmenu として指定された値に設定されています。
ここで説明する コンテンツ・メタデータ(特に コンテンツ・メタデータを更新する方法の詳細は、『Oracle Fusion Middleware Content Serverユーザーズ・ガイド』の「ファイルの操作」、コンテンツ・アイテムのメタデータに関する項を参照してください。 |
次の手順で、「タグ」フィールドに正しい値を設定する方法を学習します。
図6-34に示すように、管理者権限を有効にしてUCMインスタンスにログインします。
図6-35に示すように、UCMリポジトリのContribution Folders
ディレクトリにあるMenu
フォルダに移動します。
図6-36に示すように、fastfood.html
ファイルの「アクション」メニュー項目の下にある「情報」ボタンをクリックします。これにより、Oracle Content Serverの「コンテンツ情報」ページに移動します(図6-37)。
「コンテンツ情報」ページ(Figure 6-37)で、「コンテンツ・アクション」メニューを選択し、「更新」メニュー項目をクリックします。これにより、fastfood.html
ページの「情報更新フォーム」に移動します(図6-38)。
図6-38に示すように、「情報更新フォーム」の「タグ」フィールドで、値をmenu
に設定します。
フォーム下部の「更新の送信」ボタンをクリックします(図6-39)。これにより、コンテンツ問合せのメタデータが設定されます。
変更を保存し、ポータル・アプリケーションに戻って、Webブラウザでホーム・ページをリフレッシュします。ナビゲーション・バーのMenuノードの下に、Fast Foodリンクが表示されます(図6-40)。
リポジトリのMenu
フォルダに格納されているその他のHTMLファイル(salad.html
、pasta.html
など)に対して、手順14から18を繰り返します。すべてのHTMLファイルに対して「タグ」フィールドでメタデータを設定した後は、Webブラウザをリフレッシュすると、各CMIS問合せの結果がMenuノードの下に表示されます。
このレッスンでは、Oracle WebCenter Contentリポジトリでドキュメント・コンテンツを操作および管理する重要性を学習しました。この過程で、開発作業を最適化し、反復開発を有効化し、ナビゲーション・モデルに新規コンテンツを追加しました。また、ナビゲーション・モデルにコンテンツ問合せを追加することにより、Oracle WebCenter Contentで使用されている特定のメタデータ・タグに基づいて、ドキュメントを問合せ、フェッチできるようになりました。
次のレッスンでは、ポータル・ページをカスタマイズし、ページ階層に追加して、ユーザー・アクセス権を設定する方法を学習することにより、ポータルの開発スキルを拡張する段階に進みます。さらに、ポータル・アプリケーションで、実行時にコンテキスト内HTMLコンテンツを簡単に編集する方法も学習します。