SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Deploying plug-ins to the enterprise




                            Presenter: René Winkelmeyer
                            Company: Partner Dialog
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
About me

•  René Winkelmeyer
•  32 years
•  Married, two dogs, two cats
•  Consultant for Business Process Optimization
  and Domino Development
  at Partner Dialog Unternehmensberatung GmbH

•  IBM Business Partner
•  Using Notes/Domino since 10+ years
•  Member of IBMs Domino NEXT Design Partner program
About me

•  OpenNTF Contributor and Committer
•  Winner of the “IBM Best Open Source Award 2010”
•  Main developer of the well-known “File Navigator” plug-in
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
What’s to expect from this session

•  We’ll take a look how to deploy plug-ins to your enterprise.
•  For that I’ll show you what’s to consider when you setup plug-ins within your
   company.

•  And you’ll learn how to avoid some problems (maybe).


•  It will be a brief overview !
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
Talking about plug-ins and widgets

•  Since the availability of plug-in provisioning within Lotus Notes there has always
   been a kind of knowledge gap for administrators (and developers).


•  The difference between plug-ins (and features) and widgets is still not clear to
   anybody.


•  If you talk about plug-in deployment – you talk about “widget deployment” (or so).
What are plug-ins?

•  Plug-ins are java programs
•  Plug-ins are able to change the look and feel
•  Plug-ins are the core base of the Notes standard client
•  Plug-ins are the core base of Sametime
•  Plug-ins are, well, everywhere in the Lotus world now.
What are plug-ins?
What are features?

•  Features are the main mechanism for plug-in deployment.
•  That’s because plug-ins are always part of a feature
•  Features can contain multiple plug-ins
And what are widgets?

•  Widgets are … let’s say “gadgets” for the Notes client.
•  You can use widgets for displaying several stuff in the Notes client sidebar
     •  Notes views, forms, pages etc.
     •  Google gadgets
     •  Web sites

•  And you can use widgets to install plug-ins!
What are widgets?

•  The “functionality” of a widget is described as an XML configuration.
•  You can export the XML through a right-click on the widget and send it via E-mail or
  publish it to a catalog.




•  Both ways assume that you allow your users to install widgets (and maybe plug-ins)
  by themselves!
Anatomy of the an extension.xml
<?xml version="1.0" encoding="UTF-8"?>
<webcontextConfiguration version="1.1">
<palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="" hideThumbnail="false"
id="2016957732" imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false" title="File Navigator Feature" url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl="">
<data>
<installManifest><![CDATA[<install>
  <installfeature id="org.openntf.filenavigator.feature" name="File Navigator Feature" version="1.0.4">
         <requirements>
                 <feature id="org.openntf.filenavigator.feature" version="1.0.4" match="perfect" />
         </requirements>
  </installfeature>
</install>
]]></installManifest>
</data>
</palleteItem>
</webcontextConfiguration>
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"
viewImageUrl="">
                                                   Set this parameter to
                                                   „true“ if you don‘t
                                                   want that users will
                                                   see the widget icon
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"
viewImageUrl="">
                                              The id is very important. It
                                              identifies the widget. If you
                                              change it, Notes will
                                              recognize a „new“ widget!
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"
viewImageUrl="">
                                                   If you want a custom
                                                   image in the widget
                                                   sidebar you can set
                                                   the url right here.
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"      Setting this
viewImageUrl="">                                   parameter to „true“
                                                   forces the Notes
                                                   client to open the
                                                   widget in the same
                                                   Sidebar panel (not
                                                   needed for plug-ins).
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"
viewImageUrl="">
                                                   Just the title of the
                                                   widget.
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"
viewImageUrl="">
                                                   Here you define the
                                                   source where to get
                                                   the plug-in. That‘s the
                                                   HTTP way…
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url=“nrpc://domsrv1/C12574550014E1F0"
viewImageUrl="">
                                                   …and that‘s the
                                                   NRPC way.
Anatomy of the an extension.xml

<palleteItem contributeToSideshelfOnStartup="false"
doubleClickCommandId="“
hideThumbnail="false“
id="2016957732“
imageUrl=""
providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning"
singletonSidebar="false“
title="File Navigator Feature“
url="http://domsrv1/intern/it/updatesite.nsf"
viewImageUrl="">
                                                   If you like custom
                                                   icons for your sidebar
                                                   elements – here you
                                                   can configure them.
Anatomy of the an extension.xml

<data>
<installManifest><![CDATA[<install>
  <installfeature id="org.openntf.filenavigator.feature" name="File
Navigator Feature" version="1.0.4">
      <requirements>
            <feature id="org.openntf.filenavigator.feature" version="1.0.4"
match="perfect" />
      </requirements>
  </installfeature>
</install>
]]></installManifest>                                    That‘s where the
</data>                                                  features are set
                                                         which should be
                                                         installed.
Anatomy of the an extension.xml

<data>
<installManifest><![CDATA[<install> <installfeature
id="com.iscoord.isphone.addon.sametime.feature" name="is-phone" version="8.7.3">
      <requirements>
<feature id="com.iscoord.isphone.addon.sametime.feature" version="8.7.3" match="perfect" />
<feature id="com.iscoord.isphone.core.feature" version="8.7.3" match="perfect" />
<feature id="com.iscoord.isphone.notes.toolbar.feature" version="8.7.3" match="perfect" />
<feature id="com.iscoord.isphone.ui.swt.feature" version="8.7.3" match="perfect" />   </
requirements> </installfeature></install>]]></installManifest>
</data>



                                                               Here is a somewhat
                                                               „bigger“ feature set.
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  The plug-in deployment tool (got still no name for it)
•  Conclusion
Security, security, security

•  Security is important – as always
•  Would your OS administrators allow your users to install any software by
  themselves?

•  So - why would you allow users to install plug-ins by themselves??!


•  The next steps will show you the security preparations for plug-in deployment. You
  just need to set them up once!
Digitally sign your plug-ins

•  It’s highly recommended that you only deploy signed plug-ins. Without that you
  won’t be able to deliver a real silent installation – and it is more secure!

•  Step 1: Create a keystore
        %JAVA_HOME%binkeytool
        -genkey -dname "cn=signer, ou=ca, o=partner-dialog, c=DE“
        -alias “codesigner"
        -keypass mypassword
        -keystore c:yourfolderkeys
        -storepass secret
        -keyalg "RSA"
        -validity 360
Digitally sign your plug-ins

•  Step 2: Export your certificate
        %JAVA_HOME%binkeytool
        -export
        -alias “codesigner"
        -file pdcacert.cer
        -keystore c:yourfolderkeys
        -storepass secret
Digitally sign your plug-ins

•  Step 3: Import the certificate into your Domino directory
Digitally sign your plug-ins

•  Step 4: Create a cross-certificate
     •  You need to open the internet certificate document!
Digitally sign your plug-ins

•  Step 5: Deploy the certificate to your users with an Security policy setting




   You can use this to
   deploy any kind of
   certificate from your
   Domino directory
   into the users local
   address book
Setup plug-in policy settings

•  Please configure the policy setting for signed plug-ins!
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
Deployment in Lotus Notes / Domino

•  Consider five steps for plug-in deployment



           Sign the                    Import the   Add the
                         Configure
           features                    plug-in to   plug-in to   Deploy the
                         plug-in
           and                         your         your         widget
                         settings
           plug-ins                    updatesite   toolbox
Digitally sign your features and plug-ins

•  Remember the security part?
•  We setup internet cross-certificates and deployed them to our users.
•  We set plug-in security to only allow the installation of signed plug-ins.
•  Now we need to sign the features and plug-ins (every single jar file).
        %JAVA_HOME%binjarsigner -verbose
        -keystore C:myfolderkeys
        -storepass secret
        -keypass secret
        C:devupdatesitefeaturesorg.openntf.filenavigator.feature_1.0.5.jar
        codesigner
Using the widget catalog

•  Please configure the policy setting for signed plug-ins!




            Make use of RUN_IN_BACKGROUND=true
            in org.eclipse.ui.workbench – that is
            nescessary for silent deployment
Using the widget catalog




               Remove means „Remove from the policy setting“ –
               it doesn‘t mean „Remove from the users workspace folder“
Using the widget catalog

All those Eclipse settings are stored in <notesdata>workspace.metadata.plugins
org.eclipse.core.runtime.settings

Content of org.openntf.filenavigator.prefs
#Mon Sep 13 13:41:43 CEST 2010
org.openntf.filenavigator.activity.PreferencePageFavFolder=true
pref_question_roots_refresh=true
org.openntf.filenavigator.activity.PreferencePageRoots=true
org.openntf.filenavigator.activity.PreferencePageShares=true
pref_question_eml_open=systemdefault
pref_initial_setup=true
prefmgmt_allow_shares=true
eclipse.preferences.version=1
pref_roots_active=#C:#D:#E:#F:#P:#G:#I:#Z:#H:
pref_unzip_files=true
org.openntf.filenavigator.activity.PreferencePageMail=false
Import into the Updatesite

•  IBM has provided a database for plug-in deployment.
•  You’ll find it as an advanced template on your Domino server.




•  This database allows you to have a single storage for your features and plug-ins.

                           It‘s a Notes database – so think
                            about setting the ACL properly.
Import into the Updatesite

                        Import mechanisms    You can‘t delete single documents!




Views for            Feature name           Feature ID        Feature version
different sortings
Using the widget catalog

•  IBM has provided a database for plug-in deployment.
•  You’ll find it as an advanced template on your Domino server.




•  This database allows you to have a single storage for widgets.

                             It‘s a Notes database – so think
                              about setting the ACL properly.
Using the widget catalog




               All widgets are stored as
               Notes documents
Using the widget catalog
                           You need to set a category for
                           the deployment with policies



                              The widget catalog assumes, that
                             you already have an extension.xml




                           This nice button imports some
                           of the extension.xml data into
                           the document.
The desktop policy setting


                             The client will look at this server

                             Define the categories which
                             should be installed
                             Should your users be able to
                             see the widget sidebar?
The desktop policy setting
How does the client provisioning work

•  At client start-up the client searches for the Widget catalog on the server.
•  It then replicates the local widget catalog (if it doesn’t exist a new one is created).
•  The client then searches in the local replica for changes.


•  Note: a periodical replication of 24h is automatically enabled
How do I uninstall a widget?

•  Just delete the corresponding document in the Widget catalog.


                        That will affect
                          all users!
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
Agenda

•  About me
•  About you
•  What’s to expect from this session
•  We are talking about plug-ins – and so we have to talk about widgets
•  Security, security, security
•  Deployment in Lotus Notes and Domino
•  Conclusion
Conclusion

•  Plug-ins are a very powerful
  – handle them with care!

•  IBM has provided a good set of tools to administrate and deploy plug-ins
  – use them!

•  You should always consider about security!
Thank you!



           Thank you very much for attending my session !

                         René Winkelmeyer



    Questions and – hopefully good – answers can now be placed !

Mais conteúdo relacionado

Mais procurados

Introducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and serverIntroducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and server
Spike Brehm
 
20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev
Frank Rousseau
 
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012 Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Atlassian
 
Making Magento flying like a rocket! (A set of valuable tips for developers)
Making Magento flying like a rocket! (A set of valuable tips for developers)Making Magento flying like a rocket! (A set of valuable tips for developers)
Making Magento flying like a rocket! (A set of valuable tips for developers)
Ivan Chepurnyi
 
Yearning jQuery
Yearning jQueryYearning jQuery
Yearning jQuery
Remy Sharp
 

Mais procurados (20)

Angular JS blog tutorial
Angular JS blog tutorialAngular JS blog tutorial
Angular JS blog tutorial
 
Fixing Magento Core for Better Performance - Ivan Chepurnyi
Fixing Magento Core for Better Performance - Ivan ChepurnyiFixing Magento Core for Better Performance - Ivan Chepurnyi
Fixing Magento Core for Better Performance - Ivan Chepurnyi
 
Vaadin Components @ Angular U
Vaadin Components @ Angular UVaadin Components @ Angular U
Vaadin Components @ Angular U
 
Ionic tabs template explained
Ionic tabs template explainedIonic tabs template explained
Ionic tabs template explained
 
Sane Async Patterns
Sane Async PatternsSane Async Patterns
Sane Async Patterns
 
Cakephp's Cache
Cakephp's CacheCakephp's Cache
Cakephp's Cache
 
Ajax, JSF, Facelets, Eclipse & Maven tutorials
Ajax, JSF, Facelets, Eclipse & Maven tutorialsAjax, JSF, Facelets, Eclipse & Maven tutorials
Ajax, JSF, Facelets, Eclipse & Maven tutorials
 
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
 
Vaadin Components
Vaadin ComponentsVaadin Components
Vaadin Components
 
Backbone/Marionette recap [2015]
Backbone/Marionette recap [2015]Backbone/Marionette recap [2015]
Backbone/Marionette recap [2015]
 
Introducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and serverIntroducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and server
 
20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev20130528 solution linux_frousseau_nopain_webdev
20130528 solution linux_frousseau_nopain_webdev
 
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012 Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012
 
Magento Indexes
Magento IndexesMagento Indexes
Magento Indexes
 
Java Web Development with Stripes
Java Web Development with StripesJava Web Development with Stripes
Java Web Development with Stripes
 
Marionette: the Backbone framework
Marionette: the Backbone frameworkMarionette: the Backbone framework
Marionette: the Backbone framework
 
JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"JSLab. Алексей Волков. "React на практике"
JSLab. Алексей Волков. "React на практике"
 
Ajax Rails
Ajax RailsAjax Rails
Ajax Rails
 
Making Magento flying like a rocket! (A set of valuable tips for developers)
Making Magento flying like a rocket! (A set of valuable tips for developers)Making Magento flying like a rocket! (A set of valuable tips for developers)
Making Magento flying like a rocket! (A set of valuable tips for developers)
 
Yearning jQuery
Yearning jQueryYearning jQuery
Yearning jQuery
 

Destaque (6)

UKLUG 2012 - XPages Extensibility API - going deep!
UKLUG 2012 - XPages Extensibility API - going deep!UKLUG 2012 - XPages Extensibility API - going deep!
UKLUG 2012 - XPages Extensibility API - going deep!
 
UKLUG 2009 - Extending Domino Designer on Eclipse
UKLUG 2009 - Extending Domino Designer on EclipseUKLUG 2009 - Extending Domino Designer on Eclipse
UKLUG 2009 - Extending Domino Designer on Eclipse
 
engage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Businessengage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Business
 
BLUG 2011 - Explaining the IBM Social Business Toolkit
BLUG 2011 - Explaining the IBM Social Business ToolkitBLUG 2011 - Explaining the IBM Social Business Toolkit
BLUG 2011 - Explaining the IBM Social Business Toolkit
 
engage 2014 - JavaBlast
engage 2014 - JavaBlastengage 2014 - JavaBlast
engage 2014 - JavaBlast
 
SOCCNX 2015 - Application Integration Blast
SOCCNX 2015 - Application Integration BlastSOCCNX 2015 - Application Integration Blast
SOCCNX 2015 - Application Integration Blast
 

Semelhante a ILUG 2010 - Deploying plug-ins to the enterprise

#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
Justin Cataldo
 
WPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF applicationWPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF application
Tamir Khason
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The Enterprise
Tim Moore
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of Django
Jacob Kaplan-Moss
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
Igor Bronovskyy
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
OSCON Byrum
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development
Mahmoud Hamed Mahmoud
 
Displaying additional image types in XMetaL
Displaying additional image types in XMetaLDisplaying additional image types in XMetaL
Displaying additional image types in XMetaL
XMetaL
 

Semelhante a ILUG 2010 - Deploying plug-ins to the enterprise (20)

Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptx
 
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
 
When Smalltalk Meets the Web
When Smalltalk Meets the WebWhen Smalltalk Meets the Web
When Smalltalk Meets the Web
 
Intro To webOS
Intro To webOSIntro To webOS
Intro To webOS
 
WPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF applicationWPF for developers - optimizing your WPF application
WPF for developers - optimizing your WPF application
 
AspNetWhitePaper
AspNetWhitePaperAspNetWhitePaper
AspNetWhitePaper
 
AspNetWhitePaper
AspNetWhitePaperAspNetWhitePaper
AspNetWhitePaper
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The Enterprise
 
Mobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptMobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScript
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of Django
 
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
 
HTML5 New and Improved
HTML5   New and ImprovedHTML5   New and Improved
HTML5 New and Improved
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 
Xxx
XxxXxx
Xxx
 
Grails plugin
Grails pluginGrails plugin
Grails plugin
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development
 
Web Components for Java Developers
Web Components for Java DevelopersWeb Components for Java Developers
Web Components for Java Developers
 
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
Building Multi-Tenant and SaaS products in PHP - CloudConf 2015
 
Displaying additional image types in XMetaL
Displaying additional image types in XMetaLDisplaying additional image types in XMetaL
Displaying additional image types in XMetaL
 

Mais de René Winkelmeyer

EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
René Winkelmeyer
 

Mais de René Winkelmeyer (20)

2017 engage.ug - Salesforce and IBM for Developers
2017 engage.ug - Salesforce and IBM for Developers2017 engage.ug - Salesforce and IBM for Developers
2017 engage.ug - Salesforce and IBM for Developers
 
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
 
2016 ISBG - Salesforce App Cloud and Domino - same same, but different
2016 ISBG - Salesforce App Cloud and Domino - same same, but different2016 ISBG - Salesforce App Cloud and Domino - same same, but different
2016 ISBG - Salesforce App Cloud and Domino - same same, but different
 
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
 
Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016
 
DNUG 2016 - Salesforce and IBM Domino - same same, but different
DNUG 2016 - Salesforce and IBM Domino - same same, but differentDNUG 2016 - Salesforce and IBM Domino - same same, but different
DNUG 2016 - Salesforce and IBM Domino - same same, but different
 
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
 
Connect 2016 - Going Mobile With IBM Verse
Connect 2016 - Going Mobile With IBM VerseConnect 2016 - Going Mobile With IBM Verse
Connect 2016 - Going Mobile With IBM Verse
 
Connect 2016 - IBM Mobile Connect - Real World Usage Scenarios
Connect 2016 - IBM Mobile Connect - Real World Usage ScenariosConnect 2016 - IBM Mobile Connect - Real World Usage Scenarios
Connect 2016 - IBM Mobile Connect - Real World Usage Scenarios
 
SNoUG 2015 - Vaadin - XPages 2.0?
SNoUG 2015 - Vaadin - XPages 2.0?SNoUG 2015 - Vaadin - XPages 2.0?
SNoUG 2015 - Vaadin - XPages 2.0?
 
ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!
 
engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?
 
ConnectED 2015 - IBM Notes Traveler Daily Business
ConnectED 2015 - IBM Notes Traveler Daily BusinessConnectED 2015 - IBM Notes Traveler Daily Business
ConnectED 2015 - IBM Notes Traveler Daily Business
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
 
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
 
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
 
UKLUG 2011 - iOS devices in the enterprise
UKLUG 2011 - iOS devices in the enterpriseUKLUG 2011 - iOS devices in the enterprise
UKLUG 2011 - iOS devices in the enterprise
 
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellDominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
panagenda
 

Último (20)

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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 

ILUG 2010 - Deploying plug-ins to the enterprise

  • 1. Deploying plug-ins to the enterprise Presenter: René Winkelmeyer Company: Partner Dialog
  • 2. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 3. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 4. About me •  René Winkelmeyer •  32 years •  Married, two dogs, two cats •  Consultant for Business Process Optimization and Domino Development at Partner Dialog Unternehmensberatung GmbH •  IBM Business Partner •  Using Notes/Domino since 10+ years •  Member of IBMs Domino NEXT Design Partner program
  • 5. About me •  OpenNTF Contributor and Committer •  Winner of the “IBM Best Open Source Award 2010” •  Main developer of the well-known “File Navigator” plug-in
  • 6. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 7. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 8. What’s to expect from this session •  We’ll take a look how to deploy plug-ins to your enterprise. •  For that I’ll show you what’s to consider when you setup plug-ins within your company. •  And you’ll learn how to avoid some problems (maybe). •  It will be a brief overview !
  • 9. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 10. Talking about plug-ins and widgets •  Since the availability of plug-in provisioning within Lotus Notes there has always been a kind of knowledge gap for administrators (and developers). •  The difference between plug-ins (and features) and widgets is still not clear to anybody. •  If you talk about plug-in deployment – you talk about “widget deployment” (or so).
  • 11. What are plug-ins? •  Plug-ins are java programs •  Plug-ins are able to change the look and feel •  Plug-ins are the core base of the Notes standard client •  Plug-ins are the core base of Sametime •  Plug-ins are, well, everywhere in the Lotus world now.
  • 13. What are features? •  Features are the main mechanism for plug-in deployment. •  That’s because plug-ins are always part of a feature •  Features can contain multiple plug-ins
  • 14. And what are widgets? •  Widgets are … let’s say “gadgets” for the Notes client. •  You can use widgets for displaying several stuff in the Notes client sidebar •  Notes views, forms, pages etc. •  Google gadgets •  Web sites •  And you can use widgets to install plug-ins!
  • 15. What are widgets? •  The “functionality” of a widget is described as an XML configuration. •  You can export the XML through a right-click on the widget and send it via E-mail or publish it to a catalog. •  Both ways assume that you allow your users to install widgets (and maybe plug-ins) by themselves!
  • 16. Anatomy of the an extension.xml <?xml version="1.0" encoding="UTF-8"?> <webcontextConfiguration version="1.1"> <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="" hideThumbnail="false" id="2016957732" imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false" title="File Navigator Feature" url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> <data> <installManifest><![CDATA[<install> <installfeature id="org.openntf.filenavigator.feature" name="File Navigator Feature" version="1.0.4"> <requirements> <feature id="org.openntf.filenavigator.feature" version="1.0.4" match="perfect" /> </requirements> </installfeature> </install> ]]></installManifest> </data> </palleteItem> </webcontextConfiguration>
  • 17. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> Set this parameter to „true“ if you don‘t want that users will see the widget icon
  • 18. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> The id is very important. It identifies the widget. If you change it, Notes will recognize a „new“ widget!
  • 19. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> If you want a custom image in the widget sidebar you can set the url right here.
  • 20. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" Setting this viewImageUrl=""> parameter to „true“ forces the Notes client to open the widget in the same Sidebar panel (not needed for plug-ins).
  • 21. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> Just the title of the widget.
  • 22. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> Here you define the source where to get the plug-in. That‘s the HTTP way…
  • 23. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url=“nrpc://domsrv1/C12574550014E1F0" viewImageUrl=""> …and that‘s the NRPC way.
  • 24. Anatomy of the an extension.xml <palleteItem contributeToSideshelfOnStartup="false" doubleClickCommandId="“ hideThumbnail="false“ id="2016957732“ imageUrl="" providerId="com.ibm.rcp.toolbox.prov.provider.ToolboxProvisioning" singletonSidebar="false“ title="File Navigator Feature“ url="http://domsrv1/intern/it/updatesite.nsf" viewImageUrl=""> If you like custom icons for your sidebar elements – here you can configure them.
  • 25. Anatomy of the an extension.xml <data> <installManifest><![CDATA[<install> <installfeature id="org.openntf.filenavigator.feature" name="File Navigator Feature" version="1.0.4"> <requirements> <feature id="org.openntf.filenavigator.feature" version="1.0.4" match="perfect" /> </requirements> </installfeature> </install> ]]></installManifest> That‘s where the </data> features are set which should be installed.
  • 26. Anatomy of the an extension.xml <data> <installManifest><![CDATA[<install> <installfeature id="com.iscoord.isphone.addon.sametime.feature" name="is-phone" version="8.7.3"> <requirements> <feature id="com.iscoord.isphone.addon.sametime.feature" version="8.7.3" match="perfect" /> <feature id="com.iscoord.isphone.core.feature" version="8.7.3" match="perfect" /> <feature id="com.iscoord.isphone.notes.toolbar.feature" version="8.7.3" match="perfect" /> <feature id="com.iscoord.isphone.ui.swt.feature" version="8.7.3" match="perfect" /> </ requirements> </installfeature></install>]]></installManifest> </data> Here is a somewhat „bigger“ feature set.
  • 27. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  The plug-in deployment tool (got still no name for it) •  Conclusion
  • 28. Security, security, security •  Security is important – as always •  Would your OS administrators allow your users to install any software by themselves? •  So - why would you allow users to install plug-ins by themselves??! •  The next steps will show you the security preparations for plug-in deployment. You just need to set them up once!
  • 29. Digitally sign your plug-ins •  It’s highly recommended that you only deploy signed plug-ins. Without that you won’t be able to deliver a real silent installation – and it is more secure! •  Step 1: Create a keystore %JAVA_HOME%binkeytool -genkey -dname "cn=signer, ou=ca, o=partner-dialog, c=DE“ -alias “codesigner" -keypass mypassword -keystore c:yourfolderkeys -storepass secret -keyalg "RSA" -validity 360
  • 30. Digitally sign your plug-ins •  Step 2: Export your certificate %JAVA_HOME%binkeytool -export -alias “codesigner" -file pdcacert.cer -keystore c:yourfolderkeys -storepass secret
  • 31. Digitally sign your plug-ins •  Step 3: Import the certificate into your Domino directory
  • 32. Digitally sign your plug-ins •  Step 4: Create a cross-certificate •  You need to open the internet certificate document!
  • 33. Digitally sign your plug-ins •  Step 5: Deploy the certificate to your users with an Security policy setting You can use this to deploy any kind of certificate from your Domino directory into the users local address book
  • 34. Setup plug-in policy settings •  Please configure the policy setting for signed plug-ins!
  • 35. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 36. Deployment in Lotus Notes / Domino •  Consider five steps for plug-in deployment Sign the Import the Add the Configure features plug-in to plug-in to Deploy the plug-in and your your widget settings plug-ins updatesite toolbox
  • 37. Digitally sign your features and plug-ins •  Remember the security part? •  We setup internet cross-certificates and deployed them to our users. •  We set plug-in security to only allow the installation of signed plug-ins. •  Now we need to sign the features and plug-ins (every single jar file). %JAVA_HOME%binjarsigner -verbose -keystore C:myfolderkeys -storepass secret -keypass secret C:devupdatesitefeaturesorg.openntf.filenavigator.feature_1.0.5.jar codesigner
  • 38. Using the widget catalog •  Please configure the policy setting for signed plug-ins! Make use of RUN_IN_BACKGROUND=true in org.eclipse.ui.workbench – that is nescessary for silent deployment
  • 39. Using the widget catalog Remove means „Remove from the policy setting“ – it doesn‘t mean „Remove from the users workspace folder“
  • 40. Using the widget catalog All those Eclipse settings are stored in <notesdata>workspace.metadata.plugins org.eclipse.core.runtime.settings Content of org.openntf.filenavigator.prefs #Mon Sep 13 13:41:43 CEST 2010 org.openntf.filenavigator.activity.PreferencePageFavFolder=true pref_question_roots_refresh=true org.openntf.filenavigator.activity.PreferencePageRoots=true org.openntf.filenavigator.activity.PreferencePageShares=true pref_question_eml_open=systemdefault pref_initial_setup=true prefmgmt_allow_shares=true eclipse.preferences.version=1 pref_roots_active=#C:#D:#E:#F:#P:#G:#I:#Z:#H: pref_unzip_files=true org.openntf.filenavigator.activity.PreferencePageMail=false
  • 41. Import into the Updatesite •  IBM has provided a database for plug-in deployment. •  You’ll find it as an advanced template on your Domino server. •  This database allows you to have a single storage for your features and plug-ins. It‘s a Notes database – so think about setting the ACL properly.
  • 42. Import into the Updatesite Import mechanisms You can‘t delete single documents! Views for Feature name Feature ID Feature version different sortings
  • 43. Using the widget catalog •  IBM has provided a database for plug-in deployment. •  You’ll find it as an advanced template on your Domino server. •  This database allows you to have a single storage for widgets. It‘s a Notes database – so think about setting the ACL properly.
  • 44. Using the widget catalog All widgets are stored as Notes documents
  • 45. Using the widget catalog You need to set a category for the deployment with policies The widget catalog assumes, that you already have an extension.xml This nice button imports some of the extension.xml data into the document.
  • 46. The desktop policy setting The client will look at this server Define the categories which should be installed Should your users be able to see the widget sidebar?
  • 48. How does the client provisioning work •  At client start-up the client searches for the Widget catalog on the server. •  It then replicates the local widget catalog (if it doesn’t exist a new one is created). •  The client then searches in the local replica for changes. •  Note: a periodical replication of 24h is automatically enabled
  • 49. How do I uninstall a widget? •  Just delete the corresponding document in the Widget catalog. That will affect all users!
  • 50. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 51. Agenda •  About me •  About you •  What’s to expect from this session •  We are talking about plug-ins – and so we have to talk about widgets •  Security, security, security •  Deployment in Lotus Notes and Domino •  Conclusion
  • 52. Conclusion •  Plug-ins are a very powerful – handle them with care! •  IBM has provided a good set of tools to administrate and deploy plug-ins – use them! •  You should always consider about security!
  • 53. Thank you! Thank you very much for attending my session ! René Winkelmeyer Questions and – hopefully good – answers can now be placed !