Personnaliser et étendre les fonctions de recherche dOffice SharePoint Server 2007
Remarques préminaires Objectifs de la présentation : Apprendre comment personnaliser linterface de recherche SharePoint et construire des applications de recherche. Prérequis : Connaissance de base du fonctionnement du search dans Office SharePoint Server 2007.
Sommaire Personnaliser linterface utilisateur produit : Branding Centre de recherche Web Parts XSLT Recherche étendue : Modèle de requêtage objet Web Service pour application distante Indexation de données personnalisées, BDC Conclusions
Fixer un branding sur linterface SharePoint Construire sur ASP.NET 2.0 : Les pages maîtres (master pages) contrôlent lapparence du site Web. CSS personnalisée. SharePoint Designer : Pour construire les pages maîtres. Concevoir les CSS.
Résultats principaux Mots clés correspondants & meilleurs résultats Grande pertinence Liens daction Onglet de recherche Centre de recherche Boîte de recherche Pagination Statistiques
Onglets de recherche 2 onglets en standard : Onglet tous les sites (scope standard). Onglet personnes. Extensibles : Les onglets personnalisés peuvent être ajoutés pour des types de données additionnelles / expérience de recherche personnalisée. Consiste en une page de disposition et une page de résultats. Non disponibles dans Microsoft Office SharePoint Server for Search 2007.
Web Parts de recherche 9 Web Parts en standard, incluant : Boîte de recherche, Résultats principaux, Liens dactions. Propriétés de Web Part telles que : Formatage, On/off sur la lemmatisation (stemming) ou le nombre de résultats retournés. XSL.
8 Web Part de recherche avancée Toute, chacune, phrase, exclusion Filtrage par langage Propriétés configurables Chaque contrôle est configurable
Personnaliser linterface via XSLT Approche appropriée pour les scénarios requérant : Un changement de disposition des résulats, de lapparence, Un pivot utilisant la syntaxe des mots clés. Propriétés de Web Part. Puissance de XSLT : Formatage,Logique,Mathématiques.
Etendre la recherche Modèle de requêtes objet : Syntaxe de requête. Web Service pour les applications distantes. Indexation de données personnalisées : Recherche de données métier.
Modèle de requête objet Utilisation dun modèle objet de requêtage : Pour construire des interfaces de Web Parts de recherches personnalisées. Pour avoir un accès direct aux résultats et à leurs propriétés. Pour invoquer des requêtes personnalisées. 2 types de syntaxes de requêtes : Mots clés. SQL. Paramètres dURL de requêtes.
Chemin de lobjet requête Modèle objet de requêtes Entrée Sortie Requête SQL Paramètresoptionnels Site UI Client personnalisé Local Distant Requête par mots clés Résultat s Query
Cas utilisateur : Utilisateur final. Ecriture dun pivot via XSLT. Simple et facile à utiliser : Evite lanalyse et la construction SQL. Support des termes requis et exclus : Vélo –fitness SharePoint search -auteur:Richard Riley. Filtrage par toute chaîne de caractères ou propriété entière. Syntaxe cohérente propriétés/valeur au travers dOffice, Windows et Live Search. Syntaxe des requête Syntaxe des mots clés gallery hinges –brass site:http//supportdesk scope:Products
Cas utilisateur : Solutions de recherches avancées. Requêtes complexes. Syntaxe SQL du desktop à linfrastructure. Syntaxe de requête Syntaxe SQL SELECT URL, Title, Description FROM portal_content..SCOPE() WHERE FREETEXT(gallery hinges) AND SITE = AND SCOPE = Products AND NOT CONTAINS(brass)
Couverture complète : freetext() Groupement arbitraire pour AND, OR, NOT CONTAINS()LIKE ORDER BY ASC | DESC Enlevé de SharePoint Server 2007 : UNION ALL MATCHES SELECT * COALESCE TABLE COALESCE TABLE Syntaxe de requête Syntaxe de requête Syntaxe SQL
Syntaxe de requête Paramètres dURL de requête Cas utilisateur : Lancer une URL dans une application personnalisée. Sauver la recherche. Contenu : results.aspx?k=fish. Scopes : results.aspx?k=fish&s=BBC. Tri : results.aspx?v=date.results.aspx?v=relevance. Page : results.aspx?start=21.
Modèle objet de requête Fonctionnalités API de code managé. Une seule requête – des résultats multiples. Types de résultats : Résultats pertinents, Résultats très pertinents, Termes spéciaux, Meilleurs résultats, Définitions. Paramètres optionnels : # de phrase dans le résumé, Implicite - AND/OR, Nombre de résultats, Ignorer les mots bruits, Activer la lemmatisation (stemming), Langage.
Chemin de lobjet requête Query OM Entrée Sortie Requête SQL Paramètres SQL Moteur de requêtes ResultTableCollectionResultTable:IDataReader Résultats pertinents Haute pertinence Termes spéciaux Définitions Interface de site Client personnalisé Local Distant Requête par mots clés Execute()
POST ou GET de la page de recherche Query.Execute( ) Obtention des IDs de doc de lindex, propriétés de la base de search Résultats retournés via lobjet IDataReader Résultats en XML Application CSSApplication CSS Code côté clientCode côté client Obtention requête, paramètres de lUI Obtention requête, paramètres de lUI Obtention de la liste SELECT du volet Office Construction des liens avec les paramètres dURL Transformation pour rendu Changer la transformation Edition de feuille de style Création de Web Parts personnalisées via le OM Flux dinformation pour les résultats de recherche Navigateur Serveur Modèle objet Service
Requête Web Service Cas utilisateur : Application distante. Volet de recherche Office. Fonctionnalités similaires au modèle objet de requête. Résultats en XML formats de tables de données.
Requête Web Service Méthodes : Query – retourne les résultats au format XML : Service de recherche et référence - compatible XML. Utilisable dans le volet de recherche Office. QueryEx : Retourne un dataset.NET. GetSearchMetaData – Retourne les propriétés disponibles et les scopes. Enregistrement.Statut.
Indexer les données personnalisées Recherche dans les données métier Recherche dans les données, pas simplement dans les documents. Les organisations stockent beaucoup de leurs données dans SAP, siebel… Mais les applications verticales manquent de fonctions de recherche plein texte. La plupart des utilisateurs ne peuvent pas localiser ou accéder aux applications verticales. Difficile de parcourir des données métier avec SharePoint. Office SharePoint Server 2007 : Ces données propriétaires sont accédées au travers du business data catalog. BDC expose alors ces données à plusieurs fonctionnalités dans SharePoint. La recherche peut aisément indexer ces données : Pas besoin décrire des ifilters ou des protocol handlers. Pas besoin de créer une représentation HTML de la donnée. Résultats hautement personnalisables. Intégré aux scopes et au centre de recherche.
Business Data Catalog
Indexer des données personnalisées Indexer le Business Data Catalog : Intégration la plus forte sans écrire de code. Exposer des données en HTML/XML via HTTP. Développer un Protocol Handler pour rassembler des données venant de lieux de stockage personnalisés : Les interfaces sont les mêmes quavec SharePoint Portal Server MSDN : ISearchProtocol et IUrlAccessor. Développer un IFilter pour des formats de fichiers personnalisés : Support de la lecture de flux. Etre sûr que les IFilters peuvent être multithreads.