Oracle WebCenter Frameworkを使用すると、セキュアな情報共有やオンラインでの共同作業といったWebCenter Web 2.0機能によってアプリケーションを拡張することができます。この章では、これらの機能をアプリケーションに追加するために使用できるいくつかの方法について学習します。
このレッスンでは、アプリケーションに検索ツールバー、ドキュメント・ライブラリおよびタグ付けの各機能を追加します。ドキュメント・ライブラリ、すなわちドキュメント・サービスを使用すると、アプリケーションのユーザーが、WordドキュメントやPDFのようなコンテンツを、アプリケーション内のナビゲートしやすい環境で共有できるようになります。タグ・サービスを使用すれば、開発者とユーザーは、アプリケーション内のドキュメント、ファイル、その他の項目にキーワードを追加して、コンテンツの検索と編成をより簡単にできるようになります。このサービスには、タグ・クラウド・タスク・フローも含まれています。このタスク・フローでは、ページ上で、アプリケーション・コンテンツへのキーワードのマッピングを視覚化できます。
これらのサービスは、Oracle WebCenter Suiteが提供する多数のサービスのごく一部です。サービスを使用すると、アプリケーションを動的にしたり、頻繁に使用する通信オプションをユーザーに提供したりすることが簡単に行えます。WebCenter Web 2.0サービスの詳細は、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』を参照してください。
図4-1は、このレッスンの最後にページがどのように表示されるかを示しています。
このレッスンの手順は次のとおりです。
このレッスンの手順を始める前に、この時点に到るまでのチュートリアルの手順を実行したことを確認します。
Oracle WebCenter Frameworkを使用すれば、ユーザーがサービス内のあらゆる情報を検索できるようにすることもできます。たとえば、ユーザーがドキュメント・ライブラリで特定のファイルを検索できるように、検索フィールドを追加できます。図4-2は、アプリケーションで取得できる検索結果のサンプルです。
アプリケーションに検索サービスを追加するには、次のようにします。
対象のページMyPage.jspx
が開いていることを確認します。
「構造」ウィンドウで、第3章「カスタマイズ可能ページを含むWebCenterアプリケーションの作成」で「end」
ファセットに追加したパネル・グループ・レイアウトを見つけます。図4-3は、選択されたパネル・グループ・レイアウトを示しています。検索タスク・フローをここに追加します。
第3章「カスタマイズ可能ページを含むWebCenterアプリケーションの作成」で述べたように、「構造」ウィンドウで押しピンを使用すれば、現在のビューを固定できます。この手順のために、「設計」ビューで「MyPage」をクリックして、押しピンが固定の位置(押された状態)になっていることを確認します。このようにすると、この後の手順で検索ツールバー・タスク・フローをクリックしたとき、「構造」ウィンドウがコンテキストに応じてリフレッシュされることはありません。
リソース・パレットの「WebCenterサービス・カタログ」で「タスク・フロー」ノードを開きます。Oracle JDeveloperにリソース・パレットが表示されない場合(通常は、コンポーネント・パレットの隣にタブとして表示されます)、「表示」→「リソース・パレット」を選択します。
「カタログ」の下で、「WebCenterサービス・カタログ」を開き、「タスク・フロー」を開きます。
「検索ツールバー」タスク・フローを探します(図4-4)。
このタスク・フローをパネル・グループ・レイアウトにドラッグ・アンド・ドロップし、ポップアップ・メニューから「リージョン」を選択します。適切なライブラリを追加するように求められた場合、「ライブラリの追加」を選択します。
「構造」ウィンドウで、検索ツールバー・タスク・フロー(af:region - #{bindings.sarchtoolbar1.regionModel}
)をChange Mode Buttonの上に移動します。
注意: 前述のように、「構造」ウィンドウで押しピンを使用すれば、現在のビューを固定できます。この手順のために、「設計」ビューで「MyPage」をクリックして、押しピンが固定の位置(押された状態)になっていることを確認する必要があります。 |
ブラウザでページを実行して、ページが実行時にどのように表示されるかを確認します。図4-6は、「Edit」(Change Mode)ボタンの隣の検索ツールバーを示しています。
アプリケーションに検索ツールバーを追加したので、ドキュメント・サービスを追加して、検索対象となるコンテンツを用意します。
JDeveloperに戻ります。
WebCenter Frameworkのどのサービスでも、アプリケーションによるサービスの構成、ページへのサービス・タスク・フローの追加、ページの実行および実行時のサービスのカスタマイズまたは使用といった、いくつかの基本的な手順を実行します。
実行時におけるドキュメントの参照、管理および作成が可能になるドキュメント・サービスを利用できるようにするには、まず、コンテンツ・リポジトリへの接続を作成する必要があります。このチュートリアルでは、コンテンツ・リポジトリは、第2章「チュートリアルの準備」で作成したディレクトリです。
ドキュメント・サービスへの接続の作成については、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』で詳しく学べます。
コンテンツ・リポジトリへの接続を作成するには、次のようにします。
Oracle JDeveloperのアプリケーション・ナビゲータで、「アプリケーション・リソース」ノードを探して開きます。「接続」フォルダを確認します(図4-7)。
「ViewController」プロジェクトが強調表示されていることを確認します。
「アプリケーション・リソース」の下の「接続」フォルダを右クリックし、「接続の作成」→「コンテンツ・リポジトリ」を選択します(図4-8)。
表示される「コンテンツ・リポジトリ接続の作成」ダイアログ・ボックスの最初のオプションに注目します。「アプリケーション・リソース」を選択すると、この接続の使用が現在のアプリケーションに限定されます。あるいは、「IDE接続」を選択すると、Oracle JDeveloperのインスタンスを使用して作成されたすべてのアプリケーションでこの接続を使用できるようになります。
「アプリケーション・リソース」を選択します。
注意: ここで接続を作成すると、アプリケーション全体にわたり同じ接続を再利用できます。「IDE接続」を選択した場合は、Oracle WebCenter Frameworkのインスタンスを使用して作成するすべてのアプリケーションで接続を再利用できます。接続名はリソース・パレットの「IDE接続」の下に表示されます。 |
「接続名」フィールドにMyTutorialContent
と入力します。
「リポジトリ・タイプ」リストから、「ファイル・システム」を選択します。
「ドキュメント・サービスの主要接続として設定」を選択して、ドキュメント・サービスをアプリケーションに追加するときにはいつも、この接続がアクティブ接続に設定されるようにします。
このオプションを選択せずに、別のコンテンツ・リポジトリへの接続を作成した場合は、作成した最初の接続がアクティブ接続としてOracle WebCenter Frameworkによって自動的に設定されます。
「コンフィギュレーション・パラメータ」で、「ベース・パス」にc:\TutorialContent\
と入力し、チュートリアルのサンプル・ファイルをダウンロードしたCドライブの場所(第2章「チュートリアルの準備」)に設定します。
「接続のテスト」をクリックします。図4-9のように、ステータス・フィールドに「成功」のメッセージが表示されます。
「OK」をクリックします。
アプリケーション・ナビゲータの「アプリケーション・リソース」パネルで、図4-10のように、新しい接続が表示されます。
注意: WebCenterサービスの構成と使用の詳細は、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』を参照してください。 |
Oracle WebCenter Frameworkは、次の方法によりコンテンツ統合を可能にします。
コンテンツ・リポジトリのデータ・コントロール: コンテンツ・リポジトリに対する読取り専用アクセスを可能にし、アプリケーションにおけるコンテンツの表示方法を厳格に管理します。
ドキュメント・サービス: ユーザーが、組織のコンテンツ・リポジトリ内のドキュメントを表示および管理できるようにします。
どちらの統合方法でも、前の手順で作成したコンテンツ・リポジトリ接続を使用します。このチュートリアルでは、ドキュメント・サービスを使用して、コンテンツ(第2章「チュートリアルの準備」でダウンロードしたファイル・システム上のサンプル・コンテンツ)をアプリケーションに統合します。
ドキュメント・サービスを使用すると、ユーザーはドキュメントの表示、アップロード、およびドキュメントを中心としたコラボレーションを行えます。このチュートリアルではファイル・システム接続を使用します。このシステムでは、ドキュメントを表示でき、アプリケーション・ユーザーはドキュメントを共有することができますが、アップロードはできません。Oracle Content ServerまたはOracle Content Databaseなどのコンテンツ・リポジトリを使用すると、このサービスのすべての機能を利用できます。様々なコンテンツ・リポジトリの使用方法や各種ドキュメント・サービス・タスク・フローの詳細は、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』の第15章「ドキュメント・サービスの統合」を参照してください。
この手順では、サービスで提供されるタスク・フローをアプリケーションに追加します。ドキュメント・サービスではいくつかのタスク・フローを提供していますが、その1つがドキュメント・ライブラリです。ドキュメント・ライブラリ・タスク・フローをファイル・システム・コンテンツ・リポジトリとともに使用すると、ユーザーは各自のファイル・システム上と同様に、読取り専用形式でアプリケーション内のフォルダとファイルを表示できます(図4-11)。
設計時にOracle JDeveloperでアプリケーションにドキュメント・ライブラリ・タスク・フローを追加するには、次のようにします。
Oracle JDeveloperで、MyTutorialApplicationが開いていることと、「手順2: ドキュメント・サービスに対する接続の作成」の説明に従って、サービス用にアプリケーションを構成し、コンテンツ・リポジトリへの接続を設定したことを確認します。
ページにドキュメント・ライブラリ・タスク・フローを追加します。MyPage.jspx
が開いていることを確認します。
「構造」ウィンドウで、タスク・フローの追加先を探します(図4-12)。「second」ファセットの下で、「pe:pageCustomizable」→「pe:layoutCustomizable - twoColumnBottom」に移動します。ここで、タスク・フローを追加する「Panel Customizable」が表示されます。
注意: 前述のように、「構造」ウィンドウで押しピンを使用すれば、現在のビューを固定できます。この手順のために、「設計」ビューで「MyPage」をクリックして、押しピンが固定の位置(押された状態)になっていることを確認する必要があります。 |
ドキュメント・ライブラリの周りにクロームを追加し、実行時にドキュメントのリストの周りにフレームが表示されるレイアウトにします。
コンポーネント・パレットで、リストから「Oracle Composer」を選択します。
Layoutの下で、選択した「cust:panelCustomizable」に「Show Detail Frame」をドラッグ・アンド・ドロップします(図4-12)。
「Show Detail Frame」が選択されている間に、プロパティ・インスペクタの「共通」の下で、「Text」プロパティを図4-13のようにMy Documents
に変更します。このフレームが、ページの「設計」ビューでも選択されていることに注意してください。
リソース・パレットの「WebCenterサービス・カタログ」で「タスク・フロー」フォルダを開いて、「ドキュメント・ライブラリ」を探します。図4-14は、「WebCenterサービス・カタログ」にあるタスク・フローを示しています。
「ドキュメント・ライブラリ」タスク・フローを「Show Detail Frame」にドラッグ・アンド・ドロップします。これは、タスク・フローを「構造」ウィンドウの「Show Detail Frame」にドラッグしても、ページの「設計」ビューにドラッグしてもできます。
図4-15に示すように、表示されるポップアップ・メニューで「作成」→「リージョン」をクリックします。
「ADFライブラリ追加の確認」ダイアログ・ボックスが表示されたら、「ライブラリの追加」をクリックします。
「タスク・フロー・バインディングの編集」ダイアログ・ボックスが表示されます。このダイアログ・ボックスでは、タスク・フローの接続パラメータを設定できます。
「connectionName」パラメータをクリックして、${'MyTutorialContent'}
と入力し、ドキュメント・ライブラリ・タスク・フローにこの接続の使用を指示します。
注意: ここで接続名を入力しないと、「ドキュメント・サービスの主要接続として設定」を選択したコンテンツ・リポジトリ接続がアクティブな接続になります。 |
接続はチュートリアルのサンプル・ファイルのルート・フォルダを指し示すため、startFolderPathパラメータを、製品マニュアルを含むフォルダに更新します。
「startFolderPath」パラメータをクリックして、その横に${'/Manuals'}
と入力し、「OK」をクリックします。図4-16は、適切な値が入った「タスク・フロー・バインディングの編集」ダイアログ・ボックスを示しています。
図4-17のように、「構造」ウィンドウにはaf:region
タグを含む新しいタスク・フローが表示されます。
アプリケーション・ナビゲータで、「MyPage.jspx」ページを右クリックし、「実行」を選択します。次の手順では、実行時のドキュメント・ライブラリを調べます。
アプリケーションにタスク・フローを追加したので、コンテンツ・リポジトリでドキュメントを確認できます。
ブラウザでアプリケーションを実行すると、ファイルのリストが表示されます(図4-18)。
このビューを調べます。このように、サービスにはデフォルトでフォルダ名(prodA
、prodB
、prodC
)が表示されます。この情報はすべてファイル・システムからのもので、あまりコーディングを行わずにコンテンツを即座に表示できます。
また、「My Documents」フレーム内には「検索」フィールドがあります。この検索機能の対象となるのは、ドキュメント・ライブラリ内のファイルに限られます。「手順1: アプリケーションへの検索ツールバー・タスク・フローの追加」で追加した検索ツールバーの場合は、アプリケーションに追加したどのページやサービスでも検索できます。
フォルダ「prodA」をクリックします。ビューのコンテキスト内でフォルダがどのように開くかに注目してください。ブレッドクラムを使用してドキュメント・ライブラリ内をナビゲートできます。ドキュメントに関する様々な属性(サイズ、最終変更など)も表示できます。
ツールバーの「新規フォルダの作成」アイコンをクリックします(図4-20)。
「フォルダの作成」ダイアログで、たとえばprodA_details
などのフォルダ名を入力します(図4-21)。
「作成」をクリックします。図4-22は、ブラウザに表示された新規フォルダを示しています。
コンテンツ・リポジトリとして自分のファイル・システムを使用しているため、実行時に行うアクションはすべて、コンテンツ・リポジトリ自体にも影響を与えます。コンテンツ・リポジトリ(この場合はファイル・システム上)を調べます。
C:\TutorialContent\Manuals\prodA
ディレクトリには「prodA_details」フォルダもあることに注目してください(図4-23)。
これは自分のファイル・システム上で行えますが、Oracle Content Serverのようなセキュアなリポジトリを使用する場合、これらのアクションを実行するために適切な権限が必要になります。
ブラウザに戻り、実行時のドキュメント・ライブラリを表示します。
productmanual_prodA.txtファイルをクリックします。新しいブラウザ・タブまたはウィンドウにテキスト・ファイルの内容が表示されます(図4-24)。
ブラウザ・ウィンドウを切り替えると、親フォルダからテキスト・ファイルへ簡単に移動できます。ドキュメント・ライブラリでは、ブラウザにテキスト・ファイルとイメージ・ファイルの内容が表示されます。実行時のドキュメント・ライブラリの使用方法の詳細は、『Oracle Fusion Middleware User's Guide for Oracle WebCenter』を参照してください。
Oracle JDeveloperに戻ります。
このように、ドキュメント・ライブラリ・ビューでは、有意義かつ機能的な方法で、コンテンツを素早く簡単に表示できます。このような簡単なビューとより複雑なドキュメント・ライブラリのビューの詳細は、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』で学ぶことができます。
コンテンツのルック・アンド・フィールと動作をより直接的に制御するには、JCRデータ・コントロールを使用できます。JCRデータ・コントロールの詳細は、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』の第6章「コンテンツの統合」を参照してください。
次に、タグ・サービスを追加します。タグ・サービスを使用するには、WebCenterスキーマへのアクセスが必要です。このスキーマは、第2章「チュートリアルの準備」でインストールしました。この項では、このスキーマが格納されているデータベースへの接続を作成します。
サービスを消費するためのアプリケーション設定の詳細は、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』を参照してください。
データベース接続を作成するには、次のようにします。
アプリケーション・ナビゲータで、「アプリケーション・リソース」パネルを開きます。
「接続」を右クリックし、「接続の作成」を選択してから、「データベース」を選択します。
データベース接続のために次の情報を入力します(図4-25)。「接続名」にはWebCenter
を指定することに注意してください。
接続名: WebCenter
接続タイプ: Oracle (JDBC)
ユーザー名: username
(webcenter
など)
パスワード: password
(welcome1など)
ホスト: <WebCenterスキーマをインストールしたホスト>
(localhost
など)
JDBCポート: <ポート>
(1521
など)
SID: <同じJDBCポートを持つデータベースのシステム識別子>
(ORCL
など)
「接続のテスト」をクリックして、データベース接続のテストを行います。「成功」メッセージが表示されない場合、WebCenterスキーマの正しい情報を入力したか調べて確認します(インストール時の入力内容がわからない場合、「第2章「チュートリアルの準備」を参照してください)。
「OK」をクリックします。これでデータベース接続を作成したので、アプリケーションにタグ・サービスを追加できます。
タグを使用すれば、アプリケーションの開発者とユーザーは、自分にとって意味のある文字列をアプリケーション内の項目に適用して、検索結果でそれらの項目をより検出しやすくすることができます。アプリケーションのユーザーが自身のコンテンツや検索対象のコンテンツにタグを作成できるため、ユーザーが作成したコンテンツについて詳しくないアプリケーション開発者が作成した検索キーワードよりも、タグははるかに強力かつ便利です。このユーザーによるキーワード作成により、アプリケーションのコンテンツの検索や検出が非常に容易になります。
タグ・クラウドは、アプリケーションのすべてのタグを視覚的に表した図で、開発者やユーザーにとっては、アプリケーションで使用されているタグを識別しやすくなります。アプリケーション内のタグを検索すれば、そのタグに関連付けられている項目を見つけることができます。
Oracle WebCenter Frameworkのすべてのサービスでは、アプリケーションでのサービスの構成、ページへのサービス・タスク・フローの追加、ページの実行および実行時のサービスのカスタマイズまたは使用といったいくつかの基本的な手順を実行します。
この項では、アプリケーションにタグ・サービスを追加して、ページ上に表示します。タグを視覚化し、新規のタグをアプリケーションに追加できるようにするために、タグ・クラウドを追加します。
タグ・サービス・タスク・フローを追加するには、次のようにします。
MyPageの「構造」ウィンドウで、ドキュメント・ライブラリ・ビューを追加した「Show Detail Frame」が含まれる「Panel Customizable」に移動します(図4-26)。
図4-26 「Show Detail Frame」が含まれる「Panel Customizable」
注意: 前述のように、「構造」ウィンドウで押しピンを使用すれば、現在のビューを固定できます。この手順のために、「設計」ビューで「MyPage」をクリックして、押しピンが固定の位置(押された状態)になっていることを確認する必要があります。 |
コンポーネント・パレットで、リストから「Oracle Composer」を選択します。
Layoutの下で、「Show Detail Frame」を「Panel Customizable」にドラッグ・アンド・ドロップすると、図4-27のように、最初の「Show Detail Frame」の直下に表示されます。
「Show Detail Frame」が選択されている間に、プロパティ・インスペクタの「共通」の下で「Text」プロパティを「Tag Cloud」
に変更します。
リソース・パレットの「WebCenterサービス・カタログ」の下で、「タスク・フロー」フォルダを開き、「タグ付け - タグ・クラウド」タスク・フローを探して、「Show Detail Frame」にドラッグ・アンド・ドロップします。
「作成」ポップアップ・メニューで、「リージョン」を選択します。「タグ付け - タグ・クラウド」タスク・フローが、図4-28のように、「構造」ウィンドウに表示されます。
図4-28 2番目の「Show Detail Frame」の「タグ付け - タグ・クラウド」タスク・フロー
「設計」ビューで「MyPage」ページを右クリックして、「実行」を選択します。次の手順では、実行時のタグ・サービスについて調べます。
「タグ付け - タグ・クラウド」タスク・フローをページに追加すると、WebCenterスキーマではタグ・クラウドにタグが自動的に移入されます。このチュートリアルのためにWebCenterスキーマをインストールした場合、タグ・クラウドにタグは表示されません。この例では、タグ・クラウドが実行時にどのように表示されるかを説明するために、いくつかのタグが移入されています。
実行時にタグ・サービスを使用するには、次のようにします。
ブラウザでは、ドキュメント・ライブラリの下に、タグ・クラウドが表示されています。この例では、チュートリアル用のWebCenterスキーマにあるいくつかのサンプル・タグが表示されています。タグ・クラウドが読者のWebCenterスキーマにある場合、タグ・クラウドのコンテンツの様子が少し異なる可能性があります。タグがなければ、タグ・クラウドにはタグは表示されません。
図4-29は、タグ・クラウドにサンプル・タグがあるMyPageが実行時にどのように表示されるかを示しています。
タグ・サービスをアプリケーションに追加すると、それをドキュメント・ライブラリとともに使用できます。ドキュメント・ライブラリのドキュメントにどのようにタグを追加できるかを見てみましょう。
ドキュメント・ライブラリで、フォルダ(prodBなど)を開き、ドキュメント名(productmanual_prodB.txtなど)が含まれている行を選択します。ファイル名のリンクではなく、必ず行をクリックしてください。リンクをクリックすると、「手順4: 実行時のドキュメントの参照」で行ったように、新しいブラウザ・ウィンドウにテキスト・ファイルが表示されるだけです。
ドキュメント・ライブラリのメニューで、「ファイル」→「タグ」を選択します(図4-30)。
「このドキュメントのタグ付け」ダイアログが表示されます。次のように、いくつかのタグを追加します。
productb guide prodb
「保存」をクリックしてから、別のドキュメントに別のタグを作成します。たとえば、「prodA」フォルダを開き、productmanual_prodA.txtにいくつかのタグを追加します。
「このドキュメントのタグ付け」ダイアログ・ボックスで、いくつかのタグを入力し、変更を保存します。
producta guide proda
「タグ・クラウド」タイトル・バーの右側にある「リフレッシュ」アイコンをクリックします(図4-32)。
タグ・クラウドには、図4-33のように、新規タグ(「producta」、「productb」、「guide」および「prodb」などが表示されていることに注目してください。
アプリケーションでの項目検索にタグがどのように役立つかを確認します。ページ上部の検索ツールバーで、productb
と入力し、矢印アイコンをクリックします。「検索結果」には返された「productb」
のタグが表示されます(図4-34)。
「検索結果」ウィンドウで、「productb」タグをクリックします。ポップアップ・ウィンドウにタグ・センターが表示されます(図4-35)。
タグ・センターにはタグ・クラウドと、「productb」
タグに関連付けられたすべての検索結果が、その他の拡張検索オプションとともに表示されます。様々なオプションを表示したらこのウィンドウを閉じで、アプリケーションに戻ります。
興味があれば、さらにいくつかのタグを追加して、タグ・クラウドがどのように変化するかを見ます。そうでなければ、次の手順に進んでもかまいません。
もう一度、検索ツールバーについて調べます。任意のキーワードを検索して、そのキーワードを含む項目を表示することもできます。キーワードは必ずしもタグである必要はありません。
たとえば、検索ツールバーで、キーワードproduct
を入力し、矢印をクリックします。検索の結果として、図4-36のように、キーワードproductが含まれるすべてのドキュメントとタグが返されます。
検索結果はタグ付けした項目によって決まるため、この例での検索結果が、アプリケーションで実際に表示されるものを正確に反映するとはかぎりません。
タグを検索すると、部分一致の検索結果が返されます。つまり、product
を検索したため、「検索結果」には、キーワードproduct
を含むタグとドキュメントが表示されます。しかし、明確にproductにタグ付けされた項目がなかったので、検索結果として、タグ付けした項目は表示されませんでした。
特定のタグを検索して、どうなるか確認します。検索ツールバーで、producta
と入力し、矢印アイコンをクリックします。
図4-37は、検索結果を示しています。タグ付けされた項目の「usersguide_prodA.txt」
が表示されています。この項目はproductaにタグ付けされていたため、検索結果として、この特定の項目が返されました。
カスタムWebCenterアプリケーションへの検索、ドキュメントおよびタグの各サービスの追加については、『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』でさらに詳しく学習できます。実行時にブラウザでこれらのサービスを使用する方法については、『Oracle Fusion Middleware User's Guide for Oracle WebCenter』を参照してください。
アプリケーションにいくつかのサービスを追加したので、第5章「ポートレットの構築とアプリケーションでのポートレットのワイヤリング」では、いくつかのポートレットを構築し、それらをアプリケーションに追加して、ワイヤリングします。