IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC
-
Upload
bcc-solutions-for-ibm-collaboration-software -
Category
Business
-
view
572 -
download
2
Transcript of IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC
![Page 1: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/1.jpg)
1283: My love-hate relationship with IBM Domino Plug-insTeresa Deane Date – January 31, 2016
![Page 2: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/2.jpg)
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)
![Page 3: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/3.jpg)
Things we love to hate:• Mondays• Selfies• Rude people• Finals• Boston Red Sox• The Star Wars prequel trilogyAnd………………………………….
![Page 4: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/4.jpg)
Big Hair from the 80s
![Page 5: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/5.jpg)
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
![Page 6: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/6.jpg)
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
![Page 7: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/7.jpg)
Terminology
![Page 8: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/8.jpg)
What is a Plug-in?• Manipulates the look and feel of Notes• Add Toolbars, Menus and Actions
![Page 9: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/9.jpg)
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
![Page 10: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/10.jpg)
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.
![Page 11: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/11.jpg)
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
![Page 12: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/12.jpg)
Example Plug-ins• Lotus Learn• IBM Connections• openntf
![Page 13: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/13.jpg)
Development Tools
![Page 14: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/14.jpg)
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/
![Page 15: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/15.jpg)
Perspectives• Window – Open Perspective – Other – Plugin-in Development
![Page 16: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/16.jpg)
How to Run Notes from Eclipse• Setup the correct JVM
![Page 17: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/17.jpg)
How to Run Notes from Eclipse• Version of Notes that you are developing for must be installed• Run – Run Configurations…
![Page 18: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/18.jpg)
Eclipse Setup – Arguments tab
![Page 19: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/19.jpg)
Arguments – Variables – Edit variables
![Page 20: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/20.jpg)
Arguments - Configuration
![Page 21: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/21.jpg)
Plug-ins tab
![Page 22: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/22.jpg)
Source Code
![Page 23: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/23.jpg)
MANIFEST.MF• Contains Dependencies and Services of a plug-in
![Page 24: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/24.jpg)
Plugin.xml• Contains Extension Points
![Page 25: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/25.jpg)
Activator.java• Controls the lifecycle of the plug-in
![Page 26: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/26.jpg)
Feature.xml• Eclipse: File – New – Feature Project
![Page 27: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/27.jpg)
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>
![Page 28: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/28.jpg)
Translating Plug-in Strings• Source – Externalize Strings…
![Page 29: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/29.jpg)
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
![Page 30: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/30.jpg)
Demo Application• Live presentation of building and running demo application
![Page 31: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/31.jpg)
Deployment
![Page 32: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/32.jpg)
Plug-in Security (cont’d)• Desktop Setting Policy – Widgets
![Page 33: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/33.jpg)
Plug-in Security (cont’d)• Security Setting Policy – Signed Plug-ins
![Page 34: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/34.jpg)
Plug-in Security• Desktop Setting Policy – Basics – Provisioning – Allow user
initiated updates – Enable to turn off menu items in Notes
![Page 35: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/35.jpg)
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
![Page 36: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/36.jpg)
Deployment steps (cont’d)• Sample extension.xml
Explains what features are contained and where to find them
![Page 37: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/37.jpg)
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
![Page 38: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/38.jpg)
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)
![Page 39: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/39.jpg)
Other Deployment Methods
• MSI Installer• Third party tools (ClientGenie)
![Page 40: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/40.jpg)
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
![Page 41: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/41.jpg)
Contact• [email protected]• twitter: @teresa_deane• www.bcchub.com• Come see me in booth 435
![Page 42: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/42.jpg)
Thank you
![Page 43: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/43.jpg)
Acknowledgements and DisclaimersAvailability. 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.
![Page 44: IBM Connect 2016: Speaker Session with Teresa Deane, Senior Developer, BCC](https://reader035.fdocuments.net/reader035/viewer/2022070520/58f277531a28ab900e8b4591/html5/thumbnails/44.jpg)
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.