【2021年8月 2weeksインターンシップ】Power Platformを用いて共同作業する時の注意点

株式会社FIXER新卒採用担当の諸見里です。この度、8月16日~27日までの2週間で夏季インターンシップを実施いたしました。今回のインターンシップは18名にご参加いただき、最終日に参加者全員にブログを書いていただきましたので、その内容を代筆いたしました。以下内容がインターン生のブログになりますのでご覧ください。

2021年8月16日から27日までの2weekで開催された「FIXERインターンシップ2021」に参加させていただきました三浦です。

本インターンでは、グループごとに分かれて自分たちで調査・決定した課題の解決を行う開発を行いました。

自分たちのグループメンバーは皆、グループ開発の経験が無いので進捗スピードが他グループと比べて遅かったと思います。また、聞いた事もないPower Platformというサービスを用いての開発だったので手探りしながらの開発もスピードが遅い原因となってしまいました。しかし、そんな状況でも「分からないことはグループに共有して相談する」「報連相(報告・連絡・相談)を行う」などを逐一行うことでスピードの遅さをカバーすることが出来ました。

始まりが遅くなりましたが、この記事には見出しにある通りPower Platform(主にPower Apps, Power Automate)を用いて共同開発を行った際、自分達が経験した注意点を書こうと思います。

AutomateをAppsで使う時はApps作成者が作成する

「Automate側を自分が実装して他の人が実装しているApps側に組み込もう!」 この考えは合っています(おそらく)。1人が全て担当するより分担して作成したほうが早いです。これはAppsにも言えます。しかし、Automateの場合はそうではありません。Automateの処理を作成すると他の人が実装したApssに組み込もうとしても「Failed during http send request.」というエラーが出てしまい。組み込むことが出来ません。

このエラーは作成したAutomate内の処理にアカウントの認証が絡んでいると発生するようです。Dataverseからデータベースを読み込む処理をAppsではなくAutomateで行おうとして、Automate側でDataverseを操作するフローを作成するとなると、Dataverseの連携に使用したアカウントはAutomate作成者ですが、Appsと連携する時に用いるアカウントは Apps作成者となっており、うまくDataverseの認証が行えずエラーとなってしまいます。

この問題の解決点として、Automateで処理を作成した後にApps担当者にAutomateのフローを人力で複製してもらう事で解決します。ただのコピーではダメです。人力のコピーです。先にどの様な処理をAutomateで作成することで、処理の部分はAutomate担当者が作成して、エラー部分である認証部分を問題なく通過することができるので何らく開発することが出来ます。

Dataverseは定義を慎重に行ってから作成を行う

SharePointのリストは5,000件までしか保存できないので、それ以上のデータを保存する時はDataverseを使用する事になると思います。DataverseはSharePointと同じ様にテーブルの定義をまず初めに行いますが、カラムは変えられないものと思って慎重に定義するようにしてください。定義したカラムを変更する事自体は可能ですが、AppsやAutomateで一つでもカラムを参照していると変更が出来ません。この場合、使用しているAppsとAutomateを探して使用しないように変更しなければなりませんが、とても面倒だと思うので変更をすることが無いように予めDBの定義を入念にする事をおすすめします。

今回はこの2点を挙げましたが、他にも注意点があると思います。何か問題点を見つけたら記事が多い英語で調べる事や、グループメンバーと共有して解決するなどを行って共同開発を進めてみてください。

FIXERでのインターンを通してFIXERという会社がどんな会社なのか、Power Platformの使い方やグループ開発の手法など、様々な事を学べたのでとても良い経験になったと思います。