SlideShare une entreprise Scribd logo
1  sur  80
Télécharger pour lire hors ligne
How I Learned To Stop Worrying And Love Plugin Development 
Ulrich Krause, London, UK, September 12, 2014
ICON UK 2014 – Plugin Development 
About: Ulrich Krause Administrator /Developer since 1993 Senior Software Architect at BCC Blog http://www.eknori.de IBM Champion 2011/2012/2013/2014
ICON UK 2014 – Plugin Development 
Agenda Types of Plugins What‘s All The Parts Needed ? Setup The Development Environment Run / Debug Configuration Build a simple Menue extension Build a Sidebar Plug-In Working with existing code Extension Points Deploy Plug-Ins Plug-In Security
ICON UK 2014 – Plugin Development 
It‘s only one way of doing it … 
And I know there's a few to demonstrate the theory
ICON UK 2014 – Plugin Development 
No animals were harmed * during the making of this presentation ! 
* That part comes, when you download the slides from http://slideshare.net
ICON UK 2014 – Plugin Development 
Types of Plug-Ins Adding new items to a menue bar or a context menue Display data in the Sidebar 
•Ralf Petter: Document Spy: Admins little helper http://www.everythingaboutit.eu/2014/08/document-spy-admins-little- helper.html Execute code when the client starts, after the user has logged in or when the client has shut down. 
•Karsten Lehmann: Mindoo Xulrunner Prefs.js Management Plugin http://www.openntf.org/main.nsf/project.xsp?r=project/Mindoo%20Xulrunner%20Prefs.js%20Management%20Plugin/summary
ICON UK 2014 – Plugin Development 
Download, Install, Configure
ICON UK 2014 – Plugin Development 
Download Eclipse SDK 
https://www.eclipse.org/downloads/packages/release/ganymede/sr2
ICON UK 2014 – Plugin Development 
Download Expeditor Toolkit 
IBM Lotus Expeditor Toolkit provides a complete, integrated set of tools that allows you to develop, debug, test, package, and deploy client applications to IBM Lotus Expeditor V6.2, IBM Lotus Symphony V1.2, and IBM Lotus Notes V8.5+ 
http://www14.software.ibm.com/webapp/download/nochargesearch.jsp?q=Lotus+Expeditor+Toolkit+6.2
ICON UK 2014 – Plugin Development 
Unpack Eclipse and Expeditor
ICON UK 2014 – Plugin Development 
Install Eclipse Decompress into the directory of your choice It is strongly recommended to configure Eclipse with the specific JVM that you want Set the workspace 
http://wiki.eclipse.org/Eclipse/Installation#Configure_Eclipse_to_use_the_JVM
ICON UK 2014 – Plugin Development 
Install Lotus Expeditor Toolkit in Eclipse
ICON UK 2014 – Plugin Development 
Configure Expeditor Toolkit Configure Test Environment
ICON UK 2014 – Plugin Development 
Configure Expeditor Toolkit Set Target Location 
•<ClientInstall>  framework  rcp  eclipse
ICON UK 2014 – Plugin Development 
Configure Expeditor Toolkit VM Name & Compiler Compliance Level is set automatically. Leave as is …
ICON UK 2014 – Plugin Development 
Configure Eclipse SDK Open „Plug-in Development“ perspective
ICON UK 2014 – Plugin Development 
Configure Eclipse SDK Create Run Configuration(s)
ICON UK 2014 – Plugin Development 
Create RunConfiguration / Main
ICON UK 2014 – Plugin Development 
Create RunConfiguration / Select Plugins
ICON UK 2014 – Plugin Development 
Build Your First Plugin
ICON UK 2014 – Plugin Development 
Create A Simple Menue Plugin Add a new menue Add a new menue entry Display a message
ICON UK 2014 – Plugin Development 
Create A New Plug-In Project Alt + Shift + n
ICON UK 2014 – Plugin Development 
Plug-In Basic Configuration Give your Plug-In a name Set the Provider Check „Generate an activator …“
ICON UK 2014 – Plugin Development 
Create From Template Select a template
ICON UK 2014 – Plugin Development 
Your Workspace Should Look Like This
ICON UK 2014 – Plugin Development 
Anatomy of a plugin The plugin.xml contains meta- information for Eclipse, and contains the extension points declared/used by this plug-in The MANIFEST.MF is a standard Jar manifest, but contains meta- information used by Equinox, which is Eclipse's internal OSGi engine. Although there are specific entries in here for Eclipse (such as Eclipse- LazyStart ) the majority of entries here are standard OSGi
ICON UK 2014 – Plugin Development 
Anatomy of a plugin The Activator is run when your plug- in starts, and before any other code that's defined in your bundle is used. You can use this to initialise data structures, start listening to network sockets etc. It's also got a call when Eclipse shuts down Last (but not least), the SampleHandler , which just prints out "Hello, ConnectSCOTT" when you click on the little blue Eclipse icon in the toolbar.
ICON UK 2014 – Plugin Development 
Source Code (SampleHandler.java)
ICON UK 2014 – Plugin Development 
Create A New Run Configuration
ICON UK 2014 – Plugin Development 
Create A New Run Configuration
ICON UK 2014 – Plugin Development 
Assign Plug-ins to Launch Configuration
ICON UK 2014 – Plugin Development 
Run / Launch Plug-In
ICON UK 2014 – Plugin Development 
Debug Plug-In Code
ICON UK 2014 – Plugin Development 
Create A Sidebar Plug-In
ICON UK 2014 – Plugin Development 
Create a SideBar Plugin Simple Sidebar Plug-In for text snippets Content can be 
•loaded from file 
•saved to file Content is persistent between sessions
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Create a new Plug-In Project 
•File  New  Plug-In Project 
•Type in Project Name
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Check „Generate An Activator“ Leave Defaults or set it to a name of your choice. Depaends on how you organize your code Click NEXT to use a wizard, or FINISH to go do the heavy lifting on your own
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Your project will look similar to the screenshot; Extension section is empty
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Add Extension Points
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Add category and view to the „org.eclipse.ui.views“ extension Repeat steps for all other extensions 
•com.ibm.rcp.ui.shelfViews 
•org.eclipse.ui.viewActions
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Set the properties
ICON UK 2014 – Plugin Development 
Create A Sidebar Plugin (cont) Write Java code
ICON UK 2014 – Plugin Development 
Working With Existing Projects
ICON UK 2014 – Plugin Development 
Working with existing projects
ICON UK 2014 – Plugin Development 
Import into Eclipse Workspace
ICON UK 2014 – Plugin Development 
Plugin imported, but … ERRORS  
1.Go to the Build Path settings in the project properties. 
2.Remove the JRE System Library 
3.Add it back; Select "Add Library" and select the JRE System Library.
ICON UK 2014 – Plugin Development 
Extension Points
ICON UK 2014 – Plugin Development 
Understanding Extension Points http://www.eclipsezone.com/eclipse/forums/t93753.html?start=0
ICON UK 2014 – Plugin Development 
Extension Point Description Select the extension point in the Extensions section of the manifest and click „Show extension point description“ . This will open a new tab with all the information about the extension point
ICON UK 2014 – Plugin Development 
Plug-In Provisioning
ICON UK 2014 – Plugin Development 
Plug-In Provisioning Prerequisites Before we can install / deploy our plugin, we have to do some additional work 
•Create Feature Project 
•Create Update Site Project 
•Build Update Site content
ICON UK 2014 – Plugin Development 
Create a new feature project An Eclipse feature project contains features. A feature describes a list of plug-ins and other features which can be understood as a logical unit. It also has a name, version number and license information assigned to it. A feature is described via a feature.xml file 
File  New  Feature Project
ICON UK 2014 – Plugin Development 
Create a new feature project Give your project a name Change other values to your needs
ICON UK 2014 – Plugin Development 
Create a new feature project Select the plug-in(s) from the list. You can type in the name to easily navigate to the plug-in. Click Finish and Eclipse will create the feature project.
ICON UK 2014 – Plugin Development 
Create a new feature project If you are using Working Sets, you will not see the feature project Edit the current Working Set and add the feature project
ICON UK 2014 – Plugin Development 
Your Workspace Should Look Like This
ICON UK 2014 – Plugin Development 
Create Update Site Project The Update Site contains feature and plug-in versions for Eclipse project releases.
ICON UK 2014 – Plugin Development 
Create Update Site Project Give your project a name
ICON UK 2014 – Plugin Development 
Create Update Site Project Add feature(s)
ICON UK 2014 – Plugin Development 
Create Update Site Project Build the content
ICON UK 2014 – Plugin Development 
Deploying Plugins Let the user deploy the plugin Deploy during client installation Deploy plugin via Widget Catalog and Desktop Policy
ICON UK 2014 – Plugin Development 
Option 1: Let the user install the plugin
ICON UK 2014 – Plugin Development 
Option 1: Let the user install the plugin „Install“ not enabled by default. 
•customize plugin-customization.ini on client 
•add com.ibm.notes.branding/enable.update.ui=true Disabled by Desktop Policy
ICON UK 2014 – Plugin Development 
Option 1: Let the user install the plugin
ICON UK 2014 – Plugin Development 
Option 2: Deploy during client installation Customizing Notes install for features and plug-ins on Windows and Mac * 
*
ICON UK 2014 – Plugin Development 
Option 2: Deploy during client installation
ICON UK 2014 – Plugin Development 
Option 3: Widget Catalog and Desktop Policy
ICON UK 2014 – Plugin Development 
Create Update Site Database If you do not already have an „Update Site“ Create a new Update Site 
•File  Application  new 
•Check „Show advanced templates 
•Select „Eclipse Update Site“
ICON UK 2014 – Plugin Development 
Import Local UpdateSite into Database
ICON UK 2014 – Plugin Development 
Install In Sidebar Get URL of the plug-in
ICON UK 2014 – Plugin Development 
Install In Sidebar Tools  Widgets  Getting Started with Widgets  Features and Plugins Paste the URL Click „Load“ Check Feature to install Optionally provide an image url
ICON UK 2014 – Plugin Development 
Confirm Installation Select „Install plug-in“; Click „OK“ The plug-in will be installed; Then restart the client
ICON UK 2014 – Plugin Development 
Publish To Catalog 
http://www- 01.ibm.com/support/knowledgecenter/SSKTMJ_8.0.1/com.ibm.help.domino.admin.doc/ DOC/H_CREATE_EXTENSION_XML_STEPS.html?cp=SSKTMJ_8.0.1%2F1-3-9-2-3
ICON UK 2014 – Plugin Development 
Create Desktop Policy
ICON UK 2014 – Plugin Development 
Configure Client Preferences Select the catagory of widgets that should be installed on the client
ICON UK 2014 – Plugin Development 
Option 3: Widget Catalog and Desktop Policy
ICON UK 2014 – Plugin Development 
Sign Plugins End-to-End HOWTO guide for silently and transparently provisioning and installing Java extensions to Notes 8.5.1+ clients using policies (Mikkel Heisterberg) 
•http://lekkimworld.com/files/nllug/2009/demoscript_english_031120091142.pdf EntwicklerCamp 2011 - Signierung & Verteilung von Plugins für den Notes Client (René Winkelmeyer) 
•Link
Feedback ulrich_krause@bcc.biz 
Questions ?
ICON UK 2014 – Plugin Development 
OpenNTF Phonebook sidebar plugin 
http://www.openntf.org/main.nsf/project.xsp?r=project/Phonebook%20sidebar%20plugin/summary

Contenu connexe

Tendances

BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoSerdar Basegmez
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoFrank van der Linden
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsPaul Withers
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentPaul Withers
 
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Mark Leusink
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesJesse Gallagher
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPagesTeamstudio
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrowpjanzen11
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xGeertjan Wielenga
 
DNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostChristoph Adler
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereKevin Pettitt
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDEMuhammad Ghazali
 
BP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
BP204 It's Not Infernal: Dante's Nine Circles of XPages HeavenBP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
BP204 It's Not Infernal: Dante's Nine Circles of XPages HeavenMichael McGarel
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Ryan Baxter
 

Tendances (20)

BP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM DominoBP207 - Meet the Java Application Server You Already Own – IBM Domino
BP207 - Meet the Java Application Server You Already Own – IBM Domino
 
An XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on DominoAn XPager's Guide to Process Server-Side Jobs on Domino
An XPager's Guide to Process Server-Side Jobs on Domino
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile Controls
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
 
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)Get the best out of Bootstrap with Bootstrap4XPages (AD202)
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
 
CollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPagesCollabSphere 2018 - Java in Domino After XPages
CollabSphere 2018 - Java in Domino After XPages
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
Netbeans IDE & Platform
Netbeans IDE & PlatformNetbeans IDE & Platform
Netbeans IDE & Platform
 
The power of dots
The power of dotsThe power of dots
The power of dots
 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrow
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
DNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance Boost
 
ILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates EverywhereILUG 2008 Templates, Templates Everywhere
ILUG 2008 Templates, Templates Everywhere
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
BP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
BP204 It's Not Infernal: Dante's Nine Circles of XPages HeavenBP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
BP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
 
Eclipse Vs Netbeans
Eclipse Vs NetbeansEclipse Vs Netbeans
Eclipse Vs Netbeans
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
 

En vedette

La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!Ulrich Krause
 
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformIBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformUlrich Krause
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesUlrich Krause
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicUlrich Krause
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesUlrich Krause
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Ulrich Krause
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011Ulrich Krause
 

En vedette (14)

Ec13 xpages-basic
Ec13 xpages-basicEc13 xpages-basic
Ec13 xpages-basic
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!
 
XPages - The Basics
XPages - The BasicsXPages - The Basics
XPages - The Basics
 
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformIBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPages
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basic
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
XPages Performance
XPages PerformanceXPages Performance
XPages Performance
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPages
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011
 

Similaire à Dr. Strangelove, or how I learned to love plugin development

Bluemix and DevOps workshop lab
Bluemix and DevOps workshop labBluemix and DevOps workshop lab
Bluemix and DevOps workshop labbenm4nn
 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Pei-Hsuan Hsieh
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Installsusanfmccourt
 
Lecture 1 dev_environment
Lecture 1 dev_environmentLecture 1 dev_environment
Lecture 1 dev_environmentmoduledesign
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topicKalkey
 
iPhone application development training day 1
iPhone application development training day 1iPhone application development training day 1
iPhone application development training day 1Shyamala Prayaga
 
Lecture 1 dev_environment
Lecture 1 dev_environmentLecture 1 dev_environment
Lecture 1 dev_environmentmoduledesign
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksChris Aniszczyk
 
Extend The Power Platform with Custom Connectors - CollabDays NL 2022
Extend The Power Platform with Custom Connectors - CollabDays NL 2022Extend The Power Platform with Custom Connectors - CollabDays NL 2022
Extend The Power Platform with Custom Connectors - CollabDays NL 2022Daniel Laskewitz
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview Lars Vogel
 
NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!René Winkelmeyer
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorialRohit Jagtap
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 

Similaire à Dr. Strangelove, or how I learned to love plugin development (20)

Eclipse IDE
Eclipse IDEEclipse IDE
Eclipse IDE
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop labBluemix and DevOps workshop lab
Bluemix and DevOps workshop lab
 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Install
 
Lecture 1 dev_environment
Lecture 1 dev_environmentLecture 1 dev_environment
Lecture 1 dev_environment
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
Eclipse
EclipseEclipse
Eclipse
 
Jenkins advance topic
Jenkins advance topicJenkins advance topic
Jenkins advance topic
 
iPhone application development training day 1
iPhone application development training day 1iPhone application development training day 1
iPhone application development training day 1
 
Lecture 1 dev_environment
Lecture 1 dev_environmentLecture 1 dev_environment
Lecture 1 dev_environment
 
Eclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And TricksEclipse Plug-in Develompent Tips And Tricks
Eclipse Plug-in Develompent Tips And Tricks
 
Extend The Power Platform with Custom Connectors - CollabDays NL 2022
Extend The Power Platform with Custom Connectors - CollabDays NL 2022Extend The Power Platform with Custom Connectors - CollabDays NL 2022
Extend The Power Platform with Custom Connectors - CollabDays NL 2022
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!
 
Spring hibernate tutorial
Spring hibernate tutorialSpring hibernate tutorial
Spring hibernate tutorial
 
Microservices in Java
Microservices in JavaMicroservices in Java
Microservices in Java
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 

Plus de Ulrich Krause

What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xUlrich Krause
 
When Plato Left The Cave - A brief history of Lotus Notes
When Plato Left The Cave - A brief history of Lotus NotesWhen Plato Left The Cave - A brief history of Lotus Notes
When Plato Left The Cave - A brief history of Lotus NotesUlrich Krause
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & DominoUlrich Krause
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code CookbookUlrich Krause
 
AdminCamp2010, Closing General Session
AdminCamp2010, Closing General SessionAdminCamp2010, Closing General Session
AdminCamp2010, Closing General SessionUlrich Krause
 
Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Ulrich Krause
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicateUlrich Krause
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for BeginnersUlrich Krause
 

Plus de Ulrich Krause (11)

What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.x
 
When Plato Left The Cave - A brief history of Lotus Notes
When Plato Left The Cave - A brief history of Lotus NotesWhen Plato Left The Cave - A brief history of Lotus Notes
When Plato Left The Cave - A brief history of Lotus Notes
 
EntwicklerCamp CGS
EntwicklerCamp CGSEntwicklerCamp CGS
EntwicklerCamp CGS
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code Cookbook
 
Ccd
CcdCcd
Ccd
 
AdminCamp2010, Closing General Session
AdminCamp2010, Closing General SessionAdminCamp2010, Closing General Session
AdminCamp2010, Closing General Session
 
Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 
Daos
DaosDaos
Daos
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 

Dernier

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Dr. Strangelove, or how I learned to love plugin development

  • 1. How I Learned To Stop Worrying And Love Plugin Development Ulrich Krause, London, UK, September 12, 2014
  • 2. ICON UK 2014 – Plugin Development About: Ulrich Krause Administrator /Developer since 1993 Senior Software Architect at BCC Blog http://www.eknori.de IBM Champion 2011/2012/2013/2014
  • 3. ICON UK 2014 – Plugin Development Agenda Types of Plugins What‘s All The Parts Needed ? Setup The Development Environment Run / Debug Configuration Build a simple Menue extension Build a Sidebar Plug-In Working with existing code Extension Points Deploy Plug-Ins Plug-In Security
  • 4. ICON UK 2014 – Plugin Development It‘s only one way of doing it … And I know there's a few to demonstrate the theory
  • 5. ICON UK 2014 – Plugin Development No animals were harmed * during the making of this presentation ! * That part comes, when you download the slides from http://slideshare.net
  • 6. ICON UK 2014 – Plugin Development Types of Plug-Ins Adding new items to a menue bar or a context menue Display data in the Sidebar •Ralf Petter: Document Spy: Admins little helper http://www.everythingaboutit.eu/2014/08/document-spy-admins-little- helper.html Execute code when the client starts, after the user has logged in or when the client has shut down. •Karsten Lehmann: Mindoo Xulrunner Prefs.js Management Plugin http://www.openntf.org/main.nsf/project.xsp?r=project/Mindoo%20Xulrunner%20Prefs.js%20Management%20Plugin/summary
  • 7. ICON UK 2014 – Plugin Development Download, Install, Configure
  • 8. ICON UK 2014 – Plugin Development Download Eclipse SDK https://www.eclipse.org/downloads/packages/release/ganymede/sr2
  • 9. ICON UK 2014 – Plugin Development Download Expeditor Toolkit IBM Lotus Expeditor Toolkit provides a complete, integrated set of tools that allows you to develop, debug, test, package, and deploy client applications to IBM Lotus Expeditor V6.2, IBM Lotus Symphony V1.2, and IBM Lotus Notes V8.5+ http://www14.software.ibm.com/webapp/download/nochargesearch.jsp?q=Lotus+Expeditor+Toolkit+6.2
  • 10. ICON UK 2014 – Plugin Development Unpack Eclipse and Expeditor
  • 11. ICON UK 2014 – Plugin Development Install Eclipse Decompress into the directory of your choice It is strongly recommended to configure Eclipse with the specific JVM that you want Set the workspace http://wiki.eclipse.org/Eclipse/Installation#Configure_Eclipse_to_use_the_JVM
  • 12. ICON UK 2014 – Plugin Development Install Lotus Expeditor Toolkit in Eclipse
  • 13. ICON UK 2014 – Plugin Development Configure Expeditor Toolkit Configure Test Environment
  • 14. ICON UK 2014 – Plugin Development Configure Expeditor Toolkit Set Target Location •<ClientInstall>  framework  rcp  eclipse
  • 15. ICON UK 2014 – Plugin Development Configure Expeditor Toolkit VM Name & Compiler Compliance Level is set automatically. Leave as is …
  • 16. ICON UK 2014 – Plugin Development Configure Eclipse SDK Open „Plug-in Development“ perspective
  • 17. ICON UK 2014 – Plugin Development Configure Eclipse SDK Create Run Configuration(s)
  • 18. ICON UK 2014 – Plugin Development Create RunConfiguration / Main
  • 19. ICON UK 2014 – Plugin Development Create RunConfiguration / Select Plugins
  • 20. ICON UK 2014 – Plugin Development Build Your First Plugin
  • 21. ICON UK 2014 – Plugin Development Create A Simple Menue Plugin Add a new menue Add a new menue entry Display a message
  • 22. ICON UK 2014 – Plugin Development Create A New Plug-In Project Alt + Shift + n
  • 23. ICON UK 2014 – Plugin Development Plug-In Basic Configuration Give your Plug-In a name Set the Provider Check „Generate an activator …“
  • 24. ICON UK 2014 – Plugin Development Create From Template Select a template
  • 25. ICON UK 2014 – Plugin Development Your Workspace Should Look Like This
  • 26. ICON UK 2014 – Plugin Development Anatomy of a plugin The plugin.xml contains meta- information for Eclipse, and contains the extension points declared/used by this plug-in The MANIFEST.MF is a standard Jar manifest, but contains meta- information used by Equinox, which is Eclipse's internal OSGi engine. Although there are specific entries in here for Eclipse (such as Eclipse- LazyStart ) the majority of entries here are standard OSGi
  • 27. ICON UK 2014 – Plugin Development Anatomy of a plugin The Activator is run when your plug- in starts, and before any other code that's defined in your bundle is used. You can use this to initialise data structures, start listening to network sockets etc. It's also got a call when Eclipse shuts down Last (but not least), the SampleHandler , which just prints out "Hello, ConnectSCOTT" when you click on the little blue Eclipse icon in the toolbar.
  • 28. ICON UK 2014 – Plugin Development Source Code (SampleHandler.java)
  • 29. ICON UK 2014 – Plugin Development Create A New Run Configuration
  • 30. ICON UK 2014 – Plugin Development Create A New Run Configuration
  • 31. ICON UK 2014 – Plugin Development Assign Plug-ins to Launch Configuration
  • 32. ICON UK 2014 – Plugin Development Run / Launch Plug-In
  • 33. ICON UK 2014 – Plugin Development Debug Plug-In Code
  • 34. ICON UK 2014 – Plugin Development Create A Sidebar Plug-In
  • 35. ICON UK 2014 – Plugin Development Create a SideBar Plugin Simple Sidebar Plug-In for text snippets Content can be •loaded from file •saved to file Content is persistent between sessions
  • 36. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Create a new Plug-In Project •File  New  Plug-In Project •Type in Project Name
  • 37. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Check „Generate An Activator“ Leave Defaults or set it to a name of your choice. Depaends on how you organize your code Click NEXT to use a wizard, or FINISH to go do the heavy lifting on your own
  • 38. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Your project will look similar to the screenshot; Extension section is empty
  • 39. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Add Extension Points
  • 40. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Add category and view to the „org.eclipse.ui.views“ extension Repeat steps for all other extensions •com.ibm.rcp.ui.shelfViews •org.eclipse.ui.viewActions
  • 41. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Set the properties
  • 42. ICON UK 2014 – Plugin Development Create A Sidebar Plugin (cont) Write Java code
  • 43. ICON UK 2014 – Plugin Development Working With Existing Projects
  • 44. ICON UK 2014 – Plugin Development Working with existing projects
  • 45. ICON UK 2014 – Plugin Development Import into Eclipse Workspace
  • 46. ICON UK 2014 – Plugin Development Plugin imported, but … ERRORS  1.Go to the Build Path settings in the project properties. 2.Remove the JRE System Library 3.Add it back; Select "Add Library" and select the JRE System Library.
  • 47. ICON UK 2014 – Plugin Development Extension Points
  • 48. ICON UK 2014 – Plugin Development Understanding Extension Points http://www.eclipsezone.com/eclipse/forums/t93753.html?start=0
  • 49. ICON UK 2014 – Plugin Development Extension Point Description Select the extension point in the Extensions section of the manifest and click „Show extension point description“ . This will open a new tab with all the information about the extension point
  • 50. ICON UK 2014 – Plugin Development Plug-In Provisioning
  • 51. ICON UK 2014 – Plugin Development Plug-In Provisioning Prerequisites Before we can install / deploy our plugin, we have to do some additional work •Create Feature Project •Create Update Site Project •Build Update Site content
  • 52. ICON UK 2014 – Plugin Development Create a new feature project An Eclipse feature project contains features. A feature describes a list of plug-ins and other features which can be understood as a logical unit. It also has a name, version number and license information assigned to it. A feature is described via a feature.xml file File  New  Feature Project
  • 53. ICON UK 2014 – Plugin Development Create a new feature project Give your project a name Change other values to your needs
  • 54. ICON UK 2014 – Plugin Development Create a new feature project Select the plug-in(s) from the list. You can type in the name to easily navigate to the plug-in. Click Finish and Eclipse will create the feature project.
  • 55. ICON UK 2014 – Plugin Development Create a new feature project If you are using Working Sets, you will not see the feature project Edit the current Working Set and add the feature project
  • 56. ICON UK 2014 – Plugin Development Your Workspace Should Look Like This
  • 57. ICON UK 2014 – Plugin Development Create Update Site Project The Update Site contains feature and plug-in versions for Eclipse project releases.
  • 58. ICON UK 2014 – Plugin Development Create Update Site Project Give your project a name
  • 59. ICON UK 2014 – Plugin Development Create Update Site Project Add feature(s)
  • 60. ICON UK 2014 – Plugin Development Create Update Site Project Build the content
  • 61. ICON UK 2014 – Plugin Development Deploying Plugins Let the user deploy the plugin Deploy during client installation Deploy plugin via Widget Catalog and Desktop Policy
  • 62. ICON UK 2014 – Plugin Development Option 1: Let the user install the plugin
  • 63. ICON UK 2014 – Plugin Development Option 1: Let the user install the plugin „Install“ not enabled by default. •customize plugin-customization.ini on client •add com.ibm.notes.branding/enable.update.ui=true Disabled by Desktop Policy
  • 64. ICON UK 2014 – Plugin Development Option 1: Let the user install the plugin
  • 65. ICON UK 2014 – Plugin Development Option 2: Deploy during client installation Customizing Notes install for features and plug-ins on Windows and Mac * *
  • 66. ICON UK 2014 – Plugin Development Option 2: Deploy during client installation
  • 67. ICON UK 2014 – Plugin Development Option 3: Widget Catalog and Desktop Policy
  • 68. ICON UK 2014 – Plugin Development Create Update Site Database If you do not already have an „Update Site“ Create a new Update Site •File  Application  new •Check „Show advanced templates •Select „Eclipse Update Site“
  • 69. ICON UK 2014 – Plugin Development Import Local UpdateSite into Database
  • 70. ICON UK 2014 – Plugin Development Install In Sidebar Get URL of the plug-in
  • 71. ICON UK 2014 – Plugin Development Install In Sidebar Tools  Widgets  Getting Started with Widgets  Features and Plugins Paste the URL Click „Load“ Check Feature to install Optionally provide an image url
  • 72. ICON UK 2014 – Plugin Development Confirm Installation Select „Install plug-in“; Click „OK“ The plug-in will be installed; Then restart the client
  • 73. ICON UK 2014 – Plugin Development Publish To Catalog http://www- 01.ibm.com/support/knowledgecenter/SSKTMJ_8.0.1/com.ibm.help.domino.admin.doc/ DOC/H_CREATE_EXTENSION_XML_STEPS.html?cp=SSKTMJ_8.0.1%2F1-3-9-2-3
  • 74. ICON UK 2014 – Plugin Development Create Desktop Policy
  • 75. ICON UK 2014 – Plugin Development Configure Client Preferences Select the catagory of widgets that should be installed on the client
  • 76. ICON UK 2014 – Plugin Development Option 3: Widget Catalog and Desktop Policy
  • 77. ICON UK 2014 – Plugin Development Sign Plugins End-to-End HOWTO guide for silently and transparently provisioning and installing Java extensions to Notes 8.5.1+ clients using policies (Mikkel Heisterberg) •http://lekkimworld.com/files/nllug/2009/demoscript_english_031120091142.pdf EntwicklerCamp 2011 - Signierung & Verteilung von Plugins für den Notes Client (René Winkelmeyer) •Link
  • 79.
  • 80. ICON UK 2014 – Plugin Development OpenNTF Phonebook sidebar plugin http://www.openntf.org/main.nsf/project.xsp?r=project/Phonebook%20sidebar%20plugin/summary