SlideShare a Scribd company logo
1 of 71
Download to read offline
Entwicklercamp 2012

 XPages – Extension Library
 Viagra für die XPage
 26. – 28..03.2012
 Maritim Hotel, Gelsenkirchen
 Ulrich Krause, is@web, industrial services
AG
IBM’s statements regarding its plans, directions, and intent
are subject to change or withdrawal without notice at
IBM’s sole discretion.
Information regarding potential future products is intended
to outline IBM’s general product direction and it should not
be relied on in making a purchasing decision.
The information mentioned regarding potential future
products is not a commitment, promise, or legal obligation
to deliver any material, code or functionality.
Information about potential future products may not be
incorporated into any contract. The development, release,
and timing of any future features or functionality described
for IBM products remains at IBM’s sole discretion.
Agree, or Schrödinger will kill a kitten in a box. Maybe …
About: Ulrich Krause
 Lotus Notes / Domino Administrator & Entwickler since 1993
 Business Application Developer
  is@web, Nürnberg / Ratingen
 OpenNTF http://openntf.org
   • !!HELP!!, Cebulon, Trigger Happy
   • XPages Custom Controls


 IBM Champion 2011/2012
   •   https://www-304.ibm.com/connections/blogs/socialbusiness/entry/announcing_the_2011_ibm_champions_for_colla
       boration_solutions4?lang=de

 Blog http://www.eknori.de
 Notes Forum (http://www.atnotes.de)
Agenda
   JavaScript/CSS Aggregation
   Pre-Load for Xpages
   JAVA / JAR Design Element
   Themes
   XPages Extension Library / Upgrade Pack
   XPages Relational Database Support
   OpenNTF
   Resources, Books of Interest
JavaScript/CSS Aggregation
 Aggregates multiple Dojo modules, or multiple CSSs into a
  single file
   • a decrease in requests sent from the browser to the server
   • an increase in user performance, particularly in the context of
     networks with high latency
   • an increase in the speed of JS/CSS parsing from the browser
   • the freeing up of server connections to fulfill other requests




                                             On Sever: xsp.properties:
                                             xsp.resources.aggregate=true
JavaScript/CSS Aggregation
Enable Pre-Load for XPages
 • New feature as of Notes / Domino 8.5.3

 • Works on Server AND Client
 • XPagesPreload=1
    • Loads XPages runtime components at server startup
 • XPagesPreloadDB=Server!!Db.nsf/XPage.xsp,myLocalDb.nsf
    • Loads XPages runtime Java classes
JAVA Design Element (8.5.3)
 A Java design element is created just like you create any
  other design element.
 Categorization in the Designer views is shown by using the
  "/" character to demark levels
 In the virtual file system, the class file appears separate
  from the .java file, under WebContentWEB-INFclasses
JAR Design Element ( 8.5.4 )
 Work with packaged Java code/libraries that are included in
  the application NSF
 Frees you from having to deploy the JARS to a server
  and/or include the source files uniquely in the application
  database
 Automatically manages the classpath and places the JAR
  file into web-inf/lib
 Only available to XPages
  applications
   • automatically loaded by the
     XPages runtime
Themes
 Single Document Containing References to all your CSS
  Resources
   • resource sections reference the CSS files used
   • control section define what CSS classes are applied to specific
     controls
 XML Based and Easy To Learn
   • creating a new theme document prefills sample content
 Can Extend Other Themes
   • <theme extends="webstandard">
   • will automatically include all the resource and control definitions from
     that theme
   • built-in themes to extend
       • webstandard, notes, oneUI
Themes – Resources Basics
 Can be simple
  • Just reference an internal CSS resource


 Can be complex
  • Multiple CSS Resources
     • Internal
     • External
  • Specify client Side JavaScript Resources
  • Specify ‘Rendered’ properties on resources
  • Send certain CSS resources to certain web browsers
Themes - Complex
 Specify If A Resource Is Only Used When Dojo Controls Are
  detected.
      • <resource dojoTheme=”true”>




 Browser / Client Detection
      • <resource rendered="#{javascript:context.getUserAgent().isFirefox()}">
 Reference Server Based / External Files
      • <href>/.ibmxspres/global/theme/oneui/iehacks.css</href>
      • <href>http://www.someserver.com/resources/application.css</href>
Theme Controls – The Basics
 Theme Controls are used to define default values for
  properties
   • mode=”concat”
       • Will append the properties onto any existing properties
   • mode=”override”
       • Will override the properties with those defined in the control
 Theme Control Names matchup with the types on controls
  on pages
   • or you can create your own Theme Control names
   • and then tell it what control to apply to using the themeID property


 C:Program Files (x86)IBMLotusNotesxspnsfthemes
Extension Library - Viagra for XPages
Extension Library
 The XPages Extension Library provides
  a set of new XPages artifacts that are
  ready to use. It contains a set of new
  XPages controls that supplement the
  existing ones by providing new
  capabilities like:
      • An application layout object for rendering the
        main frame
      • Improved UI components, like dialogs, in
        context forms, etc.
      • A set of data pickers (value and name
        pickers)
      • .... and a lot more!
Making Domino Designer work like you want




http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8GP6RP
XPages Extension Library OpenNTF
 There are 2 sets of plugins included in OpenNTF delivery
      • “extlib” and “extlibx”
 Each set is wrapped into its own XPages specific library
      • com.ibm.xsp.extlib.library
      • com.ibm.xsp.extlibx.library
 The “extlibx” library contains eXperimental code
      • RDBMS support
      • Social Enabler and others
 Experimental code can get added to the “extlib” library
   • once the code has matured and there is sufficient customer demand
 XPages apps can depend on both the extlib and extlibx
  libraries
      • RDBMS access requires both dependencies
XPages ExtLib Deployment (Client)
 Open Domino Designer.
 In File -> Preferences for Domino Designer, check Enable Eclipse plug-
  in install if it is not already checked.
 Unpack downloaded file
XPages ExtLib Deployment (Client)
 Click
  File -> Application -> Install to
  open the Install/Update dialog
 Select Search for new features to
  install and click Next
XPages ExtLib Deployment (Client)
 Use the Add Zip/Jar Location
  button to add
  updateSiteOpenNTF-
  designer.zip if it is not already
  there.
 Ensure that
  updateSiteOpenNTF-
  designer.zip is selected and
  click Finish
XPages ExtLib Deployment (Client)
 Select all features if asked
 Click the Next Button
XPages ExtLib Deployment (Client)
 Accept the feature license
 Click the Next Button
XPages ExtLib Deployment (Client)
 Select Install this plug-in for each unsigned plug-in
 Restart Domino Designer and Notes® after the update
  completes
Previewing Ext Lib features in a browser
 Unpack updateSiteOpenNTF-designer.zip to
  dominoworkspaceapplicationseclipse in the Domino
  data directory.
 Take care to strictly respect the directory hierarchy.
XPages ExtLib Deployment (Server)
 Unpack updatesite.zip
 Copy „features“ and „plugins“ to server
 Stop / Start HTTP task




     <Domino-Data>dominoworkspaceapplicationseclipse
Verify Installation
 To verify the plugins for the extlib and extlibx XPages
  libraries are properly installed, you should use the OSGI
  command on the server console
 tell http osgi ss com.ibm.xsp.extlib
XPages ExtLib Deployment in Domino 8.5.3
 Unzip download
 Unzip "updateSiteOpenNTF-designer.zip„
 Create a new application dbname.nsf on server
  Use template (Eclipse Update Site)
 Modify ACL, Anonymous at least needs Reader Access.
 Open Application
 Click "Import Local Update Site„
 OSGI_HTTP_DYNAMIC_BUNDLES=dbname.nsf



 Start / Stop HTTP task on server
XPages ExtLib Deployment in Domino 8.5.3




 XPages Extension Library Deployment in Domino 8.5.3 and
  IBM XWork Server
   •   http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_Deployment
8.5.3 Upgrade Pack 1
   http://www-10.lotus.com/ldd/ddwiki.nsf/xpViewCategories.xsp?
    lookupName=What%20is%20new%20in%20Domino%20Designer
    %208.5.3%20Upgrade%20Pack%201
8.5.3 Upgrade Pack 1
 Uninstall
  existing
  components
  first !!
8.5.3 Upgrade Pack 1- What is installed?




   Source Code


 Designer Tooling


  App Templates          App Templates         App Templates*


  ExtLib Runtime         ExtLib Runtime         ExtLib Runtime

* Discussion template installed with Notes client (no Teamroom)
XPages Extension Library Upgrade Pack 1
   A set of Java plug-ins that greatly extend XPages functionality
   Works on web, Notes client and mobile devices
   Applicable to Domino, XWork Server, Notes, Domino Designer
   Cool new Domino Designer enhancements for Ext Lib controls
   Enhanced TeamRoom and Discussion templates
   A fully accessible runtime library and templates
   Implemented using the XPages Extensibility API
   Built to IBM globalization standards
   Online documentation
   Runtime is localized
   Officially supported by IBM
   Includes source code !
Product, OpenSource, Upgrade Pack
 Code is first released on OpenNTF
   • Available early and gives full transparency on what is being done
   • Facilitates quicker user evaluation, feedback and contributions
 Pieces from OpenNTF are selected and delivered as UP
 Upgrade Packs are supported by IBM
   • Upgrade Packs are delivered on a shorter release cycle than
     products
   • Upgrade Packs are integrated into the next revision of the product
   • Upgrade Packs do not modify the core base platform in any way !
Extension Library Demo Application
com.ibm.xsp.extlib.util.ExtLibUtil
 Get version of installed Extension Library

   • var v = com.ibm.xsp.extlib.util.ExtLibUtil.getExtLibVersion();
   • return "XPages ExtLib version: "+ v
com.ibm.xsp.extlib.util.ExtLibUtil
 Contains many common methods
   • import static com.ibm.xsp.extlib.util.ExtLibUtil.*;


 getCurrentSession(), getCurrentDatabase() …

 Many more to access scoped variables etc.
XPages Relational Database Support
 Leverages JDBC when connecting to relational databases
   • Accesses any database with a JDBC driver available
   • You could access
      • DB2,Oracle,MS SQL,MySQL,Derby... you name it!
   • You need to obtain the JDBC driver from the database vendor or
     third party provider
 RDBMS data is accessed directly – no synchronization is
  performed with NSF
 Xpages efficiently manages the connections through a
  connections pool
 Uses NSF specific connections
 The data is accessed using a set of dedicated data sources
XPages Relational Database Support
 extlibx library adds 2 new data sources:
   • JDBC Query for Read Only access
   • JDBC RowSet for CRUD (create/read/update/delete) access.
      • Current implementation is based on com.sun.rowset.CachedRowSetImpl
      • Could be configured to use your own via the rowSetJavaClass property


 Each of the provided new data sources could be easily
  utilized either by:
   • the core View Container Control (xp:viewPanel element)
   • the XPage itself (xp:view element)


 The new data sources are now available in the Domino
  Designer Property Panel
XPages Relational Database Support
XPages Relational Database Support
 To connect to your RDBMS you need to create a special file
  resource
   • .jdbc” extension (for example “db2test.jdbc”)
   • specify the JDBC driver class to be used
   • the database host/port/name and users' credentials
Server Side JavaScript APIs and @Functions
 Currently implemented @Functions:

   •   @JdbcInsert
   •   @JdbcUpdate
   •   @JdbcDelete
   •   @JdbcExecuteQuery
   •   @JdbcDbColumn
   •   @JdbcGetConnection



 Used to simplify various RDBMS operations
 Allows programmatic access to RDBMS data
Extension Library - Viagra for XPages
RDBMS Future
 XPages Extension Library OpenNTF and Relational support
  continues to evolve further and expected features in the
  pipeline include:
   • Global Domino server based RDBMS connection definition ability
   • Domino Designer tooling to work with the RDBMS tables' metadata
   • Even better JDBC connection pooling implementation using Apache
     DBCP
   • JDBC Query via REST services
   • Additional @Functions
 Another new interesting OpenNTF project
   • JDBC Access for IBM Lotus Domino (DomSQL)
          – http://www.openntf.org/internal/home.nsf/project.xsp?
            action=openDocument&name=JDBC%20Access%20for%20IBM%20Lotus
            %20Domino
Domino JDBC Access (DomSQL)
 Exposes Domino data as relational tables and provides easy
  access to the tables using a JDBC driver
   • Expand the query capability of Note/Domino (N/D)
      • Native N/D views lack some key features like dynamic queries and joins
        between views. The features Domino views lack are exactly those at
        which SQL excels
   • Reporting – Data analytics
      • SQL is the de facto standard used by reporting/data analysis tools.
        Making N/D data behave like relational data suddenly opens it to a large
        set of tools that understand JDBC
 As of now, it only does read-only
 Uses another very popular open source project called
  SQLite (http://www.sqlite.org/)
XPages Relational Database Support
 Do I need the extension Library ?????? …

 What do we need??
 Application
 JDBC – Driver

   • MySQL http://dev.mysql.com/downloads/connector/j/
   • Available for all major databases


 Code to access the database using the driver
  (Query / Insert / Update / Delete )
XPages Relational Database Support




                    MySQL Workbench

                      http://www.mysql.de/products/workbench/
Java in XPages
 Package Explorer




 Predefined Perspectives
XPages Relational Database Support
 Install Driver (Client)
   • Open Package Explorer

   • Create Folder
       • WebContent WEB-INF  lib



   • Drag/Drop driver file into folder

   • Buildpath
       • RightClick  Build Path  Use as Source Folder
XPages Relational Database Support
 Install Driver (Server)
   • datadominoworkspaceapplicationseclipseplugins
   • Stop / Start HTTP task
XPages Relational Database Support
 de.eknori.jdbc.MySQL
   • executeQuery()
   • executeUpdate()
XPages Relational Database Support
 JavaScript Library
Extension Library - Viagra for XPages
OpenNTF
 Global open source community
 Enabling groups of developers to collaborate
 Increasing the number and quality of applications, controls
  and snippets
 Started in December 2001

 2009 – 2011: OpenNTF Alliance
 Since July 2011: OpenNTF, Inc (non profit organization)
   • 28 company members
   • Board with 9 + 3 directors
   • Technical committee, IP manager, marketing working group, etc.
OpenNTF in Numbers
 17.000 downloads per month
 678 projects
   • > 250 contributors
   • > 3.5 million page views per year
   • > 68.000 registered users


 XPages.info: > 800 news documents in first year
       • http://www.xpages.info/XPagesHome.nsf/Home.xsp
OpenNTF Code Snippets
 http://openntf.org/XSnippets.nsf/home.xsp
   • Download „XSnippets“ http://xsnippets.openntf.org/
Application Layout Control - extLib
XPages Application Layouts Library
 Extended version of the applicationLayout included in the
  XPages Extension Library http://www.openntf.org/internal/home.nsf/project.xsp?
                                         action=openDocument&name=XPages%20Application
                                         %20Layouts%20Library
OneUI
 IBM Lotus User Interface Developer Documentation
      • http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/overview.htm
      • http://www-12.lotus.com/ldd/doc/oneuidoc/docpublic/index.htm
Debugging
dBar.info(message:String, context:String);
 dBar.warn(message:String, context:String);
 dBar.debug(message:String, context:String);
 dBar.error(message:String, context:String);

 dBar.dump( anyObject )

 dBar.startTimer( timerId:String );
 dBar.stopTimer( timerId:String );


http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=XPage%20Debug%20Toolbar
mAddressBook
 HTML 5
 iOS + Android




                  http://www.openntf.org/internal/home.nsf/project.
                  xsp?
                  action=openDocument&name=mAddressBook
ITANA Tasks
 View, Edit, and Create Lotus Notes Tasks while offline
 No Modification in Mail file
 iOS + Android




                     http://www.openntf.org/internal/home.nsf/screenshots.xsp?
                     action=openDocument&name=ITANA
                     %20Tasks&documentId=A2457CB2C74E657A8625794F0050B18D
3. Development Contest
 June 3th 2012: Deadline for submissions




http://xpages.info/XPages
Home.nsf/Contest.xsp
Resources
 Making Domino Designer work like you want
         – http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8GP6RP

 NotesIn9 ( David Leedy )
         – http://notesin9.com/
         – Download all : Stephan Wissel
           http://www.wissel.net/blog/d6plinks/SHWL-8RZKH7
 Xpages Development Forum
         – http://www-10.lotus.com/ldd/xpagesforum.nsf

 Xpages 101 ( Matt White )
         – http://xpages101.net

 OpenNTF
         – http://openntf.org

 Planet Lotus
         – http://planetlotus.org
Books of Interest
 Publishing Date 19-May-2012

   •   Declan Scolia-Lynch
   •   Paul Hannan
   •   Jeremy Hodges
   •   Paul Withers
   •   Tim Tripcony




 http://www.amazon.com/XPages-Extension-Library-Step---
 Step/dp/0132901811/ref=sr_1_1?ie=UTF8&qid=1329839291&sr=8-1
Books of Interest
 Publishing Date 15-Feb-2012

   •   Martin Donnelly
   •   Maire Kehoe
   •   Tony McGuckin
   •   Dan O'Connor

 XPages Portable Command Guide
  offers fast access to working code,
  tested solutions, expert tips,
  and example-driven best practices

  http://www.amazon.com/XPages-Portable-Command-Guide-
  Application/dp/0132943050/ref=sr_1_1?s=books&ie=UTF8&qid=1329839422&sr=1-1
Q&A
•   Mail: eknori@eknori.de
•   Blog: http://www.eknori.de
•   Sametime: bleedyellow.com
•   Twitter: eknori
Extension Library - Viagra for XPages
Entwicklercamp 2012

 XPages – Extension Library
 Viagra für die XPage
 26. – 28..03.2012
 Maritim Hotel, Gelsenkirchen
 Ulrich Krause, is@web, industrial services
AG
Extension Library - Viagra for XPages
Track 1 Session 3
Dienstag , 27.03.2012
    9:00 - 10:30

More Related Content

What's hot

Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsTeamstudio
 
Move Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast LaneMove Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast LaneTeamstudio
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrowpjanzen11
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience NeededKathy Brown
 
Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APITeamstudio
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsPaul Withers
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixMartin Donnelly
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Editionddrschiw
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8Teamstudio
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesEamon Muldoon
 
Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Betterddrschiw
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikisddrschiw
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages ExpertsTeamstudio
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT Group
 
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...Howard Greenberg
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityTeamstudio
 
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...marjoramg
 
AD201: IBM Domino Application Development Today And Tomorrow
AD201: IBM Domino Application Development Today And TomorrowAD201: IBM Domino Application Development Today And Tomorrow
AD201: IBM Domino Application Development Today And TomorrowMartin Donnelly
 

What's hot (20)

Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
Move Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast LaneMove Your XPages Applications to the Fast Lane
Move Your XPages Applications to the Fast Lane
 
AD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrow
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino API
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile Controls
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With Bluemix
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
Ad106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting BetterAd106 - XPages Just Keep Getting Better
Ad106 - XPages Just Keep Getting Better
 
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation WikisAD112 -- Development and Deployment of Lotus Product Documentation Wikis
AD112 -- Development and Deployment of Lotus Product Documentation Wikis
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
 
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
 
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate UsabilityExpanding XPages with Bootstrap Plugins for Ultimate Usability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
 
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
 
AD201: IBM Domino Application Development Today And Tomorrow
AD201: IBM Domino Application Development Today And TomorrowAD201: IBM Domino Application Development Today And Tomorrow
AD201: IBM Domino Application Development Today And Tomorrow
 

Viewers also liked

Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013balassaitis
 
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next LevelMWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next Levelbalassaitis
 
Responsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UIResponsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UIChris Toohey
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Howard Greenberg
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!Ulrich Krause
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCUlrich Krause
 
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformIBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformUlrich Krause
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesUlrich Krause
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicUlrich Krause
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesUlrich Krause
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Ulrich Krause
 
LinkedIn: Aloittelijan usein kysytyt kysymykset
LinkedIn: Aloittelijan usein kysytyt kysymyksetLinkedIn: Aloittelijan usein kysytyt kysymykset
LinkedIn: Aloittelijan usein kysytyt kysymyksetUraristeys
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 

Viewers also liked (20)

Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
 
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next LevelMWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
 
Responsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UIResponsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UI
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
Ec13 xpages-basic
Ec13 xpages-basicEc13 xpages-basic
Ec13 xpages-basic
 
XPages - The Basics
XPages - The BasicsXPages - The Basics
XPages - The Basics
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin development
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!
 
MWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVCMWLUG 2015 - An Introduction to MVC
MWLUG 2015 - An Introduction to MVC
 
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware PlatformIBM Lotus Notes - From PLATO to the Leading Groupware Platform
IBM Lotus Notes - From PLATO to the Leading Groupware Platform
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPages
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basic
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
XPages Performance
XPages PerformanceXPages Performance
XPages Performance
 
Life in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPagesLife in the fast lane. Full speed XPages
Life in the fast lane. Full speed XPages
 
Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)Compact, Compress, De-Duplicate (DAOS)
Compact, Compress, De-Duplicate (DAOS)
 
LinkedIn: Aloittelijan usein kysytyt kysymykset
LinkedIn: Aloittelijan usein kysytyt kysymyksetLinkedIn: Aloittelijan usein kysytyt kysymykset
LinkedIn: Aloittelijan usein kysytyt kysymykset
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 

Similar to Extension Library - Viagra for XPages

Lecture11_LaravelGetStarted_SPring2023.pdf
Lecture11_LaravelGetStarted_SPring2023.pdfLecture11_LaravelGetStarted_SPring2023.pdf
Lecture11_LaravelGetStarted_SPring2023.pdfShaimaaMohamedGalal
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Shyamala Prayaga
 
Get Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty RepositoryGet Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty RepositoryGraham Charters
 
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014scolestock
 
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...Paul Withers
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementSharkrit JOBBO
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...WASdev Community
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteMicro Focus
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13Dominopoint - Italian Lotus User Group
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopersBryan Cafferky
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressNathaniel Taintor
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC DeploymentsSujit Kumar
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkSandeep Adwankar
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfOrtus Solutions, Corp
 

Similar to Extension Library - Viagra for XPages (20)

Lecture11_LaravelGetStarted_SPring2023.pdf
Lecture11_LaravelGetStarted_SPring2023.pdfLecture11_LaravelGetStarted_SPring2023.pdf
Lecture11_LaravelGetStarted_SPring2023.pdf
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
Devops
DevopsDevops
Devops
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
 
Get Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty RepositoryGet Rapid Right-sized and Recent with the Liberty Repository
Get Rapid Right-sized and Recent with the Liberty Repository
 
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Lib...
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
Whats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product SuiteWhats new in Enterprise 5.0 Product Suite
Whats new in Enterprise 5.0 Product Suite
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
 
PowerShellForDBDevelopers
PowerShellForDBDevelopersPowerShellForDBDevelopers
PowerShellForDBDevelopers
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPress
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC Deployments
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
 

More from Ulrich Krause

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

More from Ulrich Krause (13)

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

Recently uploaded

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 

Recently uploaded (20)

UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 

Extension Library - Viagra for XPages

  • 1. Entwicklercamp 2012 XPages – Extension Library Viagra für die XPage 26. – 28..03.2012 Maritim Hotel, Gelsenkirchen Ulrich Krause, is@web, industrial services AG
  • 2. IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline IBM’s general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for IBM products remains at IBM’s sole discretion. Agree, or Schrödinger will kill a kitten in a box. Maybe …
  • 3. About: Ulrich Krause  Lotus Notes / Domino Administrator & Entwickler since 1993  Business Application Developer is@web, Nürnberg / Ratingen  OpenNTF http://openntf.org • !!HELP!!, Cebulon, Trigger Happy • XPages Custom Controls  IBM Champion 2011/2012 • https://www-304.ibm.com/connections/blogs/socialbusiness/entry/announcing_the_2011_ibm_champions_for_colla boration_solutions4?lang=de  Blog http://www.eknori.de  Notes Forum (http://www.atnotes.de)
  • 4. Agenda  JavaScript/CSS Aggregation  Pre-Load for Xpages  JAVA / JAR Design Element  Themes  XPages Extension Library / Upgrade Pack  XPages Relational Database Support  OpenNTF  Resources, Books of Interest
  • 5. JavaScript/CSS Aggregation  Aggregates multiple Dojo modules, or multiple CSSs into a single file • a decrease in requests sent from the browser to the server • an increase in user performance, particularly in the context of networks with high latency • an increase in the speed of JS/CSS parsing from the browser • the freeing up of server connections to fulfill other requests On Sever: xsp.properties: xsp.resources.aggregate=true
  • 7. Enable Pre-Load for XPages • New feature as of Notes / Domino 8.5.3 • Works on Server AND Client • XPagesPreload=1 • Loads XPages runtime components at server startup • XPagesPreloadDB=Server!!Db.nsf/XPage.xsp,myLocalDb.nsf • Loads XPages runtime Java classes
  • 8. JAVA Design Element (8.5.3)  A Java design element is created just like you create any other design element.  Categorization in the Designer views is shown by using the "/" character to demark levels  In the virtual file system, the class file appears separate from the .java file, under WebContentWEB-INFclasses
  • 9. JAR Design Element ( 8.5.4 )  Work with packaged Java code/libraries that are included in the application NSF  Frees you from having to deploy the JARS to a server and/or include the source files uniquely in the application database  Automatically manages the classpath and places the JAR file into web-inf/lib  Only available to XPages applications • automatically loaded by the XPages runtime
  • 10. Themes  Single Document Containing References to all your CSS Resources • resource sections reference the CSS files used • control section define what CSS classes are applied to specific controls  XML Based and Easy To Learn • creating a new theme document prefills sample content  Can Extend Other Themes • <theme extends="webstandard"> • will automatically include all the resource and control definitions from that theme • built-in themes to extend • webstandard, notes, oneUI
  • 11. Themes – Resources Basics  Can be simple • Just reference an internal CSS resource  Can be complex • Multiple CSS Resources • Internal • External • Specify client Side JavaScript Resources • Specify ‘Rendered’ properties on resources • Send certain CSS resources to certain web browsers
  • 12. Themes - Complex  Specify If A Resource Is Only Used When Dojo Controls Are detected. • <resource dojoTheme=”true”>  Browser / Client Detection • <resource rendered="#{javascript:context.getUserAgent().isFirefox()}">  Reference Server Based / External Files • <href>/.ibmxspres/global/theme/oneui/iehacks.css</href> • <href>http://www.someserver.com/resources/application.css</href>
  • 13. Theme Controls – The Basics  Theme Controls are used to define default values for properties • mode=”concat” • Will append the properties onto any existing properties • mode=”override” • Will override the properties with those defined in the control  Theme Control Names matchup with the types on controls on pages • or you can create your own Theme Control names • and then tell it what control to apply to using the themeID property  C:Program Files (x86)IBMLotusNotesxspnsfthemes
  • 15. Extension Library  The XPages Extension Library provides a set of new XPages artifacts that are ready to use. It contains a set of new XPages controls that supplement the existing ones by providing new capabilities like: • An application layout object for rendering the main frame • Improved UI components, like dialogs, in context forms, etc. • A set of data pickers (value and name pickers) • .... and a lot more!
  • 16. Making Domino Designer work like you want http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8GP6RP
  • 17. XPages Extension Library OpenNTF  There are 2 sets of plugins included in OpenNTF delivery • “extlib” and “extlibx”  Each set is wrapped into its own XPages specific library • com.ibm.xsp.extlib.library • com.ibm.xsp.extlibx.library  The “extlibx” library contains eXperimental code • RDBMS support • Social Enabler and others  Experimental code can get added to the “extlib” library • once the code has matured and there is sufficient customer demand  XPages apps can depend on both the extlib and extlibx libraries • RDBMS access requires both dependencies
  • 18. XPages ExtLib Deployment (Client)  Open Domino Designer.  In File -> Preferences for Domino Designer, check Enable Eclipse plug- in install if it is not already checked.  Unpack downloaded file
  • 19. XPages ExtLib Deployment (Client)  Click File -> Application -> Install to open the Install/Update dialog  Select Search for new features to install and click Next
  • 20. XPages ExtLib Deployment (Client)  Use the Add Zip/Jar Location button to add updateSiteOpenNTF- designer.zip if it is not already there.  Ensure that updateSiteOpenNTF- designer.zip is selected and click Finish
  • 21. XPages ExtLib Deployment (Client)  Select all features if asked  Click the Next Button
  • 22. XPages ExtLib Deployment (Client)  Accept the feature license  Click the Next Button
  • 23. XPages ExtLib Deployment (Client)  Select Install this plug-in for each unsigned plug-in  Restart Domino Designer and Notes® after the update completes
  • 24. Previewing Ext Lib features in a browser  Unpack updateSiteOpenNTF-designer.zip to dominoworkspaceapplicationseclipse in the Domino data directory.  Take care to strictly respect the directory hierarchy.
  • 25. XPages ExtLib Deployment (Server)  Unpack updatesite.zip  Copy „features“ and „plugins“ to server  Stop / Start HTTP task <Domino-Data>dominoworkspaceapplicationseclipse
  • 26. Verify Installation  To verify the plugins for the extlib and extlibx XPages libraries are properly installed, you should use the OSGI command on the server console  tell http osgi ss com.ibm.xsp.extlib
  • 27. XPages ExtLib Deployment in Domino 8.5.3  Unzip download  Unzip "updateSiteOpenNTF-designer.zip„  Create a new application dbname.nsf on server Use template (Eclipse Update Site)  Modify ACL, Anonymous at least needs Reader Access.  Open Application  Click "Import Local Update Site„  OSGI_HTTP_DYNAMIC_BUNDLES=dbname.nsf  Start / Stop HTTP task on server
  • 28. XPages ExtLib Deployment in Domino 8.5.3  XPages Extension Library Deployment in Domino 8.5.3 and IBM XWork Server • http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_Deployment
  • 29. 8.5.3 Upgrade Pack 1  http://www-10.lotus.com/ldd/ddwiki.nsf/xpViewCategories.xsp? lookupName=What%20is%20new%20in%20Domino%20Designer %208.5.3%20Upgrade%20Pack%201
  • 30. 8.5.3 Upgrade Pack 1  Uninstall existing components first !!
  • 31. 8.5.3 Upgrade Pack 1- What is installed? Source Code Designer Tooling App Templates App Templates App Templates* ExtLib Runtime ExtLib Runtime ExtLib Runtime * Discussion template installed with Notes client (no Teamroom)
  • 32. XPages Extension Library Upgrade Pack 1  A set of Java plug-ins that greatly extend XPages functionality  Works on web, Notes client and mobile devices  Applicable to Domino, XWork Server, Notes, Domino Designer  Cool new Domino Designer enhancements for Ext Lib controls  Enhanced TeamRoom and Discussion templates  A fully accessible runtime library and templates  Implemented using the XPages Extensibility API  Built to IBM globalization standards  Online documentation  Runtime is localized  Officially supported by IBM  Includes source code !
  • 33. Product, OpenSource, Upgrade Pack  Code is first released on OpenNTF • Available early and gives full transparency on what is being done • Facilitates quicker user evaluation, feedback and contributions  Pieces from OpenNTF are selected and delivered as UP  Upgrade Packs are supported by IBM • Upgrade Packs are delivered on a shorter release cycle than products • Upgrade Packs are integrated into the next revision of the product • Upgrade Packs do not modify the core base platform in any way !
  • 34. Extension Library Demo Application
  • 35. com.ibm.xsp.extlib.util.ExtLibUtil  Get version of installed Extension Library • var v = com.ibm.xsp.extlib.util.ExtLibUtil.getExtLibVersion(); • return "XPages ExtLib version: "+ v
  • 36. com.ibm.xsp.extlib.util.ExtLibUtil  Contains many common methods • import static com.ibm.xsp.extlib.util.ExtLibUtil.*;  getCurrentSession(), getCurrentDatabase() …  Many more to access scoped variables etc.
  • 37. XPages Relational Database Support  Leverages JDBC when connecting to relational databases • Accesses any database with a JDBC driver available • You could access • DB2,Oracle,MS SQL,MySQL,Derby... you name it! • You need to obtain the JDBC driver from the database vendor or third party provider  RDBMS data is accessed directly – no synchronization is performed with NSF  Xpages efficiently manages the connections through a connections pool  Uses NSF specific connections  The data is accessed using a set of dedicated data sources
  • 38. XPages Relational Database Support  extlibx library adds 2 new data sources: • JDBC Query for Read Only access • JDBC RowSet for CRUD (create/read/update/delete) access. • Current implementation is based on com.sun.rowset.CachedRowSetImpl • Could be configured to use your own via the rowSetJavaClass property  Each of the provided new data sources could be easily utilized either by: • the core View Container Control (xp:viewPanel element) • the XPage itself (xp:view element)  The new data sources are now available in the Domino Designer Property Panel
  • 40. XPages Relational Database Support  To connect to your RDBMS you need to create a special file resource • .jdbc” extension (for example “db2test.jdbc”) • specify the JDBC driver class to be used • the database host/port/name and users' credentials
  • 41. Server Side JavaScript APIs and @Functions  Currently implemented @Functions: • @JdbcInsert • @JdbcUpdate • @JdbcDelete • @JdbcExecuteQuery • @JdbcDbColumn • @JdbcGetConnection  Used to simplify various RDBMS operations  Allows programmatic access to RDBMS data
  • 43. RDBMS Future  XPages Extension Library OpenNTF and Relational support continues to evolve further and expected features in the pipeline include: • Global Domino server based RDBMS connection definition ability • Domino Designer tooling to work with the RDBMS tables' metadata • Even better JDBC connection pooling implementation using Apache DBCP • JDBC Query via REST services • Additional @Functions  Another new interesting OpenNTF project • JDBC Access for IBM Lotus Domino (DomSQL) – http://www.openntf.org/internal/home.nsf/project.xsp? action=openDocument&name=JDBC%20Access%20for%20IBM%20Lotus %20Domino
  • 44. Domino JDBC Access (DomSQL)  Exposes Domino data as relational tables and provides easy access to the tables using a JDBC driver • Expand the query capability of Note/Domino (N/D) • Native N/D views lack some key features like dynamic queries and joins between views. The features Domino views lack are exactly those at which SQL excels • Reporting – Data analytics • SQL is the de facto standard used by reporting/data analysis tools. Making N/D data behave like relational data suddenly opens it to a large set of tools that understand JDBC  As of now, it only does read-only  Uses another very popular open source project called SQLite (http://www.sqlite.org/)
  • 45. XPages Relational Database Support  Do I need the extension Library ?????? …  What do we need??  Application  JDBC – Driver • MySQL http://dev.mysql.com/downloads/connector/j/ • Available for all major databases  Code to access the database using the driver (Query / Insert / Update / Delete )
  • 46. XPages Relational Database Support MySQL Workbench http://www.mysql.de/products/workbench/
  • 47. Java in XPages  Package Explorer  Predefined Perspectives
  • 48. XPages Relational Database Support  Install Driver (Client) • Open Package Explorer • Create Folder • WebContent WEB-INF  lib • Drag/Drop driver file into folder • Buildpath • RightClick  Build Path  Use as Source Folder
  • 49. XPages Relational Database Support  Install Driver (Server) • datadominoworkspaceapplicationseclipseplugins • Stop / Start HTTP task
  • 50. XPages Relational Database Support  de.eknori.jdbc.MySQL • executeQuery() • executeUpdate()
  • 51. XPages Relational Database Support  JavaScript Library
  • 53. OpenNTF  Global open source community  Enabling groups of developers to collaborate  Increasing the number and quality of applications, controls and snippets  Started in December 2001  2009 – 2011: OpenNTF Alliance  Since July 2011: OpenNTF, Inc (non profit organization) • 28 company members • Board with 9 + 3 directors • Technical committee, IP manager, marketing working group, etc.
  • 54. OpenNTF in Numbers  17.000 downloads per month  678 projects • > 250 contributors • > 3.5 million page views per year • > 68.000 registered users  XPages.info: > 800 news documents in first year • http://www.xpages.info/XPagesHome.nsf/Home.xsp
  • 55. OpenNTF Code Snippets  http://openntf.org/XSnippets.nsf/home.xsp • Download „XSnippets“ http://xsnippets.openntf.org/
  • 57. XPages Application Layouts Library  Extended version of the applicationLayout included in the XPages Extension Library http://www.openntf.org/internal/home.nsf/project.xsp? action=openDocument&name=XPages%20Application %20Layouts%20Library
  • 58. OneUI  IBM Lotus User Interface Developer Documentation • http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/overview.htm • http://www-12.lotus.com/ldd/doc/oneuidoc/docpublic/index.htm
  • 60. dBar.info(message:String, context:String); dBar.warn(message:String, context:String); dBar.debug(message:String, context:String); dBar.error(message:String, context:String); dBar.dump( anyObject ) dBar.startTimer( timerId:String ); dBar.stopTimer( timerId:String ); http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=XPage%20Debug%20Toolbar
  • 61. mAddressBook  HTML 5  iOS + Android http://www.openntf.org/internal/home.nsf/project. xsp? action=openDocument&name=mAddressBook
  • 62. ITANA Tasks  View, Edit, and Create Lotus Notes Tasks while offline  No Modification in Mail file  iOS + Android http://www.openntf.org/internal/home.nsf/screenshots.xsp? action=openDocument&name=ITANA %20Tasks&documentId=A2457CB2C74E657A8625794F0050B18D
  • 63. 3. Development Contest  June 3th 2012: Deadline for submissions http://xpages.info/XPages Home.nsf/Contest.xsp
  • 64. Resources  Making Domino Designer work like you want – http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8GP6RP  NotesIn9 ( David Leedy ) – http://notesin9.com/ – Download all : Stephan Wissel http://www.wissel.net/blog/d6plinks/SHWL-8RZKH7  Xpages Development Forum – http://www-10.lotus.com/ldd/xpagesforum.nsf  Xpages 101 ( Matt White ) – http://xpages101.net  OpenNTF – http://openntf.org  Planet Lotus – http://planetlotus.org
  • 65. Books of Interest  Publishing Date 19-May-2012 • Declan Scolia-Lynch • Paul Hannan • Jeremy Hodges • Paul Withers • Tim Tripcony http://www.amazon.com/XPages-Extension-Library-Step--- Step/dp/0132901811/ref=sr_1_1?ie=UTF8&qid=1329839291&sr=8-1
  • 66. Books of Interest  Publishing Date 15-Feb-2012 • Martin Donnelly • Maire Kehoe • Tony McGuckin • Dan O'Connor  XPages Portable Command Guide offers fast access to working code, tested solutions, expert tips, and example-driven best practices http://www.amazon.com/XPages-Portable-Command-Guide- Application/dp/0132943050/ref=sr_1_1?s=books&ie=UTF8&qid=1329839422&sr=1-1
  • 67. Q&A • Mail: eknori@eknori.de • Blog: http://www.eknori.de • Sametime: bleedyellow.com • Twitter: eknori
  • 69. Entwicklercamp 2012 XPages – Extension Library Viagra für die XPage 26. – 28..03.2012 Maritim Hotel, Gelsenkirchen Ulrich Krause, is@web, industrial services AG
  • 71. Track 1 Session 3 Dienstag , 27.03.2012 9:00 - 10:30

Editor's Notes

  1. JavaScript/CSS Aggregation feature For performance reasons, the XPages runtime now features a new option that dynamically aggregates multiple Dojo modules, or multiple CSSs into a single file. This results in the following performance improvements:a decrease in requests sent from the browser to the server an increase in user performance, particularly in the context of networks with high latency an increase in the speed of JS/CSS parsing from the browser the freeing up of server connections to fulfill other requests As an extreme example of the saving, let&apos;s say the XPages Extension Library is using the page DWA_ListView.xsp. Without the aggregator enabled, 82 requests are made to the server. With the aggregator enabled, the count decreases to 6 requests, including the Ajax request that gets the data. Also, a test run on processing time might see changes from ~4 sec to ~800 ms. To allow you to actvate this option, XPages now feature a new runtime option, which can be set in xsp.properties (database or server level). This option is xsp.resources.aggregate=true It can also be set in Domino Designer from the Application Properties - XPages tab by checking the Use runtime optimized JavaScript and CCS resources option.
  2. XPages Preload options New options designed to improve the startup performance of XPages applications have been added to this release. A preference can be set that preloads the XPages runtime on the Domino server and Notes client. Additionally, specific XPages applications may also be preloaded. The preferences are set as entries in the NOTES.INI file and have the following form: XPagesPreload=1 XPagesPreloadDB=myServer!!myDb.nsf/myXPage.xsp,myLocalDb.nsf/test.xsp The XPagesPreload entry causes an extensive list of XPages runtime Java classes to be preloaded, so they are available in memory when an application is opened by a user. The XPagesPreloadDB preference lets a comma separated list of applications be specified, with or without a specific XPage extension. Again, any required classes are loaded when the server or client starts up and are thus available as soon as any declared application is accessed by a user. The benefit of this may be more evident when running in remote mode on the Notes client, i.e. the XPages is running on the client but the application itself resides on a remote server. In this instance, the Java classes in the application (XPages, custom controls) need to be loaded across the network in order to be executed in the local XPD web container. Preloading such applications produces more responsive initial user experience.
  3. Designer - JAR design element ­ A new JAR design element has been introduced in this release. The JAR design element gives you the ability to work with packaged Java code/libraries that are included in the application NSF. ­ This design element is only available to XPages applications, where the JAR is automatically loaded by the XPages runtime. This feature frees you from having to deploy the JARS to a server and/or include the source files uniquely in the application database. ­ While JAR files can be added to the NSF through the virtual system, the JAR design element automatically manages the classpath and places the JAR file into web-inf/lib, which is the recommended location for JAR files used in a J2EE application. ­ The JAR design element is found in the Application Navigator under Code, right next to the Java element.
  4. The XPages Extensibility Framework is one of the most powerful new features built into IBM Lotus Notes Domino 8.5.2. Using it, developers can build their own artifacts and move far beyond XPages&apos; out-of-the-box features. XPages extensibility has already spawned the creation of many exciting new user interface components that are freely available to the global Lotus development community. Now, a team of all-star XPages experts from inside and outside IBM show developers how to take full advantage of the XPages Extensibility Framework, Extension Library, Extensibility API, and the growing portfolio of components built with them.