• home
    • news & events
    • blog
  • über uns
    • projekte und referenzen
    • partner
    • produkte & technologien
    • offene jobs / stellen
    • veröffentlichungen
  • dienstleistungen & services
    • software design & architektur
    • software entwicklung
    • beratung / consulting
    • training, kurse und workshops
  • angebote
    • quick-starts
    • trainings und kurse
    • modulare sharepoint 2010 workshops
  • kontakt
"Wir sprechen SharePoint."
In Code und Klartext.
Seit über 100 Jahren.
Diesen Blog abonnieren
Subscribe in NewsGator Online Add to My AOL
Add to Google Reader or Homepage Add to netvibes

Aktuelle Posts

Ribbon Designer für SharePoint und Office365
Mapping Boolean Properties in a Custom Nintex Workflow Action
SharePoint Designer, Literals und das __designer:Preview Ärgernis
Spellcheck: Anpassen (Customizing) des Content Editors
Access Services - the Big Picture

Archiv

Mai 2012 (1)
April 2012 (5)
März 2012 (5)
Februar 2012 (7)
Januar 2012 (4)
Dezember 2011 (2)
November 2011 (10)
September 2011 (3)
August 2011 (7)
Juli 2011 (1)
Juni 2011 (3)
Mai 2011 (6)
April 2011 (5)
März 2011 (8)
Februar 2011 (8)
Januar 2011 (4)
Dezember 2010 (5)
November 2010 (7)
September 2010 (6)
August 2010 (2)
Juli 2010 (11)
Juni 2010 (13)
Mai 2010 (11)
April 2010 (4)
März 2010 (6)
Februar 2010 (2)
Januar 2010 (6)
Dezember 2009 (4)
November 2009 (13)
Oktober 2009 (17)
September 2009 (2)
Juli 2009 (2)
März 2009 (2)
Januar 2009 (1)

1stQuad ist Microsoft Certified Gold Partner und bietet SharePoint und .NET Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad ist MatchPoint Partner und bietet MatchPoint Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad ist Nintex Partner und bietet Nintext SharePoint Workflows Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad ist Balesio Gold Partner und bietet SharePoint FILEMinimizer Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
1stQuad Solutions ist Kentico Certified Solution Partner und bietet Produkt- und Projekt-Kompetenz, -Erfahrung und -Know-How für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Schweiz sowie Deutschland und Östereich.
© 2011 1stQuad Solutions
Alle Rechte vorbehalten
> Impressum
Wir bieten Microsoft SharePoint und .NET Projekt- und Produkt-Know-how, Kompetenz und Erfahrung für Entwicklung, Architektur, Beratung, Schulung, Training und Kurse in Zürich, Bern, Basel, Schweiz sowie Deutschland und Östereich.

Blog > Februar 2012

Migration: Wiki & abhängige Bilbliotheken in bestehende Struktur migrieren

.SharePoint Migration gehört zum Daily Business, aber diese war doch etwas speziell: Es sollten einzelne Listen und Bibliotheken von SharePoint 2007 auf 2010 migriert werden, darunter ein Wiki mit Bildern und Listen-WebParts auf den Seiten - und das Ganze auch noch in eine bestehende SharePoint 2010 Site. Wie das ganz ohne zusätzliches Tool geht zeigt dieser Beitrag

Veröffentlicht am 14.02.2012 11:13:22 von Michael Hofer mit 0 Kommentar(en)

Ausgangslage

Der Kunde hat ein bestehendes SharePoint 2007 Wiki mit mehreren hundert Seiten auf denen ingesamt fast 1000 Bilder enthalten sind. Einige Wiki-Seiten beinhalten auch Listen-Webparts, welche Listen respektive Bilbiotheken anzeigen, die auf derselben Site verwaltet werden.

Anforderungen

Das SharePoint 2010 Wiki inklusive alle abhängigen Listen und Bibliotheken soll
  • nach SharePoint 2010 migriert werden,
  • ohne zusätzliche 3rdParty-Migrationstools, maximal mit PowerShell-Unterstützung,
  • mit allen Versionen, Berechtigungen, Autoren-Informationen usw.,
  • In eine besehende SharePoint Site aufgenommen werden, die relativ zur Site Collection in einem anderen Pfad liegt

Analyse / Findings

Die Migration selber ist sehr einfach und ohne Probleme: Die Site Collection, welche das Wiki enthält in eine separate Content-Datenbank verschieben, diese am 2010er System anhängen und mittels Mount-SPContentDatabase migrieren lassen.

Nun sind alle Listen und Bilbiotheken unter SharePoint 2010 verfügbar in einer eigenen Site Collection und es geht einzig und allein darum, diese in die bestehende SharePoint Site zu verschieben. Hierfür habe ich verschiedene Wege genommen, welche allerdings alle auf die eine oder andere Weise nicht zum Ziel geführt haben:
  • Backup/Restore der Site: Es wurde ein Bacjkup der Site erstellt und unterhalb der Ziel-Site wieder hergestellt. Allerdings können die Listen & Bilbiotheken mit Bordmitteln nicht über die Site-Grenzen verschoben werden. Bewegen der einzelnen Elemente über den SiteManager geht nur für Dokumente und ist nicht ganbar, da die Bilder in einer tiefen Verzeichnisstruktur in der Bilbiothek hinterlegt sind und diese zuerst manuell vorängig angelegt werden müsste - ganz zu schweigen davon, dass die Bilder dann je Ordner verschoben werden müssten. Zudem werden die Listen-WebParts auf den Wiki-Seiten nicht angzeigt wenn man die Seiten verschieben, da diese auf eine andere WebID zeigen.
  • Backup/Restore der einzelnen Bilbiotheken und Listen: Dies schien der logische Weg zu sein. Es wurden ein Backup aller voneinander abhängigen Listen und Bilbiotheken erstellt und diese auf der Ziel-Site wieder hergsestellt. Hat aber auch nicht funktioniert, da die Pfade zu den Bildern auf den Wiki-Seiten nach wie vor den (Site-Collection-relativen) Quell-Pfad aufweisen. Dasselbe gilt für die WebParts.
Keiner dieser beiden out-of-the-box Wege schien zum Ziel zu führen. SharePoint bietet sehr begrenzte Out-of-the-box Möglichkeiten um Listen-Elemente respektive Dokumente zu verschieben, insbesondere dann, wenn es sich auch noch um Web-Seiten handelt, die Links enthalten können. Natürlich gibt es 3rdParty Tools hierfür (ein sehr starkes sind übrigens die noch recht unbekannten ShareGate Tools), aber wie gesagt war die Idee, mit out-of-the-box Mitteln zu Arbeiten.

Lösung

Wenn man sie kennt, dann ist die Lösung wie immer sehr einfach:
  • Site Collection auf SharePoint 2010 migrieren
  • In migrierter Site Collection
    • Gewünschte, voneinander abhängige Listen & Bibliotheken exportieren/backupen
    • Site-Collection-Relative Ziel-URL-Struktur erstellen und
    • Listen und Bibliotheken wieder importieren/restoren - jetzt haben alle Elemente die richtigen Site-Collection-relativenURLs
    • Listen und Bibliotheken noch einmal exportieren/backupen
  • In Ziel-Site
    • Listen und Bibliotheken wieder importieren/restoren - jetzt haben alle Elemente die URLs
Der wichtige Zwischenschritt ist also der, dass man sicherstellt, dass alle Elemente den richtigen Site-Collection-Relativen URL haben, den dieser wird beim exportieren/importieren mitgegeben. So werden auch in der Ziel-Site alle Bilder und sogar Listen-WebParts richtig angzeigt und das Wiki funktioniert wie bisher.

Resourcen
Folgende sehr einfach PowerShell Scripts habe ich für die Automatisierung des Migrationsvorgangs verwendet:


Add-PsSnapIn Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

Mount-SPContentDatabase WSS_Content_MyTools -WebApplication http://<MyMigrationWebApp> -ClearChangeLog -UpdateUserExperience

## To be executed on the migration server
$SourceBaseUrl = "http://<MyMigrationWebApp>/sites/MyTools"
$SourcePath = "C:\1stQuad\MyToolsMigration\SpBackups"

Get-SPWeb $SourceBaseUrl | export-spweb -Path "$SourcePath\Site\MyTools.cmp" -IncludeUserSecurity -IncludeVersions All

New-SPWeb "$SourceBaseUrl/Sub1" -Template STS#0
New-SPWeb "$SourceBaseUrl/Sub1/Sub2" -Template STS#0
New-SPWeb "$SourceBaseUrl/Sub1/Sub2/Sub3" -Template STS#0

Import-SPWeb "$SourceBaseUrl/Sub1/Sub2/Sub3" -Path  "$SourcePath\Site\MyTools.cmp" -IncludeUserCustomAction All -IncludeUserSecurity

Export-SPWeb "$SourceBaseUrl/Sub1/Sub2/Sub3" -Path  "$SourcePath\Lists\MyTools-My Wiki.cmp" -ItemUrl "My Wiki" -IncludeUserSecurity -IncludeVersions All
Export-SPWeb "$SourceBaseUrl/Sub1/Sub2/Sub3" -Path  "$SourcePath\Lists\MyTools-Wiki Images.cmp" -ItemUrl "Wiki Images" -IncludeUserSecurity -IncludeVersions All
Export-SPWeb "$SourceBaseUrl/Sub1/Sub2/Sub3" -Path  "$SourcePath\Lists\MyTools-Wiki Documents.cmp" -ItemUrl "Wiki Documents" -IncludeUserSecurity -IncludeVersions All
Export-SPWeb "$SourceBaseUrl/Sub1/Sub2/Sub3" -Path  "$SourcePath\Lists\MyTools-Lists-Wiki Discussion.cmp" -ItemUrl "Lists/Wiki Discussion" -IncludeUserSecurity -IncludeVersions All

@'
# On the target server
$TargetBaseUrl = "http://<MyProductionWebApp>/sites/psn/Sub1/Sub2/Sub3"
$TargetPath = "C:\1stQuad\MyToolsMigration\SpBackups"

Import-SPWeb "$SourceBaseUrl" -Path  "$SourcePath\Lists\MyTools-Lists-Wiki Discussion.cmp" -IncludeUserCustomAction All -IncludeUserSecurity -Force
Import-SPWeb "$SourceBaseUrl" -Path  "$SourcePath\Lists\MyTools-Wiki Documents.cmp" -IncludeUserCustomAction All -IncludeUserSecurity -Force
Import-SPWeb "$SourceBaseUrl" -Path  "$SourcePath\Lists\MyTools-Wiki Images.cmp" -IncludeUserCustomAction All -IncludeUserSecurity -Force
Import-SPWeb "$SourceBaseUrl" -Path  "$SourcePath\Lists\MyTools-My Wiki.cmp" -IncludeUserCustomAction All -IncludeUserSecurity -Force

'@

Kommentar
Dieser Blog-Eintrag wurde noch nicht kommentiert.
Kommentar hinterlassen



 Security code
Zurück, Seite drucken