この章では、Fusion Webアプリケーションと統合したワークブックをエンド・ユーザーに公開してデプロイする方法を説明します。また、Fusion Webアプリケーションからのパラメータを統合Excelワークブックに渡す方法についても説明します。
この章の内容は次のとおりです。
統合Excelワークブックの開発が終了した後、最終の統合Excelワークブックをエンド・ユーザーが使用できるようにするために、完成したFusion Webアプリケーションをアプリケーション・サーバーにデプロイします。Fusion Webアプリケーションと統合される最終のExcelワークブックをデプロイする前に、14.3項「統合Excelワークブックの公開」の説明に従って、このExcelワークブックを公開する必要があります。Excelワークブックを公開した後、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発の「Fusion Webアプリケーションのデプロイ」の章に概説されている方法のいずれかを使用してデプロイできます。
統合Excelワークブックのデプロイ対象となるエンド・ユーザーは、次の作業を行う必要があります。
各自のシステムでADFデスクトップ統合を設定します。
ADFデスクトップ統合のsetup.exe
ツールを、ネットワーク上のディレクトリなどからエンド・ユーザーが使用できるようにします。詳細は、14.2項「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」を参照してください。
必要であれば、各自のExcelアプリケーションに対してセキュリティ設定を構成します。
Fusion Webアプリケーションとともに統合Excelワークブックをデプロイする際に、ワークブックのダウンロードURLを明示的に提供する必要はありません。エンド・ユーザーは、Fusion Webアプリケーションのユーザー・インタフェースから統合Excelワークブックをダウンロードできます。詳細は、14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」を参照してください。
「Oracle ADF」タブの「公開」ボタンを使用して、公開の準備が整ったワークブックのコピーを保存します。図14-1に、「公開」ボタン、およびこのボタンをクリックすると開くワークブックの公開ダイアログを示します(このダイアログを使用して、公開およびFusion Webアプリケーションとともにデプロイするための準備が整った統合Excelワークブックのコピーを保存します)。
統合Excelワークブックを公開してデプロイした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。
パラメータ渡し: Fusion Webアプリケーションのページを構成して、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すことができます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。
切断されたワークブック: Fusion Webアプリケーションと接続されていない状態で、エンド・ユーザーが統合Excelワークブックを使用できます。詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。
開発者が統合Excelワークブックで構成した機能をエンド・ユーザーが使用するには、ADFデスクトップ統合のランタイム・エディションをインストールする必要があります。インストール・プログラム(setup.exe
)は、MW_HOME
\oracle_common\modules\oracle.adf.desktopintegration_12.1.3
ディレクトリのadfdi-excel-runtime-client-installer.zip
ファイル内にあります。MW_HOME
はミドルウェア・ホーム・ディレクトリです。
インストール・プログラムの使用の詳細は、Oracle ADFアプリケーションの管理の複数のエンド・ユーザーが利用できるADFデスクトップ統合のランタイム・エディションの作成に関する項を参照してください。
Oracle ADFの機能を使用したExcelワークブックの構成が終了したら、これを公開する必要があります。ワークブックを公開することで、構成した統合Excelワークブックを対象となるエンド・ユーザーが使用できるようになります。
ADFデスクトップ統合では、ワークブックを公開する方法が2つ用意されています。統合ExcelワークブックをExcelから直接公開するか、JDeveloperで使用可能な公開ツールを使用してコマンドラインからワークブックを公開できます。コマンドラインの公開ツールでは、ANTビルド・スクリプトを使用して、Fusion Webアプリケーションから統合Excelワークブックを公開できます。
注意:
|
ワークブックを公開するには、「Oracle ADF」タブ上のボタンをクリックして表示されるダイアログで値を指定するか、コマンドラインの公開ツールを使用します。ワークブックを公開するためのコマンドライン公開ツールは、Fusion Webアプリケーションから使用できます。
開始する前に:
統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。
Excelからワークブックを公開するには:
統合Excelワークブックを開きます。
「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolder
およびWebPagesFolder
プロパティが正しいことを確認します。これらのプロパティが設定されていない場合、統合Excelワークブックの公開時にADFデスクトップ統合によって設定するよう求められます。
詳細は、4.2.2項「新しい統合Excelワークブックの構成方法」を参照してください。
「Oracle ADF」タブで「公開」ボタンをクリックします。
図14-1のように、表示されるワークブックの公開ダイアログ・ボックスで、公開するワークブックのディレクトリとファイル名を指定します。公開するワークブック用に指定するディレクトリおよびファイル名は、設計時のワークブックのディレクトリおよびファイル名とは異なるものにする必要があります。
「保存」をクリックして変更内容を保存します。
この公開ツールはコマンドラインから実行するもので、MW_HOME
\jdeveloper\adfdi\bin\excel\tools\publish
ディレクトリにあるpublish-workbook.exe
を指します。公開ツールを実行する前に、ソースの統合Excelワークブックを開いて「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolder
およびWebPagesFolder
プロパティが正しいことを確認します。
注意: すでに公開済のワークブックまたは実行時モードのワークブックを公開することはできません。 |
開始する前に:
統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。
MW_HOME
\jdeveloper\adfdi\bin\excel\tools\publish
ディレクトリにナビゲートし、次の構文を使用して公開ツールを実行します。
publish-workbook -workbook (-w) <
source-workbook-path
> -out (-o)
<
destination-workbook-path
>
source-workbook-path
はソース・ワークブックのフルパスで、destination-workbook-path
は公開されるワークブックの保存先のフルパスです。
例:
publish-workbook -workbook D:\Application1\Project1\ViewController\src\oracle\sampledemo\excel\workbook-src.xlsx -out D:\Application1\Project1\ViewController\public_html\excel\published\workbook.xlsx
ヒント: 公開ツールの必須の引数に関する詳細を参照するには、次のコマンドを実行します。
|
注意:
|
統合Excelワークブックが正常に公開されると、公開ツールによって成功メッセージが表示されます。ワークブックの公開中にエラーが発生した場合は、公開ツールによって処理が中止され、コマンドライン・コンソールにエラー・メッセージが表示されます。
コマンドライン公開ツールを使用する場合は、デフォルトでコマンドライン・コンソールに情報レベルのメッセージが記録されます。
ANTでの公開ツールの使用
Fusion Webアプリケーションのビルド時にANTスクリプトを作成して、JDeveloperから公開ツールを実行できます。ANTを使用してユーティリティを実行するには、次のいずれかの方法を使用します。
プロジェクト用のANTビルド・スクリプトを生成して、ワークブックのコマンドライン公開ツールを実行するためのターゲットを追加します。
ワークブックのコマンドライン公開ツールを実行するために、別個のANTビルド・スクリプトを生成または作成します。
公開ツールを実行するためのANTビルド・スクリプトのサンプル(publish-workbook.xml
)は、MW_HOME
\jdeveloper\adfdi\bin\excel\samples
ディレクトリにあります。このANTスクリプトのサンプルは、コマンドラインのワークブック公開ツールの起動を実例で示します。
設計モードで「公開」ボタンをクリックすると、ADFデスクトップ統合では次のアクションが実行されます。
必須のワークブック設定を検証します。
クライアント・レジストリを更新します。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。
公開されるワークブックを、指定のファイル名で、指定のディレクトリに作成します。
公開によっても、ワークブック定義がエクスポートされます。公開されたワークブック定義のXMLファイルは、設計時のワークブックのコピーと同じ場所に保存されます。ワークブック定義の詳細は、5.15項「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。
公開されるワークブックのワークブック設定からApplicationHomeFolder
、WebAppRoot
およびWebPagesFolder
の各プロパティを消去します。
ワークシートが設計モードのときにワークシートに表示されるバインディング式を削除します。
ワークブックのモードを実行時モードに変更します。
Publishing Timestamp
プロパティをワークブックに挿入します。このプロパティは、「情報」ダイアログの「プロパティ」タブに表示されます。
統合ExcelワークブックがJDeveloperプロジェクトを構成する他のファイルとともにパッケージ化されていない場合は、Fusion WebアプリケーションのJDeveloperプロジェクトに統合Excelワークブックを追加します。こうすることで、最終のFusion Webアプリケーションをデプロイする際に、Fusion Webアプリケーションと統合するExcelワークブックが確実にデプロイされます。たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションは、次の場所で統合された、デプロイ済Excelワークブックを保存します。
<Summit_HOME>\ViewController\public_html\excel
ここで、Summit_HOME
はADFデスクトップ統合のSummitサンプル・アプリケーションのインストール・ディレクトリです。
統合Excelワークブックの格納先を決定したら、エンド・ユーザーが統合ExcelワークブックにアクセスできるようにFusion WebアプリケーションでWebページを構成できます。たとえば、図14-2に、Internet Explorerの「ファイルのダウンロード」ダイアログを示します。これはADFデスクトップ統合のSummitサンプル・アプリケーションのindex.jspx
ページで使用可能なデモ→編集可能表サンプルのメニュー・オプションをクリックすることで起動されました。
図14-2に示されている機能を有効にするには、Excelワークブックが認識されるようにFusion WebアプリケーションのHTTPフィルタ・パラメータを構成する必要があります。Fusion WebアプリケーションでADFデスクトップ統合が有効になっている場合、これらのパラメータはJDeveloperによって自動的に構成されます。HTTPフィルタ・パラメータを手動で構成する場合は、付録D「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。
Fusion WebアプリケーションのHTTPフィルタを構成した後、Fusion Webアプリケーションによってエンド・ユーザーに表示されるWebページを構成し、エンド・ユーザーがExcelワークブックを起動できるようにします。Fusion Webアプリケーションと統合されたExcelワークブックを起動できるようにする基本的な方法は、ワークブックを起動するハイパーリンクを提供することです。たとえば、Webページに次のようなADFコードを記述できます。
<af:link text="Editable Table Sample" destination="/excel/EditCustomers.xlsx"/>
ここで、excel
は、WebPagesFolder
ワークブック・プロパティによって指定されるディレクトリのサブディレクトリで、EditCustomers.xlsx
はエンド・ユーザーが起動するExcelワークブックです。
ボタン、リストおよびリボン・コマンドからエンド・ユーザーがExcelワークブックを起動できるようにするための機能を提供できます。次にいくつかの例を示します。
ボタン
クリックすると統合Excelワークブックが起動するボタンをWebページ上に表示します。
選択リスト
統合Excelワークブックを起動するボタンとともに、ADF Faces selectOneChoice
コンポーネントを使用します。
メニュー
ADF Faces goMenuItem
コンポーネントを使用します。
図14-2に示されている使用可能なデモのメニューでは、goMenuItem
コンポーネントが使用されています。次のエントリがADFデスクトップ統合のSummitサンプル・アプリケーションのindex.jspx
ページに表示され、goMenuItem
コンポーネントを示します。
<af:goMenuItem text="Editable Table Sample" id="gmi1" destination="/excel/EditCustomers.xlsx"/>
Fusion WebアプリケーションのWebページの作成の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください。
web.xml
がADFデスクトップ統合を使用するFusion Webアプリケーション用に構成されている場合、次のことが起こります。
DIExcelDownloadFilter
フィルタが定義されます。
フィルタ・マッピングは、*.xlsx
および*.xlsm
ファイルに定義されます。
エンド・ユーザーがワークブックに対してHTTPリクエストを出す(たとえば、ユーザーがアプリケーションからWebページのリンクをクリックする)と、DIExcelDownloadFilter
フィルタは、HTTPレスポンスとしてストリーム化されて戻されたWebAppRoot
プロパティをワークブックに埋め込みます。WebAppRoot
プロパティは後でADFデスクトップ統合クライアントにより使用されて、Fusion Webアプリケーションに接続し、ユーザー・セッションを確立し、データを相互に送信します。
DIExcelDownloadFilter
フィルタはWebAppRoot
値を、doFilter()
エントリ・ポイントに渡される現在のHttpServletRequest
オブジェクトから構築します。フィルタ・コードはHttpServletRequest.getRequestURL()
を呼び出し、コンテキスト・パス部分の後をすべて削除する(HttpServletRequest.getContextPath()
を使用)ことで、完全なURLの"root"部分を取得します。
Fusion Webアプリケーション・ページは、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すように構成できます。特に、ワークブック・パラメータ値をADFm
メソッドへの引数として使用できます。たとえば、顧客の表を表示し、エンド・ユーザーが指定した特定の市区町村に対してフィルタ処理されるページについて考えます。エンド・ユーザーが提供する市区町村IDは、ビュー・オブジェクトの問合せを変更して顧客に一致する市区町村IDを返すカスタム・メソッドへの引数として使用されます。このようなページでは、ページで現在選択されている市区町村に対して自動的にフィルタ処理されたデータを含む同じ顧客表を表示する統合ワークブックをエンド・ユーザーがダウンロードすることもできます。統合ワークブックのダウンロード時に、市区町村IDがワークブック・パラメータ値として埋め込まれます。
Fusion Webアプリケーション・ページから統合Excelワークブックにパラメータを渡すには、次の手順に従います。
エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、HTTPフィルタが構成されていることを確認します。デフォルトでは、プロジェクト内でADFデスクトップ統合を有効化すると、JDeveloperによってHTTPフィルタが適切な値で構成されます。HTTPフィルタのパラメータ値を検証するには、D.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」を参照してください。
エンド・ユーザーがワークブックをダウンロードできるFusion WebアプリケーションのWebページで名前/値のペアをURL引数として使用します。詳細は、14.5.1項「Fusion Webアプリケーションのページを構成してパラメータを渡す方法」を参照してください。
「ワークブックのプロパティの編集」ダイアログおよび「ワークシートのプロパティの編集」ダイアログでパラメータ名を定義します。詳細は、14.5.3項「統合Excelワークブックでパラメータのプロパティを構成する方法」を参照してください。
<parameter>
要素を追加して、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成します。詳細は、14.5.3項「ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法」を参照してください。
図14-3に、Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す手順を示します。
<af:link>
などのコンポーネントを使用して、統合ワークブックの公開済コピーをエンド・ユーザーがダウンロードできるようにすることができます。コンポーネントの接続先URLは、統合ワークブックを参照し、その問合せ部分では、URLパラメータの名前と値がワークブックのパラメータ名と値に対応します。また、呼び出されたときに、コンポーネントとそのプロパティ値で参照される値をリフレッシュするようFusion Webアプリケーションに要求するコマンドをページで指定します。
アクション・コンポーネントを使用したファイルのダウンロードの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のアクション・コンポーネントを使用してファイルをダウンロードする方法に関する項を参照してください。
開始する前に:
Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。
Fusion Webアプリケーションのページを構成するには:
JDeveloperで、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるページにコンポーネントまたはタグ(af:goLink
など)を挿入します。
「構造」ウィンドウでコンポーネントを右クリックし、「プロパティに移動」を選択します。
「共通」セクションを展開し、プロパティの値を設定します。
表14-1に、af:link
コンポーネントのプロパティを示します。
表14-1 af:linkタグのプロパティ
プロパティ | 値 |
---|---|
|
実行時にエンド・ユーザーに表示されるテキストを記述します。 たとえば、次のようなテキストを記述して実行時に表示します。
|
|
ダウンロードする統合Excelワークブックおよびその値をURL引数として指定するEL式を記述するための式ビルダーを起動します。 たとえば、次のようなEL式を記述します。 "/excel/EditableCustomerSearchParam.xlsx?CityID=#{bindings.CityID.attributeValue}"
たとえば、次のEL式が評価されてからURLエンコードされた結果の合計サイズは、2048バイトよりも小さい必要があります。
また、URLに含まれる文字数が256を超える場合は、エンド・ユーザーが統合Excelワークブックをダウンロードして保存せずに開いたときに、例外が発生します。この問題を解決するには、URLの長さを256文字に制限するか、ワークブックを開く前に保存するようエンド・ユーザーに指示する必要があります。 |
必要に応じて、「動作」セクションを開き、起動するとaf:link
タグおよびDestination
プロパティの値を更新するpartialTriggers
プロパティのコンポーネントIDを指定します。
たとえば、NextButton
、PreviousButton
、FirstButton
およびLastButton
というIDのナビゲーション・ボタンがある場合は、次のように指定します。
:NextButton :PreviousButton :FirstButton :LastButton
ページを保存します。
この手順で示した例を使用した場合にJDeveloperによってJSFページに生成されるエントリを、次の例に示します。
<af:link text="Download to Excel" destination="/excel/EditableCustomerSearchParam.xlsx?CityID=#{bindings.CityID.attributeValue}" partialTriggers=":NextButton :PreviousButton :FirstButton :LastButton"/>
エンド・ユーザーによってFusion Webアプリケーションからダウンロードされる統合Excelワークブックが、ワークブックのダウンロードURLの問合せ文字列に含まれているパラメータ値を受け取るように、ワークブックのParameters
プロパティおよびワークシートのParameters
プロパティを構成します。
開始する前に:
Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。
ワークブックのParametersプロパティを構成するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。
「パラメータ」の入力フィールドの横にある参照(...)アイコンをクリックして、「パラメータの編集」ダイアログを起動します。
「追加」をクリックして新しいワークブック初期化パラメータを追加し、プロパティを次のように構成します。
(オプション)「注釈」フィールドに、ワークブック初期化パラメータの説明を入力します。
14.5.1項「Fusion Webアプリケーションのページを構成してパラメータを渡す方法」でaf:link
タグのDestination
プロパティ用に構成したURL引数の名前を、「パラメータ」フィールドで指定します。
たとえば、表14-1に示したaf:link
URL引数を追加した場合、Parameterプロパティの値は図14-4に示すようにCityID
になります。
必要に応じて手順4を繰り返し、他のワークブック初期化パラメータを追加します。
「OK」をクリックします。
ワークブックのParameters
プロパティの詳細は、表A-21を参照してください。
ワークシートのParametersプロパティを構成するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。
「パラメータ」の入力フィールドの横にある参照(...)アイコンをクリックして、「パラメータの編集」ダイアログを起動します。
「追加」をクリックして新しいワークシート・パラメータを追加し、図14-5のように構成します。
(オプション)「注釈」フィールドに、ワークシート・パラメータの説明を入力します。
14.5.3項「ワークシートのページ定義ファイルを構成してパラメータを受け取る方法」でワークシートに関連付けられているページ定義ファイルに追加したパラメータ要素を、「パラメータ」フィールドで指定します。
ワークブック初期化パラメータ(ワークブックのParameters
配列)に対して指定したParameter
プロパティの値を参照するEL式を、「値」フィールドに記述します。EL式を記述する際は、次の構文を使用します。
#{workbook.params.
parameter
}
parameter
は、ワークブック初期化パラメータ用に指定されたParameter
プロパティの値を参照します。
必要に応じて手順4を繰り返し、他のワークブック初期化パラメータを追加します。
「OK」をクリックします。
ワークシートのParameters
プロパティの詳細は、表A-22を参照してください。
デフォルトでは、ワークブック・パラメータは、ワークブックがメタデータをリクエストするためにサーバーに接続するとき、エンド・ユーザーがログアウトするとき、またはセッションが期限切れになるときに、その都度送信されません。必要であれば、SendParameters
プロパティを構成して、初期化パラメータが送信されるようにワークブックを構成できます。
ワークシートのSendParametersプロパティを構成するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。
「ワークシートのプロパティの編集」ダイアログで、表14-2および図14-6に示すように、SendParameters
の値を設定します。
表14-2 SendParametersプロパティ
設定するプロパティ | 設定する値 |
---|---|
|
詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。 |
「OK」をクリックします。
テスト・モードに入ると、「ワークブック・パラメータ」ダイアログでテスト・パラメータ値の入力を求められます。図14-7に、ワークブックのテスト値を受け入れる「ワークブック・パラメータ」ダイアログを示します。
一部またはすべてのパラメータの値の入力は必須ではありません。テスト・パラメータ値を入力した場合、テスト・モードを終了して設計モードに戻ったときに値はクリアされません。統合Excelワークブックを再度実行する場合、キャッシュからのワークブック・パラメータ値が「ワークブック・パラメータ」ダイアログに表示されます。
提供されたテスト値は、ADFデスクトップ統合Excelダウンロード・フィルタがパラメータ値を格納するのと同じ方法でワークブックに格納されます。ワークブックを公開する際、ワークブックが公開される前にテスト・パラメータ値がクリアされます。
注意: 前述の例では、
ワークブック・パラメータ値は、ページ定義によって公開される任意のメソッドの引数として使用できます。 |
次の手順で、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成できます。
ワークシートのバインディング・コンテナを初期化する1つ以上のparameter
要素を追加します。14.5.1項「パラメータを渡すためにFusion Webアプリケーションのページを構成する方法」に示されているように、これらのパラメータの値はURL引数から提供されます。
次の例は、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルのパラメータ要素を示しています。
<parameters> <parameter id="CityIDParam" /> </parameters>
アプリケーション・モジュール・メソッド(filterByCityId
)を起動するメソッド・アクション・バインディングを追加します。アプリケーション・モジュール・メソッドは、CityIdParam
の値を参照する単一のLong
引数(CityIdArg
)を受け取ります。このメソッドは、市区町村IDをフィルタ処理するためにビュー・オブジェクトの問合せの変更および実行を担当します。
<bindings> <methodAction id="filterByCityId" RequiresUpdateModel="true" Action="invokeMethod" MethodName="filterByCityId" IsViewObjectMethod="false" DataControl="AppModuleDataControl" InstanceName="AppModuleDataControl.dataProvider"> <NamedData NDName="CityIdArg" NDValue="${bindings.CityIdParam}" NDType="java.lang.Long"/></methodAction> . . . </bindings>
ページ定義ファイルの構成の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードすると、ダウンロードをトリガーしたコンポーネント・タグ(af:link
など)が評価され、現在のCityIDが取得されてURLに組み込まれます。adfdiExcelDownload
フィルタによって、URLのすべてのパラメータの名前および値が、ダウンロードされた統合Excelワークブックに埋め込まれます。
これらのパラメータは、バインディング・コンテナがリフレッシュされる前にBindingContainer
DCParameters
に設定されます。ワークシート・パラメータがバインディング・コンテナにどのようにマップされるかの詳細は、14.5.3項「ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法」を参照してください。
ワークシートのStartup
イベントで設定されたアクションも初期化中に実行されます。初期化の後、統合Excelワークブックがディスクに保存される際に、各ワークシートの初期化ステータスが記録されます。
統合Excelワークブックを保存して閉じた後、再び開くと、前に初期化されたワークシートに対する初回の初期化はスキップされます。統合Excelワークブックの初回のダウンロード時にワークブック・パラメータが取得され、サーバー・コンテキストの設定にこれらのパラメータが必要である場合は、Worksheet.ServerContext.SendParameters
プロパティをTrue
に設定する必要があります。SendParameters
プロパティがTrue
の場合、各ユーザー・セッションにおいて、メタデータのリクエストごとに、またデータの初回のリクエスト時に、ワークブック・パラメータが送信されます。
ワークブックのすべてのワークシートの初期化状態をリセットするには、ClearAllData
アクションを起動します。ClearAllData
アクションの詳細は、表A-20を参照してください。
ADFデスクトップ統合では、Oracle Metadata Services (MDS)ベースのランタイム・カスタマイズもサポートされます。MDSの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「MDSでのアプリケーションのカスタマイズ」の章を参照してください。
ワークブック統合メタデータでは、ADFデスクトップ統合コンポーネントがワークブックでどのように表示され動作するか、またワークブックがそのFusion Webアプリケーションでどのように統合されるかを定義します。ワークブックが公開されると、そのワークブック統合メタデータのXMLファイルが設計時のワークブックのコピーと同じ場所に保存されます。カスタマイズ対応ワークブックの公開の詳細は、14.3項「統合Excelワークブックの公開」を参照してください。
カスタマイズ対応ワークブックのワークブック統合メタデータ・ファイルは、MDSによって管理できるようにMDSメタデータ・リポジトリにデプロイする必要があります。メタデータ・リポジトリの詳細は、Oracle Fusion Middlewareの管理の「メタデータ・リポジトリの管理」の章を参照してください。
ワークブック統合メタデータのカスタマイズを有効にするには、「ワークブックのプロパティ」ダイアログを開き、CustomizationEnabled
をTrue
に設定します。
開始する前に:
ワークブック統合メタデータのカスタマイズを理解しておくと役立ちます。詳細は、14.6項「実行時のワークブック統合メタデータのカスタマイズ」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。
ワークブックの実行時カスタマイズを有効にする手順:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。
「CustomizationEnabled」をTrue
に設定します。
「OK」をクリックします。
カスタマイズ対応ワークブックを公開します。
カスタマイズ対応ワークブックは、ワークブックの初期化時にサーバーからそのメタデータを取得します。この統合メタデータは、サーバー側のMDSによって管理され、MDS APIを通じてアプリケーションによってアクセスできます。
実行時に、アプリケーションはユーザーにワークブック統合メタデータをカスタマイズする手段を提供できます。カスタマイズ対応ワークブックは、初期化されると、ワークブック統合メタデータをサーバーにリクエストします。MDSは、現在のカスタマイズ・コンテキストに基づいてすべてのカスタマイズを適用し、カスタマイズされたメタデータをその初期化のためにワークブックに戻します。
たとえば、アプリケーションは、ユーザーがカスタマイズ対応ワークブックの表の列をカスタマイズできるWebページを提供できます。ユーザーは、Webページ上の表から特定の列を削除し、カスタマイズ対応ワークブックをダウンロードして、ワークブック内の変更の影響を確認できます。
カスタマイズ対応ワークブックは、関連付けられたプロジェクトのpublic_html
ディレクトリの下のディレクトリにのみ公開できます。アプリケーションをデプロイする際には、ワークブックが公開されるときに生成されたメタデータ・パスを使用して、対応するワークブック統合メタデータ・ファイルがMDSによって見つかることを確認します。
各カスタマイズ対応ワークブックには、固有のワークブック統合メタデータ・ファイルがあります。ワークブックが公開されると、そのワークブック統合メタデータのXMLファイルが設計時のワークブックのコピーと同じ場所に保存されます。このワークブック統合メタデータ・ファイルをMDSメタデータ・リポジトリにデプロイして、実行時にMDSが管理できるようにする必要があります。MDSの用語では、ワークブック統合メタデータ・ファイルはベース・ドキュメントであり、メタデータ・パスを使用してMDSによって参照されます。メタデータ・パスは、カスタマイズ対応ワークブックの公開時に決定されます。
たとえば、設計時のカスタマイズ対応ワークブックが<
PROJECT_HOME
>/public_html/myCompany/myPackage/myWorkbook.xlsx
に公開され、そのワークブック統合メタデータ・ファイル名がmyWorkbook-DT.xlsx-workbook-definition.xml
の場合、このワークブックのメタデータ・パスは/myCompany/myPackage/myWorkbook-RT.xlsx-workbook-defintion.xml
です。実行時に、MDSはアプリケーションで構成されたリポジトリ内で、このメタデータ・パスを使用してワークブック統合メタデータを探します。メタデータ・パスは、アプリケーション全体で一意である必要があります。
デフォルトでは、MDSリポジトリがワークブック統合メタデータ・ファイルに対して構成されていない場合、MDSは前述のメタデータ・パスを使用してクラスパス上でメタデータ・ファイルを検索します。MDSの構成を回避するために、Fusion Webアプリケーションのクラスパス上にワークブック統合メタデータ・ファイルをホストできます。実行時に作成されたカスタマイズは、MDS default-cust-store
に格納できます。