この章では、Application Builderの使用方法に関する重要な背景について説明します。Oracle HTML DBでは、Application Builderを使用して、動的にレンダリングされたアプリケーションを構築します。アプリケーションは、タブ、ボタンまたはハイパーテキスト・リンクを使用して相互にリンクされた、データベース・ドリブンのWebページのコレクションです。
この章の内容は次のとおりです。
アプリケーションは、共通のセッション・ステート定義および認証方式を共有するページのコレクションです。Application Builderは、アプリケーションを構成するページを構築するためのツールです。Application Builderへのアクセスは、「作業領域」ホームページから行います。(図7-1を参照。)
Application Builderにアクセスするには、次の手順を実行します。
Oracle HTML DBにログインします。
「作業領域」ホームページが表示されます。
Application Builderにアクセスするには、次のいずれかの手順を実行します。
「アプリケーション」リストからアプリケーション名を選択します。
「アプリケーションを作成」をクリックして、新しいアプリケーションを作成します。
Application Builderのホームページが表示されます。
図7-2に示すとおり、Application Builderのホームページの上部に、カレント・アプリケーション名、アプリケーションID、最終更新日および解析対象スキーマが表示されます。
次のアイコンをクリックして、カレント・アプリケーションの実行、アプリケーション属性の編集、共有コンポーネントの作成、情報のエクスポートおよびインポート、または新しいページの作成を行うことができます。
図7-3に示すとおり、「ページ」リストがページの下部に表示されます。特定のページにアクセスするには、ページ名を選択します。特定のページ番号を検索するには、「検索」フィールドにページ番号を入力し、「検索」をクリックします。アプリケーションのすべてのページを表示するには、「検索」フィールドを空のままにして「検索」をクリックします。
「タスク」リストがページの右側に表示されます。このリストに含まれるリンクは次のとおりです。
このアプリケーションを削除: カレント・アプリケーションを削除します。 (「アプリケーションの削除」を参照。)
ページ・グループを管理: 「ページ・グループ」ページへリンクします。アプリケーション内のページをページ・グループとして編成すると、そのページへ簡単にアクセスできるようになります。(「ページのグループ化」を参照。)
ページ・ロックを管理: 「ロックされたページ」ページへリンクします。アプリケーション内のページをロックすると、アプリケーション開発中の競合を回避できます。(「ページのロックおよびロック解除」を参照。)
アプリケーション・レポートを表示: アプリケーションのサマリー・レポートへのリンクが表示されます。(「アプリケーション・レポートの表示」を参照。)
アプリケーション属性は、アプリケーション全体に適用されます。アプリケーション属性は、アプリケーションの作成直後に指定します。
アプリケーション属性を編集するには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーションを選択します。
Application Builderが表示されます。
「属性を編集」アイコンをクリックします。(図7-4を参照。)
「アプリケーション属性を編集」ページが表示されます。Oracle HTML DBは、新しいアプリケーションの作成時に、一意のアプリケーションIDを作成します。アプリケーションIDは、ページの上部に表示されます。アプリケーションIDの下に、ページの様々なセクションへのリンクが表示されます。必要な値には赤いアスタリスク(*)が付いています。
次のトピックでは、「アプリケーション属性を編集」ページ固有のセクションについて説明します。
アプリケーション定義属性を使用して、アプリケーションの基本特性(アプリケーション名、英数字の別名(オプション)、バージョン番号、アプリケーション所有者など)を定義します。表7-1に、すべてのアプリケーション定義属性を示します。
表7-1 アプリケーション定義属性
認可属性を使用して、アプリケーションの認可スキームを指定します。アプリケーション全体に割り当てることができる認可は1つのみです。ただし、認可スキーマは、個々のページ、ページ・コントロール(リージョン、ボタン、アイテムなど)または共有コンポーネント(メニュー、リスト、タブなど)に割り当てることができます。認可スキームはバイナリ操作で、結果は成功(true)または失敗(false)のいずれかになります。成功するとコンポーネントまたはコントロールを表示できますが、失敗するとコンポーネントまたはコントロールの表示または処理のいずれも行うことはできません。認可スキームをページに割り当てることに失敗すると、そのページではなくエラー・メッセージが表示されます。ただし、認可スキームをページ・コントロール(リージョン、ボタン、アイテムなど)に割り当てる場合は、失敗してもエラー・ページは表示されません。かわりに、コントロールが表示されないか、またはその処理や実行が行われません。
「セッション管理」は、認証およびセッション管理のインフラストラクチャを確立する場合に使用します。表7-2に、すべてのセッション管理属性を示します。
表7-2 セッション管理属性
属性 | 説明 |
---|---|
ホーム・リンク | アプリケーションのホームページの表示に使用する相対URLです。たとえば、f?p=6000:600 は、ホームページ番号が600であるアプリケーション6000を示します。
アプリケーション・テンプレート内の この属性を使用して、カスタム・プロシージャがホーム・リンクとして機能するように指定することもできます。たとえば、アプリケーション・ホームとして機能するHTMLページをコールするカスタム・プロシージャ |
ログインURL | アプリケーションのログイン・ページの位置を指定します。
参照: 「置換文字列の使用」および「認証スキームの作成」 |
パブリック・ユーザー | 保護されていないページを生成する場合に、データベースの接続に使用するOracleスキーマ(ユーザー)を指定します。
このユーザーとしてログインすると、HTML DBはこれを「パブリック・ユーザー」セッションとみなします。HTML DBエンジンは、次の組込み表示条件をサポートしています。
カレント・アプリケーション・ユーザー(または たとえば、ユーザーがパブリック・ユーザーの場合はログイン・ボタンを表示し、ユーザーがパブリック・ユーザーでない場合にはログアウト・リンクを表示するように設定できます。パブリック・ユーザー(NULLの場合)のデフォルトは、 |
選択した認証スキームの詳細を表示するには、「認証: スキーム」の横にある「管理」をクリックしてください。
テーマは、アプリケーション全体のレイアウトおよびスタイルの定義に使用するテンプレートのコレクションです。各テーマは、アプリケーションに必要なすべてのユーザー・インタフェース・パターンに対応するテンプレートの完全なセットを提供します。
グローバリゼーション属性を使用して、アプリケーションのプライマリ言語などのグローバリゼーション・オプションを指定します。表7-3に、この属性を示します。
表7-3 グローバリゼーション属性
このアプリケーションの可用性属性を使用して、アプリケーションのステータスとビルド・ステータスを定義し、アプリケーションを管理します。たとえば、ステータス「制限されたアクセス」を選択すると、このアプリケーションにアクセスして実行できるユーザーを指定できます。表7-4に、この属性を示します。
表7-4 アプリケーションの可用性の属性
グローバル通知属性を使用して、アプリケーション・ユーザーのシステム・ステータスと通信できます。たとえば、スケジュールされた停止時間をユーザーに通知したり、アプリケーションの可用性に関するその他のメッセージをユーザーに送信する場合に使用できます。ページ・テンプレートに#GLOBAL_NOTIFICATION#
置換文字列が含まれる場合、ここで入力したテキストが各ページに表示されます。
グローバル通知を作成するには、次の手順を実行します。
ページ・テンプレートに#GLOBAL_NOTIFICATION#
置換文字列を含めます。
「アプリケーション属性を編集」ページにナビゲートし、グローバル通知属性にメッセージを入力します。
「変更を適用」をクリックします。
VPDはApplication Program Interface(API)を提供します。開発者はこれを使用して、セキュリティ・ポリシーをデータベースの表およびビューに割り当てることができます。開発者はPL/SQLを使用して、ストアド・プロシージャを含むセキュリティ・ポリシーを作成し、RDBMSパッケージをコールしてそのプロシージャを表またはビューにバインドできます。このようなポリシーは、データベース内に格納されているアプリケーション・データのコンテンツか、またはOracleデータベースが提供するコンテキスト変数に基づいています。これによって、VPDではアクセス・セキュリティ・メカニズムをアプリケーションから取り除き、集約できます。
このフィールドで入力したPL/SQLは、ユーザーの認証直後に実行されます。V('USER')はこのファンクションからアクセス可能です。カレント・コールのセッション・ステートは、このコールが実行される時点ではまだ初期化されません。アプリケーションがVPDを使用して、同じデータベースで複数の顧客をサポートする必要がない場合は、この属性をNULLのままにしてください。
このフィールドを使用して、アプリケーションの静的置換文字列を定義します。静的置換文字列は、アプリケーション内の多くの箇所に存在するフレーズまたはラベルに使用できます。静的置換文字列を定義すると、このページで定義する置換文字列を変更するだけで、アプリケーションの複数の場所にあるテキスト文字列をまとめて変更できます。
これらの属性を使用して、このアプリケーションのロゴとして使用するイメージを識別します。「イメージ」でイメージ名を識別します。「イメージ」属性でイメージを識別し、#LOGO#
置換文字列をページ・テンプレートに含めると、HTML DBによってイメージ・タグが生成されます。「ロゴ・イメージ属性」を使用して、ロゴ・イメージの特定のイメージ属性を識別します。次に例を示します。
width="100" height="20" alt="Company Logo"
ビルド・オプションを使用すると、機能を有効または無効にできます。ほとんどのアプリケーション属性は、ビルド・オプション属性を持ちます。特定のインストールからそのオブジェクトを排除する場合以外は、ビルド・オプションを指定しないでください。ビルド・オプションは、INCLUDE
またはEXCLUDE
という2つの値をとることができます。属性を含めるように指定すると、HTML DBエンジンは、実行時にその属性を認識します。ただし、属性を排除するように指定すると、HTML DBエンジンは、その属性を存在しないものとして処理します。
「デフォルトのアプリケーション・テンプレート」リストには、このアプリケーションのデフォルトのテンプレートが表示されます。アプリケーション・レベルで新しいテンプレートを指定するには、次のいずれかの操作を実行します。
新しいテーマを作成します。
「テーマを定義」ページで新しいデフォルトのページ・テンプレートを選択します。
「ページ属性」ページの「ページ・テンプレート」リストから選択しても、このデフォルトを上書きできます。
表7-5に、カレント・アプリケーションのデフォルトのアプリケーション・テンプレートを示します。
表7-5 デフォルトのアプリケーション・テンプレート属性
属性 | 説明 |
---|---|
デフォルト・ページ・テンプレート | ページを表示するためのデフォルトのページ・テンプレートを指定します。「ページ属性」ページの「ページ・テンプレート」リストから選択すると、この値を上書きできます。
参照: 「ページ属性の編集」 |
出力モード・ページ・テンプレート | HTML DBエンジンが「印刷用」モードの場合に使用するテンプレートを指定します。
HTML DBエンジンをコールしてページをレンダリングするときに、ページを「印刷用」モードで表示する必要があるかどうかを指定するオプションがあります。 「はい」に指定すると、印刷用テンプレートを使用してページが表示されます。HTML DBエンジンは、HTMLフォーム・フィールド内のすべてのテキストをテキストとして表示します。印刷用テンプレートには、 参照: 「印刷用ページの最適化」 |
エラー・ページ・テンプレート | オプションの属性です。インライン表示されるエラーではなく、個別のページに表示されるエラーに使用するページ・テンプレートを指定します。 |
「デフォルトのウィザード・テンプレート」を使用して、ウィザードの実行時にApplication Builderのユーザーが使用するデフォルトのテンプレートを指定します。これらの設定は、各コントロールまたはコンポーネントの属性ページで上書きできます。表7-6に、カレント・アプリケーションのデフォルトのウィザード・テンプレートを示します。
表7-6 デフォルトのウィザード・テンプレート属性
属性 | 説明 |
---|---|
カレンダ | 新しいカレンダを作成する場合に使用するデフォルトのカレンダ・テンプレートです。 |
ラベル | 新しいページ・アイテムを作成する場合に使用するデフォルトのラベル・テンプレートです。 |
レポート | 新しいレポートを作成する場合に使用するデフォルトのレポート・テンプレートです。 |
リスト | リストを作成する場合に使用するデフォルトのテンプレートです。 |
メニュー | メニューを作成する場合に使用するデフォルトのテンプレートです。 |
ボタン | テンプレートによって制御される新しいボタンを作成する場合に使用するデフォルトのテンプレートです。 |
リージョン | 新しいリージョンを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
チャート・リージョン | チャートを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
フォーム・リージョン | フォームを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
レポート・リージョン | レポートを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
表形式フォーム・リージョン | 表形式フォームを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
ウィザード・リージョン | 新しいウィザード・コンポーネントを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
メニュー・リージョン | 新しいメニューを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
リスト・リージョン | 新しいリストを作成する場合に使用するデフォルトのリージョン・テンプレートです。 |
ページは、Oracle HTML DBアプリケーションの基本的なビルディング・ブロックです。各ページには、ボタンとフィールド(アイテム)、およびアプリケーション・ロジック(またはプロセス)を配置できます。ページでは、条件付きナビゲーションを使用したあるページから次のページへのブランチ、計算の実行、検証(編集確認など)の実行、およびレポート、カレンダおよびチャートの表示を行うことができます。
このセクションの内容は次のとおりです。
ページ定義にアクセスすると、ページを定義するコントロールおよびコンポーネントを表示、作成および編集できます。
既存のページのページ定義を表示するには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーションを選択します。
Application Builderが表示されます。カレント・アプリケーションのページ・リストが、ページの下部に表示されます。
「ページ」リストからページを選択します。
図7-5に示すとおり、ページ定義が表示されます。
図7-6に示すように、各ページ定義の上部にブレッドクラム・メニューが表示されます。ブレッドクラム・メニューは、Oracle HTML DBのすべてのページに表示されます。各メニュー・エントリは、カレント・アプリケーションの他のページに対する相対位置を示し、ナビゲーション・パスとして機能します。ブレッドクラム・メニュー・エントリをクリックすると、即時に他のページにリンクできます。
ページの右側にカレント・ページ番号が表示されます。このページ番号は、交通信号に似ている小さなボタンの横に表示されます。このボタンをクリックすると、カレント・ページが実行され、表示可能なHTMLにレンダリングされます。
次に、ページのナビゲーション・バーが表示されます。(図7-6を参照。)ページのナビゲーション・バーで使用可能なオプションは、次のとおりです。
ページ: このフィールドには、カレント・ページ番号が表示されます。他のページに直接アクセスするには、ページ番号を入力して「実行」をクリックします。前後のページ番号にアクセスするには、矢印ボタンをクリックします。
属性を編集: 「ページの属性」にリンクします。このページを使用して、ページ名やオプションの別名などの高レベルのページ属性を編集したり、定義済のタブ・セット、指定されたテンプレートおよび認可スキームの情報を表示することができます。
次に、ページ名および最終更新日が表示されます。
表7-7に示すとおり、各ページの定義は3つのセクションに分かれています。
表7-7 ページ定義の分割
セクション | 説明 |
---|---|
ページ・レンダリング | ページ、リージョン、ボタン、アイテム、ページ・レンダリングの計算およびページ・レベルのプロセスのすべての属性を定義します。 |
ページ・プロセス | 計算、検証、プロセス、ブランチ処理などのページ・レベルのアプリケーション・ロジックを指定します。 |
共有コンポーネント | 複数のページ間で共有できるアプリケーション・コンポーネントを表示します。
参照: 「共有コンポーネントでの操作」、「タブの作成」、「LOVの作成」、「メニューの作成」、「リストの作成」、「テンプレートのカスタマイズ」、「セキュリティの理解」および「ナビゲーション・バーの作成」 |
各ページ定義のページ上部には、次のボタンの行が含まれています。
イベント・ビュー: 現在定義されているページ・コントロールおよびページ・プロセスの詳細を示すレポートにリンクします。
オブジェクト参照: カレント・ページで参照されるデータベース・オブジェクトのリストを表示します。
エクスポート: カレント・ページをエクスポートできます。
履歴: 最近変更されたページの履歴を表示します。
「イベント・ビュー」をクリックすると、「ページ・アプリケーション・ビュー」レポートが表示されます。このレポートには、現在定義されているすべてのページ・コントロールおよびページ・プロセスの詳細が記載されています。HTML DBエンジンによるページのレンダリング、ロジックの起動およびプロセスの実行の方法および順序を示す時系列のビューが表示されます。次のビュー・オプションのいずれかを選択することで、表示する情報の量を制御できます。
すべてを表示: 現在定義されていないものも含め、すべての使用可能なページ・コントロールおよびページ・プロセスを表示します。
使用済を表示: 現在使用しているページ・コントロールおよびページ・プロセスを表示します(デフォルト)。
特定のページ・コントロールまたはページ・プロセスの詳細を表示するには、該当するハイパーテキスト・リンクをクリックします。また、各エントリの左側の小さいアイコンをクリックすると、新しいページ・コントロールおよびページ・プロセスを作成できます。
カレント・ページを実行するには、「実行」をクリックします。新しいページを作成するには、「作成」をクリックします。
「オブジェクト参照」をクリックすると、カレント・ページで参照されるデータベース・オブジェクトのリストが表示されます。「参照される名前」をクリックすると、オブジェクトの詳細が表示されます。アプリケーション番号をクリックすると、カレント・アプリケーションで参照されるすべてのデータベース・オブジェクトが表示されます。
「エクスポート」をクリックすると、カレント・ページがエクスポートされます。一部のページは、共有コンポーネントを参照している可能性があることに注意してください。アプリケーション内のすべてのページをエクスポートするには、アプリケーションのエクスポートを完了する必要があります。
開発者権限でOracle HTML DBにログインすると、「開発者」ツールバーにアクセスできます。「開発者」ツールバーを使用すると、現在選択されているページの編集、新しいページ、コントロールまたはコンポーネントの作成、セッション・ステートの表示または編集リンクのオン/オフの切替えを簡単に実行できます。
実行中のアプリケーションのすべてのページ下部に「開発者」ツールバー(図7-7参照)が表示されます。
「開発者」ツールバーは、次のリンクで構成されています。
アプリケーションを編集 : Application Builderのホームページにリンクします。(「Application Builderのホームページの概要」を参照。)
ページを編集: 現在実行されているページのページ定義にアクセスします。(「ページ定義の編集」を参照。)
新規: 新しい空白ページ、コンポーネント(レポート、チャートまたはフォーム)、ページ・コントロール(リージョン、ボタンまたはアイテム)または共有コンポーネント(メニュー、リストまたはタブ)を作成できるウィザードにリンクします。 (「「開発者」ツールバーからのページの作成」を参照。)
セッション: カレント・ページのセッション・ステート情報を含む新しいウィンドウを表示します。(「セッション・ステートの表示」を参照。)
デバッグ: デバッグ・モードでカレント・ページを実行します。(「デバッグ・モードへのアクセス」を参照。)
編集リンクを表示: 「編集リンクを表示」と「編集リンクを非表示」を切り替えます。 「編集リンクを表示」をクリックすると、そのページで編集可能な各オブジェクトの横に編集リンクが表示されます。 各編集リンクは2つのコロン(::)に似ていて、ナビゲーション・バー・アイテム、タブ、リージョン・タイトル、ボタンおよびアイテムの右側に表示されます。 リンクをクリックすると、オブジェクトを編集するための別のウィンドウが表示されます。
ページは、アプリケーションの基本的なビルディング・ブロックです。各ページには、ページ番号、名前、および一般的にはヘッダー、タイトル、フッターなどのテキスト属性が含まれます。ページ・コントロール(リージョン、アイテムおよびボタン)を作成して、ページにコンテンツを追加します。ページ・テンプレートおよびページ・リージョン・テンプレートは、各ページのルック・アンド・フィールを制御します。
このセクションの内容は次のとおりです。
ページ定義にアクセスすると、ページを定義するコントロールおよびコンポーネントを表示、作成および編集できます。
既存のページのページ定義を表示するには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーションを選択します。
Application Builderが表示されます。選択したアプリケーションのページ・リストが、ページの下部に表示されます。
「ページ」リストからページ名を選択します。
ページ定義が表示されます。
各ページ定義は、コントール、コンポーネント、およびページを定義するアプリケーション・ロジックすべてに対する中央ナビゲーション・ポイントとして機能します。
タイトル(リージョン、ボタン・アイテム、計算、プロセスなど)を選択すると、定義したすべてのコントロールまたはコンポーネントのサマリー・ビューにアクセスできます。たとえば、「リージョン」を選択すると、カレント・ページで現在定義されているすべてのリージョンのサマリー・レポートが表示されます。サマリー・ビューを使用すると、次の操作を実行できます。
使用可能なフィールドおよび選択リストから新しく選択して、一度に複数の属性を編集します。
「編集」アイコンをクリックして、定義ページにリンクします。
各ページ上部のボタンをクリックすると、他のサマリー・ビューにアクセスできます。サマリー・ビューの編集内容を保存するには、「変更を適用」をクリックします。
ページ定義で名前を選択して、特定のコントロールまたはコンポーネントの属性を表示することもできます。たとえば、ページ定義にCustomersという名前のリージョンが含まれている場合、リージョン名をクリックすると、そのリージョンの属性ページが表示されます。
「コピー」アイコンおよび「作成」アイコンをクリックして、新しいコントロールまたはコンポーネントをコピーまたは作成できます。(図7-8を参照。)「コピー」アイコンは、2つの小さなページが重なっているように見えます。「作成」アイコンの小さなページには、プラス(+)記号が表示されています。 「コピー」アイコンをクリックすると、現在のコントロールまたはコンポーネントのコピーを作成できます。「作成」アイコンをクリックすると、新しいコントロールまたはコンポーネントを作成できます。
ページ属性は、特定のページにのみ適用されます。ページ属性には、ページ定義からアクセスします。
ページ属性を編集するには、次の手順を実行します。
ページ定義にナビゲートします。(「ページ定義の表示」を参照。)
ページ上部のナビゲーション・バーから「属性を編集」をクリックします。
「ページ属性」ページが表示されます。必要な値には赤いアスタリスク(*)が付いています。
次のトピックでは、「ページ属性」ページ固有のセクションについて説明します。
次の属性を使用して、ページ名、英数字の別名(オプション)、関連付けられたページ・グループなど、カレント・ページの一般的な属性を定義します。表7-9に、この属性を示します。
表7-8 「ページの指定」属性
属性 | 説明 |
---|---|
名前 | アプリケーション開発者のカレント・ページの名前を指定します。この名前は、ページ番号およびページ・タイトルとともに、多くのOracle HTML DBページおよびレポートで使用されます。 |
ページの別名 | このページの英数字の別名を入力します。この別名は、カレント・アプリケーション内で一意である必要があります。
たとえば、アプリケーション100のページ1で作業している場合、別名「 f?p=100:home |
グループ | このページに関連付けるページ・グループを指定します。
参照: 「ページのグループ化」 |
次の属性を使用して、選択されたページ・テンプレート、標準タブ・セット、タイトル、カーソル・フォーカスなど、カレント・ページの一般的な表示属性を定義します。表7-9に、この属性を示します。
表7-9 プライマリ表示属性
属性 | 説明 |
---|---|
ページ・テンプレート | このページの外観を制御するページ・テンプレートを選択します。ページ・テンプレートを選択すると、このページをレンダリングする際に、アプリケーションに選択されたデフォルト・ページ・テンプレートの使用が上書きされます。 |
標準タブ・セット | このページに使用する標準タブ・セットを選択します。標準タブ・セットは、特定のページおよびページ番号に関連付けられます。標準タブを使用すると、特定のページにユーザーをリンクできます。
参照: 「タブの作成」 |
タイトル | ブラウザ・ウィンドウのタイトル・バーに表示するタイトルを入力します。HTML DBエンジンは、ページ・テンプレートで使用される#TITLE# 置換文字列のかわりに、ここで指定するタイトルを使用します。このタイトルは、HTMLタグ<TITLE></TITLE> の間に挿入されます。
|
カーソル・フォーカス | カーソル・フォーカスをページの最初のフィールドに配置するかどうかを選択します。 |
この属性を使用して、ページ・テンプレート・ヘッダー内の#HEAD#
置換文字列を置換します。ここで入力する値は、HTML <HEAD>
タグの後に挿入されます。これらの属性の一般的な用途は次のとおりです。
次の属性を使用して、ページ・ヘッダー、ボディ・ヘッダー、ボディ・フッターおよびページ・フッターのテキストを定義します。表7-10に、この属性を示します。
この属性を使用して、JavaScriptのコールなどのonLoadイベントを追加します。「ページのHTMLボディ属性」で、ページ・テンプレートの#ONLOAD#
置換文字列に置換されるJavaScriptまたはテキストを入力します。この機能を使用するには、ページ・テンプレートに#ONLOAD#
置換文字列が含まれている必要があります。
「ページのHTMLボディ属性」を使用して、開始タグBODYのコンテンツに書込みできます。通常のページ・テンプレートでは、次の例に示すとおり、開始の<body>
タグで#ONLOAD#
を使用する場合があります。
<html> <head> ... </head> <body #ONLOAD# >
これら属性を使用して、カレント・ページの認可スキームの指定およびカレント・ページに認証方式が必要かどうかの指定を行います。
「認可スキーム」リストから、ページに適用する認可スキームを選択します。認可スキームはアプリケーション・レベルで定義され、アプリケーション内の多くの要素に適用できます。認可スキームは、アプリケーション・セッション(セッションの作成時)ごと、またはページ・ビューごとに1回評価されます。選択した認可スキームがtrueと評価された場合、ページが表示され、他の定義された条件に従います。falseと評価された場合、ページは表示されず、エラー・メッセージが表示されます。
「認証」リストから、このページがパブリック・ページとして定義されているか、または認証が必要かを指定します。ページをパブリック・ページとして指定した場合、ページは認証の前に表示されます。この属性は、アプリケーションでSCHEME認証が使用されている場合にのみ適用されます。アプリケーションのページ監視ファンクションは、このページ属性にアクセスして、表示前に事前認証が不要なページを識別できます。認証スキームのページ監視ファンクションの実装によって、この属性が影響を及ぼすかどうかが判別されます。
「複製ページの送信を許可」リストを使用して、Oracle HTML DBでユーザーがページを1行で繰り返し処理できるかどうかを指定します。この属性を「いいえ」に設定すると、重複するページ送信を繰り返し処理することができなくなります。
複製ページの送信の例を次に示します。
ユーザーが「送信」ボタンを繰り返しクリックした場合
ブランチ・タイプ「ページにブランチ」を作成して、ユーザーがブラウザの「再ロード」ボタンをクリックした場合
ビルド・オプションを使用すると、機能を有効または無効にできます。ほとんどのアプリケーション属性は、ビルド・オプション属性を持ちます。特定のインストールからそのオブジェクトを排除する場合以外は、ビルド・オプションを指定しないでください。
ビルド・オプションは、INCLUDE
またはEXCLUDE
という2つの値をとることができます。属性を含めるように指定すると、HTML DBエンジンは、実行時にその属性をアプリケーション定義の一部として認識します。逆に、属性を排除するように指定すると、HTML DBエンジンは、その属性を存在しないものとして処理します。
この属性を使用して、カレント・ページのヘルプ・テキストを入力します。ページ・レベル・ヘルプは、次の構文を使用したショートカットをサポートします。
"SHORTCUT_NAME"
ヘルプ・テキストは、ヘルプ・システムを使用して表示されます。このヘルプ・システムは開発する必要があります。特定のページのヘルプを表示するには、ヘルプ・テキストを表示するために作成したページからHTMLDB_APPLICATION.HELP
プロシージャをコールします。たとえば、次のようなナビゲーション・バー・アイコンを使用できます。
f?p=4000:4600:&SESSION::&DEBUG::LAST_STEP:&APP_PAGE_ID
ページ定義の「ページ・レンダリング」セクションを使用すると、定義されているリージョン、ボタン、アイテム、ページ・レンダリングの計算およびページ・プロセスの属性を指定できます。
このセクションの内容は次のとおりです。
リージョンはページのセクションで、ページ内のコンテンツのコンテナとして機能します。リージョンのコンテンツは、リージョン・ソースによって決まります。たとえば、リージョンには、定義したSQL問合せに基づくレポートまたは静的なHTMLが含まれる場合があります。
参照:
|
アプリケーションを設計する際、ボタンを使用してユーザーを特定のページまたはURLに移動させたり、情報をポストまたは処理することができます。ボタンは、事前定義されたリージョン・テンプレート位置またはフォーム内のアイテムに配置できます。
アイテムは、テキスト・フィールド、テキスト領域、パスワード、コンボボックス、チェック・ボックスなどを示します。アイテム属性は、ページ上のアイテムの表示および動作に影響します。たとえば、これらの属性は、ラベルの表示位置、アイテムの大きさおよびアイテムの表示位置(左右、上下)に影響します。
アイテムには、ページ・アイテムとアプリケーション・アイテムの2つのタイプが存在します。ページ・アイテムはページ上に配置され、「表示形式」、「ラベル」、「ラベル・テンプレート」などの関連付けられたユーザー・インタフェースのプロパティを持ちます。アプリケーション・アイテムはページに関連付けられないため、ユーザー・インタフェースのプロパティを持ちません。アプリケーション・アイテムは、グローバル変数として使用できます。
計算を使用すると、ページが送信または表示されたときに、指定したアイテムに値を割り当てることができます。アプリケーション・レベルの計算を使用して、アイテムに値を割り当てることもできます。ほとんどのアプリケーション・レベルの計算は、アプリケーションのすべてのページで実行されます。一方、ページ・レベルで作成された計算は、ページのレンダリングまたは処理時にのみ実行されます。
ページ定義の「ページ・プロセス」セクションで、計算、検証、プロセス、ブランチ処理などのアプリケーション・ロジックを指定します。通常、HTML DBエンジンは、ページ定義に表示された順序でこのロジックを実行します。
検証を明示的に定義するには、組込み検証タイプを選択するか、またはカスタムSQLまたはカスタムPL/SQLを入力します。検証メッセージ・フィールドに、実際の検証の編集確認を入力します。検証が失敗した場合は、後続のページ・プロセスが行われないことに注意してください。また、入力した検証は、選択した検証タイプと一貫性がある必要があることに注意してください。検証タイプの詳細は、オンライン・ヘルプを参照してください。
新しい検証を作成するには、次の手順を実行します。
該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)
「検証」で、「作成」アイコンをクリックします。
「検証を作成」ウィザードが表示されたら、画面に表示される手順に従います。
検証タイプは2つのカテゴリに分けられます。
アイテム: これらの検証は、「アイテム」という文字列が先頭に付きます。検証と関連付けられたアイテムに対して一般的な確認を実行できます。
コード: これらの検証では、検証ロジックを定義するPL/SQLコードまたはSQL問合せを指定する必要があります。複数アイテムの値の確認または他のデータベース表へのアクセスが必要なカスタム検証を実行するには、このタイプの検証を使用します。
画面に表示される手順に従います。
注意: 3,950文字を超える文字は検証できません。 |
検証エラー・メッセージをインライン表示(検証が実行されたページで表示)するか、個別のエラー・ページで表示するかを選択できます。
検証エラー・メッセージの表示方法を定義するには、次の手順を実行します。
該当するページ定義にナビゲートします。(「ページの表示」を参照。)
「検証」で、該当する検証を選択します。
検証の属性ページが表示されます。
「エラー・メッセージ」までスクロールします。
「エラー・メッセージ」に、エラー・メッセージ・テキストを入力します。
「エラー・メッセージ表示位置」から表示位置を選択します。
この属性で、検証エラー・メッセージの表示位置が指定されます。検証エラー・メッセージは、エラー・ページに表示したり、既存ページ内にインラインで表示できます。インライン・エラー・メッセージは、通知領域(ページ・テンプレートの一部として定義される)に表示したり、フィールド・ラベル内に表示できます。
残りのすべての検証処理を停止するハード・エラーを作成する場合は、エラー・ページにエラーを表示する必要があります。
「フィールドでインライン表示」または「フィールドおよび通知でインライン表示」を選択した場合は、アイテムをエラー・メッセージに関連付ける必要があります。アイテムをエラー・メッセージに関連付けるには、「関連付けられたアイテム」リストからアイテムを選択します。
「変更を適用」をクリックします。
ブランチは、特定のページ、プロシージャまたはURLへ移動する指示です。たとえば、ページ1の送信後、ページ1からページ2にブランチできます。
新しいブランチを作成するには、「ページ・ブランチを作成」ウィザードを実行して、ブランチ・ポイントおよびブランチ・タイプを指定します。ブランチ・タイプは、作成するブランチのタイプを定義します。ブランチ・タイプの詳細は、オンライン・ヘルプを参照してください。
ブランチを実行するタイミングを指定するには、「ブランチ・ポイント」リストからブランチ・ポイントを選択します。有効なオプションは次のとおりです。
送信時: 計算の前: 計算、検証またはプロセスの前にブランチが実行されます。このオプションは、プロセスを起動する必要がないボタン(「取消」ボタンなど)に使用します。
送信時: 検証の前: 計算の後、検証またはプロセスの前にブランチが実行されます。検証が失敗すると、ページ・プロセスは停止し、ロールバックが実行され、ページにエラーが表示されます。このデフォルト動作のために、ブランチを作成して検証を提供する必要がありません。ただし、計算の結果に応じてブランチする必要がある場合があります(たとえば、前のブランチ・ポイントに戻る場合)。
送信時: プロセスの前: 計算および検証の後、プロセスの前にブランチが実行されます。このオプションを使用すると、検証されたセッション・ステートに基づいて、ページ・プロセスの実行前にブランチされます。
送信時: プロセスの後: 計算、検証およびプロセスの後にブランチが実行されます。このオプションを使用すると、計算、検証およびプロセスの実行後にURLまたはページにブランチされます。このオプションを使用する際、任意のブランチ・ポイントに複数のブランチが存在する場合は、ブランチを順序付ける必要があります。
ロード時: ヘッダーの前: ページのレンダリング前にブランチが実行されます。このオプションを使用すると、カレント・ページではなく別のページが表示されるか、またはユーザーが別のURLまたはプロシージャにリダイレクトされます。
選択したブランチ・タイプによっては、「ブランチ・アクション」属性に次の追加情報を指定できます。
ブランチ先ページのページ番号
最終的にブランチ・ターゲット・ページをレンダリングするPL/SQLプロシージャ
URLアドレス
ページ計算を作成するには、「ページ計算を作成」ウィザードを実行します。各計算には、計算の作成対象のアイテムおよび計算タイプを指定します。
ページ計算を作成するには、次の手順を実行します。
該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)
「計算」で、「作成」アイコンをクリックします。
カテゴリを選択します。
画面に表示される手順に従います。
プロセスを作成するには、「プロセスを作成」ウィザードを実行します。ウィザードの実行中にプロセス名を定義し、順序、プロセスの実行ポイントおよびプロセス・カテゴリを指定します。「ページ・プロセスを編集」ページで、これらのほぼすべての属性を変更できます。
該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)
「プロセス」で、「作成」アイコンをクリックします。
カテゴリを選択します。表7-11に、使用可能なページ・プロセス・カテゴリを示します。
表7-11 プロセス・カテゴリ
プロセス・カテゴリ | 説明 |
---|---|
データ操作 | Oracle HTML DBは、次の宣言的なデータ操作プロセスをサポートしています。
|
フォーム・ページ区切り | マスター・ディテール・フォームに関連付けられたディテール・レコードを使用してページ区切りを実装します。このプロセスは、マスター表をチェックして、現在のディテール・レコード・セットおよび次のディテール・レコードを確認します。 |
オンデマンド | 特定のページからコールされた場合のみ実行される、アプリケーション・レベルのプロセスを作成します。このプロセス・タイプをページ・レベルで作成すると、アプリケーション・レベルで以前定義したオンデマンド・プロシージャをコールするプロシージャが作成されます。 |
PL/SQL | 指定したPL/SQLを実行します。このプロセス・タイプを使用して、プロセスに直接入力したPL/SQLブロックを実行したり、既存のAPIをコールします。 |
レポート・ページ区切り | ページ区切りを最初の結果セットへリセットします。HTML DBエンジンは、指定された結果セット内のユーザーの位置を追跡します。このプロセス・カテゴリは、ユーザーを最初の結果セットに戻します。つまり、レポート・リージョンに関連付けられたカウンタをリセットして、次回結果セットが表示するときに、結果セットの最初の部分を戻します。 |
セッション・ステート | 既存のセッション・ステート・アイテムの値をNULLに設定します。このプロセス・タイプを選択すると、既存のユーザー設定、アプリケーション、セッションまたはアイテムのキャッシュが消去されます。 |
Webサービス | Webサービスをページ上のプロセスとして実装します。このプロセスを実行すると、リクエストがサービス・プロバイダに送信されます。 |
画面に表示される手順に従います。
プロセスを作成すると、「ページ・プロセスを編集」ページで属性を編集することによって、プロセスを実行するタイミングおよびプロセスの内容を制御できます。
既存のページ・プロセスを編集するには、次の手順を実行します。
該当するページ定義にナビゲートします。(「ページ定義の表示」を参照。)
プロセス名を選択します。
「ページ・プロセスを編集」ページが表示されます。
プロセスを実行するタイミングを制御するには、「プロセス実行ポイント」属性で順序番号およびプロセス・ポイントを指定します。「プロセスを実行」で次のいずれかのオプションを選択すると、後続のページへのアクセス時におけるプロセスの実行を制限できます。
ページへのアクセスごとに1回
セッションごとまたはリセット時に1回
PL/SQLのプロセス・タイプに適切なコードを入力します。「PL/SQL無名ブロック」プロセスの場合は、「プロセス」で適切なコードを入力します。「キャッシュを消去」プロセスの場合は、「ソース」に適切なコードを入力します。プロセスが失敗した場合のために、「プロセス・エラー・メッセージ」フィールドにエラー・メッセージを定義できます(オプション)。
「共有コンポーネント」ページのツールおよびウィザードは、アプリケーション・レベルまたは特定のページのいずれかで使用できます。共有コンポーネントの例には、ロジック・コントロール(ビルド・オプション、計算、プロセス)、共有ナビゲーション、ユーザー・インタフェース要素(メニュー、リスト、タブ、LOV、テンプレート、および認証スキームと認可スキームが含まれます。
「共有コンポーネント」ページにアクセスするには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーションを選択します。
Application Builderのホームページで、「共有コンポーネント」をクリックします。
「共有コンポーネント」ページが表示されます。共有コンポーネントは、次のカテゴリにグループ化されます。
共有コンポーネントを作成するには、該当するリンクを選択して、画面に表示される手順に従います。
ロジックには、ビルド・オプション、計算、アイテム、プロセス、Webサービスなどのアプリケーション・レベルのロジック・コントロールを作成および管理するツールへのリンクが含まれています。表7-12に、「ロジック」で使用可能なオプションを示します。
表7-12 共有コンポーネント: ロジック
共有コンポーネント | 説明 |
---|---|
ビルド・オプション | ビルド・オプションを使用すると、アプリケーションで特定の機能を条件付きで表示または処理できます。ビルド・オプションによって、アプリケーションの配置ごとに有効にする機能を制御できます。アプリケーション・レベルのビルド・オプションを指定する場合は、各コンポーネント(各ページ、ブランチ、ボタン、アイテム、タブなど)に指定する必要はありません。 |
計算 | アプリケーション・レベルの計算を使用すると、表示される各ページまたは新しいページ・インスタンスのアプリケーション・レベル・アイテムとページ・レベル・アイテムに値を割り当てることができます。
アプリケーション・レベルの計算を作成し、条件付きで複数のページで実行することもできます。 |
アイテム | アプリケーション・レベル・アイテムは表示されませんが、アプリケーションへのグローバル変数として使用されます。ページ・レベル・アイテムの値を設定するには、アプリケーションまたはページ計算を使用します。ON_NEW_INSTANCE 計算を使用して値を設定します。
参照: 「アイテムの作成」 |
プロセス | アプリケーション・プロセスを使用すると、次のようにPL/SQLロジックを実行できます。
「オンデマンド」プロセスは、特定のページからコールされたときにのみ実行されます。 |
Webサービス | Oracle HTML DBのWebサービスは、SOAP(Simple Object Access Protocol)に基づいています。Webサービスへの参照を作成してアプリケーションに組み込み、フォームによって送信されたデータを処理したり、フォームに出力をレンダリングできます。
参照: 「Webサービスの実装」 |
リスト、メニュー、ナビゲーション・バー、タブおよびツリーを作成および管理するツールへのリンクが含まれています。表7-13に、「ナビゲーション」で使用可能なオプションを示します。
表7-13 共有コンポーネント: ナビゲーション
共有コンポーネント | 説明 |
---|---|
リスト | リストは、リンクの共有コレクションです。リストの外観は、リスト・テンプレートで制御します。各リスト要素には、いつ表示するかを制御できる表示条件があります。
参照: 「リストの作成」 |
メニュー | メニューは、テンプレートを使用して表示されるリンクの階層的なリストです。メニューは、リンクのリストまたはブレッドクラム・パスとして表示できます。
参照: 「メニューの作成」 |
ナビゲーション・バー | ナビゲーション・バーは、アプリケーションのページ間を移動する単純なナビゲーション・パスを提供します。ナビゲーション・バーの位置は、関連付けられたページ・テンプレートによって異なります。ナビゲーション・バー・アイコンを使用すると、イメージまたはテキストからのリンクを表示できます。ナビゲーション・バー・エントリは、イメージ、説明付きのイメージまたはテキストです。 |
タブ | タブは、アプリケーションのページ間でのナビゲートに有効な方法です。標準タブまたは親タブという2つのタイプのタブを作成できます。標準タブ・セットは、特定のページおよびページ番号に関連付けられます。親タブ・セットは、標準タブのグループを保持するコンテナとして機能します。
参照: 「タブの作成」 |
ツリー | ツリーを使用すると、階層的なデータまたは複数のレベルのデータ間で効率的に通信を行うことができます。
参照: 「ツリーの作成」 |
認証ページおよび認可ページへのリンクが含まれています。アプリケーションに対するセキュリティは、認証および認可を介して提供できます。認証は、ユーザーがアプリケーションにアクセスする前に、そのユーザーの本人確認を行うプロセスです。認可は、事前定義されたユーザー権限に基づいて、特定のコントロールまたはコンポーネントへのユーザーのアクセスを制御します。
LOV、ショートカット、テンプレートを作成および管理するツールへのリンクが含まれています。表7-14に、「ユーザー・インタフェース」で使用可能なオプションを示します。
表7-14 共有コンポーネント: ユーザー・インタフェース
共有コンポーネント | 説明 |
---|---|
LOV | LOVは、ポップアップLOV、選択リスト、チェック・ボックスまたはラジオ・グループを表示するために使用される静的定義または動的定義です。
参照: 「LOVの作成」 |
ショートカット | ショートカットを作成する際、頻繁に使用されるHTMLを中央レポジトリに定義すると、後でアプリケーション内の様々な位置で参照できます。
参照: 「ショートカットの使用」 |
テーマおよびテンプレートの概要 | テンプレートは、アプリケーション内のページのルック・アンド・フィールを制御します。 |
Oracle HTML DBで開発されたアプリケーションを言語変換するツールへのリンクが含まれています。Oracle HTML DBでは、同時に複数の言語で実行可能なアプリケーションを開発できます。単一のOracleデータベースとOracle HTML DBインスタンスで、異なる言語で実行するようにカスタマイズされた複数のデータベース・セッションをサポートできます。表7-15に、「言語変換」で使用可能なオプションを示します。
表7-15 共有コンポーネント: 言語変換
HTML DBエンジンは、テーマを使用して、アプリケーションの外観を構築します。テーマは、アプリケーションのユーザー・インタフェースを定義するテンプレートのコレクションです。
各テーマには、すべてのタイプのアプリケーション・コンポーネントおよびページ・コントロール(個々のページ、リージョン、レポート、リスト、ラベル、メニュー、ボタンおよびLOV)のテンプレートが含まれます。テンプレートには、HTML、およびHTML DBエンジンが実行時に動的な値と置換する変数が含まれます。テーマの主なメリットは、コンポーネントおよびコントロールの外観を一元管理できることです。
HTML DBエンジンは、テーマと呼ばれるテンプレートのコレクションを基にして、アプリケーションのユーザー・インタフェースを作成します。各テンプレートには、HTML、およびHTML DBエンジンが実行時に動的な値と置換する変数が含まれます。テーマを使用することによって、アプリケーションのユーザー・インタフェースの外観を一元管理できます。
ページ上で、デフォルトのページ・レベルのテンプレートをページごとに上書きすることもできます。アプリケーションには、任意の数のページ・テンプレートを含めることができます。テンプレートを指定しない場合、HTML DBエンジンは、現行のテーマに指定されているデフォルトのテンプレートを使用します。
Application Builderには、アプリケーションの管理に役立つ多くのレポートが含まれています。
アプリケーション・レポートにアクセスするには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーション名を選択します。
「タスク」リストから「アプリケーション・レポートを表示」を選択します。
「管理レポート」ページが表示されます。レポートは、次のように分類されます。
共有コンポーネント・レポート
ページ・コンポーネント・レポート
アクティビティ・レポート
確認するレポートを選択します。
データベース・オブジェクトの依存性レポートは、カレント・アプリケーションで参照されるデータベース・オブジェクトを識別します。
データベース・オブジェクトの依存性レポートを表示するには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーション名を選択します。
「タスク」リストから「アプリケーション・レポートを表示」を選択します。
「管理レポート」ページが表示されます。
「共有コンポーネント・レポート」で、「データベース・オブジェクトの依存性」を選択します。
特定のデータベース・オブジェクトを参照するコンポーネントを表示するには、「参照カウント」の番号を選択します。
リージョン・ソース・レポートを使用すると、アプリケーション内のすべてのリージョン・ソースを検索できます。
リージョン・ソース・レポートを表示するには、次の手順を実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション」リストからアプリケーション名を選択します。
「タスク」リストから「アプリケーション・レポートを表示」を選択します。
「管理レポート」ページが表示されます。
「ページ・コンポーネント・レポート」で、「リージョン・ソース」を選択します。
特定のデータベース・オブジェクトを参照するコンポーネントを表示するには、「参照カウント」の番号を選択します。