Zum Inhalt springen 2sic internet solutions - 20 Jahre

20 Jahre 2sic, ein guter Zeitpunkt um zu reflektieren

Wir haben in den vergangenen Tagen und Wochen die 20 Jahre in unserem Unternehmen Revue passieren lassen:

 

2sic-20

 

Der erste Tag vor 20 Jahren, Startschuss zweier Enthusiasten, die das Internet revolutionieren würden. Vieles ist seitdem geschehen - das Smartphone hat die Welt verändert, die Digitalisierung ist auf dem Vormarsch und sogar das Internet wurde zur Revolution.

Die Rückschau erfüllt uns mit Freude und Stolz – durch so manche Herausforderung durften wir an Erfahrung wachsen und dank unserer Kunden und Freunde viel lernen. Wir danken allen für ihre Ideen, Treue und Unterstützung und freuen uns auf weitere revolutionäre 20 Jahre! Erleben Sie hier nochmals die 20 Jahre im Zeitstrahl... 

Daniel Mettler und das 2sic Team

Migration einer SharePoint Website auf eine andere Websitevorlage

SharePoint

Im Microsoft SharePoint ist es grundsätzlich nicht möglich, bei einer bestehenden Website die Website-Vorlage auszutauschen. Der einzige Weg dies zu erreichen, ist eine neue Website mit der gewünschten Vorlage zu erstellen und den gewünschten Inhalt irgendwie übernommen. In diesem Beitrag zeige ich, welche Möglichkeiten es gibt und wie dieser Schritt mit zwei PowerShell-Scripts sehr einfach automatisiert werden kann.

Wird im SharePoint beispielsweise eine Teamwebsite erstellt, bleibt diese für immer eine Team-Site. Soweit so gut. Wenn aber z.B. im früheren SharePoint 2010 ein Besprechungsarbeitsbereich (Meeting-Workspace) erstellt wurde, kann diese im SharePoint 2013 zu einer Herausforderung werden, da diese Website schlicht nicht mehr funktioniert. Wenn die Website also noch benötigt wird, muss diese auf eine andere Vorlage migriert werden.

Ein anderes Praxisbeispiel ist, dass früher einmal mit dem Project Server experimentiert wurde und darauf produktiver Inhalt erstellt wurde. Jetzt will man aber den Project Server nicht mehr betreiben. So müssen alle noch benötigten Project-Websites migriert werden auf andere Websites. Ähnliches trifft zu, wenn man ein Downgrade von SharePoint Standard auf SharePoint Foundation durchführen will.

Zur Unterstützung der Datenmigration gibt es entweder umfangreiche Enterprise-Lösungen von Drittherstellern wie MetaLogix, AvePoint oder Sharegate. Über PowerShell können diese Schritte aber auch sehr leicht automatisiert werden, ohne Dritthersteller-Tools.

Schritt 1: Alle Listen exportieren auf das Datei-System

Als ersten werden von einer Website alle Listen und Bibliotheken einzeln exportiert auf das Dateisystem. Falls gewünscht kann der Export jetzt oder später noch gefiltert werden, sodass z.B. versteckte Listen wie die Benutzerinformationsliste ausgeschlossen werden. Der Befehl Export-SPWeb erstellt standardmässig komprimierte cmp-Dateien. In Einzelfällen empfehle ich aber -NoFileCompression zu verwenden, weil das Export-Format für den Menschen lesbarer ist. Der Export-Vorgang dauert aber dann ca. 30% länger.

$sourceWebUrl = "https://contoso.ch/alte_website"
$backupFolder = "C:\Backup\alte_website\"
$sourceWeb = Get-SPWeb $sourceWebUrl
$sourceWeb.Lists | ForEach-Object {
$list = $PSItem
$backupPath = $backupFolder + $list.Title + ".cmp"
$itemUrl = "/" + $list.RootFolder.Url
Write-Host "Will Backup $($list.Title) URL $itemUrl" -ForegroundColor Yellow
Export-SPWeb $sourceWeb -Path $backupPath -ItemUrl $itemUrl -IncludeVersions All -IncludeUserSecurity -NoFileCompression
}

Schritt 2: Importieren der gewünschten Listen

Mit dem vorherigen Script wurden alle Listen exportiert auf das Dateisystem. Von Dateisystem werden sie nun wieder importiert auf der neuen Ziel-Website. Falls einige Listen nicht importiert werden sollen, empfehle ich einfach die entsprechende Backup-Datei zu löschen (bzw. den Backup-Ordner bei der NoFileCompression-Methode).

$backupFolder = "C:\Backup\alte_website\"
$targetWebUrl = "https://contoso.ch/neue_website"
Get-ChildItem "$backupFolder\*.cmp" | ForEach-Object {
$backupPath = $PSItem.FullName
Write-Host "Will Restore $($PSItem.Name)" -ForegroundColor Yellow
Import-SPWeb $targetWebUrl -Path $backupPath -IncludeUserSecurity -NoFileCompression
}

Vorteile dieses Lösungsansatzes

  • Sehr schlanke und schnelle Lösung
  • Spart im Vergleich zu einer manuellen Migration der Listen und Bibliotheken mehrere Stunden Arbeit
  • Alle Versionen und Berechtigungen können übernommen werden
  • Es wird ein Standard-Tool von Microsoft verwendet
  • Es muss keine zusätzliche Software evaluiert, installiert oder lizenziert werden
  • Da alle Listen als XML-Dateien abgebildet werden, können, falls gewünscht, kleinere Korrekturen durchgeführt werden, die sonst umständlich bis unmöglich wären (z.B. löschen von beschädigten Spalten oder fehlenden Feldtypen am Zielort) – mit entsprechender Vorsicht!

Einschränkungen dieses Lösungsansatzes

  • Unterwebsites (Subsites) müssen einzeln exportiert und wieder importiert werden
  • Website-Einstellungen und Workflow-Verlauf werden nicht übernommen
Tag:

Daniel Mettler

Der Lebensweg, wie auch der berufliche Werdegang von Daniel Mettler ist ungewöhnlich. Er ist im Dschungel von Indonesien aufgewachsen und erlernte bereits im jugendlichen Alter von 12 die Programmiersprache Basic. Heute, mit erst 40 Jahren, kann er zurückblicken auf bereits 20 Jahre Erfolgsgeschichte – er ist der Inhaber (Gründer) der 2sic Internet Solutions GmbH (CH und FL), CEO von einem 20-köpfigen Team von Web-Spezialisten mit über 1000 DNN Projekten. Nennenswert ist auch, dass er der leitende Architekt von 2sxc ist, einem Open-Source Modul für die Erstellung von attraktivem Inhalt und DNN Applikationen.

Lesen Sie mehr Beiträge von Daniel Mettler