La recherche “People” sous MOSS 2007 : une alternative au WildCard
Un des avantages du social networking dans SharePoint est de pouvoir proposer aussi un véritable annuaire de la société. Associé au moteur de recherche, la solution est complète.

Petit soucis, l’ergonomie de recherche n’est pas des plus aisée. Je m’explique
Par défaut, la recherche par mot clé “k=” utilise des règles bien précises que Julien a rappelé efficacement :
http://blogs.developpeur.org/neodante/archive/2009/10/13/la-recherche-sharepoint-moss-synth-se-sur-la-syntaxe-des-requ-tes-par-mots-cl-s.aspx
Si vous êtes curieux,
En résumé, pour rechercher une personne
- soit vous tapez le nom plus ou moins dans la textbox de recherche. Avec des résultats …
- soit vous précisez les propriétés genre Lastname:Gud Firstname:Phil
- avec la propriété, la recherche gère comme Gud*
- si il y a plusieurs propriétés différentes, le moteur cherche avec un AND
- si il y a plusieurs propriétés identiques, le moteur cherche avec un OR
Donc tout est bien au final. Mais allez donc expliquer ceci à des centaines d’utilisateurs avide de mode d’emploi … (très peu de chance)
>>> Le succès d’un intranet ne tient pas qu’à sa richesse ou son graphisme mais surtout de l’utilisation qu’en font ses utilisateurs !
Soit un maximum d’adhésion et de compréhension.
Quelle solution alors pour pouvoir chercher facilement des utilisateurs ?
Réflexe de développeur
Pourquoi pas, il suffit de préciser les fameuses propriétés des contrôles de recherche à posteriori.
Soit modifier le composant de recherche de la Master via les delegate control tout en lui injectant le comportement par Jquery
… un peu lourd …
Soit refondre le composant de résultat et les onglets du search center mais lePeopleCoreResultsWebPart est sealed
… un peu bloquant …
Soit tout réécrire comme on le veut !
>>> autant acheter un tier produit genre Ontolica
Réflexe de SharePointeur
Soit rechercher une alternative en phase avec le besoin utilisant les “tips and tricks” de l’outil
:)
En pratique, la recherche people communique avec le Search Center via des urls de Querystring. En modifiant l’url transmis à la page PeopleSearchResult, on peut obtenir le résultat désiré
Plusieurs options se présente
- modifier le search.js dans Layout\1033 et implémenter le comportement dans la fonction GOSearch
http://geekswithblogs.net/mattjgilbert/archive/2009/12/11/moss-2007-people-search---wildcard-searching.aspx
>>> en scrutant le scope ou la page people, vous pouvez faire une modification très “localisé” mais attention, vous touchez un fichier du 12 !!!
- créer votre propre WP de recherche
>>> Et la plus de soucis : votre WP concatène tout ce qu’il faut et transmet à la page de recherche*
- Mieux que cela, la WP ne demande pas un développement lourd, comprenez Feature et DLL, il suffit de tout faire coté client, le tout fait dans un CQWP :)
(Content Editor Web Part = un simple formulaire en HTML avec un peu de JS si vous préférez)
Il ne reste plus qu’à l’importer dans la gallerie des WebParts ou directement dans la page !
En voici quelques unes que vous pouvez modifier au besoin voir passer en XSL/XML pour les rendre dynamique avec la XSLPart par exemple ou rajouter du JQUERY (genre http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx)
Et voila, tout simplement
Renaud Comte aka TheMit (si je cherche, je te trouve)
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 :