Développement de plugins Eclipse pour Lotus Notes 8
Transcription
Développement de plugins Eclipse pour Lotus Notes 8
Développement de plugins Eclipse pour Lotus Notes 8 Nicolas RAIMBAULT Grégoire GALINAND http://www.synergie-informatique.fr Agenda Introduction Architecture du client Notes 8 Plugins fournis par IBM Exemples de plugins Synergie Développement Installation et Paramétrage Eclipse Structure d’un plugin basique Gérer l’interface Utilisateur avec SWT Structure d’un plugin qui interagit avec un DB Notes Structure d’un plugin qui exploite un flux XML Installation / Déploiement Architecture du client Notes 8 Notes 8 Sametime 8 Symphony EXPEDITOR ECLIPSE RCP Plugins IBM … Plugins fournis par IBM Sametime QuickR Agenda du jour Lecteur de flux RSS Widgets (Activités) Exemple d’extensibilité : les plugins Synergie Lanceur People Finder Mes documents à valider Agenda Introduction Architecture du client Notes 8 Plugins fournis par IBM Exemples de plugins Synergie Développement Installation et Paramétrage Eclipse Structure d’un plugin basique Gérer l’interface Utilisateur avec SWT Structure d’un plugin qui interagit avec un DB Notes Structure d’un plugin qui exploite un flux XML Installation / Déploiement Installation et Paramétrage Eclipse (1/2) Installation et Paramétrage Eclipse (2/2) Window – Preferences Plugin Development / Target Platform • …Lotus\Notes\framework\eclipse Java / Installed JRE • Ajouter la JRE du client Notes 8.01 : …\Lotus\Notes\framework\rcp\eclipse\plugins\com.ibm.rcp.j2se.win32.x8 6_1.5.0.SR6-200802211037 Run – Run Configurations Eclipse Application – New • Run a product : com.ibm.notes.branding.notes • Runtime JRE : Notes 8.01 • Arguments et variables http://www.ibm.com/developerworks/lotus/library/notes8-sidebar/ Structure d’un plugin basique « Sample View » PLUGIN.XML : extensions view et shelfview MANIFEST.MF : dépendances org.eclipse.ui. com.ibm.rcp.ui Sources java ViewPart Méthode createPartControl Gestion de menus déroulants Gestion de menus contextuels Gestion d’une barre d’actions DEMO ! Gérer l’interface Utilisateur avec SWT Standard Widget Toolkit http://www.eclipse.org/swt http://www.eclipse.org/swt/widgets http://www.eclipse.org/articles/article.php ?file=Article-UnderstandingLayouts/index.html http://help.eclipse.org/stable/nftopic/org. eclipse.platform.doc.isv/reference/api/ind ex.html Exemple Affiche 1 zone de saisie Affiche 1 bouton OK Affiche un Browser, dont la taille est dynamique en fonction de la taille de la sidebar DEMO ! Structure d’un plugin qui interagit avec DB Notes Exemple : Saisie d’un nom Clic sur OK Requête dans le names.nsf Affichage des données Service, Fonction et Téléphone DEMO ! Structure d’un plugin qui exploite un Flux XML Exemple Interroger un flux XML Le parser pour afficher les données qui nous intéressent (avec DOM4J et SAX) DEMO ! Agenda Introduction Architecture du client Notes 8 Plugins fournis par IBM Exemples de plugins Synergie Développement Installation et Paramétrage Eclipse Structure d’un plugin basique Gérer l’interface Utilisateur avec SWT Structure d’un plugin qui interagit avec un DB Notes Structure d’un plugin qui exploite un flux XML Installation / Déploiement Préparation du package Préparation du « Feature » Contient un ou plusieurs plugins Informations, Copyright, Licences, … Feature.xml Préparation du « Update Site » Contient un ou plusieurs features BUILD Site.xml Base Lotus « Update Site » Base créée à partir du template « updatesite.ntf » Action « Import Local Update Site » Adresse : http://serveurdomino/updatesite.nsf/site.xml Options de provisioning dans le document de « Configuration Serveur » - onglet « Client Upgrade / Provisioning » Cas 1 – Client Notes8 pas installé Editer le fichier install.xml (install manifest) pour ajouter les « features » à déployer avec le client Notes Section <installfeature> Paramètres default, required, show url pointant sur la base updatesite.nsf Exemple <installfeature default= "true" id="ISVExample1" name="YourToolA" required= "true" show="true" version "3.0.0.20070309-1700"> <requirements> <feature download-size="72457" id="com.abx.yourtoolabxz.tools.feature" match="perfect" size="227855" url= "http://serveurdomino/updatesite.nsf/site.xml " version="3.0.0.20070309-1700"/> Cas 2 – Client Notes8 installé / Installation manuelle Cas 3 – Client Notes8 installé / Installation automatique Astuce : S’appuyer sur le plugin Widget Importer le plugin dans la base updatesite.nsf Créer un fichier extension.xml, que le widget va utiliser pour savoir où récupérer le plugin Créer une entrée dans le « Widget Catalog » et mettre en pièce jointe le fichier extension.xml Utiliser une politique Desktop / onglet Widgets pour mettre le plugin à disposition des utilisateurs How to use a Notes widget to deploy a new plug-in to an existing Notes installation http://www-1.ibm.com/support/docview.wss?rs=463&uid=swg21305829 MERCI DE VOTRE ATTENTION ! SYNERGIE INFORMATIQUE 50, Rue Tudelle 45100 ORLEANS Tel : 02 38 56 52 51 Fax : 02 38 56 34 41 SYNERGIE INFORMATIQUE 7c Place du Dôme 92056 Paris La Défense Cedex Tel : 01 72 75 74 03 Fax : 01 72 75 74 09 http://www.synergie-informatique.fr [email protected]