2013年3月19日火曜日

【SharePoint2010】標準機能メニューの表示を制御する方法




個人設定などのSPS標準メニューを削除したいという要望はよくある。
調べたところ、SPSサーバーのカスタマイズテンプレートを修正することで
表示非表示を切り替えられる。

ただし、ファーム全体に影響があるため、画面ごとの切り替えはできない。

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES


例えば、個人用プロファイルメニューを非表示にする場合、
下記のタグを削除して保存すれば作業完了。
クライアント側で画面を読み込むと即座に反映される。

Welcome.ascx


2013年3月15日金曜日

【SharePoint2010】[検証の設定]機能に物申す!

SPS2010にはフォームに入力した値のバリデーションをチェックできる機能が標準で付いている。

設定できるものは、以下のとおり。
・検証条件
・エラーメッセージ



今回1つ目の検証条件についてモノ申したい!
検証条件に、「〇〇が△だったら。。。」のような条件をできるのだが、
これは、検証に合格する条件を記載する必要がある。

検証に合格するには、この数式の評価が TRUE になる必要があります。


この画面構成で、数式を記載するとなったらどう見てもエラーの条件を
記載すると思うのは私だけでしょうか。
だって数式の下にエラーメッセージが記載するところがあるんですよ。

”直感的” この言葉を再認識したところでした。。。。
皆さんどう思います!?









2013年3月7日木曜日

【SharePoint2010】PowerShellでアイテムの作成者、更新者、作成日、更新日を変更する方法


# 作成者、更新者を変更
function ChangeCreatedUpdated([String] $sitePath, [String] $listName)
{
$sitePath = $sitePath.Split(" ")[0]
#Get web and document library objects
$web = Get-SPWeb $sitePath
$CustomList = $web.Lists[$listName]
    $SPListItemCollection = $CustomList.Items
    write-host "Update" $_.Name "to" $CustomList.Title "in" $web.Title "..."

    foreach ($ListItem in $SPListItemCollection) {
        $ListItem["Created"] = (Get-Date).AddDays(1)
        $ListItem["Modified"] = (Get-Date).AddDays(2)
        $SPFieldUserValue = New-Object Microsoft.SharePoint.SPFieldUserValue($web,<ユーザーID>,<#付きのユーザー名>)
        $ListItem["Author"] = $SPFieldUserValue    
        $ListItem["Editor"] = $SPFieldUserValue
        $ListItem.SystemUpdate($false)
}
$web.Dispose()
}