Modèle objet de mise à niveau de SharePoint Foundation
Dernière modification : vendredi 19 novembre 2010
S’applique à : SharePoint Foundation 2010
Dans cet article
Classes de mise à niveau
Séquences de mise à niveau
Fichiers de configuration
Cette rubrique décrit comment les applications Microsoft SharePoint Foundation 2010 et Microsoft SharePoint Server 2010 utilisent le modèle objet Microsoft.SharePoint.Upgrade pour mettre à niveau les déploiements. Les informations fournies dans cette rubrique sont descriptives et ne sont pas destinées à un usage public général.
SharePoint Foundation 2010 et SharePoint Server 2010 utilisent le modèle objet de l’espace de noms Microsoft.SharePoint.Upgrade pour définir les actions de mise à niveau des applications serveur créées sur la plateforme SharePoint Foundation 2010 lors de la mise à niveau vers la version ou la build suivante de SharePoint Foundation. Le modèle objet permet de définir une séquence d’actions pour exécuter diverses tâches spécifiques de manière cohérente, telles que requises par une application serveur pour procéder à la mise à niveau vers une nouvelle version ou build de SharePoint Foundation.
Attention |
---|
Si vous essayez d’inclure du code personnalisé comme partie du pipeline de mise à niveau de SharePoint Foundation, vous risquez de provoquer différents problèmes. Par exemple, comme la dénomination d’un espace de noms doit être unique et ne pas se confondre avec d’autres noms de produits par défaut, le contrôle de version du schéma peut s’avérer confus et conduire à un environnement endommagé à chaque publication de Service Packs SharePoint Foundation. De même, l’utilisation de ce modèle objet dans une application de mise à niveau personnalisée peut avoir de sérieux effets sur les performances. Les seuls contextes dans lesquels vous pourriez utiliser ce modèle objet sont ceux de la mise à niveau de build à build de la version actuelle de SharePoint Foundation, ou de la mise à niveau de version à version entre la version actuelle et la version suivante, comme dans le cas d’un Service Pack ou d’une mise à niveau de version à version d’une application personnalisée. Au lieu d’utiliser ce modèle objet pour définir la logique de la mise à niveau, utilisez les autres solutions fournies dans SharePoint Foundation pour mettre à niveau un déploiement. Par exemple, les Gestionnaires d’événements de déploiement de fonctionnalités vous permettent d’implémenter un code personnalisé pour la mise à niveau des fonctionnalités. Chaque fois que possible, utilisez une action déclarative dans SharePoint Foundation pour accomplir une tâche, plutôt que d’écrire le code. Modifiez individuellement les composants WebPart de telle sorte qu’ils fonctionnent dans Microsoft SharePoint Foundation 2010. Et pour mettre à niveau une définition de site, utilisez un fichier de définition de mise à niveau pour définir les actions de mise à niveau. |
Classes de mise à niveau
La classe SPAction est la classe de base à partir de laquelle les autres classes sont dérivées pour les besoins spécifiques d’une mise à niveau. Par exemple, la classe SPDatabaseAction hérite de SPAction pour l’objectif spécifique de définir les actions de mise à niveau des bases de données. Une application de mise à niveau peut nécessiter, par exemple, que SharePoint Foundation exécute les actions pour la mise à niveau d’une batterie de serveurs, ainsi que les actions qui mettent à niveau les sites Web des services Internet (IIS), les bases de données, les collections de sites SharePoint, les applications Web et les serveurs.
La classe SPSequence est la dernière classe de base des autres classes de séquence de l’espace de noms Microsoft.SharePoint.Upgrade, qui inclut SPActionSequence, dont dérivent SPDatabaseSequence, SPIisWebSiteSequence, SPPersistedObjectSequence et SPSiteSequence. Le modèle objet implémente aussi les ressources telles que les classes SPManager et SPMigrator pour accéder aux propriétés de mise à niveau et aux installations de migration. La classe SPUpgradeException permet d’intercepter les exceptions spécifiques à SharePoint Foundation.
Une classe de séquence de mise à niveau est dotée d’une attribution qui spécifie le type de base de l’action de mise à niveau à charger et à exécuter. Chaque action de mise à niveau possède une balise d’attribut de version qui permet de spécifier si une action de mise à niveau particulière doit ou non s’exécuter (ceci s’effectue en comparant la version actuelle de la ressource en cours de mise à niveau à la version cible de l’action de mise à niveau). La balise d’attribut de version est également utilisée pour trier les actions de mise à niveau individuelles.
[TargetSchemaVersion("14.0.1.0")]
[ActionBaseType(typeof(MyWebAppAction))]
[TargetUpgradableObject(typeof(SPWebApplication))]
L’attribut TargetSchemaVersion de la séquence correspond à l’attribut TargetSchemaVersion de la dernière action de mise à jour dans le module d’action.
Séquences de mise à niveau
L’infrastructure de mise à niveau de SharePoint Foundation définit une interface pour mettre à niveau une ressource ou une instance de service spécifique d’une application. Chaque module d’action est associé à un module de séquence d’action nommé de façon similaire, dans un répertoire distinct qui définit la séquence appropriée pour l’action. Une séquence de mise à niveau définit une classe qui hérite de l’une des classes de séquence fournies au travers du modèle objet SharePoint Foundation et implémente ou substitue ses membres. Les appels d’infrastructure mettent à niveau le code de manière cohérente et déterministe – autrement dit, en tant que séquence de mise à niveau, ce qui implique un bloc logique de code de mise à niveau pour une seule ressource.
Attention |
---|
SharePoint Foundation ne prend pas en charge ni le remplacement ni l’ajout à l’une de ses séquences de mise à niveau par défaut. |
La mise à niveau se poursuit séquentiellement, en commençant par les éléments qui sont placés plus haut dans la hiérarchie logique (plus proches de la racine), mais le processus met réellement d’abord à niveau les éléments des niveaux inférieurs (par exemple, la base de données avant les autres objets) jusqu’à ce qu’une batterie de serveurs complète ait été mise à niveau. Le processus de mise à niveau commence par mettre à niveau la base de données de configuration et l’Administration centrale SharePoint, ainsi que les données spécifiques à chaque serveur de la batterie, puis s’exécute sur chaque application Web pour mettre à niveau chaque collection de sites jusqu’à ce que tous les sites Web de toutes les collections de sites de chaque application Web aient été mis à niveau. Chaque application Web de la version précédente est par conséquent mise à niveau l’une après l’autre en une application Web de la version actuelle, comme le sont les bases de données de contenu qui prennent en charge leurs collections de sites.
Une séquence de mise à niveau consiste en une ou plusieurs actions de mise à niveau découvertes à l’exécution et qui doivent avoir lieu pour mettre à niveau une fonctionnalité spécifique. SharePoint Foundation accepte une instance de ressource ou un ensemble d’instances de ressource, détermine les séquences de mise à niveau qui doivent être opérées sur les ressources à partir des assemblys chargés spécifiés dans les fichiers de configuration et exécute les séquences sur les ressources sélectionnées. Les séquences sont ordonnées selon les informations spécifiées dans les fichiers de configuration.
La mise à niveau de SharePoint Foundation est pilotée par les données, ce qui signifie que les ressources inscrites comme pouvant être mises à niveau dans la base de données de configuration sont mises à niveau selon un ordre spécifique. Les objets tels que les collections de sites peuvent avoir plusieurs séquences de mise à niveau. Il peut y avoir des séquences de mise à niveau pour les applications Web (serveurs virtuels), les bases de données de contenu, les services partagés, etc. Un objet pouvant être mis à niveau possède un contrôle intégré de version du schéma, autorise la mise en service de dépendances de mise à niveau et possède des propriétés qui déterminent si l’objet actif doit être mis à niveau.
L’infrastructure de mise à niveau inclut une définition d’interface pour les objets pouvant être mis à niveau, qui met à niveau une ressource spécifique. En fonction des ressources qui doivent être mises à niveau, les séquences de mise à niveau (ou plug-ins) implémentent cette interface de telle sorte que le code de mise à niveau puisse être appelé. Les séquences de mise à niveau peuvent être exécutées un nombre quelconque de fois sur un serveur donné. Une séquence de mise à niveau détermine s’il est nécessaire qu’une action ait lieu à un moment donné, et également, en cas d’erreurs, fournit un point de contrôle approprié pour permettre la reprise d’une mise à niveau à partir d’un point donné lors de la prochaine exécution du code de mise à niveau. Les séquences de mise à niveau créent des journaux et des rapports d’erreur, et remontent vers l’interface utilisateur.
Fichiers de configuration
Un fichier de configuration est un fichier XML qui indique la DLL et les noms de classe de tous les plug-ins. Ces fichiers sont utilisés à l’exécution pour instancier les classes correctes et les exécuter à l’aide de la réflexion. SharePoint Foundation inclut les fichiers de configuration par défaut dans le dossier %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade qu’il utilise pour définir la plage des versions de produit et des versions de schéma à laquelle une mise à jour s’applique, pour inscrire l’assembly qui définit les classes pour une mise à niveau, pour mapper les anciens fichiers avec les emplacements spécifiés dans le répertoire d’installation de SharePoint Foundation 2010 et pour déconseiller les fonctionnalités incluses dans l’ancienne version.
Voir aussi
Référence
Concepts
Exemple de plan des actions de mise à niveau