2024年3月21日 (木)

Microsoft_lists_form_2

Microsoft Lists アプリから新規フォームを直接作成できる機能のロールアウトがいよいよ始まりました! 

Microsoft の公式ブログでもアナウンスされました。

Collect information like a pro New Microsoft Lists forms experience in Microsoft 365

リストに情報登録してもらうために、これまでだと Microsoft Forms のフォームを別途作成してそこから Microsoft リスト (=SharePoint リスト) に登録するよう Power Automate でフローを作成することも多かったと思います。また Power Apps でリストへの登録用アプリを独自に作成して、リストにはユーザーが直接アクセスさせることなく必要項目に直接入力してもらうこともあるでしょう。

ですが、この機能によって フォームを別途作る必要はなくなりますし、リストに登録するのに Power Automate も Power Apps も不要で直接入力用のフォームを作成できてしまいます。もちろん、モバイルからも利用できます。

ちなみに、Microsoft Forms と似たUIであり、Power Apps で作成するアプリと比較するとできることは限定的なので、Power Apps が完全に不要になるわけではありませんが、ちょっとしたリスト登録用ならこのフォームで事足りることも多いと思います。

作成方法および利用方法

Microsoft Lists アプリを開いて任意のリストにアクセスしてコマンドバーに表示される「Forms」をクリックして作成を始めます。このメニューはリストに対して「編集」アクセス許可レベル以上を持っていれば表示されます

※ロールアウトされてすぐなので Forms となっていますけれど、そのうち「フォーム」とカタカナ表記になるはず。

20240321_133012_2

フォーム作成画面は「フォーム ビルダー」と呼ばれます。

20240322_121543

具体的な作成方法は下記の Microsoft の Mark Kashman さんの YouTube を確認してみてください。

ついでに、手元の日本語環境でざっと動作確認した際に録画した内容も共有しておきます。

サポートされている列

列は Microsoft Lists 側で事前に用意しておくことも可能ですし、フォーム側から「新しいフィールドを追加する」で追加することもできます。

現時点でサポートされている列は次の通りです。

  • 一行テキスト
  • 選択肢
  • 数値
  • 日付と時刻
  • 複数行テキスト
  • はい/いいえ
  • ユーザー
  • ハイパーリンク
  • 通貨

20240321_133647

画像列や添付ファイルは今のところサポートされていません。これが扱えるようになるといいんですけどね。

各列に対してフォーム上から次の操作も行えます。

  • フォーム上への表示・非表示
  • 必須項目の指定
  • 順番の並び替え
  • 列の編集(設定変更)
  • 列名の変更

※そもそもリストはPower Automateなどと連携させる場合は列名は最初は ASCII文字で作成することが推奨されています。列が内部的にもつ「内部列名」というものがUTF-16でエンコードされるためです(文字化けだと思う人もいますが、そうではありません)。ですから、最初にローマ字や英語表記で作成することも少なくないわけです。ですからリスト上はASCII文字で、フォーム上では日本語でわかりやすく書いておくということもできるということ(むろん、リスト側であとから列の表示名を日本語に変えておいても問題はありません)。


20240321_134102

テーマ

フォームには既定で4つのテーマが用意されています。

20240321_134854

「自分のスタイルを作成」をクリックすると背景とテーマの色を別途選ぶこともできます。

20240321_134949

受付期間の指定とお礼のメッセージ

「設定」では回答を受け付け始めるかどうかを指定するトグルと、確認メッセージ欄(お礼などを書くところ)も用意されています。20240321_135020

フォームの保存

フォームは自動保存されます。

プレビュー

フォームを公開する前に、プレビュー表示で送信をテストできます(右上の「プレビュー」をクリックする)。送信すると実際にリストにアイテムが追加されます。プレビューは新しいタブで開くため、確認が終わったらそのタブを閉じます。

フォームの送信

出来上がったら「フォームの送信」をクリックします。とはいえ、これで誰かに送信されるわけではなく単に共有リンクを作成するだけです。生成したリンクをメールやチャットなどで共有して利用することになります。現時点では「リンクを知っている組織のユーザー」に対する共有リンクのみが生成できます。20240321_135321

フォームの複数作成/削除

一つのリストに対して複数のフォームを作成できます。既存のフォームの複製もできます。また既存フォームの削除も可能です。

20240321_135606

複数のフォームが作成できるということは、たとえば、入力項目を変えて複数作成するなどできます。現時点では「組織内のすべてのユーザー」向けの共有リンクしか生成できませんが、当初のアナウンスからすれば、そのほかの共有リンクも作成できるようになるはずで、組織内ではこのフォーム、社外にはこのフォームを利用してもらうとか、特定の部署にはこのフォーム、それ以外は別のフォームというような配布もできるようになるのではないかと思います。

それともう一つ重要な点ですが、フォームを削除してもそのフォームから追加されたリストアイテムはそのまま残ります

既存フォームのリンクのコピー

既存フォームのリンクを再度取得するには リンクのアイコンをクリックして「リンクのコピー」をクリックします。20240321_150129

回答の承諾を停止する

2つ上の図に「回答の承諾を停止する」メニューがあります。これをクリックすると次の画面が表示されます。

20240321_150056

これにより「回答の受付」が終了します。このフォームからの送信は受け付けられなくなると言うことです。

20240321_150517

共有リンクはどうなるのか確認しましたが、リンク自体は削除はされませんでした。再び「回答の承諾を開始する」こともできるため、従来共有していたリンクをそのまま再利用できるということです。ちなみに共有リンクは一度削除してしまうと、再作成してもリンク自体別のものになってしまいます。

確認事項

2024年3月現在、ロールアウト中であり初期リリースです。これから徐々に機能が追加されていくことになるはずです。その点を踏まえたうえで現時点での確認事項です。

作成の開始場所

Microsoft リストフォームは現時点では Microsoft Lists アプリから作成する必要があります。ただし、SharePoint リストも Microsoft Lists と同じUXが段階的に投入されてきており、テナントによって(厳密にはユーザーに単位でロールアウト)は 次の図に示すようにSharePoint リスト側に Forms コマンドバーが表示されます。

20240322_190230

もし、ロールアウトが未達でSharePoint サイト内のリストからのアクセスではコマンドバーに「Forms」がでてこない場合は、SharePoint リストのURLの末尾に「?env=WebViewList」を指定するとMicrosoft Lists アプリに簡単に切り替わります。

フォームを利用できるユーザーを制限できるか?

現時点で生成できる共有リンクは「組織内のすべてのユーザー」に対するリンクだけです。

共有リンク経由でアクセスすれば、文字通り組織内のユーザーは誰でもリストに対して送信できるということですが、なにか制限はできないだろうかと考えます。例えば、テナントでMicrosoft Syntex SharePoint Advanced Managment (SharePoint の高度な管理)のアドオンライセンスを持っている場合は、サイト単位で策定のグループ内のユーザーでないとサイトにアクセスできないように制限できます。これはもともと過剰共有を低減するための仕組みであるため、組織内のすべてのユーザーが利用できる共有リンクが作られたとしても、利用できるユーザーを限定できます。

20240321_152016

制限されたアクセスにした場合、許可されたグループメンバー以外がリンクにアクセスすると「アクセス拒否」されます。20240321_152452

このように共有リンクの利用者を制限する方法もあるにはあるわけです。

共有リンクの作成者を制限しているサイトではどうなるか?

SharePoint サイトでは既定でサイトの共有設定オプションは「サイトの所有者(サイトの管理者も含む)またはメンバーが共有できる」ようになっています。ですが、このオプション設定はサイトの所有者もしくはサイトの管理者が変更できます。そのため「サイトの所有者だけ(サイトの管理者も含む)が共有できる」ように変更することもできるわけです。


20240321_152605

上図のように、「サイトの所有者(サイトの管理者も含まれる)のみがサイト内のコンテンツを共有できる」ように制限することもできるわけです。このように設定すると、管理者以外は共有リンクが作成できなくなります。

そのため、サイトのメンバーはリストからフォームビルダーは開くことができるフォームも作成できるのですが、最後に「フォームの送信」から「リンクのコピー」をするときに「アクセス権限がありません」といわれてしまい共有リンクが生成できません。ですが、フォーム自体は作成されているので、リンクの生成のところだけサイトの管理者が行うという分担も可能です。

ユーザーに対するリストの隠蔽

以前、このブログで共有リンクの仕組みについて記事を書きましたが、この機能でも使われます。

SharePoint Technical Notes : SharePoint の共有リンクの仕組み (lekumo.biz)

その記事でも説明した通り共有リンクを作成するとリストは固有の権限になります。実際にリストのアクセス権限設定を確認するとリスト自体が固有の権限になっているのがわかります。20240321_155840

ではリストの権限がどうなっているのか PnP PowerShellで探ってみましょう。すると SharingLinks グループに「ファイルの送信」というアクセス許可レベルが付与されていることがわかります。特殊なアクセス許可レベルです。

20240321_161242

さて、どういった挙動になるのでしょう。

サイトにアクセス権限を持っていないユーザーがこのフォームのリンクからアクセスするとフォームにアクセスし、情報を送信できます。リンク経由だとリストアイテムの書き込み権限があるということ。

ですが、このリストのURLまたはリストのURLに直接アクセスすると「アクセス許可がない」といわれてアクセスできません。

20240321_162139つまり、サイトにアクセスできないユーザーはリンク経由でリストにデータは追加できるが、リスト自体にユーザーはアクセスできないということです。※アイテムレベルではアクセス許可レベルは親であるリストから継承します。

最後に

Microsoft 公式ブログによると、リスト内でのフォーム作成方法についての公式ヘルプなどもこれから公開されるということです。

また、Microsoft リストに関するフィードバックポータルも用意さています。実際に利用してみて気になる点などあればフィードバックするようにしましょう。

Microsoft Lists · Community

社外共有と添付ファイルができるととても強力なんだけどなーと個人的には思っていますが、まずは社内利用でも十分使えるのではないかと思います。