0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } //-->
Oracle Application Express 3.0を使用した実用的なアプリケーションの開発
目的
このチュートリアルでは、Oracle Application Expressを使用して迅速にアプリケーションを開発する方法を示します。
所要時間
約2時間
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、
すべてのスクリーンショットがロードし、表示されます。
(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
概要
Oracle Application Expressについて
Oracle Application Expressは、Oracleデータベース向けのWebアプリケーションを迅速に開発するためのツールです。 Webブラウザと少しのプログラミング経験があれば、高速でセキュアな本格的なアプリケーションを開発および配置できます。
Oracle Application Expressの構成要素
Oracle Application Expressの主要なコンポーネントは次の4つです。
| アプリケーション・ビルダー
|
データベース中心の対話型Webアプリケーションの開発に使用します。
|
| SQLワークショップ
|
データベース・オブジェクトにアクセスし、SQL文とSQLスクリプトを実行します。 |
| ユーティリティ
|
データのロードとアンロード、DDLの生成、オブジェクト・レポートの実行、ごみ箱の管理に使用します。 |
| 管理
|
サービスおよびユーザーの管理とアクティビティの監視に使用します。 |
用語
Oracle Application Expressを使用して作業するにあたって、次の概念を理解しておくことが重要です。
| 作業領域
|
作業領域とは、仮想プライベート・データベースのことです。作業領域を使用すると、複数のユーザーが、各自のオブジェクト、データ、アプリケーションをプライベートに維持したまま、同じOracle Application Expressを使用して作業できます。
|
| アプリケーション
|
アプリケーションとは、ページとページを接続するブランチの集まりのことです。 アプリケーションの属性として、認証方式、デフォルトUIテンプレート、および許可ルールがあります。
|
| ページ
|
ページは、アプリケーションの基本構築ブロックです。 アプリケーション・ビルダーでアプリケーションを構築する場合は、タブ、リスト、ボタン、アイテム、リージョンなどのユーザー・インタフェース要素を含むページを作成します。 |
| リージョン
|
コンテンツはリージョンに表示されます。リージョンとはページの論理サブセクションです。 各ページには、複数の異なるタイプのリージョンをいくつでも作成できます。 リージョンのタイプには、HTMLテキスト、SQL問合せ、PL/SQL生成のHTML、グラフがあります。 各リージョンは、リージョン・テンプレートを使用してレンダリングされます。 リージョンのページ上での位置は、ページ・テンプレートに定義された表示ポイントによって決まります。 |
| アイテム
|
アイテムには、テキスト・フィールド、テキスト領域、パスワード、選択リスト、チェック・ボックスなどがあります。 アイテムの属性は、ページ上のアイテムの表示と動作に影響を与えます。 たとえば、ラベルの表示位置、アイテムの大きさ、直前のアイテムの横または下に表示するかどうか、といった属性があります。アイテムの値はアプリケーションのセッション・ステートに自動的に格納され、ユーザー・セッション内の任意の時点で参照できます。 |
アーキテクチャ
Oracle Application Expressは、Oracleデータベース内に完全に組み込まれたユーティリティです。 その実体は、複数の表に格納されたデータと大量のPL/SQLコードの集まりです。 Oracle Application Expressの実体は、約165の表と、30万行を超えるコードが格納された200のPL/SQLオブジェクトです。
Oracle Application Express開発環境を実行する場合も、Oracle Application Expressを使用して構築したアプリケーションを実行する場合も、実行プロセスは同じです。
最初に、ブラウザがURLリクエストを送信すると、それがOracle Application Expressの適切なPL/SQLコールに変換されます。
このPL/SQLがデータベースによって処理され、その結果が、HTMLとしてブラウザに返されます。
このサイクルは、ページのリクエスト、またはページの送信のたびに、繰り返されます。
url変換を実現する仕組みは、Oracleのバージョンによって異なります。 Oracle 10.2.0.3よりも前の環境でOracle Application Expressを実行するには、Apacheとmod PL/SQLが必要です。 Oracle 10.2.0.3以降の環境で実行する場合、Oracle Application Expressは、組込みのPL/SQLゲートウェイまたはApacheを使用します。
アプリケーション・セッション・ステートは、Oracle Application Express内のデータベース表で管理されるため、専用のデータベース接続を使用しません。 Application Express環境では、CPUリソースの消費量が最小限に抑えられます。 ユーザーがページを要求し、返されたページを頭の中で処理してから、次のリクエストを発行する場合は、ユーザーが考えている間にデータベースが停止や再起動することがあったとしても、処理が中断されたとユーザーが感じることはありません。
Oracle Application Express 3.0について
今リリースには、いくつかの主要な新機能に加えて、時間節約のための小さな改良点も多数含まれています。
| PDF印刷
|
レポート・リージョンをPDF形式のファイルとしてエクスポートできます。 レポート・リージョンの編集をクリックすると、Print Attributesという新しいタブが表示されます。 Shared Componentsの下にReport QueriesとReport Layoutsも定義できます。 Printingについては、組込みのリンクやカスタムのボタンを使用して、エンド・ユーザーにもアクセスを許可できる点に注意してください。
|
| Microsoft Accessの移行
|
最近、Oracle Application Expressに新しいアプリケーション移行ワークショップが導入されました。 このコンポーネント(詳細はUS OTN 内の
こちらのページを参照)は、Application Express 3.0の標準コンポーネントです。 この新しいコンポーネントにアクセスするには、ホームページでApplication Migrationsを選択します。
|
| Flashグラフ
|
グラフ・タイプの新しいページまたはリージョンを作成すると、新しいタイプFlashグラフが生成されます。 18種類のグラフがサポートされています。 グラフの作成途中でも、選択したタイプのプレビュー表示や生成されるグラフのほとんどの属性を設定できます。 新しいFlashグラフを作成するだけでなく、既存のSVGグラフをFlashグラフに変換することもできます。 移行ユーティリティにアクセスするには、「
Application Reports」→「
Page Components」の順に選択します。また、SVGグラフが含まれているリージョンを編集するときには、Tasksメニューからもアクセスできます。
|
| アイテム・レイアウトのドラッグ・アンド・ドロップ
|
Page DefinitionページのReorder Itemsアイコンの右側に、ドラッグ・アンド・ドロップと呼ばれるアイコンが追加されています。 このアイコンを使用して、現在のリージョン内のアイテムの並べ替え、選択アイテムの属性(アイテム名、ラベル、現在のアイテム・タイプ範囲内でのタイプ)の変更、アイテムの削除、新規アイテムの迅速な作成を行います。 アイテムは既存のアイテムの左側または右側に配置できます。また、新しい行を挿入することで、既存フォームの中央に迅速にアイテムを追加できます。 アイテムを削除するには、最下部のゴミ箱にドラッグします。 |
| 改善されたWebサービス
|
Oracle Application ExpressのWebサービス・エンジンでは、より粗いタイプ定義、およびドキュメント・スタイルWebサービスがサポートされるようになりました。 この両方の機能拡張によって、Oracle JDeveloperで作成されたWebサービスおよびOracle BPEL同期Webサービスのサポートが可能になります。 また、SSL(HTTPS)を介したWebサービスとの通信や、Basic認証が必要なWebサービスとの通信も可能になりました。 さらには、Application Expressエンジンで特定のサービスのWSDLドキュメントを正しく解析できない場合でも、Webサービス参照を手動で作成できます。 その場合は、Webサービスに関するさまざまな情報のうち、SOAPリクエスト・エンベロープとURLエンドポイントを指定します。 |
| 新しいアイテム・タイプ
|
次の新しいアイテム・タイプが追加されました。
- シャトル
- HTMLエディタ最小 - テキスト領域で使用可能
- HTMLエディタ標準- テキスト領域で使用可能
- ポップアップ・カラー・ピッカー- ポップアップLOVで使用可能
- 日付ピッカー(書式マスクを使用)
|
| カレンダの機能拡張
|
カレンダ・ページまたはカレンダ・リージョンを作成すると、月次、週次、日次カレンダが自動的に表示されます。 ユーザーは、ボタンをクリックして、表示モードを切り替えることができます。 |
| サポート・オブジェクトの機能拡張
|
Oracle Application Express 2.2で導入されたサポート・オブジェクト機能が改良され、アップグレード・スクリプトの定義が可能になりました。 この機能により、OTNで配布されているパッケージ・アプリケーションに対してアップグレードをポストすることで、初期インストールのときと同じウィザードを使用してアップグレードをインストールできます。 この機能は、アップグレードの配布にも使用できます。 |
| ページおよびリージョンのキャッシュ
|
ページおよびリージョンのキャッシュを使用すると、アプリケーションの一部をキャッシュに書き込んでパフォーマンスを向上させることができます。 キャッシュの属性は、ページ属性ページおよびリージョン属性ページで設定します。 この機能は、条件が設定されていないリストなどの静的なページやリージョン、およびHTMLテキストが含まれているリージョンに使用すると効果的です。 |
| アイテム・ファインダの機能拡張
|
アプリケーション・ビルダーのアイテム・ファインダに2つの新しいタブが追加されました。 1つはCSSタブです。このタブを使用すると、テーマに関係なく、すべてのApplication Expressアプリケーションで使用可能なカスケーディング・スタイル・シートを識別できます。 もう1つはイメージタブです。このタブには、アプリケーションで使用できる、一般的なデザインのアイコン・ギャラリが表示されます。 また、SQLワークショップのオブジェクト・ブラウザおよびSQLコマンドに表の検索アイコンが追加されました。 今後、オブジェクト・ブラウザでトリガーを作成したり、SQLコマンドでカスタムのSQLを記述したりするときに必要な列名が思い出せない場合は、懐中電灯型のアイコンをクリックして検索してください。 |
|
アプリケーションおよびスキーマの比較
|
「
Application Reports」→「
Cross Application」の順に選択すると、新しいApplication Comparisonユーティリティが起動します。このユーティリティを使用すると、選択した2つのアプリケーション間の相違を特定できます。 UtilitiesにはSchema Comparison機能も用意されています。 この機能を使用すると、2つのスキーマ間でオブジェクトの相違を特定できます。
|
| わかりやすいURL構文を使用したブックマークの簡略化
|
この機能を使用すると、リンクでパブリック・アプリケーションのセッションIDにゼロを指定できます。 これにより、すべてのパブリック・ページ・リンクで一貫性が保たれるため、検索エンジンでの検索やブックマークへの登録が非常に簡単になります。 実際のセッションIDはクッキーに格納されます(この機能はパブリック・ページだけに提供されるため、セッションIDをクッキーに格納してもセキュリティ上の問題は発生しません)。 |
| パスワードおよびアカウントの新しい管理方法
|
インスタンスおよび作業領域レベルで、パスワードの有効期限に関するルールの指定、強力なパスワードの強制(最低文字数および文字の種類の指定)、ユーザーが初めてパスワードを使用する際のパスワードの変更の要求(初期パスワードで生成されたシステムに有用)、およびアカウントのロックを行うことが可能になりました。 |
| 改善された作業領域管理
|
上記のパスワード管理方法の他にも、いくつかの点で作業領域管理が改善されています。 作業領域のサイズの定義(ユーザーからのリクエストに対する選択肢の提示や選択されるデフォルト)、自分の作業領域名が記載された電子メールのリクエスト(作業領域名が思い出せない場合でも、電子メール・アドレスなら誰でも覚えているので便利)、ログイン試行のログの表示などを実行できます。 |
トピック・リストに戻る
前提条件
このチュートリアルを始める前に、次の作業を実行しておく必要があります。
トピック・リストに戻る
スプレッドシートからの表の作成
このチュートリアル用のデータをスプレッドシートからロードするには、以下の手順に従います。
| 1.
|
次のURLを入力してOracle Application Expressにログインします(<hostname>は、localhost、個々のホスト名、またはapex.oracle.comで適宜読み替えてください)。
http://<hostname>:8080/apex
|
| 2.
|
Oracle Application Expressにログインするには、次の詳細情報を入力して、「
Login」をクリックします。
Workspace:
<作業領域名>
Username:
<ユーザー名>
Password:
<パスワード>
|
| 3.
|
表を作成するには、「
Utilities」→「
Data Load/Unload」の横にある矢印をクリックし、「
Load」を選択します。
|
| 4.
|
「
Load Spreadsheet Data」をクリックします。
|
| 5.
|
インポート・ターゲット(Import To)に
New tableが設定されていることを確認します。 Import Fromで、「
Upload file (comma separated or tab delimited)」オプションを選択します。 「
Next」をクリックします。
|
| 6.
|
「
Browse...」をクリックします。
|
| 7.
|
tasks.txtファイルを選択し、「
Open」をクリックします。 このファイルのデータはタブで区切られているため、セパレータ・フィールドに
\t を入力します。 「
Next」をクリックします。
|
| 8.
|
表情報ページに表の列とその形式、および表の作成後に表に挿入されるデータが表示されます。 表名に
OBE_TASKS
と入力し、「
Next」をクリックします。
|
| 9.
|
主キー・ページで、システム生成の主キーを表に追加し、主キー列に新しいシーケンスを格納します。 デフォルト値を確認して、「
Load Data」をクリックします。
|
| 10.
|
表を作成しデータをロードすると、ファイル・ページが表示されます。 16行のファイルが正しくアップロードされていることを確認します。 新しい表を表示するには、「
SQL Workshop」タブをクリックします。
|
| 11.
|
「
Object Browser」→「
Browse」の横にある矢印をクリックし、「
Tables」を選択します。
|
| 12.
|
表の定義を確認するには、左側のナビゲータにある表一覧で「
OBE_TASKS」をクリックします。
|
| 13.
|
次のページに表定義が表示されます。 表内のデータを表示するには、「
Data」タブをクリックします。
|
| 14.
|
表内のすべてのデータが表示されます。 このページで、表内の任意のデータを変更できます。また表に行を追加することもできます。
|
トピック・リストに戻る
マスター表の追加
プロジェクト名を保守可能にし、プロジェクトに関するその他の情報を追跡できるようにするには、プロジェクト情報を別の表に移動します。 以下の手順を実行します。
| 1.
|
「
Table」タブをクリックします
|
| 2.
|
「
Create Lookup Table」ボタンをクリックします。
|
| 3.
|
マスター表を作成するときに使用する列を指定するために、「
PROJECT - varchar2」を選択して、「
Next >」をクリックします。
|
| 4.
|
次の各値を入力して、「
Next >」をクリックします。
New Table Name:
OBE_PROJECTS
New Sequence:
OBE_PROJECT_SEQ
|
| 5.
|
「
Finish」をクリックします。
|
| 6.
|
新しいOBE_PROJECTS表に、数値主キーとPROJECT列が定義されています。
|
トピック・リストに戻る
表の変更
ここまでで2つのメイン表を作成したので、OBE_PROJECTS表にいくつか列を追加して改良してみます。
それには、以下の手順に従います。
| 1.
|
OBE_PROJECTS表が選択されていることを確認します。 これから、この表に列を追加します。 「
Add Column」
をクリックします。
|
| 2.
|
次の各値を入力して、「
Next >」をクリックします。
Add Column:
PROJECT_DEADLINE
Type:
DATE
|
| 3.
|
「
Finish」をクリックします。
|
| 4.
|
PROJECT_DEADLINE列が追加され、変更された表定義が表示されます。 さらに、PROJECT_PRIORITY列を追加します。 「
Add Column」
をクリックします。
|
| 5.
|
次の各値を入力して、「
Next >」をクリックします。
Add Column:
PROJECT_PRIORITY
Type:
NUMBER
Precision:
1
|
| 6.
|
「
Finish」をクリックします。
|
| 7.
|
PROJECT_PRIORITY列が追加されます。 「
Data」タブをクリックして、データを表示します。
|
| 8.
|
OBE_TASKS表で参照されているすべてのプロジェクトが表示されます。 この画面でデータを変更できます。 プロジェクト
Public WebsiteのPROJECT_IDの左側にある「
Edit」(
)アイコンをクリックします。
|
| 9.
|
Project Deadlineに、今日から1ヶ月後の日付を入力します。 Priorityに
1を入力します。 「
Apply Changes」をクリックします。
|
| 10.
|
追加したデータが表示されます。 データベース・オブジェクトを作成してデータをロードする別の方法として、スクリプトを使用する方法もあります。 この方法を使用するには、ドロップダウン・リストから
SQL Scriptsを選択します。
|
トピック・リストに戻る
スクリプトによる表の追加
OBE_TASKS.ASSIGNED_TO列は番号です。 このトピックでは、スクリプトを実行して、
OBE_EMPLOYEES表を作成し、現在の従業員のリストをロードします。 従業員は、
OBE_TASKS.ASSIGNED_TO列の番号に対応する
EMPLOYEE_IDを持ちます。 以下の手順を実行します。
| 1.
|
「
Upload」をクリックします。
|
| 2.
|
「
Browse...」をクリックします。
|
| 3.
|
employees.sql
を選択し、「
Open」をクリックします。 Script Nameに
OBE_EMPLOYEESと入力して、「
Upload」をクリックします。
|
| 4.
|
OBE_EMPLOYEESスクリプトを選択します。
|
| 5.
|
スクリプトが表示されます。 「
Run」をクリックします。
|
| 6.
|
「
Run」をクリックして、実行リクエストを確定します。
|
| 7.
|
スクリプトが実行されます。 結果を表示するには、「
View
Results」アイコンをクリックします。
|
| 8.
|
OBE_EMPLOYEES表が作成され、一部のデータが挿入されます。 「
SQL Workshop」ブレッドクラム・リストをクリックします。
|
トピック・リストに戻る
制約の追加
OBE_TASKS.ASSIGNED_TO列によって参照されている従業員データを挿入しましたが、まだ表間の外部キーを指定していません。 外部キーによって、各ASSIGNED_TO列が有効な従業員を参照するようになります。 また、タスクが割り当てられた従業員の削除が禁止されます。 以下の手順を実行します。
| 1.
|
「
Object Browser」→「
Browse」の横にある矢印をクリックし、「
Tables」を選択します。
|
| 2.
|
「
OBE_TASKS」表を選択してから、「
Constraints」タブをクリックします。
|
| 3.
|
「
Create」をクリックします。
|
| 4.
|
Constraint Typeで「
Foreign Key」を選択します。 外部キー列として
ASSIGNED_TOを選択します。また、参照表名として
OBE_EMPLOYEESを選択し、参照表列のリストから
EMPLOYEE_IDを選択します。 「
Next >」をクリックします。
|
| 5.
|
「
Finish」をクリックします。
|
| 6.
|
制約が正しく作成されました。 次に、PROJECT_PRIORITYに対するチェック制約を作成して、データが挿入または更新されたとき正しく検証されるようにします。
OBE_PROJECTSを選択します。
|
| 7.
|
「
Create」タブをクリックします。
|
| 8.
|
Constraint of Columnフィールドで「
PROJECT_PRIORITY」を選択し、Constraint Expressionに
in ('1','2','3')
と入力します。 Constraint Typeで「
Check」が選択されていることを確認します。 「
Next >」をクリックします。
|
| 9.
|
「
Finish」をクリックします。
|
| 10.
|
制約が正しく作成されました。 「
Home」ブレッドクラム・リストをクリックします。
|
トピック・リストに戻る
アプリケーションの作成
アプリケーション・フレームワークを作成し、いくつかの初期ページのデフォルト値を設定するには、以下の手順に従います。
| 1.
|
Oracle Application Expressのホームページで、「
Application Builder」→「
Create Application」の横にある矢印をクリックし、「
Create Application」を選択します。
|
| 2.
|
Nameに
Project Tasks Applicationと入力します。 Creation Applicationは、デフォルトで選択されている「
From Scratch」のまま「
Next >」をクリックします。
|
| 3.
|
作成する最初のページは、ホームページです。 Page Typeとして「
Blank」ページが選択されていることを確認し、Page Nameを
Homeに変更して、「
Add Page」をクリックします。
|
| 4.
|
ロードした従業員を保守できるようにするには、従業員表を基にレポートとフォームを作成する必要があります。 Page Typeとして「
Report and Form」を、Subordinate to Pageとして「
Home (1)」を選択し、Table Nameフィールドの上矢印をクリックします。
|
| 5.
|
表一覧から「
OBE_EMPLOYEES」を選択します。
|
| 6.
|
「
Add Page」をクリックします。
|
| 7.
|
アプリケーションを作成するときページ名を変更できます。 ページ3の「
OBE_EMPLOYEES」リンクをクリックします。
|
| 8.
|
Page Nameを
Maintain Employeeに変更して、「
Apply Changes」をクリックします。
|
| 9.
|
ページ2の「
OBE_EMPLOYEES」リンクをクリックして、名前を変更します。
|
| 10.
|
Page Nameを
Employee Informationに変更して、「
Apply Changes」をクリックします。
|
| 11.
|
「
Next」をクリックします。
|
| 12.
|
「
No Tabs」を選択し、「
Next >」をクリックします。
|
| 13.
|
他のアプリケーションのコンポーネントは参照しません。 「
Next >」をクリックします。
|
| 14.
|
デフォルトのままにします。 「
Next >」をクリックします。
|
|
15
.
|
「
Theme 15」を選択します。 「
Next >」をクリックします。
|
|
16.
|
選択内容を確認します。 「
Create」をクリックします。
|
| 17.
|
アプリケーションとその関連ページが作成されます。 アプリケーションを実行するには、「
Run Application」アイコンをクリックします。
|
| 18.
|
デフォルトであるApplication Express Authenticationを選択したため、新しいアプリケーションにログインするときは、開発時と同じログイン名を使用する必要があります。
User Nameに
obeを、
Passwordに
obeを入力します。 「
Login」をクリックします。
|
| 19.
|
ホームページが表示されます。 レポートへのEmployee Informationリンクが表示されています。 「
Employee Information」をクリックします。
|
| 20.
|
従業員一覧が表示されます。 従業員情報を編集するには、編集する従業員の左側にあるアイコンをクリックします。
|
| 21.
|
従業員の詳細情報が表示されます。 ウィンドウ最下部の開発者リンクで「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
マスター・ディテール・フォームの追加
プロジェクトとタスクはそれぞれ異なる表に格納されていますが、これらの情報を1つのページに表示すると便利です。 それには、マスター・ディテール・フォームを使用します。 マスター・ディテール・フォームを追加するには、次の手順に従ってください。
| 1.
|
「
Create Page」をクリックします。
|
| 2.
|
「
Form」ページ・タイプを選択し、「
Next >」をクリックします。
|
| 3.
|
「
Master Detail Form」を選択し、「
Next >」をクリックします。
|
| 4.
|
最初に、マスター表を選択します。 Table/View Nameとして「
OBE_PROJECTS」を選択し、「
Select All」(
)アイコンをクリックしてすべての列をDisplayed Columns領域に移動します。 「
Next >」をクリックします。
|
| 5.
|
次に、ディテール表を選択します。 Table/View Nameとして「
OBE_TASKS」を選択し、「
Select All」(
)アイコンをクリックしてすべての列をDisplayed Columns領域に移動します。 「
Next >」をクリックします。
|
| 6.
|
表を作成したら、行が挿入されたときにシーケンスを呼び出すトリガーも作成されます。 Existing Triggerが選択されていることを確認して、「
Next」をクリックします。
|
| 7.
|
「
Next >」をクリックして、OBE_TASKSでExisting Triggerを使用します。
|
| 8.
|
Include master row navigationで「
Yes」を選択します。 これにより、ユーザーは、マスター・ディテール・ページ上の各プロジェクトをスクロール移動できます。
Master Row Navigation Orderで「
PROJECT」を選択します。 これにより、次のプロジェクトが表示されるとき、プロジェクト名をアルファベット順に並べたときの次のプロジェクトが表示されます。 ここでPROJECT_IDを選択すると、次のレコードがPROJECT_ID順で計算されるため、混乱を招く可能性があります。
Include master reportで「
Yes」を選択します。 このセクションで、マスター/ディテールに加えて、すべてのプロジェクトのレポートとなるページを作成します。 このレポートには、マスター/ディテール・ページへのナビゲーション・ボタンも含まれます。
すべての項目を選択したら、「
Next >」をクリックします。
|
| 9.
|
Edit detail as tabular form on same pageが選択されていることを確認して、「
Next」をクリックします。
Edit detail as tabular form on same pageを選択すると、マスター・ディテール・ページ上のタスク・レポートが編集可能になります。 Edit detail on separate pageを選択すると、タスク・レポートは表示のみとなり、編集は別のページでレコードごとに行うことになります。
|
| 10.
|
Create Breadcrumb Entryセクションで、Entry Name (Master Report)を
Projectsに、Entry Name (Master Detail Page)を
Projects and Tasksに変更します。 「
Home」リンクをクリックして、新しいプロジェクトの親ブレッドクラム・リストをHomeに設定します。 これにより、ホームページからナビゲートできるようになります。
|
| 11.
|
「
Next >」をクリックします。
|
| 12.
|
Do not use tabsが選択されていることを確認して、「
Next > 」をクリックします。
|
| 13.
|
「
Create」をクリックして、マスター・ディテール・フォームを作成します。
|
| 14.
|
「
Run Page」アイコンをクリックします。
|
| 15.
|
プロジェクト一覧を含むレポートが自動的に作成されます。 いずれかのプロジェクトの左横の「
Edit」(
)アイコンを選択して、マスター・ディテール・フォームを表示します。
|
| 16.
|
マスター・ディテール・フォームが表示されます。 このページで、プロジェクトの詳細、およびプロジェクトに関連付けられたタスクの詳細を編集できます。 また、現在のプロジェクトに新しいタスクを追加することもできます。
詳細リージョンには、
Add Rowボタンがあります。 このボタンをクリックすると、保留中の変更がすべて保存され、新しい行が追加されて、プロジェクトに新しいタスクを追加できるようになります。
Deleteボタンもあります。 このボタンは、各タスクの左にあるチェック ボックスと一緒に使用します。 ヘッダー行のチェック ボックスをオンにすると、ページに表示されているすべてのタスクが選択されます。 「
Delete」ボタンをクリックすると、チェック マークの付いているすべてのタスクが削除されます。 この機能には、削除確認機能が組み込まれています。すなわち、実際に削除を実行する前に本当に削除してよいかどうかの確認メッセージが表示されます。
また、フォームの各領域には、PreviousボタンとCancelボタンがあります。 上側はプロジェクト情報に関するボタン、下側はタスクに関連するボタンです。
Previousボタンが表示されるのは、include Master row navigationで「
Yes」を選択したからです。 「
Cancel」ボタンをクリックすると、プロジェクト・レポートに戻ります。
プロジェクトの名前を変更して、「
Apply Changes」をクリックします。
|
| 17.
|
これで変更が反映されました。 開発者ツールバーにある「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
アプリケーション・オブジェクトの編集
マスター・ディテール・フォームはそのままでも実用的ですが、体裁は改良の余地があります。 このトピックでは、ページ・タイトルおよびリージョン・タイトルの名前を変更し、マスター・レポート上のアイテムのフォーマットを変更します。 また、プロジェクト・レポートをPDF形式で出力します。 最後に、ドラッグ・アンド・ドロップ機能を使用して、プロジェクト・ページおよびタスク・ページのアイテムの順序を変更します。 以下の手順を実行します。
| 1.
|
「
4 - OBE PROJECTS」を選択します。
|
| 2.
|
リージョンの「
Report」リンクを選択します。
|
| 3.
|
PROJECT_DEADLINEの先頭の「
Edit」(
)アイコンをクリックします。
|
| 4.
|
Column Formattingセクションで、Number/Date Formatフィールドに
MM/DD/YYYYを入力し、「
Apply Changes」をクリックします。
|
| 5.
|
「
Apply Changes」をクリックします。
|
| 6.
|
Page 4の「
Edit」(
)アイコンをクリックします。
|
| 7.
|
Nameセクションで、名前に
Projectsと入力します。 Display Attributesセクションで、タイトルに
Projectsと入力します。 「
Apply Changes」をクリックします。
|
| 8.
|
「
Run」をクリックします。
|
| 9.
|
ブラウザのタイトルがProjectsに設定され、PROJECT_DEADLINEのフォーマットが変更されている点に注意してください。 RegionのタイトルはOBE_Projectsのままです。 開発者リンク領域で「
Show Edit Links」をクリックします。
|
| 10.
|
Obe Projects Regionタイトルの右横の「
Edit」(
)アイコンをクリックします。
|
| 11.
|
タイトルを
Projectsに変更して、「
Apply Changes」をクリックします。
|
| 12.
|
「
Cancel」をクリックしてPage Regionウィンドウを閉じます。
|
| 13.
|
ブラウザをリフレッシュして、行った変更内容を表示します。 開発者リンクの「
Hide Edit Links」をクリックします。
|
| 14.
|
開発者ツールバーで「
Edit Page 4」リンクをクリックします。
|
| 15.
|
Projectsリージョンの横の「
Report」リンクをクリックします。
|
| 16.
|
「
Print Attributes」タブをクリックします。
|
| 17.
|
Enable Report Printingドロップダウン メニューで「
Yes」を選択し、Page AttributesセクションのOrientationドロップダウン メニューで「
Portrait」を選択します。 「
Page Header」タブをクリックします。
|
| 18.
|
Page Headerに
Project Reportと入力し、Alignmentで「
center」を選択します。 「
Apply Changes」をクリックします。
|
| 19.
|
Report Printingを有効にしたため、Reportリンクの右側に
Printが表示されている点に注意してください。 「
Run」をクリックします。
|
| 20.
|
レポート下部にPrintリンクが表示されています。 「
Print」リンクをクリックします。
|
| 21.
|
「
Open with」ラジオ・ボタンをクリックし、「
OK」をクリックすると、レポートがPDF形式で表示されます。
|
| 22.
|
プロジェクト・レポートがPDF形式で表示されます。
|
| 23.
|
開発者ツールバーで「
Edit Page 4」リンクをクリックします。
|
| 24.
|
「
>」矢印をクリックして、プロジェクトおよびタスク・ページ(Page 5)のページ定義の項にナビゲートします。
|
| 25.
|
Page 5のページ定義が表示されます。 このページのアイテムを並び替えるには、「
Items」タブをクリックします。
|
| 26.
|
Itemsセクションで「
Drag and drop」アイコンをクリックします。
|
| 27.
|
Drag and Drop layoutが表示されます。 この直感的なグラフィカル・レイアウトを使用して、このページのアイテムを編集、作成、または削除できます。
|
| 28.
|
Page 5で、Project PriorityアイテムをProject Deadlineアイテムの上部に表示するために、
P5_PROJECT_ PRIORITYアイテムを
P5_PROJECT_ DEADLINEアイテムの上部にドラッグ・アンド・ドロップして、「
Next>」をクリックします。
|
| 29.
|
「
Apply Changes」をクリックします。
|
| 30.
|
「
Run」をクリックします。
|
| 31.
|
Project PriorityフィールドがProject Deadlineフィールドの上部に表示されています。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
値リスト(LOV)の作成
アプリケーションの体裁を改善する別の方法として、LOVを作成する方法があります。 このトピックでは、次のLOVを作成します。
| EMPLOYEES
|
従業員リストを表示する動的LOV。 このLOVは、タスク・リストのAssigned To列に関連付けられます。 |
| STATUSES
|
ステータス・リストを表示する静的LOV。 このLOVは、タスク・リストのStatus列に関連付けられます。 |
| PRIORITIES
|
ステータス・リストを表示する静的LOV。 このLOVは、Projects Master領域のPriority列に関連付けられます。 |
以下の手順を実行します。
| 1.
|
「
5 - Master Detail」ページをクリックします。
|
| 2.
|
Shared Components列のList of Valuesセクションにある「
Create」アイコン(
)をクリックします。
|
| 3.
|
Create List of Valuesは、デフォルト値である「
From Scratch」のまま「
Next >」をクリックします。
|
| 4.
|
Nameに
EMPLOYEESと入力します。 Typeを「
Dynamic」に変更します。 「
Next >」をクリックします。
|
| 5.
|
動的LOVの場合は、ページがレンダリングされるときに実行するSQLを入力する必要があります。 列名を思い出せないときは、「
Item Finder」(
)アイコンをクリックし、検索します。
|
| 6.
|
「
Tables」タブをクリックします。
|
| 7.
|
OBE_EMPLOYEES表のリンクを選択します。
|
| 8.
|
列名をメモしてください。 表示されたSQL文を選択し、クリップボードにコピーしておくことを推奨します。 Item Finderウィンドウを閉じます。
|
| 9.
|
SQL文を次のように変更して、「
Create List of Values」をクリックします。 動的LOVの最初の列は、ユーザーに表示される列です。 2番目の列は、データベースに格納される対応値です。 この2つの列は同じ値になることもあります。
select FIRST_NAME||', '||LAST_NAME d,
EMPLOYEE_ID r
from OBE_EMPLOYEES
order by 1
|
| 10.
|
LOVが作成されました。 作成されたLOVは、このページにまだ関連付けられていないため、LOV領域には表示されていないことに注意してください。 さらに、2つの静的LOVを作成します。 再度、「
Create」(
)アイコンをクリックしてください。
|
| 11.
|
Create List of Valuesで、デフォルト値である「
From Scratch」のまま「
Next >」をクリックします。
|
| 12.
|
名前に
STATUSESと入力し、タイプとして「
Static」が選択されていることを確認して、「
Next >」をクリックします。
|
| 13.
|
Display ValueとReturn Valueに、次のように入力します。
| Display Value
|
Return Value
|
| Closed |
closed |
| Open |
open |
| On Hold |
on-hold |
「
Create List of Values」をクリックします。
|
| 14.
|
STATUSES LOVが作成されました。 フォームのマスター部分にもう1つ作成すべきLOVとして、Prioritiesがあります。 「
Create」をクリックします。
|
| 15.
|
Create List of Valuesで、デフォルト値である「
From Scratch」のまま「
Next >」をクリックします。
|
| 16.
|
名前に
PRIORITIESと入力し、タイプとして「
Static」が選択されていることを確認して、「
Next >」をクリックします。
|
| 17.
|
Display ValueとReturn Valueに、次のように入力します。
| Display Value
|
Return Value
|
| High |
1 |
| Medium |
2 |
| Low |
3 |
「
Create List of Values」をクリックします。
|
| 18.
|
PRIORITIES LOVが作成されました。 ここで、各LOVをページに関連付けます。 「
Edit Page 5」(
)アイコンをクリックします。
|
| 19.
|
「
Show All」アイコンをクリックすると、すべてのページ・コンポーネントが表示されます。
|
| 20.
|
Regions領域で、「
Report」リンクをクリックします。
|
| 21.
|
ASSIGNED_TO列の先頭にある「
Edit」(
)アイコンをクリックします。
|
| 22.
|
「
Tabular Form Element」セクション・ボタンをクリックします。
|
| 23.
|
Display Asを「
Select List (named LOV)」に変更し、「
List of Values」セクション・ボタンをクリックします。
|
| 24.
|
Named LOVに「
EMPLOYEES」を、Display Nullに「
YES」を選択し、Null display valueとして
- None Assigned -を入力します。 「
Apply Changes」をクリックします。
|
| 25.
|
STATUS列の先頭にある「
Edit」(
)アイコンをクリックします。
|
| 26.
|
List of Valuesセクション・ボタンは既に選択されているはずです。 Named LOVに「
STATUSES」を、Display Nullに「
Yes」を選択し、Null display valueとして
- No Status -を入力します。 「
Tabular Form Element」セクション・ボタンをクリックします。
|
| 27.
|
Display Asとして「
Select List (named LOV)」を選択し、「
Apply Changes」をクリックします。
|
| 28.
|
ページを再実行して結果を表示します。 「
Run Page 5」(
)アイコンをクリックしてください。
|
| 29.
|
Assigned Toのドロップダウン・リストを選択します。 動的LOVが実行され、従業員リストが表示されます。
|
| 30.
|
Statusのドロップダウン・リストを選択します。 静的LOV値が表示されます。
|
| 31.
|
次に、PRIORITIES LOVを、ページのマスター領域のPriorityアイテムに割り当てる必要があります。 「
Edit Page 5」をクリックします。
|
| 32.
|
Page Renderingセクションの「
item」(
)アイコンをクリックします。
|
|
33.
|
「
P5_PROJECT_PRIORITY」を選択します。
|
| 34.
|
Display Asフィールドの「
Radio」リンクを選択し、「
LOV」セクション・ボタンをクリックします。
|
| 35.
|
Named LOVで「
PRIORITIES」を選択し、Number of Columnsに
4を入力し、Display Nullsで「
Yes」を選択して、Null display valueとして
Noneを入力します。 「
Apply Changes」をクリックします。
|
|
36.
|
「
Run」をクリックします。
|
| 37.
|
Priorityフィールドは、LOV値が設定されたラジオ・グループになっています。 開発者リンクの「
Edit Page 5」をクリックします。
|
トピック・リストに戻る
アイテム検証の追加
ユーザーに、今日より前の日付を入力させたくないといった場合があります。 こうしたタイプのチェックを実行するには、アイテム検証を使用します。 以下の手順を実行します。
| 1.
|
Page 5の検証セクションにある「
Create」(
)アイコンをクリックします。
|
| 2.
|
「
Item level validation」が選択されていることを確認して、「
Next >」をクリックします。
|
| 3.
|
「
P5_PROJECT_DEADLINE」アイテムを選択し、「
Next >」をクリックします。
|
| 4.
|
検証方法として「
SQL」を選択し、「
Next >」をクリックします。
|
| 5.
|
PROJECT_DEADLINEが検証エラーになる条件を指定するため、「
SQL Expression」をクリックし、「
Next >」をクリックします。
|
| 6.
|
Validation Nameとして
P5_PROJECT_DEADLINEを入力してから「
Next >」をクリックします。
|
| 7.
|
Validationに
TO_DATE(:P5_PROJECT_DEADLINE,'MM/DD/YYYY') >= SYSDATE
を、Error Messageに
Date needs to be greater than todayを入力して、「
Next >」をクリックします。
|
| 8.
|
Condition Typeとして「
Request Is Contained within Expression1」を選択し、Expression1に
SAVE,CREATEを入力します。 次に、「
Create」をクリックします。
|
| 9.
|
これで、検証が正しく作成されました。 「
Run」をクリックします。
|
| 10.
|
日付を今日より前の日付に変更し、「
Apply Changes」をクリックします。
|
| 11.
|
アイテム(またはフィールド)エラー・メッセージとページ通知メッセージが表示されます。 これは、検証を作成するとき、両方のメッセージを表示するように指定したからです。
|
| 12.
|
開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
Flashグラフの追加
このトピックでは、Flashグラフを作成します。 プロジェクトごとのタスク数を表示する2次元の円グラフを作成する必要があるとします。 以下の手順を実行します。
| 1.
|
Project Tasks Applicationホームページの「
Create Page >」をクリックします。
|
| 2.
|
「
Chart」ページ・タイプを選択し、「
Next >」をクリックします。
|
| 3.
|
「
Flash Chart」ラジオ・ボタンを選択し、「
Next >」をクリックします。
|
| 4.
|
Page Nameに
Tasks per Project Chartと入力し、その他のデフォルト値はそのままで「
Next >」をクリックします。
|
| 5.
|
「
Do not use tabs」オプションを選択し、「
Next >」をクリックします。
|
| 6.
|
Chart Typeとして「
2D Pie」を選択し、Chart Titleとして
Tasks per Projectを入力して、「
Update」ボタンをクリックすると、グラフ・プレビューが更新されます。
|
| 7.
|
FlashカードTasks per Projectのプレビューが表示されます。 「
Next >」をクリックします。
|
| 8.
|
次の問合せをコピーして、Queryフィールドに貼り付けます。 「
Next >」をクリックします。
select null link,
p.project label,
t.task_count value
from (select project_id,
count(*) task_count
from obe_tasks
group by project_id) t,
obe_projects p
where t.project_id = p.project_id
|
| 9.
|
「
Finish」をクリックするとグラフが作成されます。
|
| 10.
|
Flashグラフが作成されました。 「
Run Page」アイコンをクリックすると、Flashグラフが表示されます。
|
| 11.
|
このFlashグラフは、プロジェクトごとのタスク数を示したものです。 各領域には、プロジェクトとタスク数が表示されています。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
カレンダの追加
このトピックでは、各プロジェクトの締め切りを示すカレンダを追加し、プロジェクト・レポート上にボタンを追加してそのカレンダにリンクするようにします。 以下の手順を実行します。
| 1.
|
Project Tasks Applicationホームページの「
Create Page >」をクリックします。
|
| 2.
|
「
Calendar」ページ・タイプを選択し、「
Next >」をクリックします。
|
| 3.
|
「
Easy Calendar」ラジオ・ボタンを選択し、「
Next >」をクリックします。
|
| 4.
|
Page Nameに
Project Tasks Calendarと入力し、「
Next >」をクリックします。
|
| 5.
|
「
Do not use tabs」オプションを選択し、「
Next >」をクリックします。
|
| 6.
|
Table / View Nameとして「
OBE_PROJECTS」を選択し、「
Next >」をクリックします。
|
| 7.
|
Date Columnで「
PROJECT_DEADLINE」が選択されていること、およびDisplay Columnで「
PROJECT」が選択されていることを確認します。 「
Next >」をクリックします。
|
| 8.
|
「
Finish」をクリックするとカレンダが作成されます。
|
| 9.
|
これで、カレンダが作成されました。 「
Run Page」アイコンをクリックすると、カレンダが表示されます。
|
| 10.
|
カレンダには、プロジェクトの締め切り日が表示されます。 カレンダの表示を、日次または週次モードに切り替えることもできます。 「
Weekly」をクリックします。
|
| 11.
|
カレンダが週次モードで表示されます。 次の週に進めるには、 「
Next」をクリックします。
|
| 12.
|
プロジェクト・レポートからこのカレンダにアクセスするためのボタンを作成します。 週次カレンダの最下部にスクロールして、開発者ツールバーの「
Application <n>」リンクをクリックします。
|
| 13.
|
「
Projects」ページをクリックします。
|
| 14.
|
buttons領域で、「
Create」(
)アイコンをクリックします。
|
| 15.
|
2番目の「
Projects (10)」リージョンを選択して、「
Next >」をクリックします。
|
| 16.
|
「
Create a button in a region position」を選択し、「
Next >」をクリックします。
|
| 17.
|
Button Nameに
View Calendarと入力し、「
Next >」をクリックします。
|
| 18.
|
デフォルト値を受け入れて、「
Next >」をクリックします。
|
| 19.
|
デフォルト値を受け入れて、「
Next >」をクリックします。
|
| 20.
|
上矢印をクリックして、分岐先のページを選択します。
|
| 21.
|
「
Project Tasks Calendar」を選択します。
|
| 22.
|
「
Create Button」をクリックします。
|
| 23.
|
「
Run」をクリックして、ボタン付きのレポートを表示します。
|
| 24.
|
「
View Calendar」をクリックします。
|
| 25.
|
カレンダが表示されます。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
ホームページ・ナビゲーション・リストの更新
マスター・ディテール・フォームとFlashグラフが完成したので、次に、ホームページ・ナビゲーション・リストを追加する必要があります。 以下の手順を実行します。
| 1.
|
「
Home」ページをクリックします。
|
| 2.
|
「
Regions」(
)アイコンを選択します。
|
| 3.
|
Regions領域で「
List」リンクをクリックします。
|
| 4.
|
「
Create List Entry >」をクリックします。
|
| 5.
|
Sequenceに
20と入力し、List Entry Labelフィールドに
Manage Projects and Tasksと入力します。 Target typeで「
Page in this Application」が選択されていることを確認して、Pageフィールドの上矢印をクリックします。
|
| 6.
|
「
4 Projects」を選択します。
|
| 7.
|
「
reset
pagination for this page」チェック ボックスをオンにして、「
Create and Create Another」をクリックします。 reset pagination for this pageチェック ボックスがオンになっていると、このページに前回アクセスしたときに表示していたレコード・セットとは無関係に、常に、最初のレコード・セットが表示されます。
|
| 8.
|
Sequenceに
30と入力し、List Entry Labelフィールドに
View Tasks per Project Chartと入力します。 Target typeで「
Page in this Application」が選択されていることを確認して、Pageフィールドの上矢印をクリックします。
|
| 9.
|
「
8 Tasks per Project Chart」を選択します。
|
| 10.
|
「
reset
pagination for this page」チェック ボックスをオンにして、「
Create」をクリックします。
|
| 11.
|
入力したエントリがリストに追加されました。 「
Run Page 1」(
)アイコンをクリックします。
|
| 12.
|
新しい2つのエントリに注目してください。 「
Manage Projects and Tasks」をクリックします。
|
| 13.
|
プロジェクト・レポートが表示されます。 「
Home」ブレッドクラム・リストをクリックします。
|
| 13.
|
「
View Tasks per Project Chart」をクリックします。
|
| 13.
|
ページがリスト表示されます。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
新しいテーマの適用
アプリケーションを作成するとき、テーマ15を選択しました。このテーマを変更することで、アプリケーションのルック・アンド・フィールを変更できます。 最初に、Oracle Application Expressリポジトリからテーマを選択することで新しいテーマを作成します。 新しいテーマを適用するには、以下の手順を実行します。
| 1.
|
「
Shared Components」→「
User Interface」の横にある矢印をクリックし、「
Themes」を選択します。
|
| 2.
|
新しいテーマを作成するには、「
Create」をクリックします。
|
| 3.
|
From the Repositoryが選択されていることを確認して、「
Next >」をクリックします。
|
| 4.
|
用意されているテーマから「
Theme 14」を選択します。 「
Next >」をクリックします。
|
| 5.
|
「
Create」をクリックします。
|
| 6.
|
Modernテーマに切り替えるために、「
Switch Theme」をクリックします。
|
| 7.
|
Switch to Themeフィールドで、
14. Modernが選択されていることを確認します。 「
Next >」をクリックします。
|
| 8.
|
2つのテーマ間の互換性が表示されます。 現在のテーマの各テンプレートを置き換えるテンプレートが、新しいテーマに存在するかどうかがチェックされます。 Status列にチェック・マークが付いているのは、新しいテーマのテンプレートが現在のテーマのテンプレートと互換性があることを示します。 「
Next >」をクリックします。
|
| 9.
|
テーマの切り替えを確定するために、「
Switch Theme」をクリックします。
|
| 10.
|
新しいテーマを表示するには、ページの右上にある「
Run Page」(
)アイコンをクリックします。
|
| 11.
|
アプリケーション全体の概観が変更されていることが分かります。 カラー・スキームが変更されています。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
ロゴの追加
アプリケーションに、テキスト・ロゴやイメージ・ロゴを簡単に追加できます。 ここでは、テキスト・ロゴを追加します。 以下の手順を実行します。
| 1.
|
「
Shared Components」→「
Application」の横にある矢印をクリックし、「
Definition」を選択します。
|
| 2.
|
「
Logo」タブをクリックします。
|
| 3.
|
Logo Typeで「
Text」を選択します。 Logoに
Project Tracker
、Logo Attributesに
style="font-family:Arial; color:#000000; font-size:18; white-space:nowrap; font-weight:bold;"と入力します。 「
Apply Changes
」をクリックします。
|
| 4.
|
ロゴを表示するには、ページの右上にある「
Run Page」(
)アイコンをクリックします。
|
| 5.
|
テキストが表示されます。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピック・リストに戻る
ユーザーの作成
前述のとおり、このアプリケーションでは、Oracle Application Express認証を使用します。 新規ユーザーを作成するには、Oracle Application Expressで用意されている機能を使用します。 このトピックで新規ユーザーを何人か作成し、次のトピックでアプリケーションの特定の領域に対するアクセスを特定のユーザーだけに制限します。 それには、以下の手順に従います。
| 1.
|
ブレッドクラム・メニューの「
Home」リンクをクリックします。
|
| 2.
|
右側のAdministrationボックスで、「
Manage Application Express Users」を選択します。
|
| 3.
|
「
Create End User」をクリックします。
|
| 4.
|
次の情報を入力して、「
Create and Create Another
」をクリックします。
User Name:
Brad.Knight
Password and Confirm Password:
welcome1
Email Address:
brad.knight@oracle.com
Default Schema:
OBE
User is a developer:
No
User is a Workspace Administrator:
No
|
| 5.
|
次の情報を入力して、「
Create and Create Another
」をクリックします。
User Name:
Susie.Parker
Password and Confirm Password:
welcome1
Email Address:
susie.parker@oracle.com
Default Schema:
OBE
User is a developer:
No
User is a Workspace Administrator:
No
|
| 6.
|
次の情報を入力して、「
Create User」をクリックします。
User Name:
John.Bell
Password and Confirm Password:
welcome1
Email Address:
john.bell@oracle.com
Default Schema:
OBE
User is a developer:
No
User is a Workspace Administrator:
No
|
| 7.
|
3人のユーザーが作成されました。 次に、アプリケーションに対する管理アクセスを設定します。 「
Application Builder」タブをクリックします。
|
トピック・リストに戻る
アクセス制限
ユーザーを定義したら、アプリケーションの特定部分に対するアクセスを制限します。 このトピックでは、特定のユーザーだけにタスクの編集を許可します。 それには、以下の手順に従います。
トピック・リストに戻る
A. アクセス制御ページの追加
権限のあるユーザーだけに特定の操作を実行する許可を与えてアプリケーションを保護するには、アクセス制御ページを作成します。アクセス制御ページは、アプリケーションのどの部分にどのユーザーがアクセスできるのかを定義するものです。 以下の手順を実行します。
| 1.
|
「
Project Tasks Application」をクリックします。
|
| 2.
|
「
Create Page」をクリックします。
|
| 3.
|
「
Access Control」ページ・タイプを選択し、「
Next >」をクリックします。
|
| 4.
|
デフォルトのページ値
9のまま「
Next >」をクリックします。
|
| 5.
|
Do not use tabsオプションが選択されていることを確認し、「
Next >」をクリックします。
|
| 6.
|
「
Finish」をクリックします。
|
| 7.
|
「
Run Page」をクリックします。
|
| 8.
|
アプリケーションに追加したアクセス制御ページが表示されます。 このページには2つのリージョンがあり、Application Modelのデフォルトの設定はFull Accessになっています。 ここでは、特定のユーザーがアプリケーションの特定の部分にアクセスするのを禁止します。 「
Restricted Access」を選択して、「
Set Application Mode」をクリックします。
|
| 9.
|
アプリケーション・モードが設定されました。 次のトピックでは、特権ユーザーを特定します。 「
Add User」をクリックします。
|
トピックに戻る
B. 特権ユーザーの特定
前のトピックでは、3人のユーザーであるBrad.Knight、John.Bell、Susie.Parkerを作成しました。 このトピックでは、次のようにアクセス許可を与えます。すなわち、Brad.Knightはアプリケーションを編集できますが、ユーザー・アクセスを変更することはできません。 John.Bellは、アプリケーション情報を表示できますが、何も変更できません。 Susie.Parker はアプリケーションの管理者として、ユーザー特権だけでなく、何でも変更できます。 以下の手順を実行します。
| 1.
|
usernameに
john.bellと入力し、privilegeで「
View」を選択して、再度、「
Add User」をクリックします。
|
| 2.
|
usernameに
brad.knightと入力し、privilegeで「
Edit」を選択して、再度、「
Add User」をクリックします。
|
| 3.
|
usernameに
susie.parkerと入力し、privilegeで「
Administrator」を選択して、再度、「
Apply Changes」をクリックします。
|
| 4.
|
次に、アクセスが制限されるアプリケーション領域を定義します。 開発者ツールバーの「
Application <n>」リンクをクリックします。
|
トピックに戻る
C. アプリケーション・コンポーネントに対するスキームの適用
許可スキームを作成すると、表示権限を持つユーザーは、従業員情報を確認できますが変更できません。 編集権限を持つユーザーは、従業員情報を変更できますが、アクセス制御リストを変更することはできません。 管理者権限を持つユーザーは、アクセス制御リストを含め、すべてのものを変更できます。 以下の手順を実行します。
| 1.
|
「
Shared Components」→「
Application」の横にある矢印をクリックし、「
Definition」を選択します。
|
| 2.
|
「
Security」タブをクリックします。
|
| 3.
|
Authorizationでスキームを「
access control - view」に変更して、「
Apply Changes」をクリックします。
|
| 4.
|
これで、表示権限を持つユーザー用のアプリケーション・アクセス許可が作成されました。次に、編集権限を持つユーザーのアクセス許可を従業員情報(Employee)だけに制限します。 「
2 - Employee Information」をクリックします。
|
| 5.
|
Regions領域で、「
Report」リンクをクリックします。 必要であれば、Page Renderingにある「
Regions」(
)アイコンをクリックしてください。
|
| 6.
|
EMPLOYEE_IDの先頭にある「
Edit」(
)アイコンをクリックします。
|
| 7.
|
「
Authorization」タブをクリックします。
|
| 8.
|
Authorization Schemeとして「
access control - edit」を選択し、「
Apply Changes」をクリックします。
|
| 9.
|
「
Apply Changes」をクリックします。
|
| 10.
|
編集権限または管理権限を持っているユーザーに対してのみCreateボタンを表示する場合は、許可スキームを設定する必要があります。 Page Renderingセクションの「
Button」(
)アイコンをクリックします。
|
| 11.
|
「
Create」リンクをクリックします。
|
| 12.
|
「
Authorization」セクション・ボタンをクリックします。
|
| 13.
|
Authorization Schemeとして「
access control - edit」を選択し、「
Apply Changes」をクリックします。
|
| 14.
|
ユーザーがページに直接アクセスするのを禁止したい場合もあります。 編集権限がないため、ページ2でユーザーを編集または作成することを禁止されているユーザーでも、正しいURLを入力すればページ3にアクセスすることは可能です。 これを禁止するには、ページ3に対するアクセスを編集権限のあるユーザーだけに制限する必要があります。 「
>」をクリックして、ページ3に進みます。
|
| 15.
|
「
Show All」(
)アイコンをクリックします。
|
| 16.
|
Pageセクションで、Authorizationページ属性の「
No」リンクをクリックします。
|
| 17.
|
Authorization Schemeで、「
access control - edit」を選択します。 「
Apply Changes」をクリックします。 「
Run Page」アイコンをクリックします。
|
| 18.
|
開発者ツールバーの「
Application <n>」リンクをクリックします。
|
| 19.
|
アクセス制御リストを変更できるのは管理者権限のあるユーザーだけなので、ページ9の許可スキームを設定する必要があります。「
9 - Access Control Administration Page」をクリックします。
|
| 20.
|
Authorizationの「
No」リンクをクリックします。
|
| 21.
|
Authorization Schemeとして「
access control - administrator」を選択し、「
Apply Changes」をクリックします。 これで、アプリケーションを実行する準備ができました。
|
| 22.
|
Pageに
1を入力して、「
<」をクリックします。
|
| 23.
|
「
Run」をクリックします。
|
| 24.
|
既にOBEとしてログインしている場合は、「
Logout」をクリックします。 User Nameに
brad.knight、Passwordに
welcome1を入力します。 「
Login」をクリックします。
|
| 25.
|
「
Employee Information」を選択します。
|
| 26.
|
Bradでログインしたので、従業員表を編集できます。 「
Logout」をクリックします。
|
| 27.
|
User Nameに「
john.bell」、Passwordに
welcome1を入力します。 「
Login」をクリックします。
|
| 28.
|
「
Employee Information」を選択します。
|
| 29.
|
Johnは表示権限しかないので、従業員表を編集することはできません。 Createボタンも表示されません。
|
| 30.
|
次に、URLのページ番号を変更して、ページ3にアクセスしてください。
Example url …/f?p=426:2:2101953412249296357::NO
Change to …/f?p=426:
3:2101953412249296357::NO
キーボードの[
ENTER]キーを押します。 ページ3に対するアクセスを編集権限のあるユーザーだけに制限したため、ページへのアクセスを拒否するメッセージが表示されます。
|
トピックに戻る
まとめ
このチュートリアルで学習した内容は、次のとおりです。
|
表の作成および変更 |
|
アプリケーションの作成 |
|
レポート、フォーム、グラフ、およびカレンダの追加および変更 |
|
LOVと検証アイテムの作成 |
|
ナビゲーション・リストの更新 |
|
新しいテーマの適用 |
|
ユーザーの作成および特定のユーザーに限定されたアクセス許可 |
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|