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

[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など使用したプロパティはそもそも既定値が空であるため、空の値("")を代入するだけです。

 


[SharePoint 2016] ひと目でわかる SharePoint Server 2016 発売 !

日経BP社より 「ひと目でわかる SharePoint Server 2016」がいよいよ発売されることになりました!  内容は前回と比べて大幅にリニューアルしています。

<<書籍情報>>

タイトル:ひと目でわかるSharePoint Server 2016
著者:オフィスアイ株式会社 平野愛
判型:B5変型判
ページ数:696
価格:定価3672円(本体3400円+税)
ISBN:978-4-8222-9880-7
発売日:12/23(金)

 

現在、Amazonのサイトなどで予約受付中です。 

本日見本誌も届きました。

WIN_20161215_09_59_17_Pro

今回でひとめシリーズも4冊目になりますが、今回は私の単独執筆です(執筆に結構長くかかってしまったので、実物が届いてようやくかぁと実感しているところです。。。)。最初のSharePoint 2007版を書いたのが 2006年の年末から翌年にかけてでしたから、おおよそ10年経過したことになります。

さて、内容的としてはタイトル通り SharePoint Server 2016 が中心ですが、そもそも SharePoint Server 2016 は Office 365 の SharePoint Online がベースとなっているため、Office 365 をご利用の方でも多くが参考になると思います。

「ひと目でわかるSharePoint Server 2013」より、さらに100ページ多くなってしまいましたが、なるべく利用者が操作に迷わないよう、前作での反省点も踏まえ、手順説明など補足したり大幅に変更したりしていますので、従来版をお持ちの方も手に取ってみていただければ幸いです。


[SP2016] MinRole の役割変更

SharePoint 2016 から MinRole の概念が導入されています。サーバー構成時にフロントエンド、検索、アプリケーションなど役割を指定できるようになっています。しかし、検証環境では最初に "単一サーバーファーム(Single Server Farm)" としてインストールすることも多いでしょう。これを後から役割変更できるのですが、意外にうまくいかないようです。確実に成功させるには "ファーム構成ウィザード" 実行前に役割を変更することです。実行後の変更は結構やっかいであるようです。

役割変更はサーバー全体管理サイトからでもPowerShellからでも行えます。ファーム構成ウィザード実行後に例えばアプリケーションの役割に変更しようとしてもサーバー全体管理サイトからの設定ではエラーが発生します。英語版でも試しましたが同様です。

2016-10-30_16-25-59[システム設定]>[このファームの役割を変換する]から変更

2016-10-30_15-46-53 Event ID : "a72id" というエラーが発生する

ファーム構成ウィザード実行前だと成功します。

2016-10-30_17-14-38

2016-10-30_17-28-15

この対処方法としては下記のブログ記事のように構成データベースのでタッチとアタッチが有効ですが、試すとサーバー全体管理サイトのサービスがホストされなくなるようで、これをPowerShellにより個別に開始する必要がでてきます。

このため、すでにファーム構成ウィザードを実行済みの場合は、役割変更はWindows PowerShellから実施とこのようなエラーにはならないようです。コマンド実行後、タイマージョブにより設定が変更されるため数分待つ必要があるので注意しましょう。サーバーの状態を見て"アプリケーション" となっていれば基本的にはよいのですが MinRole への準拠が "いいえ" となり表示される "修正" をクリックすると 単一サーバーファームへとロールが戻ってしまう現象が発生しています。

まずは、セットアップしに役割変更しなくて済むように構成しておくことが大切だといえそうです。またファーム構成ウィザード実行前ならまだ間に合うといったところですこの問題への対処は追加情報が分かり次第、追って記載したいと思います。


[SP2016] サーバーの状態が "アップグレードが利用可能" のままになる

SharePoint Server 2016 のサーバーの全体管理サイトで「ファームのサービスを管理」を確認するとサーバーの状態が "アップグレードが利用可能" となっていることがあります。CUを適用後に製品構成ウィザードを実行したのにも関わらず消えない。

2016-10-24_18-08-17

これについてはサポート技術文書が公開されています。

"Upgrade Available" status in new SharePoint Server 2016 farm

解決方法としては 次の方法があります。

  1. SharePoint 2016管理シェルを使ってサーバー全体管理サイトのデータベース内のコンポーネントをアップグレードする
  2. 製品構成ウィザードをコマンドから実行する

私の環境では1は効果がなく、2を実行することで問題が解消しました。

PSConfig.exe -cmd upgrade -inplace b2b -wait -force -cmd applicationcontent -install -cmd installfeatures -cmd secureresources