記事公開日
最終更新日
モデル駆動型アプリ概説 ④モデル駆動型アプリの作成

こんにちは。システムソリューション営業本部の吾妻です。
「モデル駆動型アプリ概説」連載の第4回目として、前回までに準備しておいたコンポーネントを利用してモデル駆動型アプリを作成する手順をご紹介していきます。試用環境や有償版ライセンスがなくてもモデル駆動型アプリのイメージを持っていただけるように、スクリーンショットを多めに載せていこうと思います。サムネイルをクリックすると、別タブで大きい画像が表示されます。
モデル駆動型アプリの作成手順(復習)
モデル駆動型アプリを作成するための手順として、以下のものがありました。今回は「モデル駆動型アプリの作成」のために、前回用意したビジネスルールやクラウドフローといったコンポーネントを利用したモデル駆動型アプリを追加していきます。手順 | 内容 |
①ビジネスデータのモデル化 | |
②ビジネスプロセスの定義 | |
③モデル駆動型アプリの作成 | 「サイトマップ」を作成し、モデル駆動型アプリを作成する ・サイトマップ ・モデル駆動型アプリ(アプリデザイナー) |
④セキュリティロールの構成 | |
⑤アプリの共有 | |
⑥応用的なカスタマイズ |
アプリの実装
それでは、(狭義の)モデル駆動型アプリの作成手順についてご紹介します。モデル駆動型アプリを作成するためのデザイナーには、モダンなインターフェイスとクラシックなインターフェイスの2種類が用意されています。モダンなインターフェイスを利用するとWYSIWYGなデザイナーで簡単にモデル駆動型アプリを作成できます。一方でクラシックなインターフェイスを利用すると、難易度は比較的高いですが、どのコンポーネントがモデル駆動型アプリのどの機能に対応するかを理解しながらモデル駆動型アプリを作成できます。今回は、モダンなインターフェイスでモデル駆動型アプリを作成していきます。
モデル駆動型アプリを作成する際の前提条件として、以下を満たしているか、まず確認しておく必要があります。
- Power Platform環境が用意されていること
- アプリを作成するユーザーに以下のいずれかのセキュリティロールが割り当てられていること
- 環境作成者
- システム管理者
- システムカスタマイザー
Power Platform環境がまだなければ、こちらの記事を参考に作成してみましょう。
作成手順
(1) メーカーポータルでPower Platform環境を開いて、ソリューションを開きます。ソリューションがなければ、新たにソリューションを作成します。ソリューションを作成する際、「公開元」は特にこだわりがなければドロップダウンに表示されている既存のものから選択してしまって大丈夫です。(2) リボンにある 「新規」>「アプリ」>「モデル駆動型アプリ」をクリックします。

(3) 表示されたダイアログで、アプリの名前と説明を入力して、作成をクリックします。

(4) プレビュー画面の真ん中またはコマンド バーのメニューに表示された「ページの追加」をクリックして、「新しいページ」画面で「Dataverse テーブル」を選択し、次へをクリックします。

(5) テーブルのリストから「ユーザー(SystemUser)」テーブルを選択して、追加をクリックします。今回はサンプルということで、Power Platform環境のユーザーマスタとして標準で用意されている「ユーザーテーブル」を選択していますが、実際にモデル駆動型アプリを作成する際には、必要に応じて、カスタムテーブル含め、任意のテーブルを追加していきます。

(6) プレビュー画面が更新されて「ユーザー」テーブルに格納されているレコードが表示されることを確認したら、コマンドバーの右端にあるアプリの「保存」と「公開」それぞれのメニューをクリックします。

(7) 公開が完了したら、「再生」をクリックすると別タブでアプリの実行画面が表示されます。

ここまでの手順で、最低限のモデル駆動型アプリを作成することはできましたが、自動生成されたナビゲーションが見栄えが良くないこと、前回までの手順で用意したコンポーネントを反映できていないことから、微調整を加えていきます。
(8) まず、ナビゲーションを修正していきます。生成直後は「グループ 1」の配下に「サブエリア 1」と「ユーザー」ページが存在していますが、以下のように、サブエリア 1を削除して、グループ名も変更します。

(9) 編集後に保存して公開すると、再生したアプリ画面に反映されます。

(10) ページの追加から、Dataverseテーブルだけでなく、ダッシュボードやカスタムページを追加することもできます。

(11) ダッシュボードとして、「システムダッシュボード」「対話型ダッシュボード」「Power BI ダッシュボード」を追加することができますが、今回はシステムダッシュボードを追加してみます。

(12) システムダッシュボードの中に、予め作成しておいたシステムグラフが一覧表示されるので、追加したいグラフを選択します。

(13) 左側のナビゲーションで、ユーザーページ(ユーザーテーブル)の下にダッシュボードのページが追加されていることを確認します。

(14) 次にカスタムページを追加してみます。「新しいカスタムページを作成する」を選択して、名前を入力し、追加をクリックします。

(15) キャンバスアプリと似たような編集画面が開くので、Screen1の中央に表示された「レイアウトあり」をクリックして、「テンプレート」の「人々」を選択します。あくまでもサンプルなので、空の画面に対して独自にコントロールを追加していっても構いません。

(16) 「人々」テンプレートの内容が反映されたことを確認して、リボン右端の「保存」「更新」を行います。

(17) リボン左端の「戻る」をクリックしてモデル駆動型アプリの編集画面に戻ります。「アプリを再公開する必要があります」とダイアログが表示されているので、モデル駆動型アプリの「保存」「公開」を再度行います。

(18) 公開が完了間近になると、通知が表示されるので、「プレビューを更新する」をクリックします。

(19) プレビュー画面が更新されると、カスタムページで使用しているコネクタの認証画面が表示されるので、「許可」をクリックします。

(20) モデル駆動型アプリを再生して、ナビゲーションからカスタムページを開き、キャンバスアプリと同様の自由度の高い画面をモデル駆動型アプリに埋め込めていることを確認します。

(21) ソリューションに含まれるサイトマップを選択して、編集をクリックすると、クラシックなインターフェイスのサイトマップデザイナーが表示されます。モダンなインターフェイスだと、サイトマップを意識せずにモデル駆動型アプリを作成できてしまうのですが、サイトマップに直接変更を加えることで、ナビゲーションの構造をカスタマイズすることもできます。

(22) サイトマップは、「エリア(領域)」、「グループ」、「サブエリア」の3種類のコンポーネントの階層構造でできています。スクリーンショットから分かるように、モデル駆動型アプリで「ページ」として扱われているのはサブエリアです。

(23) モデル駆動型アプリには「エリア」は表示されていませんでした。そこで、サイトマップデザイナーで「エリア 2」を追加してから、モデル駆動型アプリを編集画面で開いてみます。

(24) すると、モデル駆動型アプリの左下にエリアを選択するメニューが追加され、「エリア 1」「エリア 2」から選択できるようになっています。グループは複数のテーブルを持つことができ、エリアは複数のグループを持つことができるので、マスタデータとトランザクションデータを1つのアプリにまとめるような場合には、エリアで分けることによって、不用意にマスタデータにアクセスできないようにすることができます。ただし、単一のアプリにあまり多くの機能を含めると、機能更新や運用、保守の手間が増えるので、単一アプリにまとめるか、個別アプリに機能を切り出すかはよく検討しましょう。

ここまでの手順で、基本的なコンポーネントを利用したモデル駆動型アプリが完成しました。
Dataverseテーブルさえ用意していれば、簡単にアプリ化でき、ちょっとしたカスタマイズであればローコードで十分対応できることをご確認いただけたかと思います。
その他のUI
上記の手順では登場しなかったコンポーネントをアクティブ化した状態で、モデル駆動型アプリに反映されたUIのサンプルをご紹介します。(1) ビジネスルールは、モデル駆動型アプリのフォームの列に対してアクションを実行するために使用します。設定した条件に応じて、エラーメッセージを表示させたり、レコメンデーションを表示させたりすることができます。

(2) ビジネスプロセスフローは、モデル駆動型アプリのフォームの上部にプロセスバーを表示して、プロセスの所要時間や進捗状況を提示させるために使用します。

(3) Dataverse(レガシー)コネクタの「レコードが選択されたとき」トリガーを利用したクラウドフローを用意しておくと、モデル駆動型アプリのフォーム上部にあるコマンドバーから、そのクラウドフローを呼び出して、アクションを実行させることができます。
用意するクラウドフローの中身 | フローを実行する際の動線 | 確認ダイアログ |
![]() |
![]() |
![]() |
まとめ
今回は、コンポーネントを利用してモデル駆動型アプリを作成する手順について、簡単にご紹介しました。次回の記事では、モデル駆動型アプリのセキュリティを強化するためにセキュリティロールを設定する方法についてご紹介できればと考えています。QESの Power Platform サポート&アプリカタログサービス は、キャンバスアプリやモデル駆動型アプリ、Power Pagesといった各種Power Platform製品群の導入、環境構築、弊社で開発したカタログアプリのご提供などを行うサービスです。まずはお気軽にお問い合わせください。
このブログで参照されている、Microsoft、Windows、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。