SlideShare une entreprise Scribd logo
1  sur  44
1283: My love-hate relationship with
IBM Domino Plug-ins
Teresa Deane Date – January 31, 2016
Introduction
• Veteran of Lotus, Iris, Groove, Microsoft, Teamstudio
• Currently at BCC
• Last spoke at LotuSphere 2000
• Expertise:
 Notes C++ API
 IBM Notes application development (forms and views)
Things we love to hate:
• Mondays
• Selfies
• Rude people
• Finals
• Boston Red Sox
• The Star Wars prequel trilogy
And………………………………….
Big Hair from the 80s
Introduction to Plug-ins
• Terminology: Plug-ins, Features, Widgets
• Functionality: What can you do with Plug-ins?
• Developer Topics
 Development Tools: Eclipse
 Source Code: MANIFEST.MF, plugin.xml, Activator.java,
feature.xml, internationalization
• Administration Topics
 Deployment: Security (Policies), Widget Catalog, Site Database,
Third Party
Goals
• Introduce the concept of IBM Notes Plug-ins
• Demonstrate the Necessary Tools
• Create a Simple Plug-in
• Dissect the Files
• Discuss deployment options
• Resource List
Terminology
What is a Plug-in?
• Manipulates the look and feel of Notes
• Add Toolbars, Menus and Actions
Why a Plug-in?
• Written in Java
 Plenty of useful classes
 Reusable
 Object oriented
 Platform independent
• Call Native (DLL) files using JNI (Java Native Interface)
 Use the Lotus Notes API
What is a Widget?
• Tool that can consist of one or more components
• Provides functions to provision items to client systems
• App like component which delivers web like content based on
user or application input
• Can be used for a stand-alone feature by calling a feature
update site to initially deploy or later provision updates to a
client plug-in.
What is a Feature?
• Functionality that alters the look and feel of Notes
• Packages plug-ins for deployment
• Describes the plug-ins used
• Provides for versioning and licensing
Example Plug-ins
• Lotus Learn
• IBM Connections
• openntf
Development Tools
What do I need to begin?
• Eclipse
 Platform for rapid development of integrated features based on
a plug-in model
 Eclipse for RCP/RAP Developers – Luna version
• https://eclipse.org/downloads/
Perspectives
• Window – Open Perspective – Other – Plugin-in Development
How to Run Notes from Eclipse
• Setup the correct JVM
How to Run Notes from Eclipse
• Version of Notes that you are developing for must be installed
• Run – Run Configurations…
Eclipse Setup – Arguments tab
Arguments – Variables – Edit variables
Arguments - Configuration
Plug-ins tab
Source Code
MANIFEST.MF
• Contains Dependencies and Services of a plug-in
Plugin.xml
• Contains Extension Points
Activator.java
• Controls the lifecycle of the plug-in
Feature.xml
• Eclipse: File – New – Feature Project
Site.xml
• Eclipse: File – New – Project – Update Site Project
• Site map which explains where the feature is located
<site>
<feature url="features/com.abc.demo.helloworld.feature_1.0.0.201601291408.jar"
id="com.abc.demo.helloworld.feature" version="1.0.0.201601291408"/>
</site>
Translating Plug-in Strings
• Source – Externalize Strings…
Translating Plug-in Strings
• Creates messages.properties file
 SampleHandler_0=Helloworld
• Create additional files messages_de.properties with translated
strings
• Adds messages.java file which contains a resource bundle accessor
class to initialize and retrieve messages
• Properties files must have ISO-8859-1 encoding
Demo Application
• Live presentation of building and running demo application
Deployment
Plug-in Security (cont’d)
• Desktop Setting Policy – Widgets
Plug-in Security (cont’d)
• Security Setting Policy – Signed Plug-ins
Plug-in Security
• Desktop Setting Policy – Basics – Provisioning – Allow user
initiated updates – Enable to turn off menu items in Notes
Deployment Steps
• Place the feature's valid Eclipse update site, containing the
signed features and plugins, in a central location
• Install or upgrade the server and client, create the widgets
catalog, and set widgets policy or preferences
• Create an NSF-based update site and import the Eclipse
update site
• Create the extension.xml that the widget will use to call the
feature's update site
Deployment steps (cont’d)
• Sample extension.xml
 Explains what features are contained and where to find them
Deployment steps (cont’d)
• Display the Widgets sidebar and verify or set catalog access
• Create the widget in the widgets catalog and attach its
extension.xml file to call the update site
• Test the widget by dragging it from the catalog view to your My
Widgets sidebar
• Communicate to users how to obtain the widget or inform them
that they will be automatically provisioned with the widget and
its feature
Deployment
• Update site template (ntf)
 Use this template to create an NSF-based update site to act as
an Eclipse update site hosted in a Notes application
• External update site (http)
Other Deployment Methods
• MSI Installer
• Third party tools (ClientGenie)
Resource List
• Eclipse.org
• IBM Redbook
• Tutorials Specific to Notes
• Internationalizing your plug-in
• Using JNI(Java Native Interface) to call C++ code
• Eclipse Notes Setup
Contact
• Teresa_deane@bcc.biz
• twitter: @teresa_deane
• www.bcchub.com
• Come see me in booth 435
Thank you
Acknowledgements and Disclaimers
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM
operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational
purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to
verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM
shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this
presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms
and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved.
Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect
of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
Acknowledgements and Disclaimers cont.
© © Copyright IBM Corporation 2016. All rights reserved.
• U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
• IBM, the IBM logo, ibm.com, and IBM Notes and IBM Connections are trademarks or registered trademarks of International Business Machines Corporation in
the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark
symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such
trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and
trademark information” at www.ibm.com/legal/copytrade.shtml
• Eclipse is made available under the terms of the Eclipse Public License which is available at http://www.eclipse.org/legal/epl-v10.html
• ClientGenie is a registered trademark of BCC Unternehmensberatung GmbH, Frankfurter 80-82 Eschborn Germany
Other company, product, or service names may be trademarks or service marks of others.

Contenu connexe

Tendances

IBM Platform for Social Business IamLUG 2013
IBM Platform for Social Business IamLUG 2013IBM Platform for Social Business IamLUG 2013
IBM Platform for Social Business IamLUG 2013Luis Guirigay
 
Granite Lotus User Group November 2012 ICS Updates
Granite Lotus User Group November 2012 ICS UpdatesGranite Lotus User Group November 2012 ICS Updates
Granite Lotus User Group November 2012 ICS UpdatesLuis Guirigay
 
01 introduction to darwino
01   introduction to darwino01   introduction to darwino
01 introduction to darwinodarwinodb
 
Are You Ready for an Alternative in Application Development?
Are You Ready for an Alternative in Application Development?Are You Ready for an Alternative in Application Development?
Are You Ready for an Alternative in Application Development?LetsConnect
 
IBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and ExpansionIBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and ExpansionLetsConnect
 
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...Frank Altenburg
 
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to BrowsersLiving in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to BrowsersRahul A. Garg
 
What's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionWhat's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionRahul A. Garg
 
Making the move from rich clients to browsers
Making the move from rich clients to browsersMaking the move from rich clients to browsers
Making the move from rich clients to browsersRahul A. Garg
 
IBM Connections Cloud introduction
IBM Connections Cloud introductionIBM Connections Cloud introduction
IBM Connections Cloud introductionMaurice Teeuwe
 
The New Workplace: Unleashing The Power Of Enterprise Mobility
The New Workplace: Unleashing The Power Of Enterprise MobilityThe New Workplace: Unleashing The Power Of Enterprise Mobility
The New Workplace: Unleashing The Power Of Enterprise MobilityChris Pepin
 
What's new in ibm i notes 9.0
What's new in ibm i notes 9.0What's new in ibm i notes 9.0
What's new in ibm i notes 9.0Ranjit Rai
 
IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapEd Brill
 
BP207 - Easy as pie creating widgets for ibm connections
BP207 - Easy as pie   creating widgets for ibm connectionsBP207 - Easy as pie   creating widgets for ibm connections
BP207 - Easy as pie creating widgets for ibm connectionsMikkel Flindt Heisterberg
 
IBM Connections 4.0 Installation From Zero To Social Hero - 1.03 with AD LDAP
IBM Connections 4.0 Installation   From Zero To Social Hero - 1.03 with AD LDAPIBM Connections 4.0 Installation   From Zero To Social Hero - 1.03 with AD LDAP
IBM Connections 4.0 Installation From Zero To Social Hero - 1.03 with AD LDAPFrank Altenburg
 

Tendances (16)

IBM Platform for Social Business IamLUG 2013
IBM Platform for Social Business IamLUG 2013IBM Platform for Social Business IamLUG 2013
IBM Platform for Social Business IamLUG 2013
 
Granite Lotus User Group November 2012 ICS Updates
Granite Lotus User Group November 2012 ICS UpdatesGranite Lotus User Group November 2012 ICS Updates
Granite Lotus User Group November 2012 ICS Updates
 
01 introduction to darwino
01   introduction to darwino01   introduction to darwino
01 introduction to darwino
 
Are You Ready for an Alternative in Application Development?
Are You Ready for an Alternative in Application Development?Are You Ready for an Alternative in Application Development?
Are You Ready for an Alternative in Application Development?
 
IBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and ExpansionIBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and Expansion
 
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
 
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to BrowsersLiving in the Web is Easy! Making the Move from Rich Clients to Browsers
Living in the Web is Easy! Making the Move from Rich Clients to Browsers
 
What's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionWhat's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social Edition
 
Making the move from rich clients to browsers
Making the move from rich clients to browsersMaking the move from rich clients to browsers
Making the move from rich clients to browsers
 
IBM Connections Cloud introduction
IBM Connections Cloud introductionIBM Connections Cloud introduction
IBM Connections Cloud introduction
 
The New Workplace: Unleashing The Power Of Enterprise Mobility
The New Workplace: Unleashing The Power Of Enterprise MobilityThe New Workplace: Unleashing The Power Of Enterprise Mobility
The New Workplace: Unleashing The Power Of Enterprise Mobility
 
What's new in ibm i notes 9.0
What's new in ibm i notes 9.0What's new in ibm i notes 9.0
What's new in ibm i notes 9.0
 
What's new in ibm notes and ibm domino v1
What's new in ibm notes and ibm domino v1What's new in ibm notes and ibm domino v1
What's new in ibm notes and ibm domino v1
 
IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration Roadmap
 
BP207 - Easy as pie creating widgets for ibm connections
BP207 - Easy as pie   creating widgets for ibm connectionsBP207 - Easy as pie   creating widgets for ibm connections
BP207 - Easy as pie creating widgets for ibm connections
 
IBM Connections 4.0 Installation From Zero To Social Hero - 1.03 with AD LDAP
IBM Connections 4.0 Installation   From Zero To Social Hero - 1.03 with AD LDAPIBM Connections 4.0 Installation   From Zero To Social Hero - 1.03 with AD LDAP
IBM Connections 4.0 Installation From Zero To Social Hero - 1.03 with AD LDAP
 

Similaire à IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC

A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blenderedm00se
 
#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...
#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...
#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...Reedy Feggins Jr
 
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...0xdaryl
 
Radically Simple Management & Assembly of API-based Applications
Radically Simple Management & Assembly of API-based ApplicationsRadically Simple Management & Assembly of API-based Applications
Radically Simple Management & Assembly of API-based Applicationsvinodmut
 
Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...
Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...
Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...Arthur De Magalhaes
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power appsMitul Rana
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)TIMETOACT GROUP
 
Canada DevOps Summit 2020 Presentation Nov_03_2020
Canada DevOps Summit 2020 Presentation Nov_03_2020Canada DevOps Summit 2020 Presentation Nov_03_2020
Canada DevOps Summit 2020 Presentation Nov_03_2020Varun Manik
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilIBM UrbanCode Products
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Howard Greenberg
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
Codemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab TutorialCodemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab Tutorialgjuljo
 
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOpsSHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOpsRob Convery
 
Boe330 en col15_ilt_fv_co_a4
Boe330 en col15_ilt_fv_co_a4Boe330 en col15_ilt_fv_co_a4
Boe330 en col15_ilt_fv_co_a4M Rizwan Aqeel
 
2010 Lotusphere Instructor Day IDC Presentation
2010 Lotusphere Instructor Day IDC Presentation2010 Lotusphere Instructor Day IDC Presentation
2010 Lotusphere Instructor Day IDC Presentationsharynrjk
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julyRichard Clark
 
How to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserHow to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserStrongback Consulting
 

Similaire à IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC (20)

A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 
#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...
#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...
#IBMInterConnect - DCB-3094 Scaling Agile - Launching an Agile Release Train ...
 
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
 
Radically Simple Management & Assembly of API-based Applications
Radically Simple Management & Assembly of API-based ApplicationsRadically Simple Management & Assembly of API-based Applications
Radically Simple Management & Assembly of API-based Applications
 
Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...
Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...
Design, Auto-Generate and Expose RESTful Microservices Using Open Source and ...
 
An introduction to microsoft power apps
An introduction to microsoft power appsAn introduction to microsoft power apps
An introduction to microsoft power apps
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
Canada DevOps Summit 2020 Presentation Nov_03_2020
Canada DevOps Summit 2020 Presentation Nov_03_2020Canada DevOps Summit 2020 Presentation Nov_03_2020
Canada DevOps Summit 2020 Presentation Nov_03_2020
 
Creating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't EvilCreating a DevOps Team that Isn't Evil
Creating a DevOps Team that Isn't Evil
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
Codemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab TutorialCodemotion Rome 2015 Bluemix Lab Tutorial
Codemotion Rome 2015 Bluemix Lab Tutorial
 
Aec1105
Aec1105Aec1105
Aec1105
 
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOpsSHARE2016:  DevOps - IIB Administration for Continuous Delivery and DevOps
SHARE2016: DevOps - IIB Administration for Continuous Delivery and DevOps
 
Resume
ResumeResume
Resume
 
Boe330 en col15_ilt_fv_co_a4
Boe330 en col15_ilt_fv_co_a4Boe330 en col15_ilt_fv_co_a4
Boe330 en col15_ilt_fv_co_a4
 
DevOps101 (version 2)
DevOps101 (version 2)DevOps101 (version 2)
DevOps101 (version 2)
 
2010 Lotusphere Instructor Day IDC Presentation
2010 Lotusphere Instructor Day IDC Presentation2010 Lotusphere Instructor Day IDC Presentation
2010 Lotusphere Instructor Day IDC Presentation
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd july
 
How to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserHow to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power User
 

Plus de BCC - Solutions for IBM Collaboration Software

Plus de BCC - Solutions for IBM Collaboration Software (20)

Connections 5.x to 6.0 migration
Connections 5.x to 6.0 migrationConnections 5.x to 6.0 migration
Connections 5.x to 6.0 migration
 
General Data Protection Regulation
General Data Protection RegulationGeneral Data Protection Regulation
General Data Protection Regulation
 
Systematisch: Von der alten in die neue Welt - Migrations-Szenarien
Systematisch: Von der alten in die neue Welt - Migrations-SzenarienSystematisch: Von der alten in die neue Welt - Migrations-Szenarien
Systematisch: Von der alten in die neue Welt - Migrations-Szenarien
 
MaRisk Andorderungen erfüllen - Analyse von Rechten und Rollen in IBM Domino ...
MaRisk Andorderungen erfüllen - Analyse von Rechten und Rollen in IBM Domino ...MaRisk Andorderungen erfüllen - Analyse von Rechten und Rollen in IBM Domino ...
MaRisk Andorderungen erfüllen - Analyse von Rechten und Rollen in IBM Domino ...
 
Protect your IBM Domino data from leaks with BCC DominoProtect
Protect your IBM Domino data from leaks with BCC DominoProtectProtect your IBM Domino data from leaks with BCC DominoProtect
Protect your IBM Domino data from leaks with BCC DominoProtect
 
Dr. Strangelove, or how I learned to love plug-in development - SNoUG 2014
Dr. Strangelove, or how I learned to love plug-in development - SNoUG 2014Dr. Strangelove, or how I learned to love plug-in development - SNoUG 2014
Dr. Strangelove, or how I learned to love plug-in development - SNoUG 2014
 
Using Social Business Software and being compliant with EU data protection la...
Using Social Business Software and being compliant with EU data protection la...Using Social Business Software and being compliant with EU data protection la...
Using Social Business Software and being compliant with EU data protection la...
 
XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...
XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...
XPages Performance Master Class - Survive in the fast lane on the Autobahn (E...
 
Keine Kompromisse! Mehr Sicherheit & Compliance für IBM Domino
Keine Kompromisse! Mehr Sicherheit & Compliance für IBM DominoKeine Kompromisse! Mehr Sicherheit & Compliance für IBM Domino
Keine Kompromisse! Mehr Sicherheit & Compliance für IBM Domino
 
Honey, I shrunk the data - Mehr Platz am IBM Domino Server
Honey, I shrunk the data - Mehr Platz am IBM Domino ServerHoney, I shrunk the data - Mehr Platz am IBM Domino Server
Honey, I shrunk the data - Mehr Platz am IBM Domino Server
 
Wie schützen Sie Ihre Messaging- & Collaboration-Infrastruktur? Lessons learn...
Wie schützen Sie Ihre Messaging- & Collaboration-Infrastruktur? Lessons learn...Wie schützen Sie Ihre Messaging- & Collaboration-Infrastruktur? Lessons learn...
Wie schützen Sie Ihre Messaging- & Collaboration-Infrastruktur? Lessons learn...
 
IBM Connect 2014 SPOT114: No Compromise on Compliance: Streamline Administrat...
IBM Connect 2014 SPOT114: No Compromise on Compliance: Streamline Administrat...IBM Connect 2014 SPOT114: No Compromise on Compliance: Streamline Administrat...
IBM Connect 2014 SPOT114: No Compromise on Compliance: Streamline Administrat...
 
Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...
Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...
Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
 
Deep Dive Domino Mail Routing - SMTP Cookbook - DNUG Herbstkonferenz 2013
Deep Dive Domino Mail Routing - SMTP Cookbook - DNUG Herbstkonferenz 2013Deep Dive Domino Mail Routing - SMTP Cookbook - DNUG Herbstkonferenz 2013
Deep Dive Domino Mail Routing - SMTP Cookbook - DNUG Herbstkonferenz 2013
 
Deep Dive AdminP Process - Admin and Infrastructure Track at UKLUG 2012
Deep Dive AdminP Process - Admin and Infrastructure Track at UKLUG 2012Deep Dive AdminP Process - Admin and Infrastructure Track at UKLUG 2012
Deep Dive AdminP Process - Admin and Infrastructure Track at UKLUG 2012
 
Platz da! Platz schaffen auf dem Domino Server - Vortrag von Ulrich Krause be...
Platz da! Platz schaffen auf dem Domino Server - Vortrag von Ulrich Krause be...Platz da! Platz schaffen auf dem Domino Server - Vortrag von Ulrich Krause be...
Platz da! Platz schaffen auf dem Domino Server - Vortrag von Ulrich Krause be...
 
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
 
Wie schützen Sie Ihre E-Mail-Kommunikation? Kurzfristige Lösungsansätze bis z...
Wie schützen Sie Ihre E-Mail-Kommunikation? Kurzfristige Lösungsansätze bis z...Wie schützen Sie Ihre E-Mail-Kommunikation? Kurzfristige Lösungsansätze bis z...
Wie schützen Sie Ihre E-Mail-Kommunikation? Kurzfristige Lösungsansätze bis z...
 
BCC solutions for IBM Notes & Domino Infrastructure & Administration
BCC solutions for IBM Notes & Domino Infrastructure & AdministrationBCC solutions for IBM Notes & Domino Infrastructure & Administration
BCC solutions for IBM Notes & Domino Infrastructure & Administration
 

Dernier

Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Dipal Arora
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechNewman George Leech
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communicationskarancommunications
 
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130  Available With RoomVIP Kolkata Call Girl Howrah 👉 8250192130  Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Roomdivyansh0kumar0
 
GD Birla and his contribution in management
GD Birla and his contribution in managementGD Birla and his contribution in management
GD Birla and his contribution in managementchhavia330
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
Progress Report - Oracle Database Analyst Summit
Progress  Report - Oracle Database Analyst SummitProgress  Report - Oracle Database Analyst Summit
Progress Report - Oracle Database Analyst SummitHolger Mueller
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.Aaiza Hassan
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyEthan lee
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurSuhani Kapoor
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfPaul Menig
 

Dernier (20)

Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Best Practices for Implementing an External Recruiting Partnership
Best Practices for Implementing an External Recruiting PartnershipBest Practices for Implementing an External Recruiting Partnership
Best Practices for Implementing an External Recruiting Partnership
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman Leech
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130  Available With RoomVIP Kolkata Call Girl Howrah 👉 8250192130  Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
 
GD Birla and his contribution in management
GD Birla and his contribution in managementGD Birla and his contribution in management
GD Birla and his contribution in management
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
Progress Report - Oracle Database Analyst Summit
Progress  Report - Oracle Database Analyst SummitProgress  Report - Oracle Database Analyst Summit
Progress Report - Oracle Database Analyst Summit
 
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdf
 

IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC

  • 1. 1283: My love-hate relationship with IBM Domino Plug-ins Teresa Deane Date – January 31, 2016
  • 2. Introduction • Veteran of Lotus, Iris, Groove, Microsoft, Teamstudio • Currently at BCC • Last spoke at LotuSphere 2000 • Expertise:  Notes C++ API  IBM Notes application development (forms and views)
  • 3. Things we love to hate: • Mondays • Selfies • Rude people • Finals • Boston Red Sox • The Star Wars prequel trilogy And………………………………….
  • 4. Big Hair from the 80s
  • 5. Introduction to Plug-ins • Terminology: Plug-ins, Features, Widgets • Functionality: What can you do with Plug-ins? • Developer Topics  Development Tools: Eclipse  Source Code: MANIFEST.MF, plugin.xml, Activator.java, feature.xml, internationalization • Administration Topics  Deployment: Security (Policies), Widget Catalog, Site Database, Third Party
  • 6. Goals • Introduce the concept of IBM Notes Plug-ins • Demonstrate the Necessary Tools • Create a Simple Plug-in • Dissect the Files • Discuss deployment options • Resource List
  • 8. What is a Plug-in? • Manipulates the look and feel of Notes • Add Toolbars, Menus and Actions
  • 9. Why a Plug-in? • Written in Java  Plenty of useful classes  Reusable  Object oriented  Platform independent • Call Native (DLL) files using JNI (Java Native Interface)  Use the Lotus Notes API
  • 10. What is a Widget? • Tool that can consist of one or more components • Provides functions to provision items to client systems • App like component which delivers web like content based on user or application input • Can be used for a stand-alone feature by calling a feature update site to initially deploy or later provision updates to a client plug-in.
  • 11. What is a Feature? • Functionality that alters the look and feel of Notes • Packages plug-ins for deployment • Describes the plug-ins used • Provides for versioning and licensing
  • 12. Example Plug-ins • Lotus Learn • IBM Connections • openntf
  • 14. What do I need to begin? • Eclipse  Platform for rapid development of integrated features based on a plug-in model  Eclipse for RCP/RAP Developers – Luna version • https://eclipse.org/downloads/
  • 15. Perspectives • Window – Open Perspective – Other – Plugin-in Development
  • 16. How to Run Notes from Eclipse • Setup the correct JVM
  • 17. How to Run Notes from Eclipse • Version of Notes that you are developing for must be installed • Run – Run Configurations…
  • 18. Eclipse Setup – Arguments tab
  • 19. Arguments – Variables – Edit variables
  • 23. MANIFEST.MF • Contains Dependencies and Services of a plug-in
  • 25. Activator.java • Controls the lifecycle of the plug-in
  • 26. Feature.xml • Eclipse: File – New – Feature Project
  • 27. Site.xml • Eclipse: File – New – Project – Update Site Project • Site map which explains where the feature is located <site> <feature url="features/com.abc.demo.helloworld.feature_1.0.0.201601291408.jar" id="com.abc.demo.helloworld.feature" version="1.0.0.201601291408"/> </site>
  • 28. Translating Plug-in Strings • Source – Externalize Strings…
  • 29. Translating Plug-in Strings • Creates messages.properties file  SampleHandler_0=Helloworld • Create additional files messages_de.properties with translated strings • Adds messages.java file which contains a resource bundle accessor class to initialize and retrieve messages • Properties files must have ISO-8859-1 encoding
  • 30. Demo Application • Live presentation of building and running demo application
  • 32. Plug-in Security (cont’d) • Desktop Setting Policy – Widgets
  • 33. Plug-in Security (cont’d) • Security Setting Policy – Signed Plug-ins
  • 34. Plug-in Security • Desktop Setting Policy – Basics – Provisioning – Allow user initiated updates – Enable to turn off menu items in Notes
  • 35. Deployment Steps • Place the feature's valid Eclipse update site, containing the signed features and plugins, in a central location • Install or upgrade the server and client, create the widgets catalog, and set widgets policy or preferences • Create an NSF-based update site and import the Eclipse update site • Create the extension.xml that the widget will use to call the feature's update site
  • 36. Deployment steps (cont’d) • Sample extension.xml  Explains what features are contained and where to find them
  • 37. Deployment steps (cont’d) • Display the Widgets sidebar and verify or set catalog access • Create the widget in the widgets catalog and attach its extension.xml file to call the update site • Test the widget by dragging it from the catalog view to your My Widgets sidebar • Communicate to users how to obtain the widget or inform them that they will be automatically provisioned with the widget and its feature
  • 38. Deployment • Update site template (ntf)  Use this template to create an NSF-based update site to act as an Eclipse update site hosted in a Notes application • External update site (http)
  • 39. Other Deployment Methods • MSI Installer • Third party tools (ClientGenie)
  • 40. Resource List • Eclipse.org • IBM Redbook • Tutorials Specific to Notes • Internationalizing your plug-in • Using JNI(Java Native Interface) to call C++ code • Eclipse Notes Setup
  • 41. Contact • Teresa_deane@bcc.biz • twitter: @teresa_deane • www.bcchub.com • Come see me in booth 435
  • 43. Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
  • 44. Acknowledgements and Disclaimers cont. © © Copyright IBM Corporation 2016. All rights reserved. • U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. • IBM, the IBM logo, ibm.com, and IBM Notes and IBM Connections are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml • Eclipse is made available under the terms of the Eclipse Public License which is available at http://www.eclipse.org/legal/epl-v10.html • ClientGenie is a registered trademark of BCC Unternehmensberatung GmbH, Frankfurter 80-82 Eschborn Germany Other company, product, or service names may be trademarks or service marks of others.

Notes de l'éditeur

  1. A plugin allows you to easily manipulate functionality in the Notes client by allowing you to add new functionality via tool bars menus and actions
  2. Plugin architechture is extensible, component based so you can do parallel development, open api, can apply good development practices
  3. App like component which deliver web like content based on user or application input For example, a widget can be used for a stand-alone feature by calling a feature update site to initially deploy or later provision updates to a client plug-in. 
  4. Speak about expeditor toolkit, client services application
  5. If you do not use policies, each client will have the Widgets UI (My Widgets sidebar panel, Widgets toolbar, and Tools > Widgets top-bar menus) turned off. After enabling the UI (File > Preferences > Widgets and checkmark the "Show Widget Toolbar and the My Widgets Sidebar panel option), each user has the freedom to create, email, publish and install widgets. To restrict users from doing these types of actions, you can use policies or plugin_customization.ini file settings.