"SharePoint 2016" にカテゴリー登録されている39 投稿

SharePoint Server 2016 の製品サービス ポリシーの更新

Microsoft の Stefan さんのブログによると "SharePoint Server 2016 の製品サービス ポリシー" が従来の SharePoint とは大幅に異なるとのこと。

Updated Product Servicing Policy for SharePoint Server 2016

まず、 SharePoint Server 2016 ではサービス パックをリリースする予定はない ということです。

これに伴い、メインストリーム サポート期間中は毎月 CU または PU をリリースします。原則はベースラインとなる PU から 1年間ごとにサポート期間が変わるため、平たく言えば、最新の CU または PU を継続的に適用する必要があるということです。

製品サービスポリシーのタイムラインは次の通りとなっています。

SharePoint Server 2016 Support End Date
RTM (16.0.4351.1000) – April 2017 Public Update 4/30/2018
May 2017 Public Update – April 2018 Public Update 4/30/2019
May 2018 Public Update – April 2019 Public Update 4/30/2020
May 2019 Public Update – April 2020 Public Update 4/30/2021
May 2020 Public Update – April 2021 Public Update 4/30/2022
May 2021 Public Update – all future Public Updates 7/14/2026

SharePoint 2013 までは 「Windows OS レベルのパッチ適用はするが、SharePoint のパッチ適用は全く行わない」という方針をとっている企業も多いようです。しかし、SharePoint Server 2016 では更新プログラムのサイズも小さくなり、ゼロダウンタイムパッチングも可能になりました。またクラウド上の SharePoint Online ほど急速には変化しないものの、適宜機能拡張も行われているため、段階を経ながら SharePoint Online に近い環境を手に入れることができます。そういった観点からも、SharePoint Server 2016 では更新プログラムの適用を積極的に行っていく運用体制づくりが欠かせなくなっています。


[SharePoint] サイトのユーザーの部署情報などをExcel から取得する

SharePoint のリストやライブラリのビューは Excel にエクスポートできますが、部署情報なども含めてエクスポートしたいというニーズも多いでしょう。しかし、意外に簡単ではありません。

そこで、 Excel アドインであるで Power Query を使って、サイトに登録されているユーザー情報(UserInfo)を取得する方法を紹介します。この方法を覚えておけば、リストやライブラリからエクスポートしたデータと組み合わせ vlookup 関数など組み合わせて利用することで部署、肩書、電子メールアドレスなどをマップできるようになります。

 

 


SharePoint 2016 では検索の MaxDownloadSizeExcel の既定値が異なる

SharePoint 2013 / 2016 の検索コンポーネントではクロール時にダウンロードできる最大ファイルサイズが PowerShell から確認および設定できます。クローラ―は可能な限り最大値まで各ドキュメントをダウンロードしてきて、その後、コンテンツ処理コンポーネントに情報を渡してワードブレークなどの形態素解析を行い、インデックスを生成するわけです。

さて、SharePoint 2013 ではExcel 以外のドキュメントに対する最大ダウンロードサイズ : "MaxDownLoadSize" プロパティの既定値は 64MBであり、Excel の方の"MaxDownLoadSizeExcel" の値は 3MB となっています。PowerShell で確認してもそうなっています。

しかし、念のため SharePoint 2016 でも設定値を確認すると、"MaxDownLoadSize" プロパティの既定値は同じですが、Excel の方の"MaxDownLoadSizeExcel" の値が 4MB になっている! 

2017-03-05_8-19-56

TechNet の「Software boundaries and limits for SharePoint Server 2016」でも3MBが上限と書かれているのですけど、実際には違いますね。ドキュメントではなく実機の値が "正" でしょうね。


[SharePoint] Wiki ページライブラリの "ホームページ" について

SharePoint 上でチーム サイトを作成すると Wikiページライブラリが 「サイトのページ」という名称で自動作成されます。Wikiページライブラリはサイト内に複数追加できるため、用語集、製品情報などの情報で分類したりもできます。

さて、この Wiki ページライブラリには "ホーム ページ" があります。"ホーム ページ" というと、インターネットに公開されているWebサイト全般のことを思い浮かべる方も多いかもしれませんが、"最初に表示されるページ" という狭義が本来あります(厳密にはサイト内の特定のページまでアドレス指定しなくてもサイトのURLまで指定すれば勝手に表示される既定のページです)。

Wiki ページ ライブラリを新規に追加すると次の 2つのページが同時に自動生成されます。

  • ホーム.aspx
  • このライブラリの使用方法.aspx

このうち、ホーム.aspx が Wiki ページ ライブラリのホームページであり、Wiki ページライブラリのURLまで指定したときに最初に表示されるページとなります。サイドリンクバーなどに[最近使った項目]見出し配下に表示される Wikiページ ライブラリのURLをクリックすると既定では ホーム.aspx が表示されます。

さて、ここから開発面でのお話です。

Wiki ページライブラリのRootFolderオブジェクトには WelcomePageプロパティがあります。新規作成のWikiページライブラリなどは既定値が "ホーム.aspx" になっています。この値は変更できるため、同一ライブラリ内の任意のWikiページをホームページとして設定できます。たとえば、「Wikiページライブラリのホームページとなるページのタイトルが常に "ホーム" と表示されるのは、サイトのホームページと混同するので変えたいといったニーズがあれば、知っていると役立ちます。

JavaScript Object Model の例)

//Wiki ページライブラリのホームページの確認
...
var ctx=new SP.ClientContext();
//リストのオブジェクトを取得
var list = ctx.get_web().get_lists().getByTitle("Wikiページライブラリの名前");
var rootFolder=list.get_rootFolder();
ctx.load(rootFolder);
ctx.executeQueryAsync(function(){
//成功時のハンドラ
alert("結果 : rootFolder.get_welcomePage());
//set_welcomePage()メソッドの引数に任意のページを指定すればよい。最後RootFolderのupdate()メソッドを忘れずに!
},
function(){//失敗時のハンドラ});

[SharePoint 2016] SuiteBar の設定変更

SharePoint 2016 ではSuiteBarの設定は変更できるのか? という記事です。まずはおさらいから。

SharePoint 2013 でのおさらい

SharePoint 2013 では SuiteBar (スイートバー)の左側の "SharePoint" という文言をファーム管理者が変更できました。SuiteBar とは下図のところです。

SuiteBarSP2013

ファーム管理者は次のような PowerShellのコマンドを実行して変更できます。

[既定値の取得]

Add-PSSnapin Microsoft.SharePoint.PowerShell
$webApplication=Get-SPWebApplication "http://sp2013"
$webApplication.SuiteBarBrandingElementHtml

上記コマンドを実行すると下記のような出力が得られます。

<div class="ms-core-brandingText">SharePoint</div>

ということで、単純にHTMLが記載されているだけなので、下記のようにして変更できます。

$webApplication.SuiteBarBrandingElementHtml="<div class='ms-core-brandingText'>オフィスアイ社内ポータル</div>"
$webApplication.Update()

ちなみに、この設定はSharePoint Webアプリケーション単位の設定であるため、たいていの場合、組織全体のサイトで一括設定しかできません。

SharePoint 2016 では? 

SharePoint 2016 ではどうだろう? と検証してみました。SharePoint 2016での表示は次の通りです。

SuiteBarSP2016

2013と同様にSuiteBarBrandingElementHtmlプロパティは取得できます。しかし、SuiteBarBrandingElementHtmlの値を更新しても、何も変化しない。これは仕様なのかは不明ですが。そのためSharePoint 2016 では表記の変更はSuiteNavBrandingTextプロパティを利用しましょう。

$webApplication.SuiteNavBrandingText="オフィスアイ"
$webApplication.Update()

  SuiteBarSP2016-update

SharePoint 2016 では次のコマンドを実行すると Office 365 と同様にロゴを表示することもできます。

$webApplication.SuiteNavBrandingLogoNavigationUrl = "http://sp2016-a/sites/SiteBranding"
$webApplication.SuiteNavBrandingLogoTitle = "オフィスアイ デモサイト"
$webApplication.SuiteNavBrandingLogoUrl="/_layouts/15/images/officei/office-i-logo.png"
$webApplication.Update()

SuiteBarSP2016-update2

元の設定に戻す場合はSuiteNavBrandingTextやSuiteNavBrandingLogoNavigationUrlなど使用したプロパティはそもそも既定値が空であるため、空の値("")を代入するだけです。