キャンバスアプリ 共同編集（coauthoring）を試してみた！

雨が降ったり、豪雨だったり、酷暑だったり、皆様お元気でしょうか？

個人的（？）な話題からスタートするんですが、おかげさまで Microsoft MVP 再受賞を賜りました。ひとえに皆様のおかげです。ありがとうございます、ありがとうございます。

https://mvp.microsoft.com/ja-JP/MVP/profile/38d1ed71-2d2e-eb11-a813-000d3a8dfe0d

４回目の受賞です。カテゴリーは変わらず「Business Applications」なんですが、なぜかテクノロジ分野が「Power Apps」だけになりました。前回まで「Power Apps & Power Automate」だったんですが、「Power Automate」どこいった？🤔 って感じですが、これからも変わらずマイペースでユーザーコミュニティ活動を楽しんで続けていこうと思っておりますので、よろしくお願いいたします。

さて、先日 Power Apps の「キャンバスアプリ 共同編集機能（プレビュー）」を試してみたのでツラツラと気づき等をメモしていこうと思います。なんてったって、どこかに記録しておかないと忘れる自信しかないですからね😇

# Power Apps キャンバスアプリを共同編集している動画
あるいは、エビデンスです。2024/07/12 に YouTube Live で生配信した Power Apps Weekly News 74 で、相方の [アキラさん](https://twitter.com/akira_365) さんと完全に初見の状態で検証しています。下記 URL でアーカイブがご視聴いただけますので、興味のある方はご確認くださいませ。

https://www.youtube.com/live/Rvo-9Ppnqj0?si=qt4UZZur_-8Auo2z

あ！そうだ！！
高評価＆チャンネル登録も是非よろしくお願いします！！
（↑ これ、毎回言うの忘れますねｗ）

## Power Apps Weekly News とは
ほぼ毎週金曜日 21:30 ～ 22:30 の1時間で、Power Apps の公式Blog で公開された最新アップデートをチェックしていくイベントです。Microsoft MVP 仲間であり、愛知勢仲間の [アキラさん](https://twitter.com/akira_365) さんと一緒にヌルっとやっております。

https://appsweeklynews.connpass.com

配信は YouTube Live で開催しております。さきほど紹介したとおり、アーカイブも公開してありますので興味のある方は是非ご確認いただければ、と思います。また、connpass のメンバー登録をするとイベントの通知が指定のアドレスにメールされます。

# Power Apps キャンバスアプリの共同編集
さて、本題です。先ほど紹介した動画では、最近公開されたプレビュー機能を検証しています。参考までに、これ以前に GitHub リポジトリを使う共同編集機能がプレビュー提供されていました。

https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/git-version-control?WT.mc_id=DX-MVP-5004053

GitHub 連携とでも言いましょうか、この機能では同じコントロールを同時に操作できない等の制約があります。（細かいコトは覚えていない汗）

今回ネタにしているプレビュー機能は GitHub 連携ではありません。新しく追加された coauthoring（共同編集）機能になります。

Power Apps 公式Blog の記事はこちら。

https://www.microsoft.com/en-us/power-platform/blog/power-apps/build-apps-as-a-team-with-live-coauthoring/

Learn（Docs）はこちら。

https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/copresence-power-apps-studio?WT.mc_id=DX-MVP-5004053

## 共同編集の前準備
実際に試したい場合は事前準備が必要です。

### プレビュー機能を ON にする
Power Apps Studio で共同編集したいキャンバスアプリを編集で開きます。メニューバーから「設定」画面を開き、［更新］→［プレビュー］タブ → ［コオーサリング］を”オン”にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/12cdd279-1846-e4e8-4708-6b2c499807d8.png)
なお、該当のスイッチを ON／OFF した場合、1回保存して画面更新を促されますので、すなおに従いましょう。

### アプリを共有する
共同でアプリを編集するユーザーに、該当アプリを編集できる権限を付与します。ここらへんは既存の仕組みなので詳細は公式ページを確認ください。

https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/share-app?WT.mc_id=DX-MVP-5004053

共同”編集”って言ってますからね。そりゃ、編集権限なければダメですよね。

## 共同編集中の画面イメージ
こんな感じで、画面右上、メニューの上にある「編集」ボタンの近くに同じアプリを開いているユーザーが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/89f03666-a715-8722-de61-020cb5588e77.png)
また、操作しているコントロールやスクリーンの右端にもユーザーアイコンが表示されるので、誰がドコをつまんでいる場所が把握できます。SharePoint Online 等で共有している Power Point ファイルを共同編集しているようなイメージですね。Microsoft 365 利用者であれば見たことある風景に近しいかもしれません。

## 気づき等のメモ
実際の動作については、冒頭で紹介した動画を確認いただくとして・・・。記事投稿時点（2024/07/13）におけるワイの気づきです。

■良い点
- 他ユーザーの変更が自分の画面に反映されるのは比較的早い
    - 非常にレスポンスよくコントロール追加や Power FX が反映される
    - 検証している我々のマシンスペックやネットワーク回線はそこそこ強めです（そのせいか？まさか？
- 誰がドコを操作しているか？が凄くよくわかる
- 複数名で操作している状態でコネクターの追加も問題なさそう
    - とはいえ、プレビューなので過信は禁物か？
- 「モダンコントロール」スイッチも ON にできる
    - にょっきり生えてくるので、声かけあってやらないと驚くｗ
    - または、先に設定済みで開始すべきかな？
- 他ユーザーが数式バーで記載中の Power Fx を、ほぼリアルタイムで閲覧可能
    - 同じコントロール、同じプロパティを操作できるので事故注意
- コントロールの前後（z-index）も素早く反映される
    - 同じ画面を同時編集する際は、相手が混乱しないように注意ですね
- 数式バーの Ctrl ＋ z（元に戻す）は動作する
    - 画面上のコントロールに対する Ctrl + z 等は現状発動しない

思った以上に使えるな！凄い！というのが感想でした。実際に試してみるのは重要ですねぇ。そして、Web会議等で声をかけあって操作しないと簡単に事故りそうだな、とも思いました😂

■気になる点
- 最大何名ぐらいが許容範囲なのか？
    - 現状 10名？10セッションみたいですが、現実的な人数はどこまで耐えられるんだろうか？
    - 気になりますねぇ
- 他ユーザーがコントロール追加やスクリーン追加した際に、共同編集している全員の画面が更新される
    - ツリービューで右クリックや三点リーダーのメニューを開いている場合、強制的に閉じられた感覚がありました
    - もしかしたら、自分の勘違いかも？ですが気づかないとアレ？ってなりそう

その他、現時点の制約事項などもあるのであわせてご確認ください。

https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/copresence-power-apps-studio?WT.mc_id=DX-MVP-5004053#limitations

ちなみに、動画のなかで試していますが「別のアプリまたは新しいアプリを開く」ことは可能でした。制限に”できない”部類に記載あるんですが、試した限りでは大丈夫でしたね。なぞです🤔

# 結び
単純に、楽しかったですｗ

単独で編集している状態と比較して、検索やコントロールに対する Undo・ReDo が制限されている等々は少々使い勝手が下がっているだろう、とは感じますが、与えられた範囲でも利用シーンはいくつか思いつきました。

Power Apps Weekly News のなかでも発言していますが、例えばマンツーマンで Power Apps を教える場合。この共同編集機能と Web会議 を同時に行って、会話しながら教育をしていくとリアルタイムで操作が反映されるので様々なプラス効果が発揮されるんじゃないかな？などと思いました。

また、作成するアプリや機能がおおよそ検討済みで、かつお互いのレベル感や得手不得手を把握しているメンバーであれば、役割分担して爆速で 1つのアプリを作成していけるんじゃないかな、と想定しています。

まだまだプレビュー段階の機能です。制約事項も公式情報として公開されている状態なので「〇〇がアレなので coauthoring は使えない」等と評論するタイミングではないかな、というのが個人的な意見ですね。むしろ、制限のある現状でも活用できるアイディアを探したほうが建設的だと思います。

まぁー、独りで黙々とアプリ作成したほうが早いって場面のが多いような気もしますがｗ 例えば「ちょっと、ここの処理だけ一緒に考えてよ」だったり、「〇〇さんが前やってたテク教えてください」みたいな技術を授かるタイミング等で活用できる可能性もあるので今後に期待したいなーと思いました。

気になる方は、ご自身でも是非お試しくださいませ。そして、何かお気づきの際は Microsoft さんへフィードバックをお願いします！！（※ワイにフィードバックされても困りますのでねｗ 公式へどうぞ）

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