#ProjectOakdale の裏側はソリューションだ！

前回、Project Oakdale アプリが管理されている場所が Power Automate 画面のソリューションから確認できることをお伝えしました。今回は、具体的な関連性をメモしておきます。

■関連記事
　- [Project Oakdale に関する私的メモ](https://qiita.com/yamad365/items/eb9c96dbebf6ae770648)
　- [CDS #ProjectOakdale の裏技？ #PowerApps](https://qiita.com/yamad365/items/2799a158c275bcd714dd)
　- [#ProjectOakdale アプリが管理されている場所を調べる！](https://qiita.com/yamad365/items/84c30a407c1ca09323bb)

実際、お試しいただくとスグにわかるんですけどね。

# 諸注意
Project Oakdale は記事投稿時点でプレビューです。今後の更新によって大幅な変更が発生する可能性があります。コンテンツのご利用により、万一、何らかの不都合や損害が発生したとしても当方は何らの責任を負うものではありません。

# Teams側とソリューション側の関係性
前回お伝えしたように Project Oakdale、Teams Power Apps はソリューションで管理されています。前回の例では既に作成されたアプリに対して変更を実施 → ソリューション側でも同じ反映が確認できること ＝ どちらで参照しても同一である、という例をご覧いただきました。
今回は、双方からテーブル（エンティティ）を追加してみます。

結論、どっちから追加しても、双方で閲覧可能なんですけどね。

# Teams Power Apps から テーブル(エンティティ)作成
Teams の Power Apps 側からテーブルを追加します。その後、Power Automate 画面のソリューションで同じモノが存在することが確認できますね。
<blockquote class="twitter-tweet"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a> <a href="https://twitter.com/hashtag/ProjectOakdale?src=hash&amp;ref_src=twsrc%5Etfw">#ProjectOakdale</a> Table(CDS Entity) &amp; Solution <a href="https://t.co/AmXnKT1VhR">pic.twitter.com/AmXnKT1VhR</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1319825856332664833?ref_src=twsrc%5Etfw">October 24, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


# Automate ソリューション画面から作成
次は逆方向です。Power Automate ソリューションからエンティティを追加します。追加する操作は、CDS と同様です。追加に少し時間がかかるのも同様ですね。前述同様に、双方で同じモノが確認できることがわかります。
興味深いのは、Oakdale ソリューション をPower Automate画面で開いても、無印 CDS には提供されていない（ハズの）ビジュアルエディターが提供されているポイントです。Power Automate 側のソリューション上でビジュアルエディターを利用して列やデータの追加が可能です。
<blockquote class="twitter-tweet"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a> <a href="https://twitter.com/hashtag/ProjectOakdale?src=hash&amp;ref_src=twsrc%5Etfw">#ProjectOakdale</a> Table(CDS Entity) &amp; Solution 02 <a href="https://t.co/xIWToNDMiP">pic.twitter.com/xIWToNDMiP</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1319825978869207042?ref_src=twsrc%5Etfw">October 24, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

以上より、Project Oakdale ソリューションを開く場所・機能が異なるだけで、器としては一緒、というコトが確認できました。前回「Common Data Services Default Solution」だけに注目していれば OK では？という案内をした理由もコレです。

# いつもの make.powerapps.com もできる
毎度お世話になりますな [@mofumofu_dance](https://twitter.com/mofumofu_dance) さんが、前回・今回で紹介している Power Automate ソリューション経由で Power Apps アプリを作る際に便利（？）になるテクニックを紹介しています。

[Teams の Power Appsで作ったアプリを普通のPower Appsで編集する](https://qiita.com/h-nagao/items/0a579b3439d0ae5cfc58)

記事のなかでも紹介されていますが、Teams 内でアプリ作成をする場合と、普段利用する Power Apps Studio では一部のコントロールが異なっているようです。ご注意ください。

■参考URL：Use Fluent UI controls
　https://qiita.com/h-nagao/items/0a579b3439d0ae5cfc58

# 結び
「Project Oakdale の裏側がソリューション」である、と把握できると既存の知識を組み合わせて他にも活用案が出てきそうですね。今回の例ではテーブル（エンティティ）で実証実験をしていますが、Power Automate のフローや、Power VirtualAgents もソリューション内に追加作成して相互に参照することが可能になっています。ここらへんも、既存の無印CDS 同様にソリューションの概念が把握できているとピンとくるかな？と思います。

ただ、やはり新しい仕組み・機能も提供されているようなので「やれる ≠ やって良い」である点には注意しながらアプローチする必要があるのかな？というのが現時点の個人的感想ですね。

それでは、皆さま、素晴らしい Power Platform Life を！