Freigeben über


Upgrade-Objektmodell von SharePoint Foundation

Letzte Änderung: Freitag, 19. November 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Upgradeklassen
Upgradesequenzen
Konfigurationsdateien

In diesem Thema wird beschrieben, wie in Anwendungen für Microsoft SharePoint Foundation 2010 und Microsoft SharePoint Server 2010 das Microsoft.SharePoint.Upgrade-Objektmodell für das Upgrade von Bereitstellungen verwendet wird. Die Informationen in diesem Thema sind beschreibender Art und nicht für die allgemeine öffentliche Verwendung vorgesehen.

In SharePoint Foundation 2010 und SharePoint Server 2010 werden mithilfe des Objektmodells des Microsoft.SharePoint.Upgrade-Namespaces Upgradeaktionen für auf der SharePoint Foundation 2010-Plattform erstellte Serveranwendungen definiert, mit denen ein Upgrade auf die nächste Version oder den nächsten Build von SharePoint Foundation ausgeführt werden kann. Das Objektmodell wird verwendet, um eine Folge von Aktionen für bestimmte Aufgaben einheitlich zu definieren, die zum Aktualisieren einer Serveranwendung auf eine neue Version oder einen neuen Build von SharePoint Foundation erforderlich sind.

VorsichtVorsicht

Wenn Sie versuchen, benutzerdefinierten Code in die SharePoint Foundation-Upgradepipeline einzuschließen, können verschiedene Probleme auftreten. Da z. B. die Benennung des Namespaces eindeutig sein muss und nicht mit den Standardproduktnamen überlappen darf, können die Schemaversionen durcheinander geraten und bei jeder Veröffentlichung von SharePoint Foundation Service Packs zu einer beschädigten Umgebung führen. Außerdem kann die Verwendung dieses Objektmodells in einer benutzerdefinierten Upgradeanwendung ernsthafte Auswirkungen auf die Leistung haben. Die einzigen Fälle, in denen Sie dieses Objektmodell verwenden können, sind Build-zu-Build-Upgrades der aktuellen Version von SharePoint Foundation oder Version-zu-Version-Upgrades zwischen der aktuellen und der nächsten Version, wie bei Service Packs oder einem Build-zu-Build-Upgrade für eine benutzerdefinierte Anwendung.

Statt mithilfe dieses Objektmodells eine Upgradelogik zu definieren, sollten Sie andere in SharePoint Foundation verfügbare Mittel zum Upgraden einer Bereitstellung verwenden. Ereignishandler für die Featurebereitstellung beispielsweise ermöglichen es Ihnen, benutzerdefinierten Code für die Aktualisierung von Features zu implementieren. Verwenden Sie nach Möglichkeit eine deklarative Aktion in SharePoint Foundation zum Ausführen einer Aufgabe, statt Code zu schreiben. Ändern Sie Webparts einzeln, sodass sie in Microsoft SharePoint Foundation 2010 funktionsfähig sind. Und wenn Sie eine Websitedefinition upgraden möchten, verwenden Sie eine Upgradedefinitionsdatei (UDF), um Upgradeaktionen zu definieren.

Upgradeklassen

Die SPAction-Klasse ist die Basisklasse, von der andere Klassen für spezielle Anforderungen bei einem Upgrade abgeleitet sind. Beispielsweise erbt die SPDatabaseAction-Klasse von SPAction zu dem speziellen Zweck, Aktionen für das Upgrade von Datenbanken zu definieren. In einer Upgradeanwendung kann beispielsweise erforderlich sein, dass von SharePoint Foundation Aktionen zum Aktualisieren einer Serverfarm sowie von IIS-Websites (Internetinformationsdienste), Datenbanken, SharePoint-Websitesammlungen, Webanwendungen und Servern ausgeführt werden.

Die SPSequence-Klasse ist die oberste Basisklasse für die anderen Sequenzklassen im Microsoft.SharePoint.Upgrade-Namespace. Sie enthält SPActionSequence, wovon SPDatabaseSequence, SPIisWebSiteSequence, SPPersistedObjectSequence und SPSiteSequence abgeleitet sind. Das Objektmodell implementiert auch Ressourcen wie die Klassen SPManager und SPMigrator für den Zugriff auf Upgradeeigenschaften und die Migration von Installationen. Die SPUpgradeException-Klasse dient zum Auffangen von Ausnahmen, die spezifisch für SharePoint Foundation sind.

Eine Upgradesequenzklasse enthält Angaben zum Basistyp der Upgradeaktion, die geladen und ausgeführt werden muss. Jede Upgradeaktion verfügt über ein Versionsattribut-Tag, das angibt, ob eine Upgradeaktion auszuführen ist, indem die aktuelle Version der zu aktualisierenden Ressource mit der Zielversion der Upgradeaktion verglichen wird. Das Versionsattribut-Tag wird auch zum Sortieren der einzelnen Upgradeaktionen verwendet.

[TargetSchemaVersion("14.0.1.0")]
[ActionBaseType(typeof(MyWebAppAction))]
[TargetUpgradableObject(typeof(SPWebApplication))]

Das TargetSchemaVersion-Attribut der Sequenz stimmt mit dem TargetSchemaVersion-Attribut der letzten Updateaktion im Aktionsmodul überein.

Upgradesequenzen

Durch die Upgradeinfrastruktur von SharePoint Foundation wird eine Schnittstelle für das Upgrade einer bestimmten Ressource oder Dienstinstanz einer Anwendung definiert. Jedem Aktionsmodul entspricht ein ähnlich benanntes Aktionssequenzmodul in einem separaten Verzeichnis, das die geeignete Sequenz für die Aktion definiert. Eine Upgradesequenz definiert eine Klasse, die von einer Sequenzklasse aus dem SharePoint Foundation-Objektmodell erbt und deren Member implementiert oder überschreibt. Durch die Infrastruktur wird Upgradecode auf einheitliche und deterministische Weise, d. h. als Upgradesequenz aufgerufen, die einem logischen Abschnitt von Upgradecode für eine einzelne Ressource entspricht.

VorsichtVorsicht

Das Überschreiben oder Anfügen an eine der Standardupgradesequenzen wird von SharePoint Foundation nicht unterstützt.

Der Upgradevorgang erfolgt sequenziell, beginnend mit Elementen, die sich in der logischen Hierarchie höher befinden (näher am Stamm). Tatsächlich werden jedoch Elemente auf niedrigeren Ebenen zuerst aktualisiert (z. B. die Datenbank vor anderen Objekten), bis eine gesamte Serverfarm aktualisiert wurde. Der Upgradevorgang beginnt mit dem Aktualisieren der Konfigurationsdatenbank und der SharePoint-Zentraladministration sowie spezifischer Daten zu jedem Server in der Farm. Anschließend wird er für jede Webanwendung ausgeführt, um jede Websitesammlung zu aktualisieren, bis alle Websites in allen Websitesammlungen jeder Webanwendung aktualisiert sind. Jede Webanwendung der vorherigen Version wird dadurch einzeln auf eine Webanwendung in der aktuellen Version aktualisiert, und dasselbe gilt für die Inhaltsdatenbanken, die die Websitesammlungen unterstützen.

Eine Upgradesequenz besteht aus einer oder mehreren zur Laufzeit ermittelten Upgradeaktionen, die zum Aktualisieren eines bestimmten Features ausgeführt werden müssen. SharePoint Foundation akzeptiert eine Ressourceninstanz oder eine Reihe von Ressourceninstanzen und bestimmt basierend auf den geladenen Assemblys, die in Konfigurationsdateien angegeben sind, welche Upgradesequenzen für die Ressourcen ausgeführt werden müssen. Anschließend werden die Sequenzen für die ausgewählten Ressourcen ausgeführt. Die Sequenzen werden entsprechend den Informationen in den Konfigurationsdateien sortiert.

Das Upgrade von SharePoint Foundation ist datengesteuert, das bedeutet, dass Ressourcen, die in der Konfigurationsdatenbank als aktualisierbar registriert sind, in einer bestimmten Reihenfolge aktualisiert werden. Objekte, wie z. B. Websitesammlungen, können verschiedene Upgradesequenzen besitzen. Es kann Upgradesequenzen für Webanwendungen (virtuelle Server), Inhaltsdatenbanken oder gemeinsame Dienste usw. geben. Ein aktualisierbares Objekt verfügt über integrierte Schemaversionen, ermöglicht die Bereitstellung von Upgradeabhängigkeiten und verfügt über Eigenschaften, die bestimmen, ob das aktuelle Objekt aktualisiert werden muss und aktualisiert wird.

Die Upgradeinfrastruktur umfasst eine Schnittstellendefinition für aktualisierbare Objekte, die eine bestimmte Ressource aktualisiert. Basierend auf zu aktualisierenden Ressourcen implementieren Upgradesequenzen (oder Plug-Ins) diese Schnittstelle, sodass Upgradecode aufgerufen werden kann. Upgradesequenzen können beliebig oft auf einem bestimmten Server ausgeführt werden. Eine Upgradesequenz bestimmt, ob zu irgendeinem Zeitpunkt eine Aktion ausgeführt werden muss, und bietet im Falle von Fehlern geeignete Prüfpunkte, um die Wiederaufnahme eines Upgrades von einem bestimmten Punkt zu ermöglichen, wenn der Upgradecode das nächste Mal ausgeführt wird. Von Upgradesequenzen werden Protokolle erstellt und Fehler und Statusinformationen zurück an die Benutzeroberfläche gemeldet.

Konfigurationsdateien

Eine Konfigurationsdatei ist eine XML-Datei, die die DLL und die Klassennamen für alle Plug-Ins angibt. Diese Dateien werden zur Laufzeit verwendet, um die richtigen Klassen zu instanziieren und mithilfe von Reflektion auszuführen. SharePoint Foundation enthält Standardkonfigurationsdateien im Ordner %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade. Diese werden verwendet, um den Bereich von Produktversionen und Schemaversionen zu definieren, für den ein Upgrade gilt, um die Assembly zu registrieren, die Klassen für das Upgrade definiert, um alte Dateien bestimmten Speicherorten im Setup-Verzeichnis von SharePoint Foundation 2010 zuzuordnen und um Features aus der alten Version als veraltet zu erklären.

Siehe auch

Referenz

Microsoft.SharePoint.Upgrade

Konzepte

Beispielgliederung für Upgradeaktionen

Weitere Ressourcen

Upgrade von SharePoint-Foundation