#SPC2012 : Building apps for Outlook and Outlook Web Apps

Session de 9h à 10h15 animée par Andrew Salamatov (Program Manager Microsoft Exchange)

La session démarre par une présentation rapide de la nouvelle version d’Outlook Web Apps sur Office 365

On voit que dans le corps d’un mail il y a une adresse et qu’il est possible de localiser celle-ci sur Bing Maps

Même chose pour un document en pièce jointe, on peut signer numériquement ce fichier avant de l’envoyer (avec DocuSign)

Que ce soit Bing Maps ou DocuSign, ce sont des applications développées et intégrées à OWA

Les applications peuvent être intégrées dans les mails et les rendez-vous du calendrier, sont contextuels à l’élément en cours de lecture et fonctionnent sur tous types de périphériques (ordinateur, tablette…)

Pour pouvoir développer des applications, il est nécessaire d’avoir Exchange 2013 côté serveur et le manifest de l’application déployé sur le serveur

Quand Outlook s’ouvre, les manifest de toutes les applications sont chargés et en fonction des informations contenues dedans, sont appliqués à chaque élément quand l’utilisateur lit un mail ou crée un RDV dans le calendrier

Les applications sont réalisées en HTML + Javascript

Dans le manifest, le développeur peut définir les règles d’activation avec des mots clés sous forme de noeud XML

  • ItemIs
  • RuleCollection
  • ItemHasAttachment
  • ItemHasRegularExpressionMatch
  • ItemHasKnwownEntity (ex: pour détecter les adresses)

On retourne sur la démo où l’on voit le manifest d’une application qui va s’exécuter que l’on soit sur un mail ou un RDV, qui nécessite des permissions de lecture, dont la taille est fixée à 250px en hauteur…

Andrew remplace la règle de déclenchement pour définir qu’elle ne fonctionnera que si le mail contient une URL et dont le nom de domaine est contoso.com (via une expression régulière)

Retour aux slides pour parler de l’API « Office JS » qui permet de manipuler les objets (Office.context, .mailbox, .userProfile, .item)

On passe dans Visual Studio pour voir le code d’une application qui initialise le contexte office et récupère dans la page HTML (via une syntaxe jQuery) le sujet du mail, l’expéditeur et le destinataire (la syntaxe est relativement simple à comprendre et utiliser)

Office JS peut communiquer de manière limitée avec les webservices Exchange

  • Recherche d’éléments dans la boite à lettres
  • Création de RDV, mails, tâches et contacts
  • Envoyer des mails et des invitations

On peut aussi afficher des formulaire Outlook depuis l’API et toute la partie authentification est géré via la génération et l’échange de tokens

On retourne sous Visual Studio pour compléter le code de l’application vu précédemment en ajoutant ce qu’il faut pour afficher le formulaire de création d’un RDV ou faire un appel asynchrone aux webservices Exchange

Chaque application possède un property-bag pour stocker des données, cet espace se présentant sous la forme d’un dictionnaire clé/valeur sauvegardé dans la boite à lettres de chaque utilisateur

Il existe également un property-bag « per-app / per-item » où chaque application peut stocker des données personnalisées sur un élément particulier (ex: un RDV dans le calendrier)

Chaque application doit déclarer dans le manifest de quelles autorisations elle a besoin (Restricted, ReadItem ou ReadWriteMailbox) afin de savoir ce qu’elle aura le droit de faire ou non (ex: le mode restrictif n’ouvre pas accès à toute l’API Office JS)

Les points d’attention pour les développeurs 

  • Affecter les autorisations uniquement nécessaires
  • Attention aux performances notamment sur les traitements exécutés au lancement d’une application
  • Faire en sorte que l’interface s’adapte aux périphériques et aux contenus (ex: éviter les tailles fixes dans le HTML)

Plus de ressources sur le sujet sont disponibles sur http://dev.office.com

Bien que pas très poussée techniquement, cette session est très intéressante et ouvre pas mal de perspectives pour intégrer des applications métiers directement dans Outlook et OWA, si tenté que l’on soit sur Exchange 2013 (une bonne raison de migrer rapidement)

Stéphane

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