カテゴリ「Microsoft 365 - SharePoint」の355件の投稿 Feed

2018年7月16日 (月)

以前の記事でも紹介しましたが、SharePoint Online でモダンUIになっているリストは "列の書式" が利用できるようになっています。Excel の条件付き書式のようなものですね。

[関連記事] 

これを使って Microsoft Flow も起動できるという話が去年の Microsoft Ignite 2017 では説明されていたのですが、しばらく書き方がわからずにいました。しかし、最近になって資料を見直したところ、情報が公開されていたので本ブログでも紹介しておきます。

列の書式の公式ドキュメントとしては次の資料を参照してください。

列の書式設定で SharePoint をカスタマイズする

SharePoint リストとライブラリに含まれるフィールドの表示方法をカスタマイズします。それには、フィールドがリストビューに組み込まれるときに表示する要素を記述し、それらの要素に適用するスタイルを記述する JSON オブジェクトを作成します。

今のところ "JSON" 形式で式を書く必要があるため、エンドユーザーにとってはハードルが高くなっていますが、もう少し簡単に設定できるようになる予定だそうです。ということで、資料をさっと見て、難しそうだなぁと思う方も少なくないと思います。ソースが読めることに越したことはありませんが、ちょっとでもトライしてみようという気持ちがあれば、コード部分をコピー&貼り付けでもある程度利用できるので、ぜひチャレンジしてみましょう。

リストの準備

手元で作成したデモ環境では、カスタム リストとして作成した「コース一覧」からコース申し込みができるようにしていきます。今回はコース一覧リストの作成方法は、本題から少しずれるので詳しく触れませんが、実際に取り組む方は、任意のカスタム リストを作成してみましょう。

2018-07-16_16-55-51

コース申し込みはワークフローで処理し、別のカスタム リストにコース申し込みのエントリーを登録するように作成したいと考えています。たとえば、下記のようなイメージですね。

2018-07-16_11-32-13

ちなみに、この手のアプリは "Notes で同じようなことをしていた" という話がよく出てくるもので割とニーズがあります。今回はデモ用であるため簡易作成していますが、これをベースに社内研修の申し込み管理などのアプリへと本格的に発展させることも可能です。

ということで、この例では2つのカスタム リストを用意しています。実際にフローの起動のみ試す場合はリストは1つあれば十分です。

Microsoft Flow の準備

さて、コース一覧の方に Microsoft Flow を実装します。ここからワークフローを使ってコース申し込みができるようにしたい。まずは目的のコースを選択してたら、手動でフローを開始できるようにします。フロー開始時には所属組織や氏名、連絡先のメールアドレスなどを入力できるようにしておきます。詳細は割愛しますが、大まかには次のような手順でフローを作成していきます。とはいえ手軽に試すのであれば、単純にメールを送信するフローを実装するのでもよいでしょう。

1. フローを作成するために、コマンドメニューから[Flow]>[フローの作成]をクリックします。

2018-07-16_10-11-32

2. 選択したアイテムをベースにフローを開始することで、申し込み者が対象コースに関しての詳細を入力しなくてもフローで勝手に取得できるようにします。このために[選択したアイテムのカスタム アクションを完了する]というテンプレートからフローを作成するとよいでしょう。

2018-07-16_10-12-10

3. ワークフロー開始時にユーザーに入力してもらいたい項目があれば、次のような手順で入力を求めるように設定していきます。

まずは最初のアクションの[編集]をクリックします。

2018-07-16_10-16-05

出力の追加をクリックします。

2018-07-16_10-21-49

出力の種類を選択します。コース申し込みなので、"テキスト" を選択して、ユーザーが所属組織や氏名を入力できるようにします。もちろん、フローではフロー開始者を申込者としてユーザー情報を自動取得することもできるので必要があればそういった設定も検討するとよいでしょう。とはいえ、大規模組織ではグループ企業からの代理申し込みなどいろいろと想定すると、必ずしもフローで自動取得できないケースも少なくないため、まずは手入力にした方が無難なので、ここでは手入力としています。

2018-07-16_10-21-55

今回は「申込者の所属組織」というフィールドを用意しました。

2018-07-16_10-22-08

同様の手順で次のように申込者の氏名や電子メールなどのフィールドを複数用意します。

2018-07-16_10-22-56

後は[新しいステップ]をクリックし、追加したい処理を増やして構成していくだけです。

2018-07-16_10-23-20

ちなみに、今回は別のリストに申込者情報を書き込むようにし、コース一覧に表示される登録者数を更新する処理と定員以上になった場合にコース一覧の Status 列を "申し込み可能"から"キャンセル待ち" に変更するような処理も加えてみました。運用環境であれば、これに申込者への 受付メール送信 やコース実施管理者への登録者情報のメール送信など、いろいろと処理を考える必要があります。あとは、定員オーバーになっているときに申し込みをクローズするなど。ただし、今回はデモ用に作成しているので、そこまで込み入った処理はまだしていません。

ちなみに、作成したフローは既定では作成者しか実行できないので、サイトにアクセスできるユーザーは誰でも実行できるようにMicrosoft Flowの画面から "実行のみのユーザーの管理" 設定を次の手順で変更しておきます。今回作成しているサイトは Training-PowerAppsFlow という Office 365 グループで利用しているサイトであるためこのグループに権限を付与しています。

さて、ここまで設定することで次のようにコース一覧のリストから目的のコースを選択すると [Flow]メニューに[コースの申し込み] というフロー(上記手順で予め作成したフローの名前) が表示され、フローが実行できるようになります。次のデモを確認してみてください。ちなみに、登録者数列がフローによりカウントアップしていることも確認できます。

このフローによって、先ほど紹介したように別リストである "Course Entries" リストにエントリーがフローによって自動的に登録できるようになっています。

2018-07-16_11-32-13

 列の書式設定

さて肝心要の列の書式設定です。今回はコース一覧にあらかじめ "申し込み" という名前で 1行テキストの列を用意しています。この列の値は空のままでかまいません。その代り、列の書式でボタンを生成します。ということで、"申し込み" 列をクリックし、[列の設定]>[この列の書式設定]とクリックします。

2018-07-16_12-04-39

列の書式に次のようなJSON形式のデータを記述します。

2018-07-16_18-31-45

[ソース] 列の書式 (ワークフロー起動サンプル)

図内でも指し示しているように実行したいフローのIDに関しては、自分の環境のフローのIDに置き換える必要があるので注意してください。フローのIDは フローの管理画面に表示される URLにあります。ちょうど下の画面の上部にある赤枠部分です。

2018-07-16_11-33-20

このURLを以下に書き出しておきましょう。ちょうど色を指定している部分がIDであり、フローごとに異なります。

https://japan.flow.microsoft.com/manage/environments/Default-35bb248d-3041-46e1-9f25-800b2e9f7256/flows/6f5ec875-9ce4-4382-a6ae-4ee57c3f706d/details

フロー編集時なら下記の部分です。

https://japan.flow.microsoft.com/manage/environments/Default-35bb248d-3041-46e1-9f25-800b2e9f7256/flows/6f5ec875-9ce4-4382-a6ae-4ee57c3f706d?backUrl=%2Fflows%2F6f5ec875-9ce4-4382-a6ae-4ee57c3f706d%2Fdetails

フローのIDを書き換えたら、先ほどの列の書式にJSON形式で構文を書きます。すると下記のようなボタンが表示されます。これをクリックすると直接、フローが開始できるようにラウンチパネル(右側部分)が表示されるようになります。ユーザーにとっては、アイテムを選択して[Flow]をクリックして、目的のフローを選んで、、、という手間がなくなるため直感的に操作できますね。

研修のご案内

さて、ちょっと宣伝を。

Microsoft Flow については下記のコースで取り扱っていますし、弊社オフィスアイラーニングポータルなどでも学習できます。

ちなみに、列の書式については簡単に下記コースで説明はしていますが、 事前知識としてWeb技術の一つであるCascading Style Sheets の知識も必要です。

SharePoint経験者向け SharePoint モダンUI機能について学ぶワークショップ

SharePoint Online サイト管理基礎

このあたりの知識は、弊社オフィスアイラーニングポータルをご利用いただくことで対応できるほか、インターネット上にも書店にも資料は多くありますので、ご自身でしっかり身に着けておくようにしましょう。

 

2018年6月13日 (水)

弊社では定期的に Office 365 および SharePoint 関連の研修を行っていますが、受講する方が過去にどういったコースを受講していただいたかなどを確認するために、「受講履歴」を SharePoint リストで管理しています。

従来は入力画面を InfoPath でカスタマイズして管理していたのですが、ここにきて Modern UI + PowerApps でのカスタマイズに変更してみました。これがなかなかいい具合です。

まず、カスタマイズした画面が下記の通りです(実データなので、もちろん、一部情報は伏せています)。

Attendance history 1

コースを受講していただくごとに情報登録しているのですが、画面をPowerApps でアレンジし、メールアドレスをもとに、同じリストから過去の履歴を Filter 関数で取得してデータテーブルに表示するようにしています。これでいつ、どのコースを受講いただいたのかが一目瞭然です。

新規にアイテムを登録する(受講履歴の新規登録)ときは、電子メールアドレスを入力後、[参照]ボタンをクリックすると、別で管理している"顧客データベース" リストから会社名と名前を自動取得できるようにしています。また受講したコース情報も選択肢から選べるようにしており、この情報もやはり別で管理している "コース情報" リストから取得するようにしています。ちなみに、[参照]ボタンはアイテムの新規登録や編集時のみ表示するように設定。

Attendance history 2

顧客データベースに格納しているアイテム数(エントリー数)が多いので、PowerAppsの Filter 関数を使うときに "委任" に気を付けなくてはいけませんが、そこをクリアし見た目をあまり凝りすぎなければ30分もあればある程度の見栄えで出来上がるレベルです。

とはいえ、最初に手を付けるときにはあれこれ調べながら「実装をどうしようか」などあれこれ吟味しながら業務の合間に作業したたため、ここまで来るのにそれなりに数日掛かってはいます。が、実装したい機能が決まれば、あとはスムーズです。

しっかし、InfoPath のころに比べると、データソースからのデータ取得や入力など速い!  InfoPath Form Services だと何かにつけて、サーバーサイド実行となり、ポストバックが多発発生していましたからね。クライアントサイドで動くメリットをとても感じますね。

 現在、PowerApps & Flow の入門者向け研修をオリジナル開発して実施していますが、色々と実際の業務で使ってみた事例をためて応用編となるワークショップをやりたいなぁなどと考えている今日この頃。。。まずはいろいろとアプリを作り貯めないと。。またお見せできるものを作ったら公開します。※最近追加されたリッチテキストエディターコントロールが、もうちょっとスムーズに動いてくれると、ネタがまだあるんだけどなぁ。

 

2018年6月 7日 (木)

2018年5月21日から数日間に米国ラスベガスにて久しぶりに SharePoint Conference 2018 NA が開催されました。

以前と異なるのはコミュニティ主催型に変更されたことです。残念ながら今回は現地参加とはなりませんでしたが、Keynote に関しては "SharePoint Virtual Summit 2018" としてライブ配信されました。今後、Office 365 含め SharePoint Online にどんな新機能がロールアウトされるかに関して様々な情報が公開されています。

録画が公開されており、内容としては約2時間ほどですが、デモがいろいろとあるのであまり長く感じずに見れると思いますので、ぜひ視聴しておきましょう!

イベントサイトは下記にあります。

SharePoint Virtual Summit 2018 - Resource Center

Business leaders from around the world shared best practices, lessons learned, and outcomes driven by improving employee engagement and open communications. Watch the recording of the Employee Engagement Summit, and learn more about how you can create sustained engagement in your organization.

 たくさんの情報が公開されていますが、順次ロールアウトされてきます。具体的な機能については、順次、折を見てご紹介しますが、最近はアップデートも頻繁なのでブログだけではなく、 Twitter (@ai_yamasaki) で多くつぶやいていますので、ブログと併せてウォッチしてみてください。

2018年5月13日 (日)

SharePoint Online ではモダンUIになっていると[サイト コンテンツ]ページから[サイトの利用状況]にアクセスできるようになっており、最近2週間でアクセスの多いページやファイルがグラフで確認できるようになっていました。

2018-05-13_16-50-46

2018-05-13_16-43-21

最近2週間分の情報を表示しているということですから、おそらく SharePoint の検索機能が検索結果のランキング調整のために内部的に持っているクリック情報をもとにグラフを出力しているのでしょう。ちなみに、ページかファイル(ページもファイルの一種ですが)のみが対象であり、リストアイテムは対象ではないので注意しましょう。

新しいサイトの利用状況レポート

さて、現在このサイトの利用状況レポートがアップデート中であり、サイトへのユニーク閲覧者とサイト訪問者数が取得できるようになります。

段階的にリリースされており、まずは対象リリースを選択しているテナントから順次展開されており 2018年4月中旬から5月中旬までに完了するとのこと。このアップデートにより、ほぼリアルタイムに情報が取得できるようになります。利用しているテナントの一つにこの機能が展開されてきているので確認してみました。利用者が少ないのでアクセス数はすくないですが、おおよそのイメージはつかめるのではないでしょうか?

まず、最近7日間、最近30日間、最近90日間の3つの期間で1日当たりのユニーク閲覧者とサイトの訪問者数を確認できるようになります。画面の下部はこれまで通り、最近二週間分の閲覧数の多いファイルがグラフ表示されます。また外部共有している場合は、組織外のユーザーがアクセスしたファイルやフォルダーが確認できます。

Office 365 グループに接続された SharePoint チームサイト(以下、Modern Team Site と呼びます)と 単独のサイトコレクションとして作成した SharePoint チームサイト (クラシック表示) は機能的には同じだろう」と思っている方がほとんどだと思いますが、細かい部分で機能差があります。

ちなみに、新機能として既存の単独 SharePoint サイトコレクションを Office 365 グループに接続する設定が加わっていますが、この件に関しては検証が十分に終わっていないので、今回はこの点は考慮に入れていません。Modern UIとクラシックUIの機能差も今回は考慮にいれていません。サイト管理者視点での機能差です。

今回取り上げる機能差は、あくまでも現時点までに私が確認できている部分であり抜けているところもあると思います。またアップデート等により変更される可能性があるので流動的です。ちなみに、新たに機能差を見つけたら、忘れないうちに先に Twitter (@ai_yamasaki) でもつぶやくようにしていて、今回はそのまとめです。

作成できるサブサイト

サブサイトを作成するときに利用できるテンプレートが限定的です。次のサイトテンプレートだけが利用できるようになっており、例えばコミュニティサイトなどは利用できません。

  • チームサイト(クラシック表示)
  • ブログ
  • プロジェクト サイト
  • ドキュメント センター
  • レコード センター
  • 基本検索センター
  • Visio プロセス リポジトリ
  • SAP ワークフローサイト

ということで、ざっと見る限り実務で利用できそうなのは "チームサイト" だけでしょうね。

ブログはUIがレスポンシブWebデザインではないので、今更利用するのはお勧めしません。だったらモダンUIのニュース投稿がいいでしょう。プロジェクトサイトもレスポンシブWebデザインに対応していませんね。Microsoft Project と連携するのであれば有意でしょうが、それでも既存のチームサイトに "タスク" リストを追加すれば事足ります。ドキュメント センターやレコードセンターも SharePoint 2007のころからの名残で、機能的にはフィーチャーのアクティブ化で事足りますし、レコードセンターも大抵の場合使いません。必要なら既存サイトでインプレースでレコード保持する機能をアクティブ化すればいいですし。基本検索センターも、SharePoint Onlineの検索機能がそもしも充実してきているので、これも今更つかわないでしょう。Visio プロセスレポジトリも特殊です。Visioのヘビーユーザーがいれば、、ですが、Visioも一般的かと言われるとそう誰でも使っているわけではないですし。

サブサイトの削除

複数のサブサイトを手早く削除したいときに私がよく利用するのが、[サイトの設定]にある[サイトとワークスペース]という設定ページです。従来の SharePoint であれば下記のように×をクリックして、削除ができます。またサブサイト作成のためのアクセス権限設定へのリンクが表示されます。

2018-05-13_14-44-06

しかし、Modern Team Site では下記のように表示され、削除メニューがありません。またサブサイト作成にかかわるアクセス権限のカスタマイズリンクもない。もともと Modern Team Site ではサブサイトを複数作成していく使い方はあまり想定していないでしょうから、ある意味まぁ、仕方ないかもしれません。その代り複数の Modern Team Site を作って、SharePoint Hub で集約というのが今のところ王道でしょうね。

2018-05-13_14-44-20

既定のアクセス許可レベル

既定のアクセス許可レベルは Modern Team Site には 次の 5つしかありません。

  • フルコントロール
  • デザイン
  • 編集
  • 投稿
  • 閲覧

たとえば、"閲覧のみ" アクセス許可レベルはありません。こうしたアクセス許可レベルが必要なら、カスタムのアクセス許可レベルとして追加する必要があります。

リストのテンプレート化

Modern Team Site のトップレベルサイトには "リスト テンプレート" ギャラリーがありません。したがって、作成したリストはテンプレート化するためのメニューがなく、テンプレート化できません。たとえば、Modern Team サイト内に作成したカスタム リスト(ListA) ですが、通常だと「権限と管理」セクションに "リストをテンプレートとして保存」メニューが出てくるのですが、これがありません。

2018-05-13_15-51-31

情報管理ポリシー

クラシック SharePoint サイトではリストやライブラリの保持期限設定は情報管理ポリシーを使ってきました。しかし、Modern Team Site では情報管理ポリシーは存在しません。その代り、ラベルを使います。ラベルの基本構成は Office 365 全体管理者または Office 365  "セキュリティ&コンプライアンスセンター"の管理者が構成することになります。

多言語UI (MUI)

Modern Team サイトのトップレベルサイトは既定ですべての言語が第二言語として設定されています(ただし、翻訳の上書きはオフ)。ですから、メンバーの優先言語に応じて自動的に表記が切り替わるわけです。ただし、サブサイトは従来の SharePointサイトと同じで第二言語設定は既定でオフです。

ユーザー権限

Office 365 グループに接続されているわけなので Modern Team サイトのアクセス権限管理は原則 Office 365 グループで行います。ですから、サイトの設定ページに「ユーザーと権限」セクションは表示されません。ページ自体は存在していますが、なるべくは直接利用しないようにしているととらえるべきでしょう。

しかし、あくまでも原則としてというだけで、Office 365 グループに接続されている SharePoint サイトでも個別に権限は付与できます。たとえば、既定ではグループの所有者はフルコントロール、グループのメンバーには編集アクセス許可レベルが付与されている状態です。ここにOffice 365グループ以外の特定のユーザーに対して閲覧アクセス許可レベルを付与するといったこともできるわけです。

従来のアクセス権限の設定画面にアクセスするには[歯車]>[サイトのアクセス許可]にアクセスし、[高度なアクセス許可の設定]にアクセスします。もしくは次のURLに直接アクセスします。

https://<サイトのURL>/_layouts/15/user.aspx

ちなみに、Modern Team サイト内のサブサイトには従来通り「ユーザーと権限」セクションは表示されます。

SharePoint 発行機能は Modern Team Site では不要に

過去のブログ記事でも本件には言及しましたが、念のため繰り返します。

クラシックな SharePoint サイトではよく利用されてきた SharePoint 発行機能ですが、Modern UI にするときには不要です。特に Modern Team Site ではアクティブ化しないようにしましょう。現在のところ、Modern UI とSharePoint 発行機能の併用はサポートされていませんし、新しい発行機能の仕組みがあるため従来の仕組みは必要ありません。とはいえ、自分自身、既存の段階的に既存サイトをモダンUI化していっていますが、サイトは発行機能をアクティブにしています。管理ナビゲーションを使っているので、そうそうオフにはできない状況があるので、今のところは目をつぶるしかありません。しかし、新たに作る Modern Team Site では、こうした悩みに直面しなくていいようにオンにしないでおこうということです。

もっというと、Modern Team Site 前提なら、そもそも SharePoint 発行機能の存在自体、知らなくてもいいわけです。

※2018年6月3日追記

Twitter に違いを モーメントとして書き溜めているのでここにも掲載しておきます。