SharePoint 2016 Site Collections super schnell erstellen

Microsoft hat uns mit SharePoint 2016 eine kleine aber feine Rafinesse zur Verfügung gestellt, wenn wir Site Collections erstellen möchten. Jeder Farmadministrator, der "mal schnell" eine Site Collection erstellen musste, kennt folgendes Szenario sicher: Nach dem Absenden der Erstellung holen wir uns erst einmal einen Kaffee, so wie wir es früher beim Start langsamer Computer gemacht haben. Denn eine Erstellung dauert ungefähr 40 (+/-) Sekunden, bis die Seite wirklich da ist.

Wenn ich nun in einem Unternehmen die Richtlinie verfolge, dass pro Projekt oder Mandant oder Kunde eine Site Collection erstellt werden muss, dann kann dies bei größeren Firmen zu sehr viel Wartezeit führen. Microsoft hat für dieses Szenario eine "Kopieren und Einfügen" Funktion für Site Collections eingebaut. Statt 40 Sekunden braucht dieser Prozess nur noch eine Sekunde. Um diese Funktion zu nutzen, benötige ich zwei Schritte:

  1. Eine Vorlage für das "Fast-Site-Creation" Verfahren aktivieren
    Enable-SPWebTemplateForSiteMaster -Template "STS#0" -CompatibilityLevel 15
  2. Diese Vorlage dann als Master in einer ausgewählten Datenbank abspeichern
    $DB = Get-SPContentDatabase -site https://WebApp/sites/TeamSite
    New-SPSiteMaster -ContentDatabase $DB -Template "STS#0"

Ist dies erledigt, so sehe ich auch in meiner Zentraladministration, dass ein Site-Master als Site Collection angelegt wurde.

Als nächstes kann ich bereits mit dem richtigen PowerShell Befehl eine Site in Windeseile erstellen lassen.

New-SPSite https://WebApp/sites/Fast -Template "STS#0" -ContentDatabase "P_SP_Content_Intranet" -OwnerAlias "Contoso\administrator" -CreateFromSiteMaster

 

Was müssen wir berücksichtigen?

  1. Sie sehen an dem Befehl, dass der einzige Unterschied zu einem normalen Erstellungsprozess der Switch "-CreateFromSiteMaster" ist. Ohne diesen wird die Site nach dem Standard-Verfahren erzeugt. Auch das Erstellen über die Zentraladministartion verwendet den Standard-Prozess, sodass diese neue Funktion wirklich nur per PowerShell zur Verfügung steht.
  2. Dieser neue Prozess erstellt die Seite auf Datenbankebene. Damit ersparen wir uns einiges an "Hin und Her" zwischen SharePoint and SQL Server, weil eben nicht das SharePoint Object Model verwendet wird. ABER, dies bedeutet gleichzeitig, dass nicht alle Features aktiviert werden können. Microsoft weist aber freundlich beim Erstellen das Site-Masters darauf hin, dass basierend auf der verwendeten Vorlage (- auch angepasste Vorlagen sind möglich -) noch bestimmte Features nachträglich aktiviert werden müssen, weil dies nicht für alle möglich ist. Mit dem Get-SPSiteMaster Befehl kann dies auch nachträglich herausgefunden werden. Dies ist interessant für Entwickler, deren Anpassungen bestimmte Features benötigen. Solche müssen somit noch explizit nach der Kopie zu einer neuen Site Collection aktiviert werden.

Fassen wir die Befehle noch einmal zusammen:

Enable-SPWebTemplateForSiteMaster Aktiviert die entsprechende Vorlage für denFast-Site-Creation Prozess
Disable-SPWebTemplateForSiteMaster Deaktiviert entsprechende Site Collection
Get-SPWebTemplatesEnabledForSiteMaster Zeigt alle Vorlagen an, die für denFast-Site-Creation Prozess aktiviert wurden
Get-SPSiteMaster Zeigt einen entsprechenden Site-Master an(um z.B. die zu aktivierenden features erneut zu identifizieren)
New-SPSiteMaster Erstellt einen neuen Site-Master
Remove-SPSiteMaster Löscht einen Site-Master

Habe Sie beispielsweise ein "Self-Service-Portal" auf Basis von PowerShell zur Provisionierung von Site Collections, dann empfehle ich dieses Feature zu nutzen, weil die Endbenutzer so noch schneller ihre angeforderte Seite zur Verfügung gestellt bekommen.

Also viel Spaß beim "SharePointen"!