Aus der Praxis – Dokumentenmappen Willkommenseite reparieren
Neulich kam ein Kollege mit einem Problem zu mir: Um einen Fehler bei einem Kunden zu beheben, musste er das “Dokumentenmappen” Feature deaktivieren und wieder neu aktivieren. Dabei werden allerdings die Willkommenseiten aller Dokumentenmappen in dieser Websitesammlung in Mitleidenschaft gezogen (sie werden danach leer angezeigt).
Zum Glück gibt es aber einen Schalter um die Willkommenseiten wiederherzustellen: Unter Websiteeinstellungen – Websiteinhaltstypen den Inhaltstyp Dokumentenmappe anklicken. Dort findet sich unter “Einstellungen für Dokumentenmappe” dieses Kästchen:
Hier einfach den Haken setzen und OK klicken und die ursprüngliche Willkommenseite wird wieder auf alle Dokumentenmappen verteilt.
Etwas komplizierter ist es, diesen Vorgang per PowerShell Skript auszulösen, denn hierfür muss die Willkommenseite aus- und wieder eingecheckt werden, damit sie als “dirty” markiert ist. Danach wird ein Update auf das DocumentSetTemplate mit dem Parameter “$true” (alle Inhaltstypen, die Einstellungen von diesem Typ erben, aktualisieren) durchgeführt. Inklusive dem reaktivieren des Features sieht das Ganze dann so aus:
# url of the site collection
$site = Get-SPSite http://sp2010demo/
# deactivate and activate feature
$guid = new-object Guid(“3bae86a2-776d-499d-9db8-fa4cdc7884f8”)
Write-Host “Deactivate Feature”
$site.Features.Remove($guid, $true)
Write-Host “Activate Feature”
$site.Features.Add($guid)
# get document set content type
Write-Host “Push down default homepage”
$web = $site.OpenWeb()
$ct = $web.ContentTypes | where { $_.Id -eq “0x0120D520” }
# check out and in homepage
$file = [Microsoft.Office.Server.Utilities.ContentIterator]::GetFileInFolder($ct.ResourceFolder, “docsethomepage.aspx”)
$file.CheckOut();
$file.CheckIn(“”);
# push down update
$temp = [Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetTemplate]::GetDocumentSetTemplate($ct)
$temp.Update($true);
Der Vorteil vom Skript: Es lässt sich mit wenigen Änderungen so anpassen, dass es diese Aktualisierung für alle Websitesammlungen ausführt.