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

※ この記事は、[Microsoft Power Automate Advent Calendar 2024](https://qiita.com/advent-calendar/2024/powerautomate) 12月24日 担当分の記事です。

[クラウドフローが自動でソリューションフローとなる機能について（前編）](https://qiita.com/dreams_panda/items/dbd740cb92ca185b3bf1)の答え合わせ ＆ 補足 です。
前半記事からお読みください。

# 既定でキャンバスアプリとクラウドフローをソリューションに追加する

2024/12/20現在 で設定箇所は、プレビューのままで、既定値がオフです。
![defaultsolution2_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/4aa03108-7f39-6efe-7ede-7c5886790bb0.png)

2024/11/30 に機能リリースのアナウンスがありましたが、特に変化はありませんでした。
そこで、今回は、該当 Learnが更新されているか確認していきたいと思います。

日本語ページは、更新日が「2024/11/14」でした。
![defaultsolution2_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/0187e758-e101-347b-c11a-2dbbcdb90ade.png)

英語ページは、更新日が「2024/11/20」で、日本語ページより最新です。
![defaultsolution2_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/ef67b118-ef97-ec38-e9a2-b981dca2ab83.png)

というわけで、英語ページを日本語に翻訳して、確認していきたいと思います。

# 結局、既定値はどうなるのか？

2024年10月29日の時点で、クラウドフローは一般公開されているとのこと。
あれっ、11月30日ってMCには書いてあったんですけどね。不思議ですね。
![defaultsolution2_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/0c9ea9f0-ef66-3b85-b126-87b3a1643df7.png)

日付はさておき、一般公開されても既定では「オフ」です！！！
（やったー、一安心！）

ということで、一般公開後も既定ではオフとのことで、既定のソリューションを利用する場合にのみ、設定をオンにする必要があります。

設定箇所、こういう風にしてもらうと分かりやすいかもって思いました。
![defaultsolution2_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/28f8c6f7-fdc7-91c6-1515-806cf530d3cd.png)

# 「Dataverseソリューションで新しいキャンバスアプリとクラウドフローを作成する」を「オン」にしたときの動作

ソリューションクラウドフロー、非ソリューションクラウドフローの状態を確認してみましょう。

Power Automateポータル画面を開いて、なんでもいいのでクラウドフローを作成してみます。
作成した際のフローの詳細画面の「フロー実行エラーの傾向 (過去７日間）」と「ソリューション」の領域をみてみます。

＜設定がオフの場合で、非ソリューションクラウドフロー＞
「このフローはソリューション クラウド フローではありません。」と表示されています。
![defaultsolution2_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/515c325c-fdf0-fa29-6df1-b30442a5e3df.png)
※ 非ソリューションクラウドフローの場合は、「ソリューション」の領域は出ません。

＜設定がオンの場合で、非ソリューションクラウドフロー＞
![defaultsolution2_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/15b81bc5-40ad-9ce3-ea35-fa94d81446d3.png)

＜ソリューションから作成した場合＞
![defaultsolution2_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1382111/ba69d0c2-ea4b-20d2-0de0-b80be02a8b93.png)
※ オン、オフどちらの場合でも一緒です。

非ソリューションクラウドフローとソリューションクラウドフロー、および、既定でソリューションクラウドフローになる設定がオンの場合で、非ソリューションクラウドフローの場合で、見え方が違うことが分かります。

# ソリューションクラウドフローのメリット
ソリューションクラウドフローにして、最大のメリットは、[前半の記事](https://qiita.com/dreams_panda/items/dbd740cb92ca185b3bf1)でも書きましたが、
**ソリューションフローになると、「下書き（エラーがあっても保存できる）」や「バージョン管理」の機能が利用できるようになる**
だと思います。
そのほかにも接続参照や環境変数が使えたりするので、メンテナンスや環境間移行が楽になるといったメリットもあります。

# ソリューションクラウドフローのデメリット
ほかのひとが作ったソリューションも見えてしまうという点があります。
同じ環境内でソリューションがたくさんあるとお目当てのソリューションが見つけにくくなるでしょう。

何のセキュリティロールが付与されているかで動作は若干異なります。
通常ですと、Basic User（ベーシックユーザー）、Environment Maker（環境作成者）のロールが付与されているかと思います。
この場合、ソリューションは見えますが、ソリューション内に作成されたフローは、共有されていない限り見えることはありません。しかし、他人が作ったソリューション内にフローを作成することもできてしまいます。ほかの人の作成物と混在してしまう可能性があるということです。
この状態ですと、ソリューションエクスポート時に失敗します。
混乱のもとですね。

また、強い権限となる System Customizer（システムカスタマイザー）やSystem Administrator（システム管理者）ロールが付与されている場合は、ほかの人のソリューション内のフローも見えて、編集もできてしまいます。
ひとつのシステムとして動作する複数のフローを複数人で開発をソリューション内行う場合は、適しているように思います。しかし、個人開発をしているような場合は、ほかのひとが作成したソリューション内を見ることができ、かつ編集ができることは、

環境管理の観点でみると、ユーザーに付与するセキュリティロールを適切にすることは必須なのですが、ソリューション利用という点ついても、上記のような仕様であることを認識したうえで利用者に対して、ソリューション利用についてルール化する、あるいは、個人での開発は開発者環境を利用する、どのようなものを作成するかで環境を分かるといった対策をすべきかと思います。

少し話が脱線しましたが、既定のソリューションを利用するしないに関わらず、ソリューションの利用においては、仕様を確認していただいたうえでご利用していただくのがよいかと思います。

ソリューションについては、公式ドキュメントは以下あたりを参考にしてください。
[ソリューション対応フローの概要 - 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)

# 既定のソリューションを使うということ

環境設定の「既定でキャンバスアプリとクラウドフローをソリューションに追加する」でクラウドフローを有効にすると、ソリューションを意識しないで、いままで通りフローを作成しても、ソリューションを利用することのメリットを享受できるということになります。

一方で、勝手にソリューションクラウドフローになるため、今までできていたエクスポート方法が使えなくなるというデメリットも生じます。
※ ほかにもありますが、詳細は[前編](https://qiita.com/dreams_panda/items/dbd740cb92ca185b3bf1)の記事をご確認ください。

既定では有効にはならないということですので、管理者の方は、自社内で有効化するかどうかの検討が必要になります。

例１) 環境設定は変更せずに、ソリューションを利用することで、メリットを享受させる。その際にはソリューションを利用するにあたっての利用ルールについて利用者へ案内する。

例２）環境設定を変更して、環境内のユーザーにソリューションのメリットを享受させる。バックアップとして、フローのエクスポートが必要な場合は、ソリューションエクスポートを利用することを案内する。ただし、その場合は、インポート後もソリューションフローとなることを併せて案内する。
ほかのひとへ共有するために、エクスポートが必要な場合は、[コピーの送信]を利用する。または、フロー共有をして、共有された側が名前を付けて保存で別フローとして利用する。（同一環境のみ利用可能）

といったことを考えるということになります。ほかにもあると思いますが、あくまで一例であることにご注意ください。

組織において、どのように利用させるかについては、それぞれの組織で千差万別です。管理側の機能を有効にするかどうかの決定は、組織で十分に検討をしていただきたいものです。

# さいごに
このように管理機能もアップデートがたくさんあります。
アップデート情報を追い、それらに対応することは、Power Platform管理者にとって、重要な担務だと思います。
Power Platform管理者のみなさまにおかれましては、Power Platformを安全、安心、かつ、利便性が損なわれないように、管理機能のアップデートのチェックもしていただき、ご対応を検討していただければと思います。