[SPC14] SharePoint App best practices using OData and the SharePoint REST API

Mail de Felipe . Mercredi 05/03/13 à 17:00

Speaker, Ted Pattison – Instructor/Author @ Critical Path Training

//Résumé
La session aborde plusieurs exemples très basiques de types de requêtes qu’on peut créer avec oData pour accéder et gérer le données héberge dans des liste SharePoint

//Intro
Le speaker se présente, MVP, auteur des plusieurs livre et speaker dès 1997,
Petit pub sur son site de formation, mais aussi qui tous les codes utilisés dans la session sont dans le suite gratuitement.

//Agenda 

REST and oData Primer
SharePoint REST API
Pagination avec SharePoint Liste
HTML Sliging avec oDate results
Mis à jour des objets SharePoint

//REST and oData Primer
Avec ses slides il nous explique le concept basique de REST et oDATA

REST = Representational State Transfer,
REST simplifie plusieurs situation qui était très complique avec SOAP,
Donc request via HTTP pour manipuler le données,

oData = Open Data Protocol specification
Un type de protocol standard pour être consumer par les APIs
Les https méthodes utiliser avec oDate son
• GET, retourne les items ou un array des items
• POST, créer des nouveaux items
• PUT, met à jour un item
• PATCH/MERGE, mettre à jour item conservant son état actuel
• DELETE, supprime un item

Ensuite il nous fait une petite demo avec le Web API
• Il nous crée un MVC project dans visual studio
• Dans le models il ajoute un entity data model et connecte avec une base de données SQL et choisir une table
• Il ajoute un control liée au model ajoute par avant (en fait il n’arrive pas vraiment à faire ça donc il ouvre un demo avec tout déjà fait)
• Ted ouvre feedler et comme toutes le request/réponse sont via http nous permet d’adapter notre solution en manipulant les headers,
et nous éviter à compiler la solution plusieurs fois pour créer/tester les request.

Il nous montre qu’on peut utiliser $.ajax() avec a REST-formmated URI,
le problème c’est qui le code de success et failure sont dans la même librairie et nous finissons avec un code difficile de lire et mélanger entre le business et le rendu
La solution : Promised and Deferred, qui nous permet de séparer les code qui contiendra le données et le code qui exécutera un fois qu’il aura sa valeur.

//SharePoint REST API

Il commence par nous montre comme trouver le service root du host web via :
Pour le host app
« /../_api/SP.AppContextSite(@target)/web »
Pour le host web
« /../_api/SP.AppContextSite(@target)/web/ »

Il nous explique l’importance de $exapand avec SharePoint qu’améliorer la performance
car il nous remonte les données directement au lieu de utiliser defered et effectuer plusieurs aller/retour

Ensuite il nous montre une petit demo, une sharepoint hosted app qu’affiche les propriétés du web courant

//Pagination avec une liste SharePoint
Il simplement nous explique comme créer une requete pour la pagination via oData
Comme SharePoint liste ne supporte pas $skip
Mais on peut utiliser $skiptoken qui nous permet de définir le point d’entre dans la collections de données retourne dans le request
//HTML Sliging avec oData
Il nous montre des librairies .js qui font de binding entre la source des données et la html
Il passe très vite sur quelques librairies
• Jsrender.js
• Angular.js
• Knockout.js
• Caveman.js
• Rainman.js

//Mis à jour de objet SharePoint
Deux considération,
• Nous somme obligé d’inclure le «_metadata » dans le payload, pour indique quelle type de données sera créé ou mis à jour
• Et le X-RequestDigest, qui on peut l’avoir dans deux scenario
o en utilisant un request POST sur /_api/contextinfo et extrait le d :FormDigestValue dans le xml de réponse,
sachant qui pour ça nous avons aussi besoin du oAuth authorization token.
o ou si nous somme dans sharepoint on peut simplement utiliser le selector jquery $(« #__REQUESTDIGEST »).val()

//Conclusion
Il nous montre de façon très basique comme utiliser oData dans SharePoint et quelques contraintes,
car SharePoint utilise oData 2.
Mais la session de façon générale était très superficiel avec beaucoup de choses simple ou déjà vu.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s