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

2023年2月 9日 (木)

Microsoft 365 の SharePoint にあるイベント Webパーツと強調表示されたコンテンツWebパーツはともに検索機能を使って複数の場所のコンテンツを集約できるWebパーツです。この2つのWebパーツに「グループレベルのキャッシュ」というオプションが用意されています(2023年2月以に確認ずみですが、昔はなかったオプションです)。

特定のセキュリティ グループを指定することで、情報がキャッシュされるようになり、より高速にコンテンツが表示できるようになります。

この機能に関する説明は下記のサポート文書に書かれています。

Use the Highlighted content web part - Microsoft Support

20230209_210519

ちなみに、イベント Webパーツはソースを「このサイトのリスト」以外を選んだ時に検索機能が使われるようになっています。そのため、例えば、「すべてのサイト」などを選ぶとしたの方に「グループレベルのキャッシュ」オプションが表示されます。

20230209_210212 強調表示されたコンテンツ Webパーツで、実際に実験してみました。まずこのWebパーツの取得件数を最大の500件にします。これによってページ表示にかかる時間ができる限り多くなるようにしておきます。キャッシュされることでどれぐらい変わってくるのか比較するためです。キャッシュ用のグループは指定しないでおきます。

20230209_192951

このままSharePointページの診断ツールで確認するとページの読み込みに 3546ms かかっており、改善の機会として「強調表示されたコンテンツWebパーツ」が読み込み時間かかっているので改善するように提案されています。

20230209_192858

では、セキュリティ グループを指定してみます。検証で利用しているデモ用のユーザーグループである all demo users グループを指定します。すると、現在サインインしているユーザーはこのグループのメンバーではないため、コンテンツが一切表示されなくなりました。つまり、本来はサイトの閲覧者と同じセキュリティグループを指定しないと、表示されないコンテンツが出てくるということになります。

あくまでもこのWebパーツ上の話で、通常の検索ウィンドウから検索すれば閲覧権限のあるコンテンツは表示されるので、セキュリティ制限に使えそうだ! と安易にとらえないでくださいね。

20230209_193102

では all demo usersグループのメンバーアカウントに切り替えて再びページの診断ツールを実行してみます。今度は読み取り時間が 2301ms となり、先ほどよりも 1000 ms 近く早くなったことがわかります。警告も出なくなりました。実際にコンテンツの表示も確かに早くなっていることを体感できるレベルです。

20230209_193319

より高速にページを表示するための工夫としてうまく活用してみてください! それと同時に、Office 365 CDN の設定もお忘れなく。

SharePoint Technical Notes : Office 365 CDN の概要と最新情報(2023年1月) (lekumo.biz)

2023年1月29日 (日)

Microsoft Stream (on SharePoint) では新たにプレイリストが作れるようになりました。リストテンプレートに「プレイリスト」が追加されており、Microsoft Lists の Webアプリまたは SharePoint サイト上のリストとして新規に作成できます。

20230126_093342

プレイリストの基本的な作り方については下記のビデオをご覧ください。

ビューについて

プレイリストから作成したリストには既定で「プレイリスト」ビューと「すべてのアイテム」ビューの2つが用意されており、既定ではプレイリストになっています。

20230126_091442

列の変更などは「すべてのアイテム」ビューから行う必要があります。このビューにはグリッドで編集メニューがありません。他にも既定で Duration 列を持っており、再生時間がわかるようになっています。

20230129_151141

Microsoft Lists 側の表示

Microsoft Lists (Webアプリ) 側でも当然リストは表示されますが、アイコンが Stream のアイコンになっています。

20230126_093225

モバイルの Microsoft Lists アプリではプレイリストのビューをサポートしておらず、すべてのアイテムビューと同様のビューが表示されるだけです。

 

Photo

Webパーツ対応

2023年1月時点ではこのリストは SharePoint のリスト Webパーツとしては対応しておらず、追加したとしてもデータグリッド表示となりプレイリスト表示とはなりません。

20230126_092133_3

このことについては Microsoft 社の Microsfot Stream チームにいる @MarcMroz さんとも Twitter でやり取りしているのでどうぞ。

2023年1月27日 (金)

SharePoint を利用する際、画像や JavaScript、スタイルシートなどの静的資産データに関しては Office 365が備えているコンテンツ配信ネットワーク (CDN) でホストできるようになっています。この CDN を Office 365 CDN と言います。CDN を利用することでダウンロードが早くなり待ち時間が短縮されるようになっています。

Office 365 CDN は SharePoint Online のサブスクリプションに含まれています。

とはいえ、Office 365 CDN の利用には事前設定が必要であり、SharePoint を使い始めている組織でもこの存在をよく知らずに使っていることも少なくないようです。CDN を使うことによる問題がなければ、少しでも高速に使えるようになるので CDN はできるかぎり構成するようにしましょう。

CDN の種類

CDN にはパブリック CDN プライベートCDN の2種類があります。

---------------------------------------------------

パブリックCDN:

JS (JavaScript)、CSS (スタイルシート)、Web フォント ファイル (WOFF、WOFF2)、および会社のロゴなどの非独自のイメージに使用するように設計されています。

プライベートCDN:

画像 (PNG、JPG、JPEG など) に使用するように設計されています。

---------------------------------------------------

パブリック CDN もプライベート CDN もテナントの管理者が有効化しないと利用できないものだったのですが、2023年1月23日にプライベート CDN の構成が不要になるというアナウンスがされました。

20230127_161926

この変更は 2023年3月上旬からロールアウトが開始され同月下旬には完了を予定しているとのこと。そのため、プライベートCDNは意識しなくても自動管理されるようになるわけです。

ですが、相変わらずパブリックCDNは明示的に指定しないと利用できないため注意してください。

CDNが有効なのか確認したい

サイトの所有者またはサイトの管理者の方は、自分が使っている環境でCDNが有効化どうかを確認するには SharePoint 診断ツールを使いましょう。Edge または Chrome の拡張機能として、このツールをインストールできます。ツールの使い方は下記に公開されています。

SharePoint Online のページ診断ツールを使用する - Microsoft 365 Enterprise | Microsoft Learn

※私の執筆した「ひと目でわかる Microsoft 365 SharePoint 運用管理編」の P533 ~でもパフォーマンス診断方法として触れています。CDN に関してはあまり言及できていませんでしたけど。

このツールを実行すると、パブリックCDNが有効でない場合は次のように表示されます。

20230127_160041

ちなみに、ツールをインストールしたら SharePoint サイトにアクセスしているブラウザーを閉じるかタブを閉じて再度アクセスしないと診断ツールを起動するときに「これはSharePoint ページではない」とのメッセージがでてきます。

📗参考情報

Office 365 CDN に関する詳細情報は下記のリンクを参照してください。

2023年1月26日 (木)

以前の投稿でStream (on SharePoint) に移行ツールを使えば、Stream (クラシック)への既存のリンクはしばらくの間はリダイレクトされるという話を書きました。

🔗 SharePoint Technical Notes : Stream (on SharePoint)への移行: リダイレクトについて (lekumo.biz)

特に SharePoint ページに Stream Webパーツを使ってビデオコンテンツを配置しているケースが多いと思います。そんな中、Microsoft MVP の一人である てっちゃん (@techan_k) さんが SharePoint ページ上にある Stream Webパーツを CSV ファイルに書き出すスクリプトを公開してくれています。助かりますね。

📝 Export of Stream (Classic) Web Parts and pages that use them | PnP Samples

20230126_103356

私の方でもさっそく試してみたのですが、メモ書きを残しておこうと思います。

PnP PowerShellを使う準備

PnP PowerShell を使うため事前準備が必要です。PnP の概要などは下記にまとめています。

🔗 SharePoint Technical Notes : PnP PowerShell の概要とインストール (lekumo.biz)

実行

まずはローカルにスクリプトファイル(*.ps1)を用意します。例では "spo-export-stream-classic-webparts.ps1"というファイル名が使われているので、これにしておくとよいでしょう。ここに、GitHubに公開されているスクリプトをコピーして貼り付けておきます。

スクリプトの実行方法は上記のGitHub内およびスクリプト内のコメントにも書かれていますので確認しておきましょう。

20230125_121706

都度、サイトを指定してサイト単位で Stream Webパーツがあるページを探索することになります。

20230124_223853_2

結果はCSVファイルに出力されます。出力場所はマイドキュメント(My Documents)内に作成される "StreamClassicWebPartsReport" フォルダーです。

スクリプト実行後に、このフォルダーを開くようにしたい場合は、次のように -openFolder オプションを指定してスクリプトを実行します。

.\spo-export-stream-classic-webparts.ps1 -siteUrl "https://contoso.sharepoint.com/PnPScriptSamples" -openFolder 

実行すると「日付-サイト名.csv」という名前付け規則でCSVファイルが生成されます。ちなみにスクリーンショットでは訳があって「日付-サイトID」で生成しています。20230124_223952

このファイルを確認すれば、どのページに当該Webパーツが埋め込まれているかがわかります。

20230125_122134

注意点

最終的にはスクリプトの実行は首尾よくいったのですが、最初はいくつかのエラーに遭遇したので備忘録して残しておきます。

最初のエラーは Getting SitePages .. Started 時点で遭遇したページのエラーでした。このページを実際に開くと前に何かを試したのかページ自体がエラーとなっていました。おそらくWebパーツの不具合だったと思いますが、よくみると作りかけで実際には参照していないものであったためページ自体を削除しました。

次が Processing pages -- Started 時点のエラーで、下記が実際のエラー画面です。「フォルダーに...」というページ。

20230124_222924

なんだろうとページを開いたのですが、こちらはページ自体何も問題ない。ですが、ページの詳細を確認すると説明部分に文字化けが。。。本文に書いていた絵文字までが説明部分に追加されており、文字化けしていたわけです。Cannot read incomplete UTF-16 JSON text とエラーメッセージにあるので、これかなと詳細ウィンドウを修正し文字化けを取り除きました。20230125_091406

さて、ここまででページの取得は無事に完了したのですが、CSVファイルの出力でまたエラー。なんだろうとよくよく確認すると、運悪く対象のサイト名が「SharePoint/OneDrive/Stream の利活用」となっている。サイト名にファイル名に使用できない文字が含まれていたのです。手っ取り早く修正するためにスクリプトを修正して $site.Title を $site.ID に置き換えました。


20230124_222823

以上で無事にスクリプトが実行できたわけです。

最後に

最後に遭遇した不具合の情報を書きましたが、スクリプト自体は自分で作ると面倒ですし、そもそもPowerShellを書くための基礎知識が必要です。こうしたスクリプトを公開し共有してくれるのは、本当に助かります。

これで新しい Stream への移行が少しでもスムーズにいくといいですね。

SharePoint サイトのコンテンツを一括管理したい場合などに便利なのが PnP PowerShell です。オープンソースのコミュニティが提供しています。

本記事では PnP PowerShell の概要とインストール方法に関するリファレンスをまとめておきます。

概要

もともとSharePoint PnP (Patterns & Practices : パターンズ アンド プラクティス) イニシアティブというものがあり、Microsoft 社のコンサルタントのメンバーが 2013 年に設立したのが始まりでオープンソースの技術コミュニティです。Microsoft 社以外からも Microsoft MVP などの有志が積極的にメンバーとして貢献していますし、誰でも Contributerとして立候補もできます。

なお、このコミュニティはのちに SharePoint Developer Community という名称となり、現在は SharePoint だけでなくMicrosoft 365 全般にわたり活動しているため Microsoft 365 Platform Comunity (PnP) という名称になっています。

コミュニティでは GitHub 上で様々なガイダンス、コードサンプルや便利なツールなどを公開しています。

SharePoint PnP PowerShell 

Microsoft 365 のSharePoint の管理者が利用する SharePoint Online Management Shell も PowerShell コマンドレットを提供していますが、こちらは SharePoint テナントレベルでの管理者権限が必要であり、また SharePoint 管理センターレベルの設定を行うためのコマンド群です。サイトコレクションの管理、サイトデザインやサイトスクリプトの登録、SharePoint ハブの登録や解除などがありますが、サイトごとのコンテンツ管理までは行えません。

一方でSharePoint PnP PowerShell はもともと SharePoint Client Side API を用いたコマンドレットであり、サイトの管理者がコンテンツ管理を行えるようになっています。

👑PnP PowerShell (推奨)

従来は SharePoint に特化していた SharePoint PnP PowerShell ですが改善を続けています。現在は SharePoint 以外にも Microsoft Teams, Microsoft Planner, Power Automate などでも利用できるようになっており、名称も「SharePoint」を冠から外し単に「PnP PowerShell」と呼ぶようになっています。

PnP PowerShell はクロスプラットフォームの PowerShell モジュールとなっており、非常に多くのコマンドレッドが用意されています。この新しいモジュールは SharePointPnPPowerShellOnlineモジュールの後継となっており、従来のモジュールはすでにメンテナンスされなくなっています。新しいモジュールはクロスプラットフォーム対応となっているため Windows だけでなく、MacOSや Linux 上でも実行できます。ただし、クロスプラットフォームとして利用する場合は対象は SharePoint だけがサポートされます。

詳しくは下記のサイトを参照してください。

🔗 PnP PowerShell | PnP PowerShell

インストール方法

さて、インストールですが PowerShell 7.x を使用することが推奨されています。実際、PowerShell 5.x を使っていたとしても一部のコマンドは利用できますが、経験上エラーとなることもしばしばあるため PowerShell 7.x をインストールするようにしましょう。

インストール手順は下記の情報を参照してください。

🔗 Windows への PowerShell のインストール - PowerShell | Microsoft Learn

インストール自体は基本的には次のコマンドで行えます。

Install-Module -Name PnP.PowerShell

ただし、認証に関する設定も必要になるため注意が必要です。PnP PowerShellでは、テナントへの認証情報を使って認証することができます。ただし、基盤となる SDK の変更により、認証が可能な Azure AD アプリケーションを最初に登録する必要があります。

複数の方法が用意されており、組織によって適切な手順がことなります。詳しくは下記のページで確認してください。ちなみに、一番簡単なのは「Register-PnPManagementShellAccess」コマンドを実行することです。これで済むのが一番。。。

🔗 Authentication | PnP PowerShell

PnP PowerShellの最新版は PowerShell Gallery で確認できます。

🔗 https://www.powershellgallery.com/packages/PnP.PowerShell/