この章の内容は次のとおりです。
エンド・ユーザーは、統合Excelワークブックを開いて、開発者が構成したワークブック・リボン・コマンドからFusion Webアプリケーションにログオンできます。Fusion Webアプリケーションではユーザーにセッションが割り当てられます。Fusion Webアプリケーションへの接続が確立され、有効なセッションが割り当てられると、エンド・ユーザーはFusion Webアプリケーションからワークブックへデータをダウンロードできます。その後、ワークブック・リボン・コマンドを使用してFusion Webアプリケーションからログオフするか、Fusion Webアプリケーションをホストするネットワークから切断するなどしてFusion Webアプリケーションから切断することができます。
ユーザーがワークブック・コマンドを使用してFusion Webアプリケーションからログオフした場合は、ただちにセッションが終了します。ワークブックを開いてアイドル状態にすることで、ユーザーがセッションをタイムアウトできる場合、Fusion Webアプリケーションは、セッション・タイムアウトが期限切れになると、ユーザーに割り当てられたセッションを終了します。
Fusion Webアプリケーションから切断された統合Excelワークブックを使用して、エンド・ユーザーは次のアクションを実行できます。
Fusion Webアプリケーションからダウンロードしたデータの変更
ワークブック内の適切なADF表コンポーネントへの新規データの挿入
データの変更を保存してワークブックを閉じ、再度開くこと(Fusion Webアプリケーションへのデータのアップロードは不要)
ADF表コンポーネントでの変更の追跡および更新
複数のWebアプリケーション・セッション間の統合Excelワークブックの動作をテストします。これを行うには、統合Excelワークブックを実行します。ユースケースの手順を実行する際は、現在のWebアプリケーション・セッションの様々な時点で、「ログアウト」ワークブック・リボン・コマンドをクリックします。専用の終了時点を、ADF表コンポーネントのDownload
アクションの起動からUpload
アクションの起動までの間の現在のセッションにします。必要に応じて、新しいWebアプリケーション・セッションが作成されます。結果が予想したものと異なる場合は、この章の後述の項に記載のプロパティを構成する必要が生じる場合があります。
公開された統合Excelワークブックをエンド・ユーザーが開くと、ワークブックに必要なデータがダウンロードされます。その後、サーバーから切断されても、統合Excelワークブックでデータの編集や更新を続行し、保存して閉じることができます。
複数のWebセッション間で統合Excelワークブックを検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。
統合Excelワークブックのトラブルシューティング: 統合Excelワークブックの開発中またはデプロイ時に、問題が発生する可能性があります。詳細は、「統合Excelワークブックのトラブルシューティング」を参照してください。
ADFデスクトップ統合のインストール: ADFデスクトップ統合および統合Excelワークブックをエンド・ユーザーが使用できるようにするために、ADFデスクトップ統合をインストールする必要があります。詳細は、「エンド・ユーザーのアクション」を参照してください。
ワークシート内の1つ以上のアクション・セットの動作がFusion Webアプリケーションの現在のモデル状態に依存しているユース・ケースでは、新しいセッションが確立されるたびに正しいモデル状態が取得およびリストアされるように、統合Excelワークブックおよびページ定義ファイルを構成する必要があります。
新しいセッションは次のタイミングで発生します。
ユーザーが統合Excelワークブックを保存、閉じる、または再度開くとき
ユーザーがワークブックのログアウト・アクションを起動するとき
Fusion Webアプリケーションに接続するアクション・セット間の起動間隔が、Fusion Webアプリケーションのセッションに対して指定されているセッション・タイムアウト値を超えるとき
セッションとセッションの間にワークシートのServerContext
プロパティ・グループの値として統合Excelワークブックにキャッシュする属性バインディングを指定します。さらに、このプロパティ・グループでは、Fusion Webアプリケーションによって統合Excelワークブックに新しいセッションが割り当てられると、キャッシュされた属性バインディング・データを使用してサーバー・サイド・コンテキストをリストアするアクション・バインディングを指定できます。
ServerContext
プロパティ・グループの値を指定するには、ワークシートに関連付けられているページ定義ファイルで、サーバー・コンテキストのリストアの対象となる属性バインディングおよびアクション・バインディングを公開しておく必要があります。ページ定義ファイルへの属性バインディングとアクション・バインディングの追加の詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。ServerContext
プロパティ・グループの詳細は、表A-21のServerContext
のエントリを参照してください。
開始する前に:
サーバー・データ・コンテキストのリストア方法を理解しておくと役立ちます。詳細は、「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。
サーバー・データ・コンテキストをリストアするように統合Excelワークブックを構成するには:
注意:
ワークシート設定アクション(またはParameters
および<invokeAction>
実行可能ファイル)を使用する統合Excelワークブックでは、新しいセッションが作成されるときにワークシート設定アクションがサーバー・データ・コンテキストをリストアできる場合は、RestoreDataContextActionID
およびCachedServerContexts
を構成する必要はありません。
Fusion Webアプリケーションから切断されている間にエンド・ユーザーがワークブックを使用できるように、相対的に静的な特定の種類のデータが統合Excelワークブックにキャッシュされます。表16-2に、統合Excelワークブックでキャッシュされるデータの種類を示します。
「ワークブックのアクションおよびプロパティ」で説明されているClearAllData
ワークブック・アクションを起動すると、表16-2に説明されているすべてのタイプのキャッシュ・データがリフレッシュされます。表16-2では、統合Excelワークブックがキャッシュ・データをリフレッシュするその他のシナリオについても説明しています。
表16-2 統合Excelワークブックでキャッシュされるデータの種類
データの種類 | キャッシュのタイミング | リフレッシュのタイミング |
---|---|---|
コントロール・バインディング・タイプ、ID、ラベルなど、ユーザー・セッション間で変更が予想されないページ定義メタデータ。 |
ページ定義ファイルにバインドされている統合Excelワークシートがアクティブ化され、ページ定義ファイルのメタデータのキャッシュが存在しない場合。 |
ページ定義メタデータは、統合Excelワークブックの新しいコピーをダウンロードしないかぎり、リフレッシュされません。 |
ADF値リスト・コンポーネントのリスト項目 |
ADF値リスト・コンポーネントによってFusion Webアプリケーションからリスト項目が初めてダウンロードされるとき。 |
Fusion Webアプリケーションによってホストされるリスト項目の値が統合Excelワークブックによってキャッシュされたものと異なる場合。キャッシュされたリスト項目がリフレッシュされるのは、ワークブック・セッションが存在する場合のみで、ワークブック・セッションごとに1回かぎりです。 |
リソース・バンドルの文字列 |
統合Excelワークブックが初めて初期化されるとき。公開後にワークブックを初めて開くと、ワークブックは初期化されます。 |
リソース・バンドル文字列のキャッシュは、統合Excelワークブックの新しいコピーをダウンロードしないかぎり、リフレッシュされません。 |
ADFデスクトップ統合では、値リストや依存値リストの作成に使用するADF値リスト・コンポーネントによって参照される値をキャッシュして、実行時にエンド・ユーザーが値を選択したときに、これらのコンポーネントによってFusion Webアプリケーションにリクエストが送信されないようにします。
ADFデスクトップ統合では、各コンポーネントに対して最大250の値がキャッシュされます。値が250を超える値リストをコンポーネントが参照する場合、ADFデスクトップ統合では、最初の250の値をキャッシュして、残りの値に関する警告メッセージをクライアント・サイドのログ・ファイルに書き込みます。「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」の説明に従って、値リストによって参照される値が250を超えるモデルドリブン・リスト・ピッカーを使用するように、統合Excelワークブックを構成することを検討してください。クライアント・サイドのログ・ファイルの詳細は、「統合Excelワークブックのログ・ファイルの生成」を参照してください。
統合Excelワークブックにキャッシュされた値リストは、ワークブック・セッションごとに1回リフレッシュされます。このリフレッシュは、Fusion Webアプリケーションによって参照される値が、統合Excelワークブックによる最後の値リストのキャッシュ以降に変更された場合に、ユーザーがFusion WebアプリケーションとのWebセッションを再確立すると行われます。
値リストから選択した値をアップロードする際に、その選択値がFusion Webアプリケーションにすでに存在しない場合、アップロードは失敗します。このような状況が発生するのは、あるエンド・ユーザーがFusion Webアプリケーションで値を削除し、別のエンド・ユーザーが統合Excelワークブックのキャッシュされた値リストでその値を選択して変更し、変更した値をFusion Webアプリケーションにアップロードしようとした場合などです。
Fusion Webアプリケーションをデプロイし、公開した統合Excelワークブックをエンド・ユーザーが使用するようになった後にFusion Webアプリケーションの構成を変更する場合は、統合Excelワークブックの新しいコピーをダウンロードするか、もしくはClearAllData
ワークブック・アクションを起動するようエンド・ユーザーに通知する必要があります。ClearAllData
ワークブック・アクションの詳細は、「ワークブックのアクションおよびプロパティ」を参照してください。
Fusion Webアプリケーションの変更に、ワークシートに公開されるADF値リスト・コンポーネントに関連付けられるリスト・バインディングの定義の変更が含まれる場合があります。リスト・バインディング構成を変更すると、変更前にダウンロードおよび実行されたワークブックで予期しない例外が発生する可能性があります。
注意:
統合Excelワークブックは、ModelDrivenColumnComponentサブコンポーネントがモデルドリブン・リスト・ピッカーに表示する値をキャッシュしません。モデルドリブン・リスト・ピッカーの詳細は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。
値リストの詳細は、「値リストの使用」を参照してください。
実行時にバインディング・コンテナのメタデータがサーバーから取得されたら、ADFデスクトップ統合はワークシートを構成するいくつかの機能を提供します。ただし、クライアントがバインディング・コンテナ・メタデータを取得する前に、データまたはバインディング・コンテナを構成することもできます。たとえば、設計時に表をワークシートに追加しますが、その表を操作するビュー・オブジェクトは実行時まで指定しない場合があります。使用されるビュー・オブジェクトはパラメータ値または設定によって決まりますが、それらの値が実行時まで不明の場合は、このような操作が必要です。さらに、実行時パラメータ値(属性の追加、表示される属性の指定など)に基づいて、ビュー・オブジェクトを構成することもできます。同様に、実行時パラメータ値に基づいてバインディング・コンテナを構成することもできます。このようなユース・ケースでは、バインディング・コンテナ・メタデータがサーバーからワークシートに送信される前に、設定タスクを実行する必要があります。
ADFデスクトップ統合の明示的なワークシート設定アクション機能を使用すると、クライアントがバインディング・コンテナ・メタデータを取得する前に起動される設定アクションを指定できます。Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsx
ワークブックは、この機能(倉庫の在庫ワークシートがFilterWarehouseMasterById
の名前のメソッド・アクション・バインディングを起動)の実装を示します。
ワークシートのSetupActionID
プロパティを使用すると、バインディング・コンテナ・メタデータがワークシートに送信される前に起動されるメソッドを指定できます。メソッドでは、データおよびバインディング・コンテナでの構成に必要なロジックを実装できます。
開始する前に:
明示的なワークシート設定アクション機能について理解しておくと役立ちます。詳細は、「明示的なワークシート設定アクションの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。
ワークシートSetupActionIDプロパティを使用する手順:
SetupActionID
プロパティによって指定されたアクションが実行されたら、ワークシートに送信されるバインディング・コンテナ・メタデータはメソッドで構成された構成を反映します。ADFデスクトップ統合では、バインディング・コンテナ・インスタンスに対して設定アクションが1回のみ実行されるようにします。なんらかの理由で新しいバインディング・コンテナ・インスタンスがワークシートに関連付けられると、新しいバインディング・コンテナ・インスタンスが構成されるように設定アクションが再度起動されます。
設定アクションの起動時にエラーが発生すると、ADFデスクトップ統合はワークシート内で自動的に無効になります。ログアウトし再度ログインしても、ワークシート内のADFデスクトップ統合は有効になりません。Excelリボンから「全データのクリア」コマンドを実行すると、ワークシート内のADFデスクトップ統合は再度有効になり、設定アクションは後続の要求時に再度実行されます。