SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
XPages Extension Library


Exceptional Web Experience
            @
    Exceptional Speed


             1
XPages Extension Library



Executive Summary
●   Make the development of Domino Web applications easier and faster
●   Lower the entry cost of Domino Web development
     ▬ Provide an extended set of out-of-the-box artifacts that encapsulate
       many common patterns.
●   Ease modernization of existing applications
●   Make prototyping faster than ever
     ▬ Create a brand new, good looking, custom application in minutes!
     ▬ Simplify moving from prototype to an actual production ready
       application




                                   2
XPages Extension Library



What is the XPages Extension Library?
●   A set of advanced, optimized, controls and other XPages assets
      ▬ Provide a rich UI to web applications through a set of new Web 2.0
        controls/behaviors
      ▬ Does not require new knowledge beyond core XPages
●   Integrates within Domino Designer
●   Works on both the client and the server, and provides Mobile support
●   Designed for performance from the ground-up
●   Fully implemented using the XPages extensibility API
      ▬ Code source is available
      ▬ Installs on top of Notes/Domino 8.5.2




                                   3
XPages Extension Library



Limitations with 8.5.2
●   Focus on the runtime, not the design time experience
     ▬  Extensions will be added to Domino Designer
●   UI is targeting OneUI and Vulcan
     ▬  Designed to support alternative themes
     ▬  Will require extensions to themes to fully take advantage of it




                                     4
XPages Extension Library



What is Currently Available and Where?
●   The Extension Library is currently under development
     ▬ Will be called 1.0 probably around the end of the 2010
         ▬ Also requires a complete tests set, localization...


     ▬ Code checked-in can change without notice (Open Source :-))
     ▬ Look and feel can also change
●   A new project is available on openNTF, which comprises
     ▬ A compiled version of the library, as an Eclipse update site
         ▬ Needs more optimization on the Dojo side (custom build)

     ▬ A demo database showing the components in action
     ▬ A documentation being written and provided as a PDF file
     ▬ A Subversion repository containing the full source code
         ▬ Read only access unless more is requested. We have to limit the

           committers and go through code reviews


                                  5
XPages Extension Library



Where is the code on openNTF?
●   One project is available
     ▬ It contains:
          ▬ The binary plug-ins, ready to install


          ▬ A sample database showing the features in action

          ▬ A PDF documentation



                     http://extlib.openntf.org/


●   The source code is available from a Subversion Server. Anonymous has
    read only access
     ▬ https://svn-166.openntf.org/svn/xpages




                                    6
XPages Extension Library



What You Can Do With The Library
●   Start to understand and experiment with this new capability
      ▬ You can already use the capability within your applications, just be
        aware that this is under development and can change over time
●   Report early feedback in order to influence the design of the component
●   Inspect the source code to better understand the XPages Extensibility
    API
      ▬ Contribute ideas, components, fixes, documentation


                  Spread out the message!




                                    7
XPages Extension Library




●   Define the first shot of the application in minutes
●   Make this application looks good from the beginning




                                   8
XPages Extension Library



Solution for the Writer's Block
●   XPages makes it easy to create a new application but there is a gap
    between the first shot and a full featured, well looking application
●   At times, developers don't know where to start
     ▬   Requires a fair amount of work to put the main application layout
         (code, CSS...), the navigation mechanism, selection handling ...




           From this

                       To that




                                    9
XPages Extension Library



Application Layout
●   Abstract the main characteristics of an application into a set of
    parameters
     ▬  Easy to configure using Domino Designer
●   The XPages runtime renders the final application based on the layout
    definition:
     ▬  The abstraction does not preclude how the app will be finally
        rendered – Different renderers could be used
     ▬  Handles all the low level details (ex: displaying a pop-up menu,
        maintaining some current page context...)




                                  10
XPages Extension Library



OneUI Application Layout
●   Get a running OneUI application in less than 5 minutes!
●   Fully customizable OneUI rendering
     ▬  Abstracts all the OneUI application parts
     ▬  Can even be customized by providing a inherited renderer
●   Get ready for the upcoming Vulcan look and feel




                                  11
XPages Extension Library




●   Extends the end user experience by providing new controls and
    behaviors
     ▬ Match the new UI trends – Vulcan
●   Make it easy to use for the XPages developer
     ▬ Well integrated in the XPages page lifecycle
     ▬ Easy Designer experience




                                  12
XPages Extension Library



New Set of Dojo Controls
●   Leveraging the Dojo form controls
     ▬ Extended set of input controls
         ▬ Spinner, sliders,...


     ▬ Dojo client side validation enabled
●   New Dojo containers for high user interactivity
     ▬ Tabbed panels, layout...




                                    13
XPages Extension Library



User Actions Through Outlines/Menus
●   Provide a generic way for building action bars
     ▬ Hierarchical navigators, accordions, pop-up menus, trees...
     ▬ Content can be static (defined in the page), dynamic (retrieved from
       a data source) or a mix of both.
     ▬ Easy mapping to actions (client and/or server side)




                                   14
XPages Extension Library



  Extended Editing Context
   ●   Beyond the traditional web form/submit/navigate pattern
                                                                      In Context Editing
        ▬ Editing the data “In Context”
        ▬ Provide various flavors of dialogs
Modal Dialog




                                           Dynamic Tabbed Interface


Tooltip Dialog




                                      15
XPages Extension Library



Value and Name Pickers
●   Select data from any data source
      ▬ Domino view, Address Book, Managed bean..
●   Integrated with the standard TypeAhead component
●   Pluggable UI for high degree of customization




                                 16
XPages Extension Library



New View Control with Custom Layout
●   Easy data binding to view data
●   Custom layout of the expandable detail section
●   A new managed bean keeps the view context (current page, expanded
    rows...)




                                17
XPages Extension Library



Interactive Views
●   View content rendered in a scrollable grid
     ▬ Either the Dojo grid or the iNotes virtual list, depending on the need
          ▬ iNotes virtual list supports categorization, document hierarchy...


          ▬ Dojo grid supports editing and is not tied to Views

●   Data is accessed using REST services provided by the XPages
     ▬ Custom columns can be computed, and events handled
     ▬ Documents can also be updated for the column pointing to fields




                                    18
XPages Extension Library



Access to Calendar Views
●   Visualize calendar Notes/Domino views
●   Add CRUD operations through custom forms




                                19
XPages Extension Library



Dynamic Pages
●   Make the content of a page dynamic
     ▬ Parts of the page are discarded/reconstructed on demand
●   The user never leaves the current page
     ▬ Very efficient runtime behavior
●   The context is kept using the URL hash technique
     ▬ Makes it “bookmarkable”, and enables the back button




                                 20
XPages Extension Library




●   Provide ready to use, well tested code, that handles common situations
●   Wrap the Dojo complexity into components and simple actions




                                   21
XPages Extension Library



Predefined Managed Beans
●   Get easy access to common data
     ▬ Current user name, email...




                                22
XPages Extension Library



Dojo Client Side Simple Actions
●   Make Dojo easier to use through simple actions
     ▬ The Dojo code is generated based on the action properties




                                  23
XPages Extension Library




●   Define an architecture for hosting REST services within an XPage
●   Make these REST services connected with Dojo store for easy
    consumption




                                  24
XPages Extension Library



Creating REST Services
●   Defining a REST service architecture
     ▬  Definition of parameterizable REST service engines
           ▬ Created as a hierarchy of reusable, customizable services


           ▬ Independent from XPages: can be triggered from a servlet


     ▬  Multiple possible renderings: XML, JSON, binary...
●   An XPages component can have 2 faces:
     ▬  It renders HTML during the render phase
     ▬  It can render other kind of data on postback request
           ▬ Identified by a path info in the URL, or a component client id




     ▬   High level of security: View columns/field can be hidden, postback
            can be restricted to the pages running the service...




                                    25
XPages Extension Library



XPages REST Service Component
●   A new XPages component instanciates a REST service engine
     ▬ Delegates to the engine on postback calls
     ▬ Renders a Dojo store that connects to the service
●   Many services are available
     ▬ Domino View, Document, Value picker...
     ▬ Can be consumed by client controls, like Dojo grid




                               26
XPages Extension Library



Calling Server Code using JSON RPC
●   JSON RPC allows a client to call methods running on the server
     ▬ A client JavaScript object exposes methods that call a service
     ▬ The server provides the implementation of the method
         ▬ The Extension Library provides an engine that can be triggered

           from a servlet or an XPages component
●   An XPage component makes it easier
     ▬ Generates the client side JavaScript object that connects back to the
       server
     ▬ Uses JavaScript on the server for the method implementation
         ▬ Allows complex JavaScript objects to be passed as parameters




                                   27
XPages Extension Library




●   Provide the necessary components to integrate with:
     ▬ Lotus Sametime
     ▬ Lotus Connections




                                  28
XPages Extension Library



Content Type Rendering
●   Computed fields, as well as view columns, supports a content type
       property
     ▬  Generally support Text or HTML
     ▬  But can be extended to support custom rendering
●   New renderers can be contributed through extension points




                                 29
XPages Extension Library



Lotus Sametime Integration
●   Sametime awareness rendering




                              30
XPages Extension Library



Lotus Connections Integration
●   Popup card




●   Inline Business card




                             31
XPages Extension Library




●   Enable developers to develop mobile apps via XPages'
    rapid application development mechanism
●   Enable developers to build mobile apps that look & feel
    like native apps to achieve the best user experience
●   Enable developers to build sophisticated mobiles apps
    accessing native services and supporting offline
●   Allow building mobile apps for Android™, iPhone® and
    Blackberry® using XPages




                                   32
XPages Extension Library



Use of HTML/JavaScript/CSS
●   Based on the initial set of XPages controls provided on openNTF
     ▬ But using native controls
●   Web technologies are used, with eventually native extensions
     ▬ Dojo Mobile – Since Dojo 1.5
     ▬ PhoneGap or other libraries to get access to native platform
          services (wink toolkit?, cubiq.org?)
     ▬ Integration of new libraries (wink toolkit?, cubiq.org?)




                                 33
XPages Extension Library



What the Library is Providing
●   Automatic detection of the device based on the user agent
     ▬  Current device is available to JavaScript
●   New themes targeting the mobile platforms
     ▬  Adapts to the look and feel of the platform
     ▬  3 themes currently proposed: iPhone, BlackBerry and Android
●   Set of new, mobile dedicated controls
     ▬  Application configuration/layout
     ▬  New renderers for existing controls (ex: view)
     ▬  Mobile specific controls (ex: on/off)




                                 34
XPages Extension Library



Application Configuration/Layout
●   Define one XPages that contain the entire application
     ▬  Uses a dynamic JSF tree on the server
     ▬  Allows smooth transition between the pages
●   Application Configuration
     ▬  Defines the main options the mobile application
          ▬ Option menus, …




                                  35
XPages Extension Library


Possible Dedicated Mobile
Controls/Renderers




                    36

Más contenido relacionado

La actualidad más candente

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
 
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
 
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
 
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-knowbccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-knowICS User Group
 
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
 
Wp8.5 p06 themes basics
Wp8.5 p06 themes basicsWp8.5 p06 themes basics
Wp8.5 p06 themes basicstestkiller
 
IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01projectdxguy
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
MAS202 - Customizing IBM Connections - Downloadable
MAS202 - Customizing IBM Connections - DownloadableMAS202 - Customizing IBM Connections - Downloadable
MAS202 - Customizing IBM Connections - Downloadablepaulbastide
 
Meet Magento Belarus 2015: Mladen Ristić
Meet Magento Belarus 2015: Mladen RistićMeet Magento Belarus 2015: Mladen Ristić
Meet Magento Belarus 2015: Mladen RistićAmasty
 
IBM Connections - Customizing and Extending
IBM Connections - Customizing and ExtendingIBM Connections - Customizing and Extending
IBM Connections - Customizing and ExtendingStuart McIntyre
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
 
Connections customization lite
Connections customization liteConnections customization lite
Connections customization liteSharon James
 
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...shesmer
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
 
Social Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedSocial Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedClaudio Procida
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyTeamstudio
 
Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Klaus Bild
 

La actualidad más candente (20)

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
 
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...
 
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
 
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-knowbccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
 
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
 
Wp8.5 p06 themes basics
Wp8.5 p06 themes basicsWp8.5 p06 themes basics
Wp8.5 p06 themes basics
 
IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
MAS202 - Customizing IBM Connections - Downloadable
MAS202 - Customizing IBM Connections - DownloadableMAS202 - Customizing IBM Connections - Downloadable
MAS202 - Customizing IBM Connections - Downloadable
 
Meet Magento Belarus 2015: Mladen Ristić
Meet Magento Belarus 2015: Mladen RistićMeet Magento Belarus 2015: Mladen Ristić
Meet Magento Belarus 2015: Mladen Ristić
 
IBM Connections - Customizing and Extending
IBM Connections - Customizing and ExtendingIBM Connections - Customizing and Extending
IBM Connections - Customizing and Extending
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
 
Connections customization lite
Connections customization liteConnections customization lite
Connections customization lite
 
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
 
Social Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedSocial Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes Demystified
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth Dimensionally
 
Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way Customize it! Make IBM Connections look your way
Customize it! Make IBM Connections look your way
 

Destacado

Lessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectLessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectMark Roden
 
practica de manzanas
practica de manzanaspractica de manzanas
practica de manzanaskathiuskisita
 
Ciclo vital plan de gestion
Ciclo vital plan de gestionCiclo vital plan de gestion
Ciclo vital plan de gestionTaianamurillo
 
Estrategia empresarial (articulo) “NER: Todos nuestros proyectos están en f...
Estrategia empresarial (articulo)   “NER: Todos nuestros proyectos están en f...Estrategia empresarial (articulo)   “NER: Todos nuestros proyectos están en f...
Estrategia empresarial (articulo) “NER: Todos nuestros proyectos están en f...Synergica Forwarding S.L.
 
Almanaque ambiental 2013
Almanaque ambiental 2013Almanaque ambiental 2013
Almanaque ambiental 2013Enith Arrieta
 
Eastern Illinois University - B.A. General Studies
Eastern Illinois University -  B.A. General Studies Eastern Illinois University -  B.A. General Studies
Eastern Illinois University - B.A. General Studies EIU BGS
 
Presentaciones Efectivas
Presentaciones EfectivasPresentaciones Efectivas
Presentaciones EfectivasSandra Esposito
 
Getting More People To Open Your Nonprofit eNewsletter
Getting More People To Open Your Nonprofit eNewsletterGetting More People To Open Your Nonprofit eNewsletter
Getting More People To Open Your Nonprofit eNewsletterBloomerang
 
Alex. bd higher education across borders a select bibliography french-w
Alex. bd higher education across borders  a select bibliography french-wAlex. bd higher education across borders  a select bibliography french-w
Alex. bd higher education across borders a select bibliography french-wIAU_Past_Conferences
 
La Derivada y el Costo de Produccion
La Derivada y el Costo de ProduccionLa Derivada y el Costo de Produccion
La Derivada y el Costo de ProduccionJudith Medina Vela
 
PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015
PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015
PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015José Antonio García Erce
 
"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen
"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen
"Fairer Handel" als Thema im Unterricht der weiterführenden Schulenland2nile
 

Destacado (20)

Lessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectLessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage project
 
practica de manzanas
practica de manzanaspractica de manzanas
practica de manzanas
 
Ciclo vital plan de gestion
Ciclo vital plan de gestionCiclo vital plan de gestion
Ciclo vital plan de gestion
 
Estrategia empresarial (articulo) “NER: Todos nuestros proyectos están en f...
Estrategia empresarial (articulo)   “NER: Todos nuestros proyectos están en f...Estrategia empresarial (articulo)   “NER: Todos nuestros proyectos están en f...
Estrategia empresarial (articulo) “NER: Todos nuestros proyectos están en f...
 
Almanaque ambiental 2013
Almanaque ambiental 2013Almanaque ambiental 2013
Almanaque ambiental 2013
 
Eastern Illinois University - B.A. General Studies
Eastern Illinois University -  B.A. General Studies Eastern Illinois University -  B.A. General Studies
Eastern Illinois University - B.A. General Studies
 
Backus presentación
Backus presentaciónBackus presentación
Backus presentación
 
Arbeitstag 20120309
Arbeitstag 20120309Arbeitstag 20120309
Arbeitstag 20120309
 
Det Gode Partnerskab
Det Gode PartnerskabDet Gode Partnerskab
Det Gode Partnerskab
 
108 pensamientos budistas
108 pensamientos budistas108 pensamientos budistas
108 pensamientos budistas
 
Presentaciones Efectivas
Presentaciones EfectivasPresentaciones Efectivas
Presentaciones Efectivas
 
¿Qué es un microscopio de fuerza atómica?
¿Qué es un microscopio de fuerza atómica?¿Qué es un microscopio de fuerza atómica?
¿Qué es un microscopio de fuerza atómica?
 
Getting More People To Open Your Nonprofit eNewsletter
Getting More People To Open Your Nonprofit eNewsletterGetting More People To Open Your Nonprofit eNewsletter
Getting More People To Open Your Nonprofit eNewsletter
 
Alex. bd higher education across borders a select bibliography french-w
Alex. bd higher education across borders  a select bibliography french-wAlex. bd higher education across borders  a select bibliography french-w
Alex. bd higher education across borders a select bibliography french-w
 
La Derivada y el Costo de Produccion
La Derivada y el Costo de ProduccionLa Derivada y el Costo de Produccion
La Derivada y el Costo de Produccion
 
Paul McCartney presentacion examen
Paul McCartney presentacion examenPaul McCartney presentacion examen
Paul McCartney presentacion examen
 
Hadoop at Last.fm
Hadoop at Last.fmHadoop at Last.fm
Hadoop at Last.fm
 
Pollinator Presentation
Pollinator Presentation Pollinator Presentation
Pollinator Presentation
 
PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015
PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015
PBM. Preoperative Anemia Management, Dr García Erce. Roma 2015
 
"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen
"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen
"Fairer Handel" als Thema im Unterricht der weiterführenden Schulen
 

Similar a XPages Extension Library slides

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
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
xpages & dojo
xpages & dojoxpages & dojo
xpages & dojodominion
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
 
Ad107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPagesAd107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPagesddrschiw
 
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
 
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...ddrschiw
 
JS digest. October 2017
JS digest. October 2017 JS digest. October 2017
JS digest. October 2017 ElifTech
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Per Henrik Lausten
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
What's new in alfresco enterprise 3 3
What's new in alfresco enterprise 3 3What's new in alfresco enterprise 3 3
What's new in alfresco enterprise 3 3Alfresco Software
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
Start Your Notes App the SuperNTF Way
Start Your Notes App the SuperNTF WayStart Your Notes App the SuperNTF Way
Start Your Notes App the SuperNTF WayKevin Pettitt
 
GateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsGateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsWesley Hales
 
Writing Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World DominationWriting Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World DominationEmma Jane Hogbin Westby
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpagesddrschiw
 

Similar a XPages Extension Library slides (20)

Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
 
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!
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
xpages & dojo
xpages & dojoxpages & dojo
xpages & dojo
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Ad107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPagesAd107 - Enhance Your Existing Applications with XPages
Ad107 - Enhance Your Existing Applications with XPages
 
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
 
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
AD113 -- IBM Lotus Notes Discussion Template: Next Generation and Other OpenN...
 
JS digest. October 2017
JS digest. October 2017 JS digest. October 2017
JS digest. October 2017
 
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Alfresco Novidades 3.3
Alfresco Novidades 3.3Alfresco Novidades 3.3
Alfresco Novidades 3.3
 
What's new in alfresco enterprise 3 3
What's new in alfresco enterprise 3 3What's new in alfresco enterprise 3 3
What's new in alfresco enterprise 3 3
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
Start Your Notes App the SuperNTF Way
Start Your Notes App the SuperNTF WayStart Your Notes App the SuperNTF Way
Start Your Notes App the SuperNTF Way
 
GateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web AppsGateIn - The Solution for Managing and Building Enterprise Web Apps
GateIn - The Solution for Managing and Building Enterprise Web Apps
 
Writing Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World DominationWriting Effective Self-Help Guides for World Domination
Writing Effective Self-Help Guides for World Domination
 
Ad110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of XpagesAd110 - Unleash the Power of Xpages
Ad110 - Unleash the Power of Xpages
 
You Can Be an Open Source Library
You Can Be an Open Source LibraryYou Can Be an Open Source Library
You Can Be an Open Source Library
 

Más de Niklas Heidloff

Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with QuarkusNiklas Heidloff
 
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaJakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaNiklas Heidloff
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesNiklas Heidloff
 
How to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaHow to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaNiklas Heidloff
 
Serverless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM CloudServerless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM CloudNiklas Heidloff
 
Development of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning SkillsDevelopment of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning SkillsNiklas Heidloff
 
Developing Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskDeveloping Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskNiklas Heidloff
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhiskCreate Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk Niklas Heidloff
 
Visual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowVisual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowNiklas Heidloff
 
Writing Slack Bots in JavaScript
Writing Slack Bots in JavaScriptWriting Slack Bots in JavaScript
Writing Slack Bots in JavaScriptNiklas Heidloff
 
Building Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhiskBuilding Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhiskNiklas Heidloff
 
IBM Bluemix Continuous Delivery
IBM Bluemix Continuous DeliveryIBM Bluemix Continuous Delivery
IBM Bluemix Continuous DeliveryNiklas Heidloff
 
Cognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix DevelopersCognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix DevelopersNiklas Heidloff
 
IBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive CarsIBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive CarsNiklas Heidloff
 
Rapid Application Development with Docker
Rapid Application Development with DockerRapid Application Development with Docker
Rapid Application Development with DockerNiklas Heidloff
 
Collaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixCollaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixNiklas Heidloff
 
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerRapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerNiklas Heidloff
 

Más de Niklas Heidloff (20)

Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
 
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaJakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 Minutes
 
How to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaHow to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with Java
 
Blue Cloud Mirror
Blue Cloud MirrorBlue Cloud Mirror
Blue Cloud Mirror
 
IBM at JavaLand
IBM at JavaLandIBM at JavaLand
IBM at JavaLand
 
Serverless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM CloudServerless Web Applications on the IBM Cloud
Serverless Web Applications on the IBM Cloud
 
Development of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning SkillsDevelopment of AI Applications without Machine Learning Skills
Development of AI Applications without Machine Learning Skills
 
Developing Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhiskDeveloping Serverless Applications with Apache OpenWhisk
Developing Serverless Applications with Apache OpenWhisk
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhiskCreate Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
Create Alexa Skills using IBM Watson Conversation and Apache OpenWhisk
 
Visual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlowVisual Recognition with Anki Cozmo and TensorFlow
Visual Recognition with Anki Cozmo and TensorFlow
 
Writing Slack Bots in JavaScript
Writing Slack Bots in JavaScriptWriting Slack Bots in JavaScript
Writing Slack Bots in JavaScript
 
Building Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhiskBuilding Serverless Web Applications with OpenWhisk
Building Serverless Web Applications with OpenWhisk
 
IBM Bluemix Continuous Delivery
IBM Bluemix Continuous DeliveryIBM Bluemix Continuous Delivery
IBM Bluemix Continuous Delivery
 
Cognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix DevelopersCognitive IBM Watson Services for Bluemix Developers
Cognitive IBM Watson Services for Bluemix Developers
 
IBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive CarsIBM Bluemix Demo with Anki Overdrive Cars
IBM Bluemix Demo with Anki Overdrive Cars
 
Rapid Application Development with Docker
Rapid Application Development with DockerRapid Application Development with Docker
Rapid Application Development with Docker
 
Collaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM BluemixCollaborative Line of Business Applications on IBM Bluemix
Collaborative Line of Business Applications on IBM Bluemix
 
Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with DockerRapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development in the Cloud and On-Premises with Docker
 

XPages Extension Library slides

  • 1. XPages Extension Library Exceptional Web Experience @ Exceptional Speed 1
  • 2. XPages Extension Library Executive Summary ● Make the development of Domino Web applications easier and faster ● Lower the entry cost of Domino Web development ▬ Provide an extended set of out-of-the-box artifacts that encapsulate many common patterns. ● Ease modernization of existing applications ● Make prototyping faster than ever ▬ Create a brand new, good looking, custom application in minutes! ▬ Simplify moving from prototype to an actual production ready application 2
  • 3. XPages Extension Library What is the XPages Extension Library? ● A set of advanced, optimized, controls and other XPages assets ▬ Provide a rich UI to web applications through a set of new Web 2.0 controls/behaviors ▬ Does not require new knowledge beyond core XPages ● Integrates within Domino Designer ● Works on both the client and the server, and provides Mobile support ● Designed for performance from the ground-up ● Fully implemented using the XPages extensibility API ▬ Code source is available ▬ Installs on top of Notes/Domino 8.5.2 3
  • 4. XPages Extension Library Limitations with 8.5.2 ● Focus on the runtime, not the design time experience ▬ Extensions will be added to Domino Designer ● UI is targeting OneUI and Vulcan ▬ Designed to support alternative themes ▬ Will require extensions to themes to fully take advantage of it 4
  • 5. XPages Extension Library What is Currently Available and Where? ● The Extension Library is currently under development ▬ Will be called 1.0 probably around the end of the 2010 ▬ Also requires a complete tests set, localization... ▬ Code checked-in can change without notice (Open Source :-)) ▬ Look and feel can also change ● A new project is available on openNTF, which comprises ▬ A compiled version of the library, as an Eclipse update site ▬ Needs more optimization on the Dojo side (custom build) ▬ A demo database showing the components in action ▬ A documentation being written and provided as a PDF file ▬ A Subversion repository containing the full source code ▬ Read only access unless more is requested. We have to limit the committers and go through code reviews 5
  • 6. XPages Extension Library Where is the code on openNTF? ● One project is available ▬ It contains: ▬ The binary plug-ins, ready to install ▬ A sample database showing the features in action ▬ A PDF documentation http://extlib.openntf.org/ ● The source code is available from a Subversion Server. Anonymous has read only access ▬ https://svn-166.openntf.org/svn/xpages 6
  • 7. XPages Extension Library What You Can Do With The Library ● Start to understand and experiment with this new capability ▬ You can already use the capability within your applications, just be aware that this is under development and can change over time ● Report early feedback in order to influence the design of the component ● Inspect the source code to better understand the XPages Extensibility API ▬ Contribute ideas, components, fixes, documentation Spread out the message! 7
  • 8. XPages Extension Library ● Define the first shot of the application in minutes ● Make this application looks good from the beginning 8
  • 9. XPages Extension Library Solution for the Writer's Block ● XPages makes it easy to create a new application but there is a gap between the first shot and a full featured, well looking application ● At times, developers don't know where to start ▬ Requires a fair amount of work to put the main application layout (code, CSS...), the navigation mechanism, selection handling ... From this To that 9
  • 10. XPages Extension Library Application Layout ● Abstract the main characteristics of an application into a set of parameters ▬ Easy to configure using Domino Designer ● The XPages runtime renders the final application based on the layout definition: ▬ The abstraction does not preclude how the app will be finally rendered – Different renderers could be used ▬ Handles all the low level details (ex: displaying a pop-up menu, maintaining some current page context...) 10
  • 11. XPages Extension Library OneUI Application Layout ● Get a running OneUI application in less than 5 minutes! ● Fully customizable OneUI rendering ▬ Abstracts all the OneUI application parts ▬ Can even be customized by providing a inherited renderer ● Get ready for the upcoming Vulcan look and feel 11
  • 12. XPages Extension Library ● Extends the end user experience by providing new controls and behaviors ▬ Match the new UI trends – Vulcan ● Make it easy to use for the XPages developer ▬ Well integrated in the XPages page lifecycle ▬ Easy Designer experience 12
  • 13. XPages Extension Library New Set of Dojo Controls ● Leveraging the Dojo form controls ▬ Extended set of input controls ▬ Spinner, sliders,... ▬ Dojo client side validation enabled ● New Dojo containers for high user interactivity ▬ Tabbed panels, layout... 13
  • 14. XPages Extension Library User Actions Through Outlines/Menus ● Provide a generic way for building action bars ▬ Hierarchical navigators, accordions, pop-up menus, trees... ▬ Content can be static (defined in the page), dynamic (retrieved from a data source) or a mix of both. ▬ Easy mapping to actions (client and/or server side) 14
  • 15. XPages Extension Library Extended Editing Context ● Beyond the traditional web form/submit/navigate pattern In Context Editing ▬ Editing the data “In Context” ▬ Provide various flavors of dialogs Modal Dialog Dynamic Tabbed Interface Tooltip Dialog 15
  • 16. XPages Extension Library Value and Name Pickers ● Select data from any data source ▬ Domino view, Address Book, Managed bean.. ● Integrated with the standard TypeAhead component ● Pluggable UI for high degree of customization 16
  • 17. XPages Extension Library New View Control with Custom Layout ● Easy data binding to view data ● Custom layout of the expandable detail section ● A new managed bean keeps the view context (current page, expanded rows...) 17
  • 18. XPages Extension Library Interactive Views ● View content rendered in a scrollable grid ▬ Either the Dojo grid or the iNotes virtual list, depending on the need ▬ iNotes virtual list supports categorization, document hierarchy... ▬ Dojo grid supports editing and is not tied to Views ● Data is accessed using REST services provided by the XPages ▬ Custom columns can be computed, and events handled ▬ Documents can also be updated for the column pointing to fields 18
  • 19. XPages Extension Library Access to Calendar Views ● Visualize calendar Notes/Domino views ● Add CRUD operations through custom forms 19
  • 20. XPages Extension Library Dynamic Pages ● Make the content of a page dynamic ▬ Parts of the page are discarded/reconstructed on demand ● The user never leaves the current page ▬ Very efficient runtime behavior ● The context is kept using the URL hash technique ▬ Makes it “bookmarkable”, and enables the back button 20
  • 21. XPages Extension Library ● Provide ready to use, well tested code, that handles common situations ● Wrap the Dojo complexity into components and simple actions 21
  • 22. XPages Extension Library Predefined Managed Beans ● Get easy access to common data ▬ Current user name, email... 22
  • 23. XPages Extension Library Dojo Client Side Simple Actions ● Make Dojo easier to use through simple actions ▬ The Dojo code is generated based on the action properties 23
  • 24. XPages Extension Library ● Define an architecture for hosting REST services within an XPage ● Make these REST services connected with Dojo store for easy consumption 24
  • 25. XPages Extension Library Creating REST Services ● Defining a REST service architecture ▬ Definition of parameterizable REST service engines ▬ Created as a hierarchy of reusable, customizable services ▬ Independent from XPages: can be triggered from a servlet ▬ Multiple possible renderings: XML, JSON, binary... ● An XPages component can have 2 faces: ▬ It renders HTML during the render phase ▬ It can render other kind of data on postback request ▬ Identified by a path info in the URL, or a component client id ▬ High level of security: View columns/field can be hidden, postback can be restricted to the pages running the service... 25
  • 26. XPages Extension Library XPages REST Service Component ● A new XPages component instanciates a REST service engine ▬ Delegates to the engine on postback calls ▬ Renders a Dojo store that connects to the service ● Many services are available ▬ Domino View, Document, Value picker... ▬ Can be consumed by client controls, like Dojo grid 26
  • 27. XPages Extension Library Calling Server Code using JSON RPC ● JSON RPC allows a client to call methods running on the server ▬ A client JavaScript object exposes methods that call a service ▬ The server provides the implementation of the method ▬ The Extension Library provides an engine that can be triggered from a servlet or an XPages component ● An XPage component makes it easier ▬ Generates the client side JavaScript object that connects back to the server ▬ Uses JavaScript on the server for the method implementation ▬ Allows complex JavaScript objects to be passed as parameters 27
  • 28. XPages Extension Library ● Provide the necessary components to integrate with: ▬ Lotus Sametime ▬ Lotus Connections 28
  • 29. XPages Extension Library Content Type Rendering ● Computed fields, as well as view columns, supports a content type property ▬ Generally support Text or HTML ▬ But can be extended to support custom rendering ● New renderers can be contributed through extension points 29
  • 30. XPages Extension Library Lotus Sametime Integration ● Sametime awareness rendering 30
  • 31. XPages Extension Library Lotus Connections Integration ● Popup card ● Inline Business card 31
  • 32. XPages Extension Library ● Enable developers to develop mobile apps via XPages' rapid application development mechanism ● Enable developers to build mobile apps that look & feel like native apps to achieve the best user experience ● Enable developers to build sophisticated mobiles apps accessing native services and supporting offline ● Allow building mobile apps for Android™, iPhone® and Blackberry® using XPages 32
  • 33. XPages Extension Library Use of HTML/JavaScript/CSS ● Based on the initial set of XPages controls provided on openNTF ▬ But using native controls ● Web technologies are used, with eventually native extensions ▬ Dojo Mobile – Since Dojo 1.5 ▬ PhoneGap or other libraries to get access to native platform services (wink toolkit?, cubiq.org?) ▬ Integration of new libraries (wink toolkit?, cubiq.org?) 33
  • 34. XPages Extension Library What the Library is Providing ● Automatic detection of the device based on the user agent ▬ Current device is available to JavaScript ● New themes targeting the mobile platforms ▬ Adapts to the look and feel of the platform ▬ 3 themes currently proposed: iPhone, BlackBerry and Android ● Set of new, mobile dedicated controls ▬ Application configuration/layout ▬ New renderers for existing controls (ex: view) ▬ Mobile specific controls (ex: on/off) 34
  • 35. XPages Extension Library Application Configuration/Layout ● Define one XPages that contain the entire application ▬ Uses a dynamic JSF tree on the server ▬ Allows smooth transition between the pages ● Application Configuration ▬ Defines the main options the mobile application ▬ Option menus, … 35
  • 36. XPages Extension Library Possible Dedicated Mobile Controls/Renderers 36