Mise en route avec les composants WebPart de recherche de contenu d'entreprise personnalisé
Cette rubrique présente les conditions requises pour développer des composants WebPart Recherche de contenu d'entreprise.
Développement de composants WebPart
Les composants WebPart dans Windows SharePoint Services 3.0 améliorent les versions antérieures des technologies de composants WebPart. Vous pouvez utiliser les composants WebPart Windows SharePoint Services 3.0 ainsi que les composants WebPart Microsoft ASP.NET 2.0.
Notes
La classe de base à utiliser lorsque vous créez un composant WebPart Windows SharePoint Services est la classe Microsoft.SharePoint.WebPartPages.WebPart. La classe de base à utiliser lorsque vous créez un composant WebPart ASP.NET est la classe System.Web.UI.WebControls.WebPart.
La classe de base fournit les propriétés de base communes à tous les composants WebPart, telles que Title, Description, etc. Vous pouvez ajouter des propriétés personnalisées à votre classe dérivée et, lors de l'exécution, les deux jeux de propriétés sont présentés et s'exécutent comme un seul jeu de propriétés.
Par essence, un composant WebPart est un assembly de contrôle personnalisé Web .NET qui utilise un fichier de description de composant WebPart au format Windows SharePoint Services (.dwp) ou au format ASP.NET 2.0 (.webpart). Le fichier de description de composant WebPart peut être stocké sur ou référencé à partir de n'importe quel ordinateur, et contient les métadonnées XML qui décrivent une instance du composant WebPart. L'assembly .NET de composant WebPart est un fichier .dll qui doit être installé et enregistré sur chaque ordinateur Windows SharePoint Services qui utilise le composant WebPart.
Choix entre composants WebPart ASP.NET et SharePoint
En général, vous devez concevoir des composants WebPart qui héritent de la classe ASP.NET 2.0 WebPart. Les fichiers de description des composants WebPart ASP.NET portent l'extension .webpart. Les composants WebPart ASP.NET offrent une plus grande flexibilité et compatibilité avec les sites Web qui ne sont pas étroitement liés à Windows SharePoint Services.
Les composants WebPart Windows SharePoint Services 3.0 fournissent une compatibilité descendante avec les composants WebPart SharePoint Windows SharePoint Services 2.0. dont les fichiers de description portent l'extension .dwp. Les composants WebPart SharePoint intègrent des fonctionnalités supplémentaires mais peuvent être utilisés uniquement dans un site SharePoint. La liste des nouvelles fonctionnalités de composants WebPart est la suivante :
Connexions sur plusieurs pages dans les sites SharePoint
Connexions entre les composants WebPart qui sont en dehors d'une zone de composant WebPart
Connexions côté client en utilisant le composant Services de la page Composant WebPart
Mise en cache des données du composant WebPart
Traitement asynchrone en utilisant les éléments de travail du composant WebPart
Pour plus d'informations sur le développement et la connexion de composants WebPart, l'importation d'un composant WebPart ASP.NET dans un site Windows SharePoint Services, et le modèle objet Composant WebPart SharePoint, voir Windows SharePoint Services 3.0 SDK.
Utilisation du modèle objet Requête
Recherche de contenu d'entreprise fournit un modèle objet qui permet d'exécuter des requêtes de recherche par programme dans le composant de recherche. L'espace de noms Microsoft.Office.Server.Search.Query comprend deux classes qui offrent cette fonctionnalité :
FullTextSqlQuery : utilisez cette classe pour les requêtes de recherche Référence de la syntaxe SQL de recherche de contenu d'entreprise.
KeywordQuery : utilisez cette classe pour les requêtes de recherche Référence de syntaxe de mots-clés Recherche de contenu d'entreprise.
Pour plus d'informations sur l'utilisation du modèle objet Requête de recherche de contenu d'entreprise, voir Getting Started with the Enterprise Search Query Object Model.
Configuration de l'environnement de développement
L'approche prise en charge pour configurer votre environnement de développement de composants WebPart consiste à procéder au développement localement sur un serveur Office SharePoint Server 2007.
Vous pouvez utiliser Microsoft Office SharePoint Designer 2007 pour importer des composants WebPart dans des pages Web, mais pas pour créer des composants WebPart. Pour développer un assembly de composants WebPart, vous devez utiliser un outil de développement, tel que Microsoft Visual Studio 2005. Grâce à Visual Studio 2005, vous tirez parti d'un environnement de développement enrichi et de fonctionnalités de débogage. Pour plus d'informations sur l'utilisation de Visual Studio 2005 pour créer des composants WebPart, voir :
Création d'un projet de composant WebPart
Vous pouvez utiliser le modèle Bibliothèque de contrôles Web pour créer le projet Visual Studio 2005 de votre composant WebPart. Ce modèle se trouve dans la boîte de dialogue Nouveau projet, dans le nœud Windows pour C# et Visual Basic.
Références de projet
Le projet créé à partir du modèle Bibliothèque de contrôles Web intègre des références aux assemblys nécessaires pour un composant WebPart ASP.NET. Cependant, étant donné que vous utiliserez le modèle objet Requête de recherche de contenu d'entreprise pour accéder au composant de recherche, vous devez ajouter des références à votre projet pour certains assemblys.
Étant donné que vous utilisez le modèle objet Requête de recherche de contenu d'entreprise, vous devez inclure une référence au fichier Microsoft.Office.Server.Search.dll. D'autres références d'assemblys dans la liste suivante sont facultatives, mais dans la plupart des scénarios, lorsque vous utilisez le modèle objet Requête de recherche de contenu d'entreprise, elles sont aussi nécessaires.
Ajoutez les références suivantes à votre projet :
Microsoft.SharePoint.dll
Cet assembly est nécessaire si votre classe de composant WebPart hérite de la classe Microsoft.SharePoint.WebPartPages.WebPart. Il peut aussi être nécessaire si vous devez utiliser l'objet SPFarm pour récupérer des informations par programme relatives au serveur qui héberge le composant WebPart.
Microsoft.Office.Server.dll
Cet assembly peut être nécessaire si vous devez utiliser le modèle objet Administration Office Server pour récupérer des informations par programme relatives au fournisseur de services partagés pour le composant de recherche.
System.Data.dll
System.XML.dll
Création de la classe de composant WebPart
Vous créez la classe de composant WebPart en modifiant la classe par défaut qui est créée à partir du modèle Bibliothèque de contrôles Web. Les modifications apportées diffèrent selon que vous créez un composant WebPart ASP.NET ou SharePoint. Ces modifications sont expliquées dans les sections suivantes.
Vous devrez aussi ajouter la directive d'espace de noms using pour Microsoft.Office.Server.Search.Query aux classes pour les deux types de composants WebPart. La syntaxe à utiliser est la suivante :
using Microsoft.Office.Server.Search.Query;
Modifications pour un composant WebPart ASP.NET
Outre l'espace de noms Query, vous devez aussi ajouter la directive d'espace de noms pour la classe de composant WebPart ASP.NET. La syntaxe à utiliser est la suivante :
using System.Web.UI.WebControls.WebParts;
Modifications pour un composant WebPart SharePoint
Outre l'espace de noms Query, vous devez aussi ajouter la directive d'espace de noms pour la classe de composant WebPart SharePoint. La syntaxe à utiliser est la suivante :
using Microsoft.SharePoint.WebPartPages;
Notes
Pour vérifier que la classe de composant WebPart dérive de la classe prévue, n'incluez pas les directives de ces deux espaces de noms dans la même classe.
Si vous créez un composant WebPart SharePoint, vous devez aussi spécifier l'espace de noms XML Root pour votre composant WebPart. La syntaxe à utiliser est la suivante :
...
using Microsoft.SharePoint.WebPartPages:
namespace CustomSearchWebPart
{
[XmlRoot(Namespace = "CustomSearchWebPart")]
public class customSearchQuery : WebPart
...
Déploiement du composant WebPart
Lorsque vous compilez votre projet, vous pouvez choisir d'affecter un nom fort à l'assembly de votre composant WebPart. Si vous déployez le composant WebPart dans le global assembly cache, vous devez utiliser un nom fort pour l'assembly. Si vous n'effectuez pas le déploiement dans le global assembly cache, mais dans le répertoire _app_bin du site Office SharePoint Server 2007, l'utilisation d'un nom fort pour l'assembly n'est pas obligatoire.
Pour plus d'informations sur l'utilisation d'un nom fort pour les assemblys de composant WebPart et les emplacements de déploiement, voir Gestion de composants WebPart sur des serveurs virtuels (en anglais) .
Après avoir compilé votre composant WebPart, vous pouvez créer les fichiers nécessaires à son déploiement. Pour les composants WebPart SharePoint, créez un fichier .dwp ; pour les composants WebPart ASP.NET, créez un fichier .webpart.
Création d'un fichier .dwp
Vous pouvez créer et modifier un fichier .dwp simple en utilisant un éditeur de texte tel que le Bloc-notes. L'exemple de code suivant illustre la syntaxe XML pour un composant WebPart SharePoint simple, sans nom fort :
<?xml version="1.0"?>
<WebPart xmlns="https://schemas.microsoft.com/WebPart/v2">
<Assembly>CustomWebPart, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=null</Assembly>
<TypeName>CustomWebPart.customSearchQuery</TypeName>
<Title>Custom Search Web Part</Title>
</WebPart>
Pour plus d'informations sur la création de ces fichiers, voir :
Introduction du développeur aux composants WebPart (en anglais)
Empaquetage et déploiement de composants WebPart pour Windows SharePoint Services (en anglais)
Création d'un fichier .webpart
Vous pouvez créer et modifier manuellement un fichier .webpart simple en utilisant un éditeur de texte tel que le Bloc-notes. L'exemple de code suivant illustre la syntaxe XML pour un composant WebPart simple, sans nom fort :
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="CustomASPNETWebPart.customSearchQuery, CustomASPNETWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">Custom Search Query</property>
</properties>
</data>
</webPart>
</webParts>
Vous pouvez aussi générer dynamiquement le fichier .webpart en exportant votre composant WebPart depuis une page ASP.NET.
Enregistrement et importation de votre composant WebPart en tant que SafeControl
Vous devez enregistrer votre composant Webpart dans la liste SafeControl, puis l'importer avant de l'utiliser dans votre site.
Pour enregistrer votre composant WebPart dans la liste SafeControl
Ouvrez le fichier web.config situé dans le dossier racine de votre site.
Recherchez la balise SafeControls.
Ajoutez une balise pour votre composant WebPart.
L'exemple de code suivant montre la syntaxe de la balise pour un composant WebPart simple, installé dans le répertoire BIN, sans nom fort :
<SafeControl Assembly="CustomSearchWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
Namespace="CustomSearchWebPart" TypeName="*" Safe="True" />
La dernière étape de votre déploiement consiste à importer le composant Webpart dans votre site.
Pour importer un composant WebPart dans un site
Dans votre navigateur, ouvrez la page sur laquelle vous voulez ajouter le composant WebPart, cliquez sur le menu Actions du site, puis sur Modifier la page.
Lorsque la page est en mode Édition, cliquez sur Ajouter un composant WebPart pour la zone de composant WebPart appropriée, à droite ou à gauche.
Dans la boîte de dialogue Ajouter des composants WebPart, cliquez sur le lien Galerie et options des composants WebPart avancés.
Cliquez sur Parcourir, puis sur Importer.
Cliquez sur Parcourir, accédez à l'emplacement d'enregistrement du fichier .dwp ou .webpart, sélectionnez le fichier, puis cliquez sur Ouvrir.
Votre composant WebPart doit maintenant figurer dans la boîte de dialogue. Vous pouvez faire glisser le composant WebPart de la boîte de dialogue vers la page.
Voir aussi
Autres ressources
Création de composants WebPart Enterprise Search personnalisés
Procédure pas à pas : création d'un composant WebPart de recherche de contenu d'entreprise personnalisé
Procédure pas à pas : Création d'un composant WebPart ASP.NET pour l'exemple d'application de données métier AdventureWorks