Power Appsが含まれるSharePointモダンサイトをテンプレート化して展開する
2021.10.14

皆様はじめまして。
MS開発部の内田です。
近年SharePointモダンサイトの利用が増えてきていますが、クラシックサイトでは利用できたのにモダンサイトでは利用できない…という機能が多くあります。
SharePoint標準で利用できなくなってしまった機能の中で、サイトテンプレート機能は便利なことからモダンサイトでも利用したい方が多いと思います。
今回はリストフォームにPower Appsが含まれるモダンサイトをテンプレート化して展開してみます。
まずPower Appsとは何か知りたい方、
基本的な情報を求めている方はぜひ以下の記事をご覧ください。(弊社ブログの別記事が別タブで開きます。)
<社会人1年目がPower Platform・Power Appsについて調べてみた>
Power Platformの特徴、Power Platformを利用するにあたって必要となるライセンス、Power Appsの開き方等についてわかりやすく紹介しています。
(SharePointモダンサイトではカスタムスクリプトを有効化することでモダンサイトのテンプレート化、および別環境のモダンサイトへ展開をすることが可能になります。)
Power Appsが含まれるSharePointモダンサイトをテンプレート化し、別環境のモダンサイトへ展開すると、下記の状態になります。
・展開したSharePointモダンサイト内でリストフォームのカスタマイズを行おうとすると「サインインが必要」とポップアップが出て先に進めない。
・「認証」をクリックしても同様のポップアップが表示され、Power Appsが開かない。



調べてみたところ、
モダンサイトのテンプレート化を行ったSharePoint環境のPower Appsのキャッシュが、テンプレートファイル内に残っているため発生しており
モダンサイトのテンプレートからPower Appsのキャッシュを削除する必要があることがわかりました。
※手作業でテンプレートファイル内のxmlファイルを操作する必要があります。
そこで今回は、SharePointモダンサイトテンプレートからPower Appsのキャッシュを削除する方法をご紹介します。
まずテンプレート化を行うSharePointモダンサイトのソリューションを開き、テンプレートファイルをダウンロードします。

SharePointモダンサイトからダウンロードしたテンプレートファイルの拡張子を [○○.wsp]から[○○.cab]に変換し、解凍します。

解凍したフォルダから[_PowerAppsCache]という名前のフォルダを全て削除します。
テンプレートファイル内に含まれるxmlファイルから[PowerAppsCache]の参照を全て削除します。
※削除を行う際、[PowerAppsCache]以外を削除しないよう気を付けてください。
SharePointに展開する際に正しく動作しなくなる可能性があります。


[PowerAppsCache]の参照の削除が完了したら、テンプレートファイル内に含まれるフォルダ、およびファイルをcabで圧縮します。

圧縮したcabフォルダの拡張子を[○○.cab]から[○○.wsp]に変換します。

これでテンプレートファイルから展開元環境のPower Appsのキャッシュの削除ができました。
再度、テンプレートをサブサイトとして別環境のSharePointモダンサイト内に展開してみます。


新しくSharePointに展開したサブサイトを開き、リストからフォームのカスタマイズを確認すると…、
無事Power Appsによるリストフォームのカスタマイズができるようになりました。
SharePointリストフォームのPower Appsの展開方法については改めて別の記事でご紹介いたします。


今後更にSharePointモダンサイトの利用が増えていくと思われます。
今回ご紹介したサイトテンプレート機能を上手く活用してモダンサイトの横展開が容易になれば開発の幅も広がりますね。
今回ご紹介したSharePointモダンサイトのテンプレート化、Power Apps以外にもMicrosoft365について質問、作業の依頼等ございましたら下記からご連絡ください。
MS開発部の内田です。
近年SharePointモダンサイトの利用が増えてきていますが、クラシックサイトでは利用できたのにモダンサイトでは利用できない…という機能が多くあります。
SharePoint標準で利用できなくなってしまった機能の中で、サイトテンプレート機能は便利なことからモダンサイトでも利用したい方が多いと思います。
今回はリストフォームにPower Appsが含まれるモダンサイトをテンプレート化して展開してみます。
まずPower Appsとは何か知りたい方、
基本的な情報を求めている方はぜひ以下の記事をご覧ください。(弊社ブログの別記事が別タブで開きます。)
<社会人1年目がPower Platform・Power Appsについて調べてみた>
Power Platformの特徴、Power Platformを利用するにあたって必要となるライセンス、Power Appsの開き方等についてわかりやすく紹介しています。
(SharePointモダンサイトではカスタムスクリプトを有効化することでモダンサイトのテンプレート化、および別環境のモダンサイトへ展開をすることが可能になります。)
Power Appsが含まれるSharePointモダンサイトをテンプレート化し、別環境のモダンサイトへ展開すると、下記の状態になります。
・展開したSharePointモダンサイト内でリストフォームのカスタマイズを行おうとすると「サインインが必要」とポップアップが出て先に進めない。
・「認証」をクリックしても同様のポップアップが表示され、Power Appsが開かない。



調べてみたところ、
モダンサイトのテンプレート化を行ったSharePoint環境のPower Appsのキャッシュが、テンプレートファイル内に残っているため発生しており
モダンサイトのテンプレートからPower Appsのキャッシュを削除する必要があることがわかりました。
※手作業でテンプレートファイル内のxmlファイルを操作する必要があります。
そこで今回は、SharePointモダンサイトテンプレートからPower Appsのキャッシュを削除する方法をご紹介します。
まずテンプレート化を行うSharePointモダンサイトのソリューションを開き、テンプレートファイルをダウンロードします。

SharePointモダンサイトからダウンロードしたテンプレートファイルの拡張子を [○○.wsp]から[○○.cab]に変換し、解凍します。

解凍したフォルダから[_PowerAppsCache]という名前のフォルダを全て削除します。

テンプレートファイル内に含まれるxmlファイルから[PowerAppsCache]の参照を全て削除します。
※削除を行う際、[PowerAppsCache]以外を削除しないよう気を付けてください。
SharePointに展開する際に正しく動作しなくなる可能性があります。


[PowerAppsCache]の参照の削除が完了したら、テンプレートファイル内に含まれるフォルダ、およびファイルをcabで圧縮します。

圧縮したcabフォルダの拡張子を[○○.cab]から[○○.wsp]に変換します。

これでテンプレートファイルから展開元環境のPower Appsのキャッシュの削除ができました。
再度、テンプレートをサブサイトとして別環境のSharePointモダンサイト内に展開してみます。


新しくSharePointに展開したサブサイトを開き、リストからフォームのカスタマイズを確認すると…、
無事Power Appsによるリストフォームのカスタマイズができるようになりました。
SharePointリストフォームのPower Appsの展開方法については改めて別の記事でご紹介いたします。


最後に
いかがでしたでしょうか。今後更にSharePointモダンサイトの利用が増えていくと思われます。
今回ご紹介したサイトテンプレート機能を上手く活用してモダンサイトの横展開が容易になれば開発の幅も広がりますね。
今回ご紹介したSharePointモダンサイトのテンプレート化、Power Apps以外にもMicrosoft365について質問、作業の依頼等ございましたら下記からご連絡ください。
以上、最後までご愛読いただき
ありがとうございました。
お問い合わせは、
以下のフォームへご連絡ください。