Upgrade von Systemen mit angepassten Seiten
Mrz 2, 2009 | by admin | 0 Comments

logo-moss250Das Upgrade zu SharePoint 2007 funktioniert bei Umgebungen mit hohem Anpassungsgrad nicht ohne weiteres, da die Seiten meist auf eigenen Seitendefinitionen basieren. Der Upgraderoutine ist somit nicht bekannt, auf welche SharePoint 2007 Seitendefinitionen die angepassten SharePoint 2003 Seiten transformiert werden sollen. Bei unveränderten Seitendefinitionen ist das problemlos möglich, da in der Upgraderoutine genau festgelegt ist, welche SharePoint 2003 Standard Seitendefinition zur zugehörigen SharePoint 2007 Standard Seitendefinition transformiert werden soll. Für den Umgang mit angepassten Seiten existieren mehrere Möglichkeiten.

  1. Die Seiten werden durch das Upgradeverfahren nicht migriert und werden in der SharePoint 2003 Ansicht dargestellt (Kompatibilitätsmodus). Die meisten Einstellungen wie z.B. das Aktionen Menü funktionieren nicht mehr. Zu einem späteren Zeitpunkt, kann die Seite mit SharePoint 2007 nachgebaut werden.
  2. Die Seitendefinition wird auf die Standard Seitendefinition zurückgesetzt und migriert. Dabei gehen die Inhalte der Seite verloren. Bei dem In-Place Verfahren müssen die Inhalte aus dem Gedächtnis oder anhand von Aufzeichnungen neu erstellt werden.
  3. Der Upgraderoutine werden Informationen zur Verfügung gestellt, wie mit angepassten Seitendefinitionen umgegangen werden soll. Die Seiten werden migriert und anschließend mit allen Inhalten und Funktionen in der Sharepoint 2007 Ansicht dargestellt.

Bei SharePoint Umgebungen mit vielen angepassten Seitendefinitionen sind die ersten beiden Möglichkeiten durch den hohen manuellen Aufwand meist nicht praktikabel. Die dritte Möglichkeit möchte ich jedoch genauer beschrieben.

Es wird für jede angepasste Seitendefinition auf Basis von SharePoint 2003 eine äquivalente SharePoint 2007 Seitendefinition erstellt. Dazu gehört auch die Erstellung von äquivalenten Listendefinitionen in SharePoint 2007. Danach wird ein so genanntes „Upgrade Definition File“ erstellt bzw. erweitert, in der die SharePoint 2003 Seitendefinitionen den neuen SharePoint 2007 Seitendefinitionen für den Upgradeprozess zugeordnet werden.

Gradual Upgrade Prozess

Auf jedem Applikationsserver müssen folgende Installationen vorgenommen werden:

  1. ASP.NET Framework 3.0 (enthält das ASP.NET Framework 2.0)
  2. Windows Workflow Foundation
  3. MS Office SharePoint Server 2007 mit der Gradual Upgrade Methode (enthält Windows SharePoint Services 3.0)

Nach der Installation werden den Servern über die SharePoint Zentraladministration die Serverrollen für den Such-, Web- und Indexdienst zugewiesen.

Auf dem SharePoint Server der Produktivumgebung wird das Tool Prescan.exe ausgeführt, um die Umgebung zu untersuchen. Im Pfad „C:Dokumente_und EinstellungenAdministratorLokale_EinstellungenTemp“ werden die Ergebnisse protokolliert. Am Ende der Log Datei befindet sich, die folgende Zusammenfassung.

06/01/2008 18:17:05 Number of sites skipped (already scanned):   0
06/01/2008 18:17:05 Number of sites scanned:   145
06/01/2008 18:17:05 Number of broken sites:   0
06/01/2008 18:17:05 Number of webs scanned:   307
06/01/2008 18:17:05 Number of broken webs:   0
06/01/2008 18:17:05 Number of webs using custom template: 208 (67,75% of total).
06/01/2008 18:17:05 Number of pages scanned:   12293
06/01/2008 18:17:05 Number of unghosted pages:   7 (0,06% of total).

Hinter der Angabe „Number of unghosted pages: 7“ verbirgt sich die Anzahl der verwendeten, angepassten Seitendefinitionen. Dabei bedeutet unghosted, dass die Daten auf dem Filesystem und in der Datenbank liegen. Für jede angepasste Seitendefinition von SharePoint 2003 muss eine äquivalente Seitendefinition für SharePoint 2007 erstellt werden.

Für das Beispiel verwende ich ein SPS Site Template. Die neue Seitendefinition sollte mindestens die gleiche Funktionalität aufweisen wie die bereits existierende. Das bedeutet, dass alle Listen der SPS Vorlage für die MOSS Vorlage neu entwickelt werden müssen. Dazu gehören:

  • Angepasste Dokumentbibliothek
  • Link Liste
  • FAQ Liste

Das Konzept der Seitendefinitionen von SharePoint 2007 unterscheidet sich im Vergleich zu SharePoint 2003 ein wenig. So existiert kein Lists-Ordner mehr, der die Listen zu der jeweiligen Seitendefinition enthält, sondern nur eine kurze default.aspx Datei und eine onet.xml Datei im XML-Ordner. Anstatt die Listendefinitionen in jeder Seitendefinition zu duplizieren, werden sie in SharePoint 2007 global bereitgestellt. Zunächst werden die SharePoint 2003 Listen als SharePoint 2007 Features implementiert. Als Beispiel verwende ich die Dokumentbibliothek.

  1. Der Ordner der Standard Dokumentbibliothek kann kopiert und anschließend umbenannt werden, da lediglich Funktionalitäten zu der bestehenden Vorlage hinzukommen. Sie ist in dem folgenden Pfad zu finden.
    C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES DocumentLibrary
  2. Die Definition von eigenen Feldern bzw. Spalten besteht aus einer Datei (Feature.xml), in der die Beschreibung des Features enthalten ist. In dieser Datei wird eine weitere XML Datei referenziert, die die eigentlichen Felddefinitionen enthält. Da die Dokumentenablage eine Kopie der Standard Dokumentbibliothek ist, muss in der Datei Feature.xml eine neue ID vergeben werden.

    1-feature_def

    Das Scope-Attribut gibt an auf welcher Ebene das Feature gültig und verfügbar ist. In diesem Falle auf Ebene einer Websitesammlung. Das Hidden-Attribut legt fest, ob das Feature über die Benutzeroberfläche (FALSE) aktiviert werden kann oder nur über die Kommandozeile (TRUE).Im Attribut Location des ElementManifest Elements wird auf die XML Datei verwiesen, die die Definition der Felder enthält.

  3. Die Werte des Type-Attributs sowie des Name-Attributs in der Datei DocumentLibrary.xml müssen geändert werden. Bei letzterem ist zu beachten, dass der Name und das Verzeichnis gleich benannt werden müssen. Standardmäßig ist das „DocLib“. Alle in der SharePoint 2003 Dokumentbibliothek enthaltenen Spalten müssen mittels der Field Elemente neu definiert werden.

    2-feld_def

  4. Nachdem alle Funktionen der Liste implementiert wurden, muss das Feature installiert werden. Dies erfolgt über den folgenden Kommandozeilenbefehl.

    Stsadm -o installfeature -name Dokumentbibliothek

  5. Das Feature kann nun für jede beliebige Websitesammlung innerhalb der Farm aktiviert und verwendet werden. Die Aktivierung erfolgt über den Kommandozeilenbefehl:
    Stsadm -o activatefeature -name Dokumentbibliothek -url http://test-moss

Nachdem die Listendefinitionen als MOSS 2007 Features implementiert wurden, können nun die zu SharePoint 2003 äquivalenten Seitendefinitionen erstellt bzw. angepasst werden. Dazu wird die Datei onet.xml wie folgt geändert:

  1. Die „Publishing“ Seitendefinition ist den SharePoint Portal Server Bereichen sehr ähnlich. Wie auch beim Erstellen der Listendefinitionen kann die Publishing Vorlage kopiert und umbenannt werden.
  2. Im WebFeature Element innerhalb des Configuration Elements wird jede Liste aufgeführt, die beim Erstellen der Seite automatisch generiert werden soll.3-webfeatures
  3. Im Module Element der Default.aspx wird festgelegt, wie die Listen auf der SharePoint Seite positioniert werden sollen. Hier am Beispiel des View Element für die Positionierung der Hyperlink Liste auf der rechten Seite an zweiter Stelle.4-view-element

Nachdem die Listen- und Seitendefinitionen erstellt wurden, muss die neue Seitendefinition in der Datei webtemp.xml bekannt gemacht werden. Anschließend kann die Vorlage verwendet werden.

Mit Hilfe der Upgrade Definition Files werden SharePoint 2003 Seiten zu SharePoint 2007 Seiten transformiert. Bei der Installation von SharePoint 2007 werden einige dieser Dateien für unterschiedliche Seitentypen (Fehlermeldungen, SPS, WSS,) bereits automatisch erstellt. Damit die Struktur der Mappingdatei nicht neu geschrieben werden muss, kann die Datei spsupgrade.xml kopiert, umbenannt und angepasst werden.

Im ersten Schritt werden die SharePoint 2003 Listen und die zugehörigen SharePoint 2007 Features angegeben, die transformiert werden sollen. Am Beispiel der Dokumentbibliothek sieht das wie folgt aus.

5-udf

Anschließend werden alle Dateien der SharePoint 2003 Seiten und die zugehörigen SharePoint 2007 Seiten angegeben.

6-udf2

Da zu jeder Seite, neben der Datei default.aspx, je nach Inhalt noch mehr als 50 Verwaltungsseiten hinzukommen, ist das mit hohem manuellem Aufwand verbunden.