Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics 365】【8.2新機能】【Preview】アプリデザイナーとカスタムアプリの作成:プレビュー

Dynamics 365になって、アプリという概念が新しく追加されました。

プレビュー機能: アプリ デザイナーを使用して、カスタム ビジネス アプリを設計

実際に、Dynamics 365のメニューでは以下のような形でアプリが選べるようになっています。一番単純な営業(Sales)やサービス(Customer Service)が初期状態ではアプリが構成されています。(※Dynamics 365 ? customは全部表示されている以前までのDynamicsにアクセスできます。管理者向けの形ですね。)

f:id:sugimomoto:20161211121429p:plain

例えば、Customer Serviceを選択すると以下のDynamics 365画面が表示されます。

アプリはそれぞれでサイトマップを持っているので、メニューを開くと、必要なコンポーネントだけが表示されることがわかるかと思います。

f:id:sugimomoto:20161211121434p:plain

ダッシュボードもこのアプリで定義されたものしか表示できません。

f:id:sugimomoto:20161211121439p:plain

ちなみにPower Appsでアプリを構成・開発しても、ここで表示されます。

なお、まだこの機能はPreviewらしいです。こんなに全面に出ていながら、プレビュー機能というのも不思議な感じですが……。

アプリとは? アプリを作って何がうれしいの?

まずアプリについて、個人的な見解をまとめてみたいと思います。

今までのDynamics 365(CRM)ですと、業務の違うユーザーがそれぞれ存在したとしても、基本的にアクセスするものはDynamics 365(CRM)であり、その中でセキュリティロールやサイトマップを利用して、ユーザーごとによる表現・利用できる機能を切り分けてきました。

例えばマネージャーが使うダッシュボードやグラフも、一般ユーザーが使うダッシュボードやグラフも等しく同じ環境にあり、細かなアクセス制御をしない限り全ユーザーが同じものを見ていました。

f:id:sugimomoto:20161211121511p:plain

それが、Dynamics 365では、明示的にアプリという単位で機能・業務を区切ることができるようになり、そのアプリの中で必要なコンポーネントを定義することで、ユーザーはそれぞれの業務に必要なものだけがセットとして与えられた環境を適切に選択できるよになりました、という感じかなと思います。

以下、だいぶ端折ったイメージですが、こんな感じかなと。

f:id:sugimomoto:20161211121516p:plain

また開発側にとっても、セキュリティロールで制御するべきもが、各データのアクセス兼だけに集中でき、UI部分はアプリ側といった形で、うまい棲み分けができそうかなと思います。

カスタムアプリに含まれるコンポーネント・設定

カスタムアプリには明示的に以下のコンポーネントを含めることができるようです。

サイトマップ

・ビジネスプロセスフロー

・エンティティ(フォーム・ビュー・グラフ)

・ダッシュボード

もちろん上記以外のコンポーネント(ワークフローや業務ルール・Plugin)などは通常どおり機能します。

というわけで実際に初期状態で提供されているSalesのアプリを見てみたいと思います。

システムのカスタマイズに移動すると「アプリ」というコンポーネントが追加されているのがわかります。

これをクリックすると、現在組織に存在するすべてのアプリが表示されます。

f:id:sugimomoto:20161211121532p:plain

ちなみにSalesやCustomer Serviceは環境構成時に選択したシナリオに応じて、初期セットアップされます。

f:id:sugimomoto:20161211121540p:plain

Salesをダブルクリックすると、アプリデザイナーの画面が立ち上がります。

今までのCRMではあまり見られなかった、グラフィカルな画面ですね。

左上から、サイトマップ・ダッシュボード・業務プロセスフロー・エンティティと並んでいるのがわかるかと思います。

f:id:sugimomoto:20161211121547p:plain

これが、このSalesアプリで利用することができるコンポーネント群になります。

この画面から対象のアプリに必要なコンポーネント、エンティティやビュー、フォームといった要素を選択ないしカスタマイズすることができます。

次回は、実際に一つのアプリを作っていく中で、どのような感じにアプリデザイナーを利用することができるかをお伝えしてみたいと思います。