CQWP : ce qu’il est bon de savoir (part 1)
Ces temps ci, je me replonge dans le monde feutré du Web Content Management avec SharePoint. Version 2007 car la 2010 sera la, … en 2010
Soit :
- Charte graphique
- Type de contenu
- Gabarit (Layout)
- Type de champs
- Navigation
- Agrégation.
Le dernier point est certainement celui que je préfère car il permet de transcender le contenu du site.
En effet, en WCM, le but principal est de mettre en place une structure de communication pour assister les utilisateurs habilités à publier aisément (et j’insiste sur le dernier terme) du contenu Web structuré.
Mais ce n’est pas tout, les sites riches de contenu se doivent aussi de présenter ces contenus, de les agréger pour les présenter aux visiteurs qu’il s’agisse de l’accueil principal, ou des sous niveaux.
Et bien sur, le tout avec le minimum de gestion, de manipulation, tout en respectant les sécurités, les performances et tuti quanti.
Du grand classique vous me direz tous, si si
.
C’est la qu’intervient le composant le plus riche et puissant de MOSS WCM : la Content Query WebPart aka CQWP

Si vous la connaissez, cette mystérieuse WebPart avec une toolbar extrêmement riche mais avec des style graphiques assez pauvres
Genre

J’ai remarqué que bien des gens ignoraient la puissance et la beauté d’utilisation de ce composant. C’est bien dommage.
Cependant je comprends :
- par défaut, les styles sont pas très riches
- seuls les requêtes sont paramétrables par la toolbar
- SharePoint Designer a une mauvaise cote
- Y’en a trop à connaitre !
- les user controls c’est plus simples
Pire, il existe moultes posts de blog sur son sujet mais rare sont ceux qui vous donne un minimum de méthode dans son utilisation.
Moralité, même motivé, il faut arriver à passer un cap pour arriver à l’utiliser franchement et avec plaisir. Et il faut connaitre XSL en plus
…
…
C’est bien dommage car ce composant est vraiment central à SharePoint et évite bien des développements.x
En effet, sans code, juste avec un peu de XSL, vous pouvez agréger tout et n’importe quoi dans MOSS. Et avec du code compléter ce qu’il peut vous manquer (et voir le réutiliser).
Mieux que ca, dans une philosophie WCM, vous pouvez embarquer une série de style générique ou lier à vos contenus puis le déléguer à des utilisateurs tout en étant sur du rendu graphique de vos agrégations dans vos pages sans risquer d’avoir un site “dépareillé”.
Certes, il demande quelques connaissances de XSL, mais pas forcement lourdes, tout dépend de votre intégration au final mais en balbutiant, vous pouvez déjà réaliser de bien sympathiques rendus et bien plus !!!
Vous ne me croyez pas ? Ok, voici un bon exemple d’une CQWP maline avec du bon XSL :
- De la simple intégration de vignette dans les news (grand classique)
- au Tag Cloud qui va bien !
Generating tag cloud using the Content Query Web Part par Waldek Mastykarz
Alors convaincu de laisser une (seconde) chance à la CQWP ? Bien, nous pouvons donc aller de l’avant.
Si ce post me sert un peu d’introduction, je viens bientôt poster d’autre post sur le même sujet pour vous donner astuces, méthodes et bons exemples qu’il est toujours bon de connaitre quand il s’agit de CQWPs.
Le tout bien saupoudré de bonne pratique et d’usage.
Donc pour bien commencer, il faut savoir le “minimum minimorum” dixit Christian
Qu’est ce que la CQWP ?
- C’est une WebPart d’aggrégation XML/XSL
- Vous configurez une zone et un focus de recherche, elle renvoit un flux XML et applique un style XSL sélectionnable par dessus
- La classe derrière est la “ContentByQueryWebPart”, elle n’est pas sealed, vous pouvez donc la dériver !!!
- Par défaut, elle fonctionne avec 3 feuilles XSL
* ContentQueryMain.xsl = la XSL principale qui fait l’appel au header et au style de liste, elle contient la logique de présentation
* ItemStyle.xsl = XSL secondaire qui contient les différents templates d’affichage sélectionnable
* Header.xsl = XSL secondaire qui contient les différents templates d’entête de regroupement sélectionnable
- les XSL se trouve dans la gallerie des Styles de MOSS (facilement accessible depuis SPD ou le “Manage content and structure” )
* /Style Library/XSL Style Sheets/Header.xsl
* /Style Library/XSL Style Sheets/ItemStyle.xsl
* /Style Library/XSL Style Sheets/ContentQueryMain.xsl
- En créant/modifiant le .WebPart de la CQWP, vous pouvez modifier bien des paramétres du composant comme
* les XSL à utiliser
* la requêtes par défaut
* les champs à aggréger
*…
- la liste serait longue.
Avant d’aller plus en avant, et pour éviter de faire de la redite, je vous conseille la lecture de ces quelques posts de personne de confiance/référence. Ainsi la suite des posts ne seras que plus accessible.
A très bientôt (promis)
Renaud Comte aka TheMit (CQWP I LUV IT)
Member of WygTeam
http://www.wygwam.com
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :