Empaquetage et déploiement des composants WebPart pour Microsoft Windows SharePoint Services

Suraj Poozhiyil et Jeremy Martin
Microsoft Corporation

S'applique à :
    Microsoft® Windows® SharePoint™ Services
    Microsoft Office SharePoint Portal Server 2003
    Microsoft Visual Studio® .NET
    Infrastructure WebPart

Résumé : Apprenez comment empaqueter et déployer des composants WebPart à l'aide des outils d'administration fournis avec Microsoft Windows SharePoint Services.

Remarque   Les informations contenues dans cet article s'appliquent également à Microsoft Office SharePoint Portal Server 2003, basé sur la plate-forme Windows SharePoint Services.

Sommaire

Introduction
Génération d'un package WebPart
Déploiement d'un package WebPart
Ajout d'un package WebPart
Suppression d'un package WebPart
Énumération d'un package WebPart
Commutateurs
Installation d'un package WebPart
Conclusion

Introduction

Les composants WebPart sont bien plus que de simples assemblys les compilant. Un composant WebPart peut disposer de ressources de classes, telles que des images, des fichiers Microsoft Jscript® et des fichiers d'aide. Ces fichiers peuvent également être localisés et déployés à des emplacements différents de celui où se trouve le composant WebPart. En outre, le composant WebPart doit être ajouté à la liste SafeControl pour le serveur virtuel spécifique avant que ces fonctionnalités ne soient utilisées.

Conditions requises

  • Connaissance de Microsoft Windows® SharePoint™ Services et/ou de Microsoft Office SharePoint Portal Server 2003
  • Maîtrise de la création d'un composant WebPart
  • Connaissance de l'infrastructure WebPart

Génération d'un package WebPart

Un package WebPart est un fichier cabinet (.cab) contenant les éléments suivants :

  1. Manifest.xml (obligatoire)
  2. Assemblys WebPart (facultatifs)
  3. Fichiers de ressources de classes (facultatifs)
  4. Fichiers .dwp (facultatifs)

Création d'un fichier Manifest pour un fichier .cab

Le fichier Manifest, fichier de configuration décrivant la structure et le contenu du fichier .cab, est le seul composant requis pour le fichier .cab. L'outil Stsadm.exe utilise ce fichier pour déployer le reste du contenu du fichier .cab.

Le tableau suivant décrit les nœuds et les sous-nœuds du fichier Manifest.xml.

Nœud Nœud parent Description
WebPartManifest WebPartManifest Définit le schéma XML.
Assemblies WebPartManifest Contient des définitions pour chacun des assemblys déployés.
Assembly Assemblies Utilise l'attribut FileName pour définir le nom de fichier de l'assembly, contient les définitions des ressources de classes et le code XML de la liste SafeControls.
ClassResources Assembly Contient les définitions de chaque ressource de classe déployée.
ClassResource ClassResources Utilise l'attribut FileName pour définir le nom de fichier de la ressource de classe.
SafeControls Assembly Contient les définitions pour chaque ligne XML de la liste SafeControls.
SafeControl SafeControls Définit chaque ligne de la liste SafeControls.
DwpFiles WebPartManifest Contient des définitions de chaque fichier .dwp déployé.
DwpFile DwpFiles Utilise l'attribut FileName pour définir le nom de fichier du fichier .dwp.

L'exemple suivant illustre un fichier Manifest pour un package déployant deux assemblys et leurs ressources :

<?xml version="1.0" encoding="utf-8" ?> 
<WebPartManifest xmlns="https://schemas.microsoft.com/WebPart/v2/Manifest">
 <Assemblies>
 <Assembly FileName="WebPartLibrary1.dll">
 <ClassResources>
 <ClassResource FileName="image1.gif"/>
 <ClassResource FileName="image2.gif"/>
 </ClassResources>
 <SafeControls>
 <SafeControl Namespace="WebPartLibrary1" TypeName="*"/>
 </SafeControls> 
 </Assembly>
 <Assembly FileName="WebPartLibrary2.dll">
 <ClassResources>
 <ClassResource FileName="MyCustomHelp.htm"/>
 <ClassResource FileName="LargeIcon.gif"/>
 </ClassResources>
 <SafeControls>
 <SafeControl Namespace="WebPartLibrary2" TypeName="*"/>
 </SafeControls> 
 </Assembly>
 </Assemblies> 
 <DwpFiles>
 <DwpFile FileName="WebPart1.dwp"/>
 <DwpFile FileName="WebPart2.dwp"/>
 </DwpFiles>
</WebPartManifest>

Création d'un fichier .cab

Les développeurs peuvent utiliser l'une des deux méthodes suivantes pour créer un fichier .cab :

  • Utilisez Microsoft Visual Studio® .NET Professionnel pour créer un projet CAB.
  • Utilisez MakeCAB.exe, outil de ligne de commande inclus dans Microsoft Windows 2000 et version ultérieure.

Utilisation de Visual Studio

Pour utiliser Visual Studio.NET Professionnel en vue de créer un projet CAB, suivez ces étapes :

  1. Démarrez Visual Studio .NET.

  2. Créez une nouvelle solution.

    • Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Nouvelle solution.
    • Entrez un nom pour la solution, puis cliquez sur OK.
  3. Ouvrez le projet WebPart dans cette solution.

    • Dans l'Explorateur de solutions, cliquez sur la nouvelle solution avec le bouton droit de la souris, pointez sur Ajouter, puis cliquez sur Projet existant.
    • Accédez au projet WebPart que vous souhaitez ajouter, cliquez sur le projet, puis sur Ouvrir.
  4. Créez un nouveau projet CAB

    • Dans l'Explorateur de solutions, cliquez sur la nouvelle solution avec le bouton droit de la souris, pointez sur Ajouter, puis cliquez sur Nouveau projet.
  5. Dans Types de projets, cliquez sur Projets de configuration et de déploiement, puis, dans Modèles, cliquez sur Projet CAB.

    • Entrez un nom pour le projet CAB, puis cliquez sur OK.
  6. Ajoutez la sortie du projet WebPart au projet CAB.

    • Dans l'Explorateur de solutions, cliquez sur le projet CAB avec le bouton droit de la souris, pointez sur Ajouter, puis cliquez sur Sortie du projet.
    • Dans la boîte de dialogue Projet, cliquez sur le projet WebPart que vous avez ajouté à la solution à l'étape 3.
    • Sélectionnez toutes les catégories de fichiers appropriées apparaissant dans la liste, puis cliquez sur OK.

    Assurez-vous de sélectionner Sortie principale et Content Files. Ces catégories ajoutent le fichier Manifest.xml, les fichiers .dwp et l'assembly WebPart au fichier .cab. Vérifiez que le fichier Manifest.xml et les fichiers .dwp sont marqués comme contenu pour pouvoir générer des composants dans leurs feuilles de propriétés respectives.

  7. Générez la solution pour créer le fichier .cab.

Utilisation de l'outil MakeCAB.exe

MakeCAB.exe est un outil inclus dans Windows 2000 ou version ultérieure. Pour utiliser MakeCAB.exe en vue de créer un fichier .cab, suivez ces étapes :

  1. Créez un fichier de directive pour makecab.exe, puis enregistrez ce fichier avec une extension .ddf. L'exemple de fichier de directive suivant (appelé sample.ddf) crée un fichier .cab pour un simple projet de bibliothèque WebPart :

    ;*** Sample Source Code MakeCAB Directive file example
    ;
    .OPTION EXPLICIT ; Generate errors
    .Set CabinetNameTemplate=SampleCab.cab
    .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single
    directory
    .Set CompressionType=MSZIP;** All files are compressed in cabinet files
    .Set UniqueFiles="OFF"
    .Set Cabinet=on
    .Set DiskDirectory1=SAMPLECAB.CAB
    manifest.xml
    WebPart1.dwp
    WebPartLibrary1.dll
    ;*** <the end>
    
    

  2. Copiez tous les fichiers que vous souhaitez inclure dans le fichier .cab dans le répertoire où vous avez créé le fichier .ddf. Dans cet exemple, ces fichiers correspondent au fichier Manifest.xml, au fichier WebPart1.dwp et au fichier WebPartLibrary1.dll.

  3. Ouvrez une invite de commandes, accédez au répertoire contenant le fichier .ddf et les fichiers que vous souhaitez inclure dans le fichier .cab, puis exécutez la commande suivante :

    Makecab.exe /F sample.ddf
    
    

MakeCAB.exe crée un répertoire appelé SAMPLECAB.CAB et, dans le répertoire MakeCAB.exe, crée un fichier .cab appelé SampleCab.cab, contenant les trois fichiers répertoriés dans le fichier de directive Sample.ddf.

Pour obtenir davantage d'informations sur MakeCAB.exe, téléchargez le kit de développement SDK Microsoft Cabinet Lien externe au site MSDN France Site en anglais.

Création d'un fichier CAB avec des ressources localisées

Visual Studio ne prend pas en charge la création de fichiers .cab avec des répertoires internes. Cependant, les composants WebPart localisés peuvent requérir un fichier .cab avec des répertoires internes. C'est pourquoi vous devez utiliser un outil tel que MakeCAB.exe ou équivalent, c'est-à-dire, un utilitaire CAB tiers, pour déployer des composants WebPart localisés.

L'exemple suivant décrit la création d'un fichier .cab pour un projet WebPart en langue anglaise appelé SampleWebPartLibrary qui fournit également des ressources localisées en langue allemande. Dans cet exemple, le fichier .cab est appelé Sample.cab et doit inclure les fichiers suivants :

  • SampleWebPartLibrary.dll
  • Help.htm
  • Image1.gif
  • WebPart1.dwp
  • de-DE/Help.htm
  • de-DE/Image1.gif
  • de-DE/WebPart1.dwp

Pour créer le fichier .cab pour ce projet WebPart, suivez ces étapes :

  1. Créez le fichier Manifest.xml approprié. Voici un exemple de fichier Manifest.xml pour le fichier Sample.cab :

    <?xml version="1.0" encoding="utf-8" ?>
    <WebPartManifest
    xmlns="https://schemas.microsoft.com/WebPart/v2/Manifest">
    <Assemblies>
    <Assembly FileName="SampleWebPartLibrary.dll">
    <ClassResources>
    <ClassResource FileName="image1.gif"/>
    <ClassResource FileName="help.htm"/>
    <ClassResource FileName="de-DE\image1.gif"/>
    <ClassResource FileName="de-DE\help.htm"/>
    </ClassResources>
    <SafeControls>
    <SafeControl Namespace="SampleWebPartLibrary"
    TypeName="*"/>
    </SafeControls>
    </Assembly>
    </Assemblies>
    <DwpFiles>
    <DwpFile FileName="WebPart1.dwp"/>
    <DwpFile FileName="de-DE\WebPart1.dwp"/>
    </DwpFiles>
    </WebPartManifest>
    
    

  2. Créez le fichier de directive Makecab.exe approprié. Voici un exemple de fichier de directive pour le fichier Sample.cab :

    ;*** Sample Source Code MakeCAB Directive file example
    ;
    .OPTION EXPLICIT ; Generate errors
    .Set CabinetNameTemplate=Sample.cab
    .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single
    directory
    .Set CompressionType=MSZIP ;** All files are compressed in cabinet
    files
    .Set UniqueFiles="OFF"
    .Set Cabinet=on
    .Set DiskDirectory1=SAMPLE.CAB
    manifest.xml
    WebPart1.dwp
    SampleWebPartLibrary.dll
    Image1.gif
    help.htm
    .Set DestinationDir=de-DE
    de-DE\WebPart1.dwp
    de-DE\image1.gif
    de-DE\help.htm
    ;*** <the end>
    
    

  3. Copiez tous les fichiers que vous souhaitez inclure dans le fichier .cab dans le répertoire où vous avez créé le fichier .ddf et copiez toutes les ressources localisées dans les sous-répertoires correspondants. Voici un exemple de structure de répertoire pour le fichier Sample.cab :

    \Directory with directive file
    Sample.ddf
    Manifest.xml
    SampleWebPartLibrary.dll
    WebPart1.dwp
    Image1.gif
    Help.htm
    \de-DE
    WebPart1.dwp
    Image1.gif
    Help.htm
    
    

  4. Ouvrez une invite de commandes, accédez au répertoire contenant le fichier .ddf et les fichiers que vous souhaitez inclure dans le fichier .cab. Ensuite, lancez la commande suivante pour créer un sous-répertoire dans le fichier Sample.cab et préparez le déploiement de ce fichier :

    Makecab.exe /F sample.ddf
    
    

Déploiement d'un package WebPart

Les administrateurs peuvent utiliser l'outil Stsadm.exe pour déployer des fichiers .cab créés par les développeurs. Stsadm.exe est un outil de ligne de commande que vous pouvez utiliser pour gérer un ordinateur Windows SharePoint Services. Trois options Stsadm.exe s'appliquent au déploiement du package WebPart :

  • AddWPPack
  • DeleteWPPack
  • EnumWPPacks

Pour obtenir davantage d'informations sur une option de ligne de commande Stsadm.exe spécifique, entrez la ligne suivante à l'invite de commandes :

stsadm -help
option

Ajout d'un package WebPart

Pour utiliser la commande Stsadm.exe afin de déployer un package WebPart sur un serveur exécutant Windows SharePoint Services, ouvrez une invite de commandes, puis entrez la commande suivante :

stsadm.exe -o addwppack 
-filename
Web_Part_Pack_name
[-url 
URL
]
[-globalinstall]
[-force]

Si vous souhaitez installer un package WebPart sur un serveur virtuel lorsque ce package est déjà installé sur un autre serveur virtuel sur le même ordinateur, utilisez la commande suivante :

stsadm.exe -o addwppack
-name
Web_Part_Pack_name
[-url 
URL
]
[-globalinstall]
[-force]

Commutateurs

Le tableau suivant décrit les commutateurs de ligne de commande Stsadm.exe prenant en charge l'ajout de packages WebPart.

Commutateur Description

-url

Spécifie l'URL du serveur virtuel sur lequel vous souhaitez installer le package WebPart.
Remarque    Si vous n'utilisez pas ce commutateur, le package est alors installé sur tous les serveurs virtuels activés par Windows SharePoint Services sur l'ordinateur.

-name

Installe un package WebPart sur un serveur virtuel à partir de la base de données de configuration. Lorsque le package est installé sur l'ordinateur pour la première fois, Stsadm.exe effectue une copie du fichier .cab dans la base de données de configuration. Lors d'un déploiement de batterie de serveurs, une fois que l'administrateur a installé un package WebPart sur le serveur Web frontal, vous pouvez installer ce package sur tous les serveurs Web frontaux sans faire de copie locale sur le fichier .cab.

-globalinstall

Installe le package WebPart sur le Global assembly cache (GAC). Seuls les assemblys WebPart avec nom fort dans le package WebPart sont installés sur le GAC ; tous les autres assemblys sont installés dans le répertoire Bin du serveur virtuel.

-force

Force Stsadm.exe pour écraser un package WebPart installé. Si le package WebPart spécifié sur la ligne de commande existe déjà sur le serveur, vous pouvez utiliser ce commutateur pour écraser ce package.

-filename

Force Stsadm.exe pour utiliser le fichier .cab spécifié par le chemin d'accès sur la ligne de commande.

Suppression d'un package WebPart

Pour supprimer un package WebPart de serveurs virtuels spécifiés sur un ordinateur exécutant Windows SharePoint Services, ouvrez une invite de commandes, puis entrez la commande suivante :

stsadm.exe -o deletewppack
 -name
Web_Part_Pack_name
 [-url 
URL
]

Commutateurs

Le tableau suivant décrit les commutateurs de ligne de commande Stsadm.exe prenant en charge la suppression des packages WebPart.

Commutateur Description

-name

Utilisé pour spécifier le package WebPart à supprimer.

-url

Spécifie l'URL du serveur virtuel contenant le package WebPart à supprimer.
Remarque   Si vous n'utilisez pas ce commutateur, le package est alors supprimé de tous les serveurs virtuels activés par Windows SharePoint Services sur l'ordinateur.

Énumération d'un package WebPart

Pour répertorier tous les packages WebPart installés sur un ordinateur exécutant Windows SharePoint Services, ouvrez une invite de commandes, puis entrez la commande suivante :

stsadm.exe -o enumwppacks
 [-name
Web_Part_Pack_name]
 [-url 
URL
]
 [-farm]

Commutateurs

Le tableau suivant décrit les commutateurs de ligne de commande Stsadm.exe prenant en charge l'énumération des packages WebPart.

Commutateur Description

-name

Détermine si le package WebPart spécifié est installé.

-url

Spécifie l'URL du serveur virtuel contenant les packages WebPart à énumérer. Si vous n'utilisez pas ce commutateur, la liste inclut alors tous les packages installés sur tous les serveurs virtuels activés par Windows SharePoint Services sur l'ordinateur.

-farm

Énumère tous les packages WebPart installés sur un déploiement de batterie de serveurs de Windows SharePoint Services.

Installation d'un package WebPart

Pour savoir si vous devez installer un package WebPart dans le GAC ou le répertoire Bin, posez-vous les questions suivantes :

  • Souhaitez-vous que ce package soit disponible sur tous les serveurs virtuels de votre ordinateur ?
  • Faites-vous entièrement confiance aux assemblys et aux ressources du package ?

Si vous répondez « oui » à ces deux questions, installez le package WebPart dans le GAC. Les assemblys du GAC sont totalement fiables et disponibles pour tous les serveurs virtuels.

Le tableau suivant répertorie les différences entre l'installation dans le GAC et l'installation dans le répertoire Bin.

Caractéristique GAC Répertoire Bin
Emplacement de l'assembly lecteur_local :\Windows\Assembly lecteur_local :\emplacement_système fichier_serveur_virtuel\bin
Ressources de classes lecteur_local :\Program Files\Fichiers communs\Microsoft Shared\Extensions serveur Web\wpresources

URL  http://serveur_virtuel/_wpresources

lecteur_local :\emplacement_système fichier_serveur_virtuel\presources

URL  http://serveur_virtuel/wpresources

Niveau de confiance relatif à la sécurité par défaut V. complète V. partielle (WSS_Minimal)
Accessible par tous les serveurs virtuels Oui (les assemblys et les types doivent être activés dans la liste SafeControls pour chaque serveur virtuel) Non (le package WebPart est accessible uniquement depuis le serveur virtuel sur lequel l'assembly est installé)
Conditions préalables à l'utilisation de Stsadm.exe L'assembly doit avoir un nom fort.  
Requiert l'utilisation du commutateur -globalinstall Oui Non

Remarque   Si vous installez l'assembly dans le répertoire Bin et que l'assembly requiert des autorisations de sécurité d'accès au code outrepassant la politique par défaut du répertoire Bin, vous pouvez affecter ces autorisations une fois le déploiement terminé. Pour obtenir des informations concernant la sécurité d'accès au code, consultez le SDK Microsoft Windows SharePoint Services 2.0 disponible dans le Centre de développement Microsoft SharePoint Products and Technologies Lien externe au site MSDN France Site en anglais.

Conclusion

Vous pouvez utiliser Stsadm.exe pour déployer des packages WebPart dans le GAC ou le répertoire Bin pour des serveurs virtuels spécifiés. Vous pouvez ainsi déployer des packages WebPart sur l'ensemble d'une entreprise ou sur un nombre limité de sites selon vos exigences.

Dernière mise à jour le lundi 4 août 2003