クラウドフローが自動でソリューションフローとなる機能について（前編）

この記事は、[Microsoft Power Automate Advent Calendar 2024](https://qiita.com/advent-calendar/2024/powerautomate)の~~2024年12月3日に公開予定の記事の前編です。~~
※ 2024年12月2日現在、機能がプレビュー状態であるため、シーズン2の2024年12月24日に記事を投稿予定です。（追記）
機能アップデートが11月30日に公開される予定となっているため、先に本記事を公開いたします。

# クラウドフローはDataverseソリューションで自動で定義される とは？
2024年10月31日。メッセージセンターに以下のUpdate情報が通知されました。

![defaultsolution01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/1895b2ee-0576-6cfd-9c07-24b197d645c5.png)

最後のリンク先を見ると、以前からプレビューとして提供されていた機能である「既定のソリューション」にクラウドフローを追加する機能であることがわかりました。

[既定でキャンバス アプリとクラウド フローをソリューションに追加する (プレビュー) - Power Apps | Microsoft Learn](https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/add-app-solution-default?WT.mc_id=DX-MVP-5005072)

この機能は、プレビュー時は、オプトインをしない限りは有効となりません。
具体的には、Power Platform管理センターの[環境]から該当環境を選択し、[設定] > [製品]-[機能]にある以下のトグルをオンにする必要があります。（2024/11/07時点）
![defaultsolution02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/9d1c5688-4586-0cd8-1395-fe77d7dfa00e.png)

しかし、メッセージID：MC922500 の内容を見ますと、「クラウドフローは、Dataverseソリューションで自動的に定義されます」と記載されています。
また、準備のために必要なアクションについても、必要ないとの記載もあります。

とすると、機能がリリース（一般公開）されると、自動的に以下の設定に変更されるということでしょうか？
また、オプトアウトする機能は残されるのかも気になるところです。
（願わくば、自動でONにはならないで欲しいところです）
![defaultsolution03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/81e221b7-baea-6fac-efd3-f6d0c409e03b.png)

# 「Dataverseソリューションで新しいキャンバスアプリとクラウドフローを作成する」 という機能はどのようなものか

以前に、[コルネ](https://x.com/koruneko32767)さんが、「既定のソリューション」の機能と関連の深い「優先するソリューション」について、記事を書いていらっしゃいます。この記事の中で、「既定のソリューション」についても触れられており、こちらの記事が参考になりますので、合わせてお読みいただくとよいと思います。
[Power Appsを新規作成するとソリューションに含まれるようになりました - コルネの進捗や備忘録が記されたなにか](https://koruneko.hatenablog.com/entry/2024/03/06/024605)

##
プレビュー時点での動作とはなりますが、以下のような動作をします。

**1\. ソリューションを作成してからクラウドフローを作成しなくてもソリューションフローとなる** 

**2\. システムが作成している「既定のソリューション」に追加される形でクラウドフローが作成される**

**3\. ソリューションフローになると、「下書き（エラーがあっても保存できる）」や「バージョン管理」の機能が利用できるようになる**

**4\. 「オートメーションセンター（プレビュー）」で実行履歴の分析等が利用できる**

ソリューションを意識しなくても、ソリューションフローのメリットを享受できるのでとても良い機能のように思われます。
##
しかし、一方で以下のような特徴を持つことになります。

**5\. 環境にアクセスするユーザーのクラウドフローはすべて同じ「既定のソリューション」に追加される**



**6\. クラウドフローのエクスポート時に「パッケージ（レガシー）」でエクスポートすることができなくなる**
![defaultsolution04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/d820ab6d-2282-74f5-20cb-7e52a61529c1.png)


**7\. 「既定のソリューション」は、ソリューションとしてエクスポート不可のため、エクスポート時には、別でカスタムソリューションを作成し、クラウドフローを追加したあとに、ソリューションをエクスポートする必要がある**
![defaultsolution05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/5755d7b4-3b75-0619-991b-6eaf29128657.png)

**8\. 一度、ソリューションフローとなると、ソリューションではない状態に戻すことはできない**

**9\. Dataverseのデータベース容量を消費するようになる**
![defaultsolution06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/284f38e5-ef0e-a54a-455b-b34598267063.png)
[既定でキャンバス アプリとクラウド フローをソリューションに追加する (プレビュー) - Power Apps | Microsoft Learn
](https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/add-app-solution-default?WT.mc_id=DX-MVP-5005072#considerations)

<br>

これらの特徴をメリットととらえるか、デメリットととらえるかは、立場によって変わるかなと思います。

管理者視点でみると、いままでクラウドフローを作成しても消費しなかった、Dataverseのデータベース容量を消費するようになる点は、大きな考慮事項のひとつであると考えられます。
また、レガシーなエクスポートができなくなる点についても、問い合わせが増えるなどの懸念も予想もされます。

開発者視点で見ると、ソリューションを意識していなかったひとにとっては、ソリューションを意識する必要がでてくるため、学習すべきことが増えたと感じるかもしれません。

# 新規作成時と既存のクラウドフローについて
プレビュー時点で、オプトインした場合、新規に作成したフローは、「既定のソリューション」に含まれ、クラウドフローの詳細画面にも以下のように記載されるようになりました。
![defaultsolution07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/aa3da9d7-1f90-9319-ba91-42b782a2ac95.png)

メッセージID：MC922500 の内容を見ますと、「ソリューションの外部にあるフローをソリューションに移行する機能が提供されます。」とあるため、既存のクラウドフローは、移行機能を使わない限りにおいては、いままでどおり扱えると推測されます。

# 一般公開後はどうなるのか？
メッセージID：MC922500 の内容では、2024年11月30日に一般公開されるような記載があります。
[Microsoft Power Automate Advent Calendar 2024](https://qiita.com/advent-calendar/2024/powerautomate)の~~2024年12月3日~~2024年12月24日（追記）に公開予定の後編で、推測部分について、実際にはどのようになったのか、また、本記事で詳細に触れられていない部分について、補足記事を公開したいと思います。

# おまけ
自動でソリューションフローになるということは、「ソリューション」のメリットを享受できるということでもありますが、前述したとおり「ソリューション」の機能を理解する必要がでてくるということになります。
「既定のソリューション」に含まれてしまうよりは、カスタムソリューションを作成して、クラウドフローを作成するという方法にしたほうが、管理がしやすいと思います。
そのため、せっかくなので、この機会に「ソリューション」について、学んでみてはいかがでしょうか。

ソリューションについては、公式ドキュメントは以下あたりを参考にしてください。
[ソリューション対応フローの概要 - Power Automate | Microsoft Learn](https://learn.microsoft.com/ja-jp/power-automate/overview-solution-flows?WT.mc_id=DX-MVP-5005072)
[ソリューションのコンセプト - Power Platform | Microsoft Learn](https://learn.microsoft.com/ja-jp/power-platform/alm/solution-concepts-alm?WT.mc_id=DX-MVP-5005072)
[Power Apps でソリューションを作成する - Power Apps | Microsoft Learn](https://learn.microsoft.com/ja-jp/power-apps/maker/data-platform/create-solution?WT.mc_id=DX-MVP-5005072)

また、しおりん こと [Shiori Kuramoto](https://x.com/_skuramoto) さんの以下の記事も非常にわかりやすくて参考になります。ソリューション関連記事もございます。
[Power Appsのソリューションとは #PowerAutomate - Qiita](https://qiita.com/skuramoto/items/bb053bdc8b12b771c6e4)