[SharePoint Online] Column Formatting 機能に関する追加情報
Microsoft Flow に関する監査ログ

[SharePoint Online] PowerApps の SharePonint リスト統合 ~脱 InfoPath へ~

先週から私が利用している "先行リリース" を受け入れるようにしているテナントでは、SharePoint リストが PowerApps が統合され PowerApps でカスタムフォームが作成できるようになりました、その他のテナントではまだロールアウトされませんし、時期も未定です。そもそも、この機能は 2017年10月中にロールアウト開始となっていたのが、開発が遅れているようです。ですから、まだプレビューとみていいでしょう。

さて、従来の SharePoint でInfoPath でリストのカスタマイズを行ったことがあれば、InfoPathを PowerAppsに置き換えるイメージです。

PowerApps の魅力は、InfoPath に似て、JavaScript 開発のような開発スキルがなくてもアプリが作成できることにあります。ノンコーディングで設定のみで行えるものが多く、もしロジックを書くとしても Excel 関数を使ったことがあれば、似たような使い勝手でアプリが作成できます。

下記は PowerApps ブログの記事です。

Announcing availability of custom forms, multi-value choice and read-only attachments support for SharePoint with PowerApps

Announcing the availability of Custom SharePoint forms with PowerApps for SharePoint First Release tenants. We are also making multi-value choice, person & lookup column support available today in addition to support for read-only attachments from SharePoint lists.

従来の SharePoint リストをベースとした PowerApps アプリ開発

これまで PoweApps でリストをカスタマイズするとなると、結局は PowerApps アプリとして作成することとなり、アプリの起動は SharePoint リストとは別のウィンドウで(かつ、ホスト環境も PowerApps サービスホスト内) になっていました。要するに、SharePoint リストのカスタマイズというより、PowerApps のデータソースを SharePointリストから取得しているというだけです。

たとえば、次の例では現在地の座標を自動取得するか、手動で入力することで BING Map と連携させています。

 PowerApps の統合により、これが変わります。

PowerApps を使ったリストのカスタムフォーム作成

SharePoint Online でモダン UI のカスタム リストを利用している場合は、PowerApps の利用権限があれば、PowerApps メニューに[アプリの作成]   だけが表示されていましたが、PowerApps によるカスタム フォームが作成できるようになると [フォームのカスタマイズ] が追加されます。この "フォームのカスタマイズ" をクリックすると PowerApps アプリの作成ツールである PowerApps Studio が起動し、フォームがカスタマイズできるようになります。

2017-11-21_5-08-02

作り方や FAQ については下記のリンクを参照してください。ちなみに、日本語のページは用意されていないので、必要に応じて Microsoft Translator などで翻訳してみるといいでしょう。

Customize a SharePoint list form using PowerApps

さて、ここでは先ほど同様に Bing Map と連携させたフォームを作成してみたので、どのような挙動になるか次の画像で確認してみましょう。

ご覧いただくとわかるように、アイテムをクリックしたり、新規作成する際に改めて PowerApps で作成したフォームが SharePointの画面の中で表示されるようになります。先ほどのように別のウィンドウで開くのとは大きく異なります。

リストのフィールドのレイアウトも通常は 1段組ですが、これを2段や3段組みにすることも可能です。

2017-11-20_16-08-34

まだ、利用できるようになって間もないため、もう少しカスタマイズ方法を検証する必要がありますが(細かな制御をしようとすると癖があり、PowerApps 単体で利用していた場合と勝手が違いますし、情報もまだほとんどありません)。

とはいえ、"都道府県" の選択肢を選んだら、次の選択肢はその都道府県の市町村区のみが表示されるといったカスタマイズはできそうですし、もともとリストですから、そのままMicrosoft Flow と組み合わせてフローを作ることは可能です。たとえば、メール送信するとか。

InfoPath であったルール設定も、最近 PowerApps に組み込まれてきましたし、いよいよInfoPath の後継バージョンといえるような状況になってきています。また折を見て記事にしていきたいと思います。

SharePoint Online 上のモダン UI リストやライブラリのカスタマイズについての整理

SharePoint Online のモダン UI になっているリストやライブラリのカスタマイズは従来のように SharePoint Designer や スクリプトエディタWebパーツなどでのカスタマイズはできません。NoScript 設定となっているので、そもそも単純に JavaScript を組み込めません。JavaScript を組み込むには SharePoint Framework / SharePoint Framework Extensions を使う必要があります。

現在カスタマイズの選択肢としては次の 3つがあります。

  • Column Formatting (列の書式 ) 
  • PowerApps によるカスタム フォーム作成
  • SharePoint Framework Extensions を使ったリストのカスタマイズ

上記のうち Column Formatting に関しては以前の記事でもご紹介しました。まだ完全にノンコーディングとは言えませんが、将来的にはノンコーディングとなります。そして、今回の記事で扱った PowerApps によるカスタム フォーム作成も限りなくノンコーディングです。この2つで賄いきれない場合は、SharePoint Framework Extensions や SharePoint Framework そのものを使って、JavaScript による開発をしていくことを考えることになります。

今後、SharePoint に携わるエンジニアの方は、PowerApps + Microsoft Flow は知っておくべきですし、JavaScript も中級レベル以上のスキルが求められます。しっかりそなえておくようにしましょう。

(おまけ) 弊社コースの宣伝

あと、宣伝ですが、弊社では国内ではいち早く PowerApps & Microsoft Flow の研修を実施しています。というか、面白いので私がいち早くオリジナルコースを作成しました。2017年10月より定期コースとして実施しています。ご自身の PC や携帯端末などを持ち込んで、わいわい言いながら学習するコースです(初回実施もお陰様で大変盛り上がりました!!) 。ご興味がありましたら、ぜひ、研修もご利用ください。独自に勉強するよりは、学習にかかる時間が大幅に短縮できますよ ! なお、現在、1日コース でご案内していますが、PowerApps や Flow で実施できる内容が増えてきたので、じっくり学べるように 2日間コースに近々改訂する予定です。お楽しみに !

 

[オフィスアイ オリジナル研修] SharePointユーザーのためのMicrosoft PowerApps & Microsoft Flow入門

オフィスアイのオリジナル研修である「SharePointユーザーのためのMicrosoft PowerApps & Microsoft Flow入門」の案内ページです。

コメント

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)