Nouveautés offertes par le composant WebPart Requête de contenu

Nouveautés offertes par le composant WebPart Requête de contenu

Bonjour tout le monde ! Je m’appelle Dustin Anglin et je suis chef de programme au sein de l’équipe de la gestion de contenu d’entreprise. Aujourd’hui, je souhaite vous parler des nouveautés qu’apporte l’un des composants WebPart SharePoint les plus populaires, lecomposant WebPart Requête de contenu.

Si ce n’est déjà fait, veuillez consulter la vue d’ensemble de la gestion de contenu d’entreprise, rédigée par Jim Masson, et la vue d’ensemble de la gestion de contenu Web, rédigée par Sangya Singh.

Composant WebPart Requête de contenu pour les nouveaux venus

Pour ceux d’entre vous qui ne connaissent pas le composant WebPart Requête de contenu, voici une brève explication de ce qu’il effectue et de son champ d’application.

Le composant WebPart Requête de contenu est un outil qui permet aux concepteurs de site d’agréger des portions d’informations intéressantes et pertinentes sur une page Web en créant des requêtes par le biais d’une interface utilisateur conviviale, ce contenu pouvant être affiché de façon unique et configurable.

image

Le composant WebPart Requête de contenu est conçu pour retourner du contenu agrégé portant sur différentes étendues, pouvant aller d’une liste ou bibliothèque unique à la totalité des listes ou des bibliothèques d’une collection de sites entière. Dans SharePoint 2010, la requête de liste unique du composant WebPart Requête de contenu est également optimisée pour porter sur des bibliothèques uniques volumineuses, en tirant parti d’index intelligents et autres outils conçus pour améliorer les performances des requêtes qui englobent des bibliothèques de documents volumineuses.

Pour une vue d’ensemble plus approfondie du composant WebPart Requête de contenu, je vous recommande de consulter le billet de blog SharePoint 2007 rédigé par George Perantatos.

Création d’un composant WebPart Articles connexes avec le composant WebPart Requête de contenu

Rien de tel qu’un exemple pour comprendre quelque chose. Nous allons donc parcourir un scénario archétype qui utilise le composant WebPart Requête de contenu pour afficher les articles liés à l’article que je suis en train de lire. En outre, dans la mesure où nous ne sommes pas intéressés par les articles anciens, nous ferons en sorte que notre composant WebPart soit configuré de manière à n’afficher que les articles récents, par exemple ceux créés au cours de la dernière semaine.

Génération de la requête en fonction du contexte

Le composant WebPart Requête de contenu est très efficace pour l’affichage de contenu interrogé sur une page, mais je veux éviter d’ajouter un nouveau composant WebPart Requête de contenu à une zone de composant WebPart chaque fois que je crée un article, notamment si je suis amené à configurer systématiquement le même composant WebPart.

Dans SharePoint 2007, vous pourriez ajouter un composant WebPart Requête de contenu à une mise en page afin qu’il apparaisse sur toutes les pages d’un certain type (par exemple, dans ce scénario, vous pourriez créer une mise en page « Article »), mais vous ne pourriez configurer qu’une seule requête sur ce composant WebPart, ce qui signifie que chaque page utilisant la mise en page « Article » retournerait le même ensemble de résultats.

Pour notre part, nous souhaitons que chaque page « Article » affiche les articles liés à l’article actuel que je suis en train de lire, par exemple les articles sportifs connexes si je suis en train de lire un article sportif.

En outre, étant donné que nous avons besoin d’un champ de métadonnées décrivant le type de l’article en cours de lecture, tel que Sports ou Business (Économie), nous ajouterons un nouveau champ Métadonnées gérées (Managed Metadata) « Catégorie d’article » (News Category). Nous pourrons lier ce champ au magasin de termes dans lequel nous pourrons créer une taxonomie gérée des catégories d’article parmi lesquels nos auteurs pourront effectuer leur choix.

Voici donc le schéma conceptuel de l’aspect futur de notre mise en page « Article » (News Article) :

image

J’ai indiqué que nous souhaitons que notre composant WebPart soit piloté par le contexte de l’article actuel, notamment la « Catégorie d’article » (News Category) des articles actuels. Dans SharePoint 2010, nous pouvons à cette fin configurer nos filtres de requête avec deux astucieux nouveaux jetons :

PageFieldValue

Ce jeton vous permet de spécifier un champ de la mise en page actuelle et de remplacer dynamiquement la valeur du filtre par la valeur de champ de la page actuelle.

Par exemple : j’ai créé un champ Métadonnées gérées (Managed Metadata) personnalisé « Catégorie d’article » (News Category) qui spécifie le type d’article associé à ma « Catégorie d’article » (News Category) (économie, politique, international, sports, etc.) et je l’ai ajouté à la mise en page « Article » (News Article). À l’aide du jeton PageFieldValue, la requête est modifiée en fonction de la « Catégorie d’article » (News Category) des pages actuelles. Par conséquent, si la catégorie de la page actuelle est « Sports », elle retourne les pages auxquelles est associée la balise « Sports ».

PageQueryString

À l’image du jeton PageFieldValue, vous pouvez également faire en sorte que la valeur à utiliser dans la requête soit indiquée dans la chaîne de requête d’URL.

Par exemple : vous pourriez ajouter une valeur de chaîne de requête à l’URL, telle que « &NewsCategory=Sports », et configurer la requête du composant WebPart Requête de contenu de manière à ce qu’elle retourne les pages dans lesquelles le champ « Catégorie d’article » (News Category) a pour valeur « Sports » ou toute valeur actuellement définie dans la chaîne de requête.

Grâce au paramètre de chaîne de requête, vous pouvez afficher différents ensembles de résultats dans un composant WebPart sans avoir à créer une page pour chacun de ces ensembles.

image

Dans le cadre de cet exemple, nous allons utiliser le jeton PageFieldValue pour configurer notre composant WebPart Requête de contenu afin qu’il retourne les articles dont le champ « Catégorie d’article » (News Category) contient la même valeur de métadonnées que le champ « Catégorie d’article » (News Category) de l’article actuel. En outre, grâce à la modification de la mise en page « Article » (News Article) personnalisée, le composant WebPart Requête de contenu apparaîtra automatiquement sur toutes les nouvelles pages « Article » (News Article), qui seront déjà configurées et prêtes à afficher les articles connexes.

En observant d’un peu plus près la requête, vous pouvez constater que j’ai ajouté deux autres filtres. Le premier filtre, dont la fonction essentielle est d’éviter que l’article actuel soit dupliqué dans les résultats de la requête, filtre tout article portant le même nom que l’article actuel. Le second filtre retourne uniquement les articles créés au cours des 7 derniers jours, de telle sorte que les résultats soient toujours actualisés.

En outre, dans cet exemple, le champ de métadonnées « Catégorie d’article » (News Category) est l’un des nouveaux champs Métadonnées gérées (Managed Metadata), que le composant WebPart Requête de contenu prend totalement en charge, y compris les variantes à valeur unique ou multiple. Bien que cela ne soit pas illustré dans cet exemple, le composant WebPart Requête de contenu prend également en charge le filtrage sur les colonnes Mots clés d’entreprise et sur la colonne « Toutes les balises » (All Tags), ce qui vous permet de rechercher n’importe quelle balise de métadonnées gérées associée à un élément interrogé, indépendamment du champ de métadonnées qui contient la balise dans l’élément.

image

Affichage des résultats : mappage des colonnes à partir du volet des outils

Certaines personnes aiment écrire du code XSLT ; celles-ci ont tout intérêt à écrire tout le code XSLT qu’elles souhaitent. Toutefois, pour les autres (d’aucuns diraient pour la majorité d’entre nous, toujours adeptes des codeurs XSLT), déterminer l’affichage du champ X, Y ou Z en écrivant du code XSLT est la dernière chose que nous souhaitons faire.

Dans SharePoint 2010, l’une des nouvelles fonctionnalités les plus intéressantes qu’offre le composant WebPart Requête de contenu est la possibilité de choisir directement dans l’interface utilisateur du volet des outils les champs à afficher. Par conséquent, la requête étant maintenant définie, ouvrons la section Présentation et examinons-la :

image

La section Présentation du volet des outils contient une nouvelle section appelée Champs à afficher (Fields to display) qui vous permet de taper les champs à afficher pour n’importe quel style XSL défini. Par conséquent, vous pouvez assimiler un style d’élément à un modèle vide, qui permet de définir le nombre d’éléments pouvant être affichés et leur emplacement, mais pas les champs qui seront affichés. Une fois que vous avez sélectionné votre modèle, vous avez uniquement besoin d’indiquer les champs à afficher en les tapant dans les zones qui apparaissent pour le style d’élément concerné.

J’ai choisi d’utiliser un style qui comporte une image à gauche, un lien vers la page représentée par le titre des articles et un bref extrait de l’article (champ personnalisé que j’ai défini pour ma mise en page). En tapant les champs que je souhaite afficher dans chacune des zones, j’obtiens les résultats suivants :

image

Temps total passé à batailler avec XSLT : 0,0 seconde ! Génial !

En résumé

Pour récapituler, voici ce que nous avons effectué :

  • Nous avons ajouté un composant WebPart Requête de contenu à toutes mes pages d’article en modifiant la mise en page en un seul endroit.
  • Nous avons configuré la requête de composant WebPart afin qu’elle soit pilotée dynamiquement en fonction du contexte de la page actuelle (les articles sportifs permettent de retourner d’autres articles sportifs connexes, les articles économiques permettent de retourner d’autres articles économiques, etc.).
  • Nous avons configuré la présentation du composant WebPart de manière à afficher les champs personnalisés sans écrire de code XSLT personnalisé.

Et voici ce à quoi ressemble le produit final :

image

Désormais, lorsque les auteurs de contenu rédigeront des articles, chaque article comportera un composant WebPart qui indiquera les articles connexes les plus récents et les auteurs de contenu n’auront pas besoin de manipuler des composants WebPart et des requêtes.

Conclusion

Ceci n’est qu’un exemple des nouvelles applications intéressantes que vous pouvez réaliser avec le composant WebPart Requête de contenu en vous appuyant sur des requêtes pilotées par le contexte et de la façon conviviale dont vous pouvez configurer l’affichage de votre contenu sans rédiger de code. Visitez régulièrement ce blog pour vous tenir informé du composant WebPart Requête de contenu et des autres nouvelles fantastiques fonctionnalités de gestion de contenu d’entreprise disponibles dans SharePoint 2010.

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible à la page What’s New with the Content Query Web Part.