Dataverse AcceleratorとLow-code plug-insについて調べた|Dataverseの新機能

Dataverse Accelerator(アクセラレーター)というアプリと、Low-code pluginという機能が追加されていたので、軽く調べてみた。

※この記事の内容は2023/11/10時点でプレビューの機能です。本番環境などに組み込むのはおすすめしません。

スポンサーリンク

Dataverseとプラグイン

まずはDataverseとプラグインについて、簡単に。

元々Dataverseには、データに対して何らかの操作があった際に自動で処理を実行したり、手動で実行したりできる「プラグイン」を構築して登録することができる。

以下、トリガーの例。

  • Dataverseのレコードが、作成/更新/削除されたとき
  • レコードの所有者が変わったとき
  • その他特殊なトリガー など

Power Automateとかワークフローとかでも同じようなことはできるんだけど、これらに比べてプラグインは高性能かつ高機能なため、Power Automateでできないことがあったときや実行速度が必要なときはプラグインを使っていた

ただし、プラグインは(たしか)C#でしか開発できないので、市民開発者とかPower Platformのみを開発している部隊にはちょっとハードルが高く、あまり使われることはない印象。

Low-code plugins

で、今回新しく追加されたのが、Low-code plugins(以下、ローコードプラグイン)。

ローコードプラグインは、プラグインをローコード(Power Fx)で開発できるようにしたもので、市民開発者やC#を使ったことがない技術者もプラグインをつくることができるようになった。

そんなローコードプラグインには以下2種類があって、実現したい機能によってどちらかを選択することになる。

  • Instant:アプリやフローから手動で実行(パラメータを渡すことも可能)
  • Manually run:Dataverseのデータが操作された際に自動で実行

さらに「Manually run(自動実行)」では

  • 事前実行
  • 事後実行

も選べるらしく、レコードが実際に追加/編集/削除される前に処理を実行することもできるようなので、かなり便利そう。

Dataverse Accelerator

そしてDataverse Acceleratorは、そんなローコードプラグインを構築し、Dataverseに登録するためのアプリのこと。

ということで前置きが長くなったけど、実際にDataverse Acceleratorを使って、ローコードプラグインを作ってみる。

Dataverse Acceleratorのインストール

まずはDataverse Acceleratorを環境にインストールする。

Power Platform管理センターにいって、[リソース]→[Dyanimic365アプリ]へ移動して、[Dataverse Accelerator]の[インストール]を押下する。
そしたらインストールする環境を選択して、使用条件に同意して、インストール。
状態がインストール済みになったら、
インストールした環境に移動するとアプリが追加されているので、再生。
無事Dataverse Acceleratorのインストールは完了。

自動実行のPluginを作ってみる

そしたら早速プラグインを作ってみる。

今回は、
「ねこ」テーブルのレコードが作成/編集された際に、列「生年月日」に設定された日付が未来の日付だったら、NGを出す
という機能を追加してみる。

構築

[Create automated plug-in]を選択すると、
作成画面に移動するので、プラグインの名前と対象のテーブル、トリガー条件を設定し、式をこんな感じで書いてあげる。
※作成/編集されたレコードには「ThisRecord」でアクセスできる
そして、バリデーションなので「事前操作」を選択し、適当なソリューションを選択して、Saveをクリック。
完成するとソリューションにプラグインが追加される。

検証

ということで早速フォームから未来に生まれるねこを保存してみようとすると、
こんな感じでエラーが発生する!
キャンバスから追加するときもちゃんとエラーが出るんだけど、こっちは残念ながらエラーメッセージまではでないみたい。。

とはいえ、バリデーションの式を一か所に集められるのはけっこうありがたいので、色々使えそう。

手動実行のプラグインも作ってみる

続いて手動実行のプラグインも作ってみる。

今回は単純に文字列を2個受け取って、結合して返すだけのプラグイン。

構築

[Create instant plug-in]から作成を開始して、
引数と式はこんな感じに作成。
そしたらソリューションとスコープ(今回は特にテーブルに結び付いていない処理なのでグローバル)を選択して、Save。
念のためTestをしてみると、
無事動作!

キャンバスアプリから使用

プラグインを使用するキャンバスアプリはソリューションに入っている必要があるっぽいので、ソリューション内にアプリを作成。
そしたら[データの追加]からテーブル[Environment]を追加する。
※プラグインはこの「Environment」テーブルを経由して使用する。
こんな感じでボタンのOnSelectとかで使用してみると、
無事に動作!

まだプレビューであることもあって、できることはそんなに多くなさそうだけど、そのうちこのローコードプラグインからできることが増えてくると、色々使う機会が増えそう。

コメント

タイトルとURLをコピーしました