Développement d'applications basées sur la recherche (API REST) Samuel Levesque Architecte organique SharePoint 23 mai 2015
SÉBASTIEN SAMUEL Levesque LEVERT a Développeur.Net depuis 2006 Développeur SharePoint depuis 2010 Formateur.Net à la formation continue du Cégep de Ste-Foy 2009-2012 Développeur SharePoint depuis 2007 Formateur SharePoint chez Technologia 2014-2015 Conférencier SharePoint depuis 2010 Formateur SharePoint depuis 2011 Gala d excellence SharePoint - Meilleure solution 2012 - Ville de Québec - Refonte de l intranet municipal Contact Contact : slevert@victrix.ca : slevesque@victrix.ca / @sebastienlevert Blog : SharePointerie.com
Agenda L interface REST de SharePoint 2013 Développement d applications basées sur la recherche JavaScript + JQuery SharePoint hosted app
Qu est-ce que c est? REST = Representational State Transfer REST protocole Style d architecture utilisé pour le développement de service web
REST vs SOAP
Slide avec photo
Vue de haut niveau de l architecture REST SharePoint
URL de point de terminaison du service REST http://[site]/_api/[nom de l API SP]/[Nom de l opération]?[paramètre] http://[site]/_api/search/query?querytext= sharepoint saturday
Vue d'ensemble des sujets Processus global Prérequis Utilisation de librairies tierces Intégrer le plugin Utilisation de l API de recherche Construire une requête Exécuter la requête Afficher les résultats
Processus global Construire une requête REST Gérer les autorisations et l authentification Exécuter la requête Afficher les résultats
Prérequis Avoir SharePoint 2013 sur site (On-Premise) ou SharePoint 2013 Online (O365) Avoir configuré votre service de recherche ainsi que la recherche de personnes Avoir une référence aux librairies tierces suivantes : jquery, jquery.ui et jquery.ui.autocomplete
Utilisation de librairies tierces Le choix des librairies tierces a une incidence afin que la solution fonctionne dans SharePoint Online (O365) ET pour une installation sur site (On-Premise) Telerik vs Jquery AutoComplete Certaines librairies s intègrent plus facilement que d autres Telerik ne permet pas de s alimenter directement de l API REST de recherche SharePoint Jquery AutoComplete prend facilement le résultat d une requête AJAX en format JSON
Intégrer le plugin AutoComplete
Utilisation de l API de recherche REST Le service REST de recherche prend en charge à la fois les requêtes : POST /_api/search/postquery GET /_api/search/query Quand utiliser le POST? Excède la restriction de longueur du URL avec une demande GET Type complexe à spécifier dans une requête
Utilisation de l API de recherche REST Paramètre QueryText : Chaîne qui contient le texte de la requête de recherche. Paramètre SourceId : GUID de la source de résultat à utiliser pour l exécution de la requête de recherche. Paramètre SelectProperties : Chaîne qui contient une liste de propriétés séparées par des virgule. Paramètre SortList : La liste des propriétés pour spécifier le tri des résultats.
Construire la requête REST Requête : http://server/_api/search/query?querytext= samuel &SourceId = B09A7990-05EA-4AF9-81EF-EDFAB16C4E31 Le GUID à spécifier dans le paramètre SourceId pour obtenir uniquement les résultats de personnes est le même pour toutes les installations.
Construire la requête REST On peut tester cette requête en l exécutant directement dans le fureteur (résultat sous une forme XML) :
Exécuter la requête REST
Afficher les résultats simplifiés appendto: $('#menu-container') }).data("uiautocomplete")._renderitem = function(ul, item) { return $("<li>").append('<a>' + item.fields.preferredname + '</a>' ).appendto(ul); }; }); Résultats simplifiés :
Afficher les résultats détaillés var haspicture = item.fields.pictureurl; var currentitem; if(haspicture){ currentitem = '<a><img src="' + item.fields.pictureurl + '"/>' + item.fields.preferredname + ' - ' + item.fields.jobtitle + '</a>' } else{ currentitem = '<a><img src="/_layouts/images/o14_person_placeholder_96.png"/>' + item.fields.preferredname + ' - ' + item.fields.jobtitle + '</a>' } return $("<li>").append(currentitem).appendto(ul); Résultats détaillés :
Que faire si la propriété que je veux utiliser n est pas retourné?
Outil de débogage (Gratuit)
Conclusion Réalisation très rapide JQueryUI est gratuit Supporté On-Premise et dans SharePoint Online (O365) Pas de déploiement de solutions de ferme Facilement modifiable et pourrait être amélioré pour ajouter toute autres propriétés que vous jugeriez pertinente (Ex : Département, intérêts, etc ).
Bronze Web Or Argent Merci à nos commanditaires!
SharePint! Ce soir à 18h Le Trèfle, 3971 Rue Ontario E
Références Search REST API Vue d'ensemble de l'api REST SharePoint Search (MSDN) Calling SharePoint search using REST (e.g. from JavaScript or an app) Retrieving values of Managed Properties in SharePoint 2013 Search REST API