※Power Platform Day Winter 2019 のハンズオン用に内容をリバイズしました。(2019/12/3)
CDS/モデル駆動型アプリを理解するハンズオンシリーズ その1です。
まず最初に標準エンティティである「取引先」の一覧画面と入力画面のアプリを作成します。
前提:Office 365 開発者プラン + CDSが利用可能な環境
・Office365開発者プランの作成手順はこちら
・CDSが利用可能な環境の作成手順はこちら
作成手順詳細
Office365Portalにサインインした後、Power Appsのタイルをクリック。
既定の環境ではCDSが使用できないため、環境を切り替えます。環境をクリックし、「既定」と書かれていない環境を選択して切り替えます。切り替えたら × ボタンを押して戻ります。
「これは個人の環境であり…」というメッセージが表示されます。これはPower Apps Community Planによって作成した環境であり、開発目的でのみ使用可能であることを示しています。
Power Appsのホーム画面で「モデル駆動型アプリを一から作成」をクリック。
「作成」をクリック。
アプリの名前や説明を指定する画面です。
名前、説明などを入力します。(Tipsですが、名前の先頭に ’Z_’ を付けているのは一覧から探しやすいからです。自分が分かる名前を付けて構いません。)
必須ではありませんが、アイコンを変更することも可能です。「既定のイメージの使用」のチェックを外し、イメージの画像をプルダウンから任意の画像を選びます。終わったら右上の「完了」をクリック。
アプリが新規作成されます。少し待ちます。
アプリデザイナー画面が表示されます。このデザイナー画面を使用してモデル駆動型アプリの構成を定義していきます。
右側の部分を拡大するとこのようになります。(この後、実際に作成すると理解が進みますが)エンティティが基礎となります。このアプリはどのエンティティを使用するかを定義し、エンティティに対する入力フォーム(≒単一レコードの入力画面)やビュー(≒複数レコードを一覧表示するリスト画面)を定義していくことになります。
まずはサイトマップを作成します。サイトマップはアプリを起動するためのメニューツリーのようなものと考えてください。(後ほど作成したものを見てみると理解できますので、ここで深く考えなくても大丈夫です。)アプリデザイナーの「サイトマップ」の右の鉛筆アイコンをクリック。
サイトマップデザイナーが開きます。エリア>グループ>サブエリア、の順にメニューのツリーを定義します。まずはエリアから定義します。「新しいエリア」の右側の鉛筆アイコンをクリック。
右側の「プロパティ」タブでタイトル、アイコン、IDを指定。(値は任意です。自分が分かるように指定してください。)
次のグループの定義を編集します。「新しいグループ」の右側の鉛筆アイコンをクリック。
左側の領域で直接タイトルを編集することもできます。(エリアの名前も同様に左側で編集可能。)
ただし、IDは右側のプロパティでのみ編集可能です。
サブエリアの定義を編集します。ここは挙動にクセがあり、右側のプロパティを選択してもうまく編集できないことが多いです。「新しいサブエリア」を左クリックで選択した後、タブを数回押すと右側の「プロパティ」タブの「種類」にフォーカスが当たり、うまく編集することができます。
「種類」に「エンティティ」を指定し、「エンティティ」には「取引先企業」をプルダウンから選択します。IDも指定しておきます。
「保存して閉じる」をクリック。
保存され、アプリデザイナーに戻ります。左側の領域に「取引先企業」のフォーム、ビュー、グラフ、などが追加されました。この状態で、このアプリが取引先エンティティを使用することは指定できています。しかしエンティティにデータを登録/照会する機能が定義できていませんので、これからフォーム/ビューを定義し、データの登録/照会を可能にします。まずは「フォーム」をクリック。
右側にフォームのプロパティが表示されます。デフォルトで定義されているいくつものフォームが表示され「すべて」にチェックがついています。これをチェックOFFにします。
チェックOFFにしたのち、メインフォームの一番上のフォームをチェックONします。
同様に、「ビュー」をクリックして「すべて」をチェックOFF。
今度は3つをチェックONにします。
「グラフ」も同様に「すべて」をチェックOFF。
一つだけチェックONにします。
「検証」をクリック。エラーがある場合は画面上部に表示されますので確認の上、適宜修正します。
「公開」をクリック。
公開処理が走ります。
これで公開され、アプリが利用できる状態になりました。「再生」をクリックしてアプリを起動。
アプリが起動しました。(データベース構築時の指定にもよりますが)今回使用した「取引先」エンティティは標準のエンティティであり、サンプルデータが登録されています。したがって、このようにデータが表示されます。試しに一つクリックしてみてください。 このようにエンティティのレコードの中身を見ることができます。
その2へ続く
Playのところ今は日本語で「再生」になってるみたいです