Le Post Infeeny

Les articles des consultants et experts Infeeny

#SPC2012 : Bringing SharePoint to the desktop

Session de 10h45 à 12h animée par Corey Roth (application architect – Infusion)

Petit résumé:

Une démo qui montre comment afficher des données SharePoint depuis un app windows store. Plutôt sympa et très rapide à coder grâce aux API REST de SharePoint qui évite a nos amis du pôle .Net de toucher à SharePoint (je sais que ça peut leur donner des boutons 😉 )

Au niveau fonctionnel, intéressant pour afficher pourquoi pas des news d’un intranet, ses tâches SharePoint, des notifications sociales SharePoint d’ un RSE. Bref prometteur.

Y a plus qu’a attendre que nos clients SharePoint passent à Windows 8.

Une introduction sur les apps windows 8. La notion de full screen avec des vues multiples, sandboxés, variété de devices, distribuées par le store…

Pourquoi des app avec SharePoint?

Visualiser des données (bi, reports, etc), les manager adorent le touch, emmène SharePoint sur le desktop, facile a développer, fun, etc…

// Pour démarrer

Il faut donc 2 environnements, son SharePoint et son client windows 8 avec visual studio. les 2 doivent être sur le même domaine. Une vm est idéale.

En quel langage on code ?

  • Html5 / JS
  • XAML / C#

// démo hello world

Sur visual studio, nouveau projet, catégorie windows store, win8 app.

Il ajoute juste une texte box avec hello world…. Applaudissements nourris ! 🙂

// Comment on intègre SharePoint ?

Avec du databinding, des contracts (search, share), live tile, notification

Quel API SharePoint ? REST

REST retourne du xml ou json, facule a requête, etc. Donc REST est le choix a faire dans ce cas.

URL a utiliser : /_api/

/_api/web/lists/
/_api/web/lists/getbytitle()

Etc.

On peut tester ces url sur IE.

On change un header pour avoir du json a la place du xml.

Pour requéter depuis un app win8

HttpClient doit etre utiliser, il gère l authentification.

// on repasse à la démo

Il montre sa picture library sur SharePoint et il aimerait montrer cette liste dans son app windows store.

Il cherche l’url a requeter sur /_api/lists/

Il trouve donc /_api/lists/getbytitle(‘pictures’)/

Et /_api/lists/getbytitle(‘pictures’)/items pour avoir les items

Mais il manque l’url de l’image, il ajoute donc :

/_api/lists/getbytitle(‘pictures’)/items?$select=id,title,…..

Il revient sur VS et utilise le template items page.

Dans la méthode loadstate, il ajoute une méthode async BindData()

Dans cette méthode, il fait le binding : 

un HttpClient,

il change le content type header,

Var response = await client.getasync(url)

Response = await response.content.readasstring

Puis il parse les éléments

Puis this.defaultviewmodel[‘items’] = items

En gros 🙂

Dans le appmanifest, il faut checker enterprise authentication et private network.

Il modifie le template d’affichage et hop, une belle app qui montre la liste des images.

// Search

On va maintenant ajouter une fonction de recherche à notre app.

Cela fonctionne de la même manière, la recherche SharePoint est accessible par REST /_api/search/query?querytext=’sharepoint’

Il ajoute une page à l’app en prenant le template search contract

je vous passe les détails, le webcast sera plus parlant. Voire le blog du monsieur.

Http://tinyurl.com/agk2kpg

En tout cas, c’est plutôt sympa d’afficher des données SharePoint depuis son windows 8.

// Tiles / Notification

Rappel : les tiles sont une combinaison texte et image.

Comment ça marche ? c’est juste du xml.

Pour les notifications, on peut utiliser les tiles, badges, toast, lock screen.

Celles ci sont périodiques ou en mode push.

On va voir un exemple de  notification périodique :

Cela se passe comment ?

pas de code client exécuté quand le xml est

Il va modifier le flux rss

// démo notification périodique

Une liste de taches sharepoint. Il veut mettre a jour le tile avec le nombre de tache assignée a l utilisateur.

Il ajoute une content query webpart, il modifie la query pour chercher sur sa liste de tache et il check « enable feed for my webpart ».

Il va maintenant dans le XSL dans la style library pour modifier le rss.xsl en ajoutant $rowcount.

(ajouter une copie serait mieux, car il modifie le RSS pour toutes les CQWP là…)

Il retourne a son app windows 8 et utilise TileUpdateManager pour paramétrer la mise a jour de la tile.

Et ça marche, on voit qu’il a 8 tâches affectés.

On voit des idées pour le social SharePoint par exemple.

Fabien

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

%d blogueurs aiment cette page :