2013年4月9日火曜日

◆SharePointのサイトテーマを設定する

ここのところSharePoint2013をセットアップしていたのだが、結局その使用を断念することになった。

SharePoint2013ではデフォルトの認証方式が「クレームベース」に変更されている。(クレームベース自体はこれまでもあったのだが、デフォルトでは無かったのであまり使われていなかったのではなかろうか)

で、「クレームベース」とやら、具体的に何が違うのかは良く判らないのだが、とにかく色々と非互換がありそう。

さしあたって「InfoPath」がさっぱり動かない。
軒並みコーディング変更まで必要になりそうな気配。

ならばと、「クレームベース」を止めてこれまでのデフォルト(Classicだったかな)に戻すと、「WebApps」が動かなくなると脅される。

ん~、相変わらずSharePointはカオスだ。

結局ざっと眺めた感じでは2013に魅力的な機能は見当たらないので(イントラネット向けではないのかも)、苦労して2013にするメリットは無いと判断した。

そもそも「InfoPath」自体、印刷がさっぱりであまり使い物にならないので、いずれ撤退して、SharePoint2020あたりでの移行を目指すか(笑)

 

愚痴はさておき、SharePointサイトのテーマを設定する。

GUIでは「サイトの操作」「サイトの設定」「外観」「サイトのテーマ」から設定することができる。
image

これを見ると、親サイトのテーマを変えるとサブサイトのテーマも一気に変更してくれる。

っと思うのが普通だが、サブサイトのテーマは一向に変わってくれない。
サブサイト側の設定は確かに継承設定に変更されるのだが、
image

テーマ自体が反映されない。

なんともはや・・・。

仕方がないので、スクリプトで一律変更することにした。

あまり自信はないがこんな感じだろうか。

001
002
003
004
005
006
007
008
009
010
011
012
013

Add-PSSnapin Microsoft.SharePoint.PowerShell
$root = "http://svname/sites/root1"
$themeFile = "_catalogs/theme/Vantage.thmx"

#テーマ更新
$rootSite = Get-SPSite 
$root
$web
 = Get-SPWeb "$root/sub1"
$theme =
 
 
[Microsoft.SharePoint.Utilities.ThmxTheme]::Open($rootSite,$themeFile)
$theme.ApplyTo($web,$false)
$web.Update()
$web.Dispose()
$rootSite.Dispose()

ここでは「Vantage」というテーマを指定している。
image

対応する名前は以下のスクリプトで取得可能。

>[Microsoft.SharePoint.Utilities.ThmxTheme]::GetManagedThemes($rootsite) | select name

image

 

あーっ!!判った。
image

これを設定するタイミングでテーマも変更してあげないといけないようだ。
なので今のテーマを一律子供に反映したいときは、一旦別のテーマにしてから戻してあげると良さそう。

SharePoint恐るべし。

0 件のコメント:

コメントを投稿