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]