Upgrade to Pro — share decks privately, control downloads, hide ads and more …

F1より速く - F1グランプリのアプリをAPEXで作成する

F1より速く - F1グランプリのアプリをAPEXで作成する

2022年5月20日に開催されたOracle Developer Days 2022 Springのセッション資料です。

セッションで実施したアプリケーション作成の手順を記載しています。

Yuji Nakakoshi

May 23, 2022
Tweet

More Decks by Yuji Nakakoshi

Other Decks in Programming

Transcript

  1. はじめに、アプリケーションの作成に⼊る前に、少しだけ、製品について紹 介させていただきます。 Oracle APEXはOracle Databaseで動作する、エンタープライズ・アプリケー ション向けのローコード・アプリケーション開発プラットフォームです。 Oracle Databaseとブラウザだけで、アプリケーションの開発、および開発し たアプリケーションの実⾏を⾏います。 Oracle

    APEXは、Oracle Databaseの無償オプションとして、すべてのエディ ションに含まれています。 無料で利⽤できるOracle Database Express Editionでも、使うことができま す。 また、Oracle Cloudで提供している、期限なしで無料で利⽤できる、Always FreeのAutonomous Database上でも利⽤できます。 機能制限のない環境を無料で使え、また、その環境もすぐに作成できます。 3
  2. 簡単に使い始めることができ、実機で学習を進めることができます。 Oracle Database Express EditionやAlways FreeのAutonomous Databaseは、 オラクルからサポートは提供されませんが、利⽤に関してライセンス上の制 限はありません。 そのため、CPUやディスクのリソースが許す範囲で、作成したアプリケー

    ションを社内の業務で使⽤したり、社外向けのサービスとして使⽤すること も可能です。 データ・ソースとしては、SQL、つまりリレーショナル・データベースと、 REST APIの呼び出しによる、ネットワーク上のリソースを扱うことができま す。 APEXで作成したアプリケーションは、Oracle Database上で動作するため、 Oracle Databaseが提供する、スケーラビリティや、セキュリティの機能を、 そのまま利⽤できます。 それに加えて、APEXにより、レスポンシブなユーザー・インターフェースが 提供されます。 Oracle APEXは20年近く、Oracle Databaseの無料のオプションとして提供さ れており、世界中のOracle Databaseの導⼊先の、多くの利⽤者によって活⽤ されています。 3
  3. Act(1): アプリケーションの元データとなるf1-races-2022.jsonを開く。 こちらのJSONのファイルを、データベースにインポートして、アプリケー ションの作成を始めます。 このJSONのファイルには、2022年のシーズンの、F1レースの開催データが 含まれています。 (拡⼤はMacのVS Codeでは Shift +

    Command + - (マイナス)、検索は Command + F) Act(2): Suzukaで検索し、JAPANESE GRAND PRIX 2022のデータを表⽰する。 それぞれのレースの 公式サイト上の、詳細ページへのリンク、 レースのタイトル、 コースの画像、 予選の開始⽇と本戦の終了⽇、 5
  4. Act(1): apex.oracle.com を開く。 今回は最新バージョンのAPEX 22.1にアップグレードされた、 APEX.oracle.comの検証環境を使って、アプリケーションを開発します。 サインインします。 Act(2): サインインをクリックする。 Act(3):

    ワークスペースのリクエストにポインタを当てる。 検証環境を使⽤するにあたって、事前にワークスペースをリクエストする必 要があります。ワークスペースは、メール・アドレスだけで、無料で取得で きます。 今回は、すでに取得済みのワークスペースを使います。 Act(4): ワークスペース名、ユーザー名、パスワードを⼊⼒して、サインイン をクリックする。 6
  5. では、アプリケーションを新規作成をします。 Act(1): アプリケーション・ビルダーをクリックする。 アプリケーション・ビルダーを開いて、 Act(2) 作成、にポインタを合わせる。 アプリケーションの作成を実⾏します。(作成のクリックは、説明の後に⾏ う。) Act(3): インポート、にポインタを合わせる。

    アプリケーションの作成⽅法としては、新規に作成する以外に、ファイルか らインポートして作成することもできます。 インポートに使うファイルは、完成したアプリケーションを、ファイルにエ クスポートして作成します。 8
  6. Act(4): 作成をクリックする。 アプリケーションを作成する⽅法は、いくつかあります。 Act(5): ファイルから、にポインタを合わせる。 今回は、元となるデータが、JSONファイルとしてあるので、ファイルから、 を選択してアプリケーション作成を始めます。(まだクリックしない) Act(6): 新規アプリケーション、にポインタを合わせる。 データベースに保存されている表のデータや、REST

    APIを呼び出した結果を 使う場合は、こちらの新規アプリケーションを選択します。 Act(7): スターター・アプリケーション、にポインタを合わせる。 スターター・アプリケーションは、ギャラリとして提供されているサンプ ル・アプリケーションのことです。 Act(8): ファイルから、をクリックする。 では、先ほどのJSONファイルを元にして、アプリケーションの作成を⾏いま す。 8
  7. アプリケーションの⾒た⽬、外観を変更します。 Act(4): 外観を開く。 いくつかの選択肢から、テーマ・スタイルを選択できます。 今回はVita ‒ ダークを選択します。 Act(5): Vita ‒

    ダークを選択する。 ナビゲーションは、サイド・メニューを選択します。 Act(6): サイド・メニューを選択する。 サイド・メニューの他には、画⾯の上にメニューを表⽰する、トップ・メ ニュー、ひとつの⼤きなメニューを表⽰させるメガ・メニュー、なども選ぶ ことができます。 Act(7): スクロールしてメガメニューを表⽰させる。 変更を保存します。 Act(8): 変更の保存をクリックする。 ページには、これから作成されるアプリケーションに含まれるページがリス トされています。 Act(9): 下にスクロールして、機能と設定を画⾯に表⽰させる。 機能として、Oracle APEXが標準で提供している、アプリケーションに組み 込み可能な機能を選択することができます。 例えばプログレッシブ・ウェブ・アプリケーションのインストールを選択す ると、スマートフォンやタブレットのホーム画⾯に、このアプリケーション のアイコンを作成することができます。 Act(10): プログレッシブ・ウェブ・アプリケーションにチェックを⼊れる。 その他にも、組み込みのアクセス制御などの機能もあります。 Act(11): アクセス制御にポインタを合わせる。チェックはしない。 11
  8. 成されます。 これは削除します。 ホーム・ページの編集をクリックします。 Act(3): ホームの編集をクリックする。 削除をクリックします。 Act(4): 削除をクリックする。 ダイアログが閉じ、元の画⾯に戻る。 続いて、ダッシュボードのページを削除します。

    編集をクリックします。 Act(5): ダッシュボードの編集をクリックする。 ダッシュボードには、⾯、棒、折れ線、円といったチャートが⾃動的に⽣成 されるようになっていますが、これ以外にも⾊々な形式のチャートが利⽤可 能です。 今回のデモでは、チャートのページの作成⽅法については触れないので、削 除します。 Act(6): 削除をクリックする。 12
  9. 情報が、それぞれ数値として保存されています。 そのため、ジオメトリ列タイプとして、2つの数値列を選択します。 Act(5): ジオメトリ列で2つの数値列を選択する。 経度の列として、LONG_を選択します。 Act(6): 経度列にLONG_を選択する。 緯度の列として、LATを選択します。 Act(7): 緯度列にLATを選択する。

    さらに、ツールチップとして、レースのタイトルが表⽰されるようにします。 Act(8): ツールチップ列にTITLEを選択する。 以上でページの追加を実⾏します。 Act(9): ページの追加をクリックする。 地図のページとして、レース開催地が追加されました。 16
  10. 動的アクションは、ブラウザで実⾏されるJavaScriptの処理です。 Act(3): プロセス・ビューを開く プロセスが⼀覧されるビューです。 プロセスは、サーバーで実⾏されるPL/SQLの処理です。 Act(4): 共有コンポーネント・ビューを開く 共有コンポーネント・ビューです。 このページが参照している共有コンポーネントが⼀覧されます。 Act(5):

    レイアウト・ビューにポインタを合わせる。 真ん中は、レイアウト・ビューやヘルプが表⽰されます。 下の部分に、コンポーネント・ギャラリーがあり、レイアウト・ビューにド ラッグ・アンド・ドロップすることで、ページに新たにコンポーネントを配 置することができます。 Act(6): コンポーネント・ギャラリーから適当に選んで、レイアウト・ビュー に重ねる。ただし配置はしない。 Act(7): プロパティ・ビューにポインタを合わせる。 右ペインはプロパティ・エディタです。 選択したコンポーネントの属性の編集を⾏います。 今回はファセット検索を編集するので、検索を選択します。 Act(8): レンダリング・ビューで検索を選択する。 Act(9): リージョン・タブをクリックする。 リージョン・タブには、ファセットに限らず、リージョンの⼀般的な属性が 含まれます。 Act(10): 属性タブをクリックする。 21
  11. 開催⽉、開催期間ともに期待通りに表⽰されています。 では、このSELECT⽂をファセット検索のソースに戻します。 SELECT⽂をコピーします。 Act(5): SELECT⽂をコピーする。 アプリケーション・ビルダーに戻り、ページ・デザイナでファセット検索の ページをを開いて、検索結果のソースのSQL問合せを開きます。 Act(6): アプリケーション・ビルダーに戻り、アプリケーションを選択して開 く。ページ番号1のファセット検索のページをページ・デザイナで開く。

    Act(7): ソースのSQL問合せを開く。 さきほど、検索結果を確認した、SELECT⽂に⼊れ替えます。 Act(8): SELECT⽂を選択して、ペーストを実⾏して内容を⼊れ替える。 SELECT⽂が⼊れ替わったので、検証をしてみます。 Act(9): 検証をクリックする。検証成功と表⽰されるはず。 検証が成功しました。 SELECT⽂に問題がないことが確認できたので、OKをクリックして、保存し ます。 Act: OKをクリックする。 26
  12. Act(4): ソースを表⽰させる。 タイプは、チェック・ボックス・グループです。 Act(5): タイプにポインタを当てる。 ラベルは開催⽉とします。 Act(6): ラベルに開催⽉を⼊⼒する。 LOVのタイプとして、個別値を選択します。 Act(7):

    LOVのタイプに個別値を選択する。 以上で、開催⽉のファセットが作成できました。 ページを実⾏して、動作を確認してみます。 Act(8): ページを実⾏する。 27
  13. Act(5): 本体の拡張フォーマットをONにする。 列MONTH_DAYを表⽰させます。 Act(6): クイック選択(HTML式の右上にあるリストのアイコン)をクリック して、MONTH_DAYを選択する。 MONTH_DAYが表⽰されるようになりましたが、これを太字で表⽰するよう にします。 Act(7): MONTH_DAYの前後に<b>と</b>を記述する。

    アイコンとして、国旗を表⽰させます。 アイコン・ソースとして、イメージURLを選択します。 Act(8) アイコン・ソースとして、イメージURLを選択する。 イメージURLとして、表RACESの列FLAGを使います。 Act(9): イメージURLとして、FLAGを選択する。&FLAG.が設定される。 アイコン位置はトップにします。 Act(10): アイコン位置として、トップを選択する。 バッジとして開催都市を表⽰させます。 Act(11): バッジ列として、CITYを選択する。 変更は以上です。とりあえず、どのように表⽰が変わったか確認してみま しょう。 変更を保存します。 Act(12): 保存をクリックする。 アプリケーションに戻ります。 Act(13): アプリケーションのタブに移る。 まだ変更前の表⽰です。このページをリロードします。 29
  14. Act(5): 外観として、ワイドスクリーンを選択する。 サイズ指定は、カバーにします。 Act(6): サイズ指定として、カバーを選択する。 これでページを確認します。変更を保存します。 Act(7): 保存をクリックする。 Act(8): アプリケーションのタブに移り、ページをリロードする。

    いい感じになりました。 Act(9) 10⽉のフィルタの X をクリックして、フィルタを外す。 Act(10): 上下にスクロールする。 すべてのレースが表⽰されています。 /********************************** 時間が⾜りない場合、クイック編集は パスする。 *********************************/ さらに表⽰を改良してみましょう。 30
  15. レンチのアイコンにフォーカスを当てて、 Act(1): Enterを⼊⼒して、ライブ・テンプレート・オプションを開く。 ライブ・テンプレート・オプションを開きます。 ライブ・テンプレート・オプションでの変更は、ページに即座に反映されま す。 例えば、スタイルを Act(2): Style Aに変更する。

    Style Aだとこんな感じ、 Act(3): Style Bに変更する。 Style Bだとこんな感じ、 Act(4): Style Cに変更する。 Style Cだとこんな感じ、 このように表⽰が変わります。 Style Cが良さそうなので、この設定で保存します。 Act(5): 保存をクリックする。 ページの⾒た⽬の改良はこれくらいにして、今度はアクションを追加します。 31
  16. Act(4): ターゲットに、URLにリダイレクトを選択する。 ターゲットとして、列URLを使います。 Act(5) : ターゲットをクリックして、ダイアログを開き、URLに&URL.と⼊⼒ する。OKをクリックして閉じる。 レース詳細が、アプリケーションとは別のタブで開かれるように、リンク属 性を設定します。 Act(6):

    リンク属性をフォーカスする(ヘルプを開くため) Act(7): 中央ペインのヘルプを開く。 新規ウィンドウでのリンクのオープン⽅法が説明されています。 これをコピーして、リンク属性として設定します。 Act(8): target=“_blank”をコピーして、リンク属性に貼り付ける。 アクションの作成は、以上で終了です。 保存して、動作を確認します。 Act(9): 保存をクリックする。 32
  17. /********************************** 時間が⾜りない場合はスキップする。 *********************************/ Act(1): ページ・デザイナのタブに移る。 これは、最近リリースされたAPEX22.1の新機能なのですが、 カードの表⽰ 順序が制御できるようになりました。 検索結果のリージョンの、Sort OrderのP1_ORDER_BYを選択します。

    Act(2): P1_ORDER_BYを選択する。 LOVの設定を開き、 Act(3): プロパティ・エディタより、LOVの静的値をクリックして開く。 並べ替えの選択肢を設定します。 表⽰値は、開催⽇ ‒ 昇順として、戻り値をSTARTDATE-ASC、 34
  18. Act(4): 開催⽇ ‒昇順とSTARTDATE-ASCを⼊⼒する。 開催⽇ ‒ 降順に、STARTDATE-DESCとします。 Act(5): 開催⽇ ‒降順とSTARTDATE-DESCを⼊⼒する。 これで保存します。

    Act(6): OKをクリックする。 次に、カード・リージョンのOrder By 項⽬を設定します。 Act(7): 検索結果を選択し、Order By 項⽬を開く。 Act(8): 最初の句として、startdate ascを⼊⼒する。 最初は、startdate asc Act(9): 次の句として、startdate descを⼊⼒する。 次の句はstartdate descになります。 以上で、保存します。 Act(10): OKをクリックする。 変更を保存して、ページを確認してみましょう。 Act(11): 保存をクリックすし、アプリケーションのタブに移る。 34
  19. /********************************** 時間が⾜りない場合はスキップする。 *********************************/ ページを変更したので、まずはリロードします。 Act(1): ページをリロードする。 並替え基準が開始⽇ ‒ 昇順のときは、バーレンから始まり、最後はアブダビ になります。

    Act(2): アブダビまでスクロールする。 並替え基準を開始⽇ ‒ 降順に変更します。 Act(3): 並替え基準を開始⽇ ‒ 降順に変更する。 開始⽇の降順で並び替えたので、今度はアブダビが最初でバーレンが最後に なります。 35
  20. このアプリケーションには、対話モード・レポートとフォームのページが作 成されています。 Act(1): サイド・メニューを開く。 Racesレポートを開きます。 Act(2): Racesレポートをクリックする。 開催されるレースの⼀覧が、レポート形式で表⽰されました。 Act(3): サイド・メニューを閉じる。

    今の所、データベースの表RACESに保存されている内容が、そのまま表⽰さ れています。 Act(4): 上下左右にレポートをスクロールさせる。 すこし、レポートとして⾒やすくなるように、表⽰を変更してみましょう。 36
  21. Act(5): Country、City、Startdate、Enddateの順番に配置する。 レポートの表⽰はこれでよいので、適⽤します。 Act(6): 適⽤をクリックする。 レポートが再表⽰される。 Title、Country、City、Startdate、Enddateの順になっています。 ずっとレポートが⾒やすくなりました。 これをデフォルトのレイアウトとして、すべてのユーザーに適⽤します。 アクション・メニューから、。レポートの保存を実⾏します。

    Act(7): アクション・メニューからレポートを開く。レポートの保存が表⽰さ れるので、それを実⾏する。 保存は、デフォルトのレポート設定として保存を選びます。 Act(8): デフォルトのレポート設定として保存を選び、適⽤をクリックする。 デフォルトのレポート・タイプをとして主を選択します。 これで、すべての利⽤者を対象とした、デフォルトのレポート・フォーマッ トとして保存されます。 Act(9): 主を選択して、適⽤をクリックする。 37
  22. グループ化は、いわゆるSQLのGROUP BY句の指定です。 ピボットによって、⾏と列を⼊れ替えることもできます。 最後にダウンロードを使うと、レポートの表⽰内容を、CSV、HTML、Excel またはPDF形式にしてダウンロードすることもできます。 /****************************************** 以下は短縮した説明 ************************************ */ (説明の短縮版

    ‒ アクション・メニューを開きっぱなしで説明する。) ⾏をフィルタしたり、 データの、ソートや集計、 表⽰書式の設定、 チャートでの表⽰、 SQL でいうところのGroup Byの適⽤、 ピボット、つまり、⾏と列の⼊れ替え、 CSV、Excel、HTML、PDF形式のダウンロード といった機能が標準で提供されています。 38
  23. Act(1): フォームが開いていたら閉じる。 再度、フォームを開きます。鈴⿅のレースを選択します。 Act(2): JAPANESE GRAND PRIXを開く。 ずっと⼊⼒しやすくなりました。 開始⽇と終了⽇は、データ型がDATE型なので、それが認識されて⽇付ピッ カーになっています。

    Act(3): Startdateの⽇付ピッカーを開く。Escで閉じる。 緯度経度はNUMBER型なので数値として認識され、⽂字型とは違って右に 寄っています。 Act(4): Latの数値部分にポインタを当てる。 フォームの変更はこれで完了です。 41
  24. Act(1): サイド・メニューを広げて、カレンダを選択する。 ⽇本での開催⽇を⾒てみましょう。 Act(2): 右 > を複数回クリックして、2022年10⽉を表⽰させる。 ⽇本グランプリは、10⽉の第2週に開催されます。 Act(3): サイド・メニューを閉じる。(サイド・メニューが開いていると、カ

    レンダにスクロール・バーが現れる) 項⽬にポインタを合わせると、レースの詳細が表⽰されます。 Act(4): JAPANESE GRAND PRIX 2022にポインタを当てる。 (ブラウザのウィンドウがアクティブになっていること(要画⾯クリック)。 ダイアログが開くまでに、⼀呼吸かかる。) レースのタイトルと、開催期間が表⽰されます。 42
  25. すこし、情報が寂しいので、表⽰される情報を追加します。 /********************************** 時間が⾜りない場合はスキップする。 *********************************/ それと、レースの⽇程をクリックしたときに、レースの詳細が表⽰されるよ うにします。 /* ************************************************************************ ************************ */

    ページ・デザイナを呼び出します。 Act(5): 開発者ツール・バーのページ4をクリックする。 (すでに開いているタブに移ると、カレンダのページは開いていないはず。 なので、開発者ツール・バーから開く。) 42
  26. リンクの表⽰/編集を開きます。 Act(5): リンクの表⽰/編集をクリックする。 ターゲットのタイプはURLです。 Act(6): タイプにURLを選択する。 URLには表RACESの列URLを使います。 Act(7): URLに&URL.を⼊⼒する。 Act(8):

    OKでリンク・ビルダー・ターゲットを閉じる。 /*********************************************************************** ************************ */ 以上で編集は完了です。 保存します。 Act(9): 保存をクリックする。 ページを実⾏して、結果を確認してみましょう。 Act(10): カレンダが開いているタブに表⽰を切り替える。 43
  27. Act(1): 変更を反映させるため、カレンダのページをリロードする。 変更を確認してみます。 Act(2): JAPANESE GRAND PRIX 2022にポインタを当てる。 (ブラウザがアクティブ・ウィンドウになるよう、クリックしておく) 開催国がJapan、開催都市がSuzukaと表⽰されます。

    /********************************** 時間が⾜りない場合はスキップする。 *********************************/ クリックしてみます。 Act(3): JAPANESE GRAND PRIX 2022をクリックする。 ⽇本グランプリの詳細ページに⾶びました。 44
  28. 本当に現在位置がわかってしまうのでそれを避けるためにOracle World Map に変更している。) コントロールのオプションとして、 マウス・ホイール・ズームとブラウザの位置の取得にチェックを⼊れます。 Act(5): マウス・ホイール・ズームとブラウザの位置の取得にチェックを⼊れ る。 地図の表⽰にはMapLibreという、オープンソースのコンポーネントが使⽤さ

    れています。 なので、このあたりのコントロールは、MapLibreで実装されている機能の中 から、使⽤するものを選んでいます。 ブラウザから位置情報を取得するようにします。 Act(6): ブラウザから位置情報を取得をONにする。 実際にアプリケーションで、位置情報取得するには、ブラウザが動いている PCやスマホのセキュリティの設定で、位置情報の取得が許可されている必要 があります。 (レイヤーの編集に移る) 46
  29. (ブラウザで位置情報が取得できるよう、セキュリティの設定で許可されて いる必要があります。) Act(1): 変更を反映させるため、ブラウザをリロードする。 利⽤者の現在地の情報が取得できるようにしたので、こちらの現在の位置の ボタンが使えます。 Act(2): 現在の位置をクリックする。 現在の位置を中⼼として、地図がズームされます。 Act(3):

    鈴⿅が表⽰されるまで、ズーム・アウトする。 /********************************** 時間が⾜りない場合はスキップする。 *********************************/ マウス・ホイール・ズームを有効にしているので、マウスやトラックパッド の操作で、ズーム・インやズーム・アウトができます。 48
  30. Act(1): 対話モード・レポートのページを開く。 今までは、アプリケーション作成ウィザードで作成したページを、よりよく ⾒せるための編集を⾏ってきました。 これから、アプリケーションに新規の機能を追加します。 Act(2): (できればJAPANESE GRAND PRIX 2022の)レースのアイコンをク

    リックし、編集ダイアログを開く。 ここに、すでに作成されているレースの編集画⾯がありますが、この下の部 分に、レースにコメントを⼊⼒する機能を追加します。 Act(3): Lat、Longの下、ボタンの上あたりをポインタで領域を⽰す。 このあたりです。 Act(4): 取消をクリックして、ダイアログを閉じる。 49
  31. 表の定義はこれで完了です。 この表に監査列を追加します。 Act(4): 設定をクリックする。 追加列の監査列にチェックを⼊れます。 Act(5): 監査列にチェックを⼊れて、保存。 (⾃動⽣成されていれば、スキップ) それでは、このクイックSQLのモデルか ら、表REMASKを作成するDDLを⽣成します。

    Act(6): SQLの⽣成をクリックする。 SQLが⽣成されました。 ⽣成されたSQLスクリプトを保存します。 Act(7): SQLスクリプトを保存をクリックする。 Act(8): 開いたダイアログのスクリプト名のremaksと⼊⼒し、スクリプトを 保存をクリックする。 DDLを実⾏します。 Act(9): レビューおよび実⾏をクリックする。 (レビュー画⾯が開く。) 表REMARKSを作成するDDLです。 主キー列IDは⾃動的に定義されています。列RACE_IDがあって、references 句を⾒るとわかるように、表RACESを参照しています。 コメントを保存する列REMAKと、それ以下に監査列が定義されています。 監査列にはデフォルトで値が設定されるように、トリガーが作成されていま す。 では、このDDLを実⾏して表REMARKSを作成します。 Act(10): 実⾏をクリックする。 51
  32. 新しく作った対話グリッドを編集します。 Act(1): レンダリング・ビューの対話グリッドを選択する。 タイトルはコメントとします。 Act(2): タイトルにコメントする。 表はREMARKSです。 Act(3): 表名の選択リストを開いて、REMARKSを選択する。 WHERE句として、RACE_ID

    = :P3_IDを⼊⼒します。 Act(4): WHERE句にRACE_ID = :P3_IDを⼊⼒する。 表REMARKSにはすべてのレースのコメントが保存されますが、このフォー ムで表⽰するのは、ここで選択されているレースのコメントに限定していま す。 54
  33. 対話グリッドの列を編集します。 Act(1): 対話グリッドの列をクリックして開く。 列IDは⾮表⽰にして、主キーをONにします。 Act(2): 列IDを選択し、タイプを⾮表⽰に変更する。 Act(3): 主キーをONにする。 列RACE_IDも⾮表⽰にして、デフォルト値をアイテムに変更します。 Act(4):

    列RACE_IDを選択し、タイプを⾮表⽰にする。 Act(5); デフォルトのタイプをアイテムにする。 アイテムはフォームに含まれているアイテムP3_IDを選択します。 これは、レースのIDなので、コメントが保存されるときは常に、このフォー ムで表⽰されているレースのIDが保存されます。 55
  34. プロセス・ビューを開きます。 Act(1): 左ペインで プロセス・ビューのアイコンをクリックする。 対話グリッドの処理を⾏うプロセスが、ダイアログを閉じてから実⾏される 位置にあります。これだと処理されないので、フォームの処理の後、ダイア ログが閉じる前に実⾏されるよう、移動します。 Act(2): コメント ‒

    対話グリッド・データの保存を掴んで、位置を移動する。 以上で、コメント機能の実装は完了です。 保存して、動作を確認します。 Act(3): 保存をクリックする。 Act(4): アプリケーションが開いているタブに移る。 56
  35. Act(1): ダイアログが開いていれば、閉じる。 コメントを⼊⼒してみます。 Act(2): JAPENESE GRND PRIX 2022の編集アイコンをクリックする。 コメントを⼊⼒する、対話グリッドが追加されています。 コメントを⼊れてみましょう。

    Act(3): Remarkのフィールドをクリックする。 Act(4): Maxは⼊賞するかな?と⼊⼒する。(どんなコメントでも良い。) コメントを⼊⼒したので、変更の適⽤をクリックして保存します。 Act(5): 変更の適⽤をクリックする。 きちんとコメントが保存されているか確認します。 57
  36. 作成をクリックします。 Act(3): 作成をクリックする。 新規作成とします。 Act(4): ダイアログのメソッドはコピーとして作るかどうかなので、デフォル トの新規作成のままにして、次をクリックする。 認証スキームの名前は、認証なし、 Act(5): 名前に認証なしを⼊⼒する。

    スキーム・タイプは、認証なしとします。 Act(6): スキーム・タイプに認証なしを選択する。 認証スキームを作成します。 Act(7): 認証スキームの作成をクリックする。 ユーザー認証をしないスキームが作成されて、アプリケーションで使われる ようになりました。 62