Download presentation
Presentation is loading. Please wait.
Published byDerrick Page Modified over 8 years ago
2
Deploying plug-ins and composite applications to Lotus Notes(abridged version for Notes Only) Andrew E. Davis | Senior Software Engineer | IBM AD302
3
Agenda What are we deploying? How should ISVs package? Which mechanism to use when? Targeted Clients, Push vs End User-Install Example Scenarios and Best Practices Global Add-Ons – Install Customization, Add-On Installer – Catalog on Domino Deploying Composite Applications – NSF – Portal Q & A
4
What are we deploying? Add-Ons Global extensions to products (aka Plug-Ins) – Theme, Sidebar App, Toolbar, Context Menu Composite Applications Things that are NOT add-ons and MAY not be updated as add-ons Product and Platform features Hotfixes, fixpacks Each IBM Lotus Expeditor based product has support statements of what may be updated Example: Notes supported configurations require that no feature/plugin listed as “required” in its install manifest may be modified by the customer or third party add-on.
5
What are we deploying? Eclipse Feature and Plug-ins – Global Add-On Stock Toolbar Sidebar Panel Context Menu extension
6
What are we deploying? Composite Applications – Add-On Applications that MAY include new Eclipse based components (features and plug-ins) Excel Component as Eclipse Feature and Plug-in
7
Key Points about Provisioning Provisioning – act of installing/updating/removing Eclipse Features and plug-ins on an Eclipse/Expeditor based client UpdateSite is a repository of what features and plug-ins are available and MAY be installed. It may include optional components, multiple versions, etc. Install Manifest – Specific list of top level features to be installed on the client. Aka, a set or Composite App – Each Component has a list of featureIDs, version and updateSite URLs Product Installs, Add-on Installers Widget and Plug-in Catalog – InstallManifest Expeditor Server – Feature Task, FeatureID, Version, UpdateSiteURL
8
What are we deploying? Example Scenarios: Global: Stock Ticker Toolbar Composite App: Sales Revenue Artifacts that make up my Stock Ticker or Sales CA UpdateSite – Features/ – Plug-ins/ Settings (Plugin preferences and notes.ini) – Ex: Server URL for Atlantic Security Artifacts – Trust Certs for Public Certificates for Signed plugins
9
How ISVs(Developer) should package for delivery ? Kit Structure: deploy/install.xml deploy/plugin_customization.ini deploy/*.cer (Public Key for your trust certificate) UpdateSite or compressed UpdateSite *.nsfs Self contained NSF CA for Domino Contains CAXML, Notes Components, and UpdateSite and all needed artifacts to drop onto Domino Server Eclipse Features and Plug-ins should be signed! ISVs should include your.cer file
10
Which mechanism to use when (Notes abridged version version)? First look at Customizing the Kit, simplest If you want to manage Lotus Notes clients Use Customizing the Kit – Product Rollout time via MSI/SMS AddOnInstaller – Anytime, independent of product rollout via MSI/SMS Widget and Plug-in Catalog – Anytime, driven by Policy
11
What mechanism to use when? Not a perfect story! Many mechanisms, each suited best for different scenarios Walk you through our recommended decision process, depending on what you are trying to deploy Questions to ask Feature/plug-in global add-on or part of a CA? Rollout part of product rollout / version upgrade or independent of product rollout? Does your organization have existing infrastructure or IT policy restrictions for how software is distributed? Push based only or enabling End-user-install in a controlled and secure manner?
12
Installer based Provisioning Mechanisms Answers: Global Infrastructure dictated Customizing the Product's Kit Product version rollout Full Product Updates, Add-Ons, etc Leverages existing SMS, RPM distribution mechanisms Add On Installer/Packages Independent of product version rollout/upgrade Leverages existing Infrastructure: MSI SMS and RPM distribution mechanisms Hotfixes
13
Global Add-Ons, post product rollout
14
CA Add-Ons, Independent of Product Rollout
15
End-user Install Eclipse Update Manager File->Appliction->Install, File->Application- >Management(com.ibm.notes.branding/enable.update.ui=true) – Never intended for end-users, disabled by default – Officially unsupported in Notes as of 8.01 – Provided for developer testing only Drag2Install – End User Install Official supported mechanism as of Notes 8.01 Symphony 1.3 Expeditor 6.2
16
Details of each deployment solution
17
Customizing the Kit - Product Rollout Notes Customizing the Kit http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.h elp.domino.admin85.doc/DOC/H_PROCESS_OVERVIEW_3511_OVER.html Sametime Customizing the Kit http://publib.boulder.ibm.com/infocenter/sametime/v8r0/topic/com.ibm.help.sameti me.imlu.doc/st_inst_optionalfeatures_t.html XPD 6.2 InfoCenter Customizing Basic Installation http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/topic/com.ibm.rcp.tools.doc.ad min/optionalfeatures.html
18
Customizing a kit – Adding features Adding ISV Features to Notes 8 1. Add features to update Site. 2. Add the feature to the install manifest
19
Customizing a Kit – Notes 8 Kit, Feature Panel 3. Feature Panel is customized instantly
20
Customizing a Kit – Preferences, Signing Verification Default Preference Values – deploy/plugin_customization.ini ● Ex: Admin sets set the server name Preloading Trust Certificates for Signed plugin verification – deploy/*.cer (Public Key for your trust certificate) – deploy/.keystore – List of trusted XPD InfoCenter – Configuring Deployment Settings ● http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/topic/com.ibm.rcp.to ols.doc.admin/configuringprovisioning.html
21
Customizing a Kit – Including a file based CA File based composite applications may be packaged inside features/plug-ins. Features and plug-ins may be included in product kits, by customizing the Kit To auto-load the CA, the plugin must include an extension to the com.ibm.rcp.portal.app.CompositeApplicationStaticContribution extension point. This extension specifies the path to the plugin's CA XML, such as More info on this extension point: http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp?topic=/com.ibm.rcp.doc.schemas/reference/extension- points/com_ibm_rcp_portal_app_CompositeApplicationStaticContribution.html
22
Add-On Installers Alloy, formerly Project “Atlantic” Uses early version of Generic Add-On Installer XPD InfoCenter http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/topic/com.ibm.rcp.tools.doc.ad min/provisioningappusingProvisioninginterfaces_usingProapp.html Future XPD 6.2.1 / Notes 8.5.1 Generic Add-On installer – Install Manifest ● Will be as easy as customizing the kit
23
Widget and Plug-in Catalog on Domino Notes/Domino 8.01 and later Domino Policy Managed Settings(Preferences, and notes.ini) Desktop Policy -> Widgets – Pushes out categoriesToInstall from the catalog. Catalog( widgets.nsf ) Contains the meta-data of a widget(aka, Install Manifest and link to updateSite) UpdateSite.nsf NSF based updateSite on Domino Domino 8.5 Admin Guide: Deploying client plug-ins with widgets and the widget catalogDeploying client plug-ins with widgets and the widget catalog Deploying clients and plug-ins with Widgets and widget catalog http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.help.domino.a dmin.doc/DOC/H_CLIENT_MGMNT_OVER.html
24
Widget and Plug-in Catalog Updates pushed out immediately by policy Regular updates occur on LOW priority replication schedule(24 hours). Install: End User Install, Drag2Install Pushed via Domino Policy. Upgrade: Update the installManifest of a given widget, changes will occur on replication schedule Uninstall supported Removing a feature from a widget, causes it to be uninstalled. Removing a widget from a category causes uninstall Right Click, Remove in Widgets UI.
25
Demo - Catalog Demo Widget and Plug-in Catalog!(Slides 25- 31 demoed live) – Drag2Install – Notes Standard Catalog – Policy – Defining a Provisioning Widget – Greenhouse Catalog Prototype – Symphony Plug-in Catalog
26
Widget and Plug-in Catalog – 8.01-8.5 Template
27
Creating a Provisioning Widget Widget XML for Provisioning Widget TechNote http://www-1.ibm.com/support/docview.wss?rs=899&uid=swg21305829http://www-1.ibm.com/support/docview.wss?rs=899&uid=swg21305829 Domino Admin Guide: http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.help.domino.admin85.doc/DOC/H_CREATE_EXT ENSION_XML_STEPS.html Build a widget form an update site – Plugin for 8.01-8.5 appearing on Greenhouse soon!
28
Catalog UI is completely replaceable Notes NSF customizable in designer Maintain original View and Forms(but you can hide them from the user) Keep extension.xml file attachment and categories Web UI Any Link ending in extension.xml can use Drag2Install Atom Feeds
29
Widget and Plug-in Catalog Administered by Domino Policy Mary Beth Raven - “Shockingly familiar experience for Domino Admin” Domino Policy control what users
30
IBM Plug-in Catalog: Coming soon to Lotus Greenhouse
31
Symphony 1.3 Plug-in Catalog
32
Deploying Composite Applications
33
NSF-based CAs with NSF & Eclipse comp deployment NSF-based CAs are deployed when the nsf file containing the CA XML is opened on the client. To simplify deployment, avoid using hard coded urls when referring to update sites and other NSF applications. Tips follow. Detailed Deployment Process Info: http://www-10.lotus.com/ldd/compappwiki.nsf/dx/introduction-to-provisioning-and- updating http://www-10.lotus.com/ldd/compappwiki.nsf/dx/composite-application- deployment-scenario-reference-article Step by Step Example: http://www-10.lotus.com/ldd/compappwiki.nsf/dx/move-example-scenario-1
34
NSF CA Deployment Tips – Update Site Urls Use indirect references when specifying update site urls Add a Profile doc to the NSF that contains the CA definition. Add a property for the update site url setting the value to the location url When CA components use different update sites, use multiple properties Add a property to each component referring to its update site that refers to the corresponding profile doc's property name Use @GetProfileField to get the update site url by property name when specifying the update site url in the associated components During deployment, set the update site url property/properties in the profile doc to refer to the url for the location of the update site(s) at the deployment location. Use updateSite URLs replica id's enabling replica For more info: http://www-10.lotus.com/ldd/compappwiki.nsf/dx/how-to-calculate-links-to-nsf- components-at-runtime
35
NSF CA Deployment Tips – NSF application references When referencing an application in same NSF as CA XML Use dynamic link 0000000000000000 within Notes url0000000000000000 The url based on deployment location will be computed at runtime For more info: – http://www-10.lotus.com/ldd/compappwiki.nsf/dx/deployment-of-nsf-based- composite-applications-with-components-in-the-same-nsf
36
NSF CA Deployment Tips – NSF application references When referencing an application in a different NSF as CA XML Use same indirect references as used in the Update Site Urls tip For more info: http://www-10.lotus.com/ldd/compappwiki.nsf/dx/how-links-refer-to-nsf- components
37
Portal Administration of CAs CAs defined to portal server with update site(s) co-located and/or on other server(s) Access to CAs assigned based on Portal Roles Client Home Portal Account configuration used on server to determine CAs available to client based on user's role(s). CAs with “MyClient” category are automatically installed on client CAs without “MyClient” category shown in “Portal Applications” UI. User can manually select to install. CAI Synchronization downloads updates to applications installed from portal and “MyClient” applications newly available on portal.
38
Portal Administration of CAs Additional Information XPD Infocenter - http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp http://publib.boulder.ibm.com/infocenter/ledoc/v6r2/index.jsp See Assembling and Deploying Lotus Expeditor Applications > Managing the client runtime > Managing using the Portal Server Portal Infocenter - http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp? topic=/com.ibm.wp.ent.doc/caitai/i_btmp_t_tmp_deploy.html http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1m0/index.jsp? topic=/com.ibm.wp.ent.doc/caitai/i_btmp_t_tmp_deploy.html
39
Questions?
40
Legal disclaimer Please delete all instructions (text in red) and insert this information at the end ofexternal publications. © IBM Corporation 2008. All Rights Reserved. The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication 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. 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. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. 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. If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: 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. Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. http://www.ibm.com/legal/copytrade.shtml IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: UNIX is a registered trademark of The Open Group in the United States and other countries. If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others. If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.