SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
JMP102:
Creating a Great
XPages User Interface
Howard Greenberg, TLCC
Paul Della-Nebbia, TLCC

© 2014 IBM Corporation
Acknowledgements and Disclaimers
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither
intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information
contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise
related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or
its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and
performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you
will result in any specific sales, revenue growth or other results.

© Copyright IBM Corporation 2014. All rights reserved.
 U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 IBM, the IBM logo, ibm.com, Domino, and Notes are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If
these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law
trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM
trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml
Other company, product, or service names may be trademarks or service marks of others.

2
Who are we?
 Howard Greenberg & Paul Della-Nebbia
– Teaching Notes and Domino since 1994
– Partners at TLCC, the Leader in Notes and Domino Training
– And Now, the Leader in XPages Training

3
About TLCC
 Lots of XPages Courses for both 9 and 8.5!
‒
‒
‒
‒
‒

Introduction to XPages Development … FREE !!
JavaScript for XPages Development
XPages Development 1
XPages Development 2
Rapid XPages Development Using the Application
Layout and Dojo UI Controls
‒ Mobile XPages for Domino
‒ Java 1 for XPages Developers
‒ Java 2 for XPages Developers

 Self Paced Training
‒ Learn anywhere!
‒ An Instructor is a click away
 Instructor Led (Private)
‒ Online or at your site
 TLCC Mentoring Services
4
Goal: Make a More Usable, Better Looking XPages
Application!

Data View

View Panel
Demo100_ViewPanel
Demo761_CustByNameView

5
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

6
System Prerequisites
 Notes and Domino 8.5.3 (Install Extension Library from
OpenNTF or IBM’s Update Pack 1)
– Domino Server
• Copy files or use an Update Site Database (preferred)
– Designer
• Install Plugin
– Notes client (only needed for XPINC apps)
• Use Update Site
 Notes and Domino 9 (Extension Library is already included for
Domino server, Designer, and Notes clients)
– Optionally install Bootstrap4XPages plugin - to use Bootstrap
and Bootstrap responsive themes

7
Application Configuration

8
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

9
Form Table
 Quickly create input area for editing and
reading
 Server-side validation error messages
– Either at top or next to field control
 Header area
– title and description at top
– content area
 labels can be positioned above or left of
the input controls
 required field indicator ( * )

Note: Need IBM OneUIV2 Theme to display (or
BootStrap4Xpages)

 Footer area (use for buttons)
 Multi-column
Demo101_FormTable
10
What’s a facet?
 Not a flat surface of a jewel, think the other definition
– “part or element of something”
 It is a place to add control(s) to a control
 Either Named or Unnamed
– Example of Unnamed
• Where the Form Column and Form Row controls
go in the Form Table control
• Can have as many as you want
– Example of Named
• Footer area of Form Table
• Uses the XP:Key to denote where the facet area is
attached to
• Can only have ONE (but can add a panel)
 Used Extensively on XPages Controls
11
Named versus Unnamed Facets

12
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

13
Data View

Data View

View Panel

14
What’s Better About the Data View
 A completely different interface
– styling differences for links, pagers, column headings, column text, etc…
 A Summary column (or facet to add anything)
 A row detail area
– shown or hidden all at once or individually
– can have other controls to allow:
• in-view editing
• look-ups to other data
• single page read-only applications
 additional pager types and locations available
 additional columns are right-aligned
 Note: Need IBM OneUIV2 Theme to display (or Bootstrap4XPages)
15
New Pagers
 New pagers in addition to standard pager control
– Use with any iterator control (repeat, Data
Table, View)
 pagerDetail – show/hide details for all rows (Data
View only)
 pagerSizes - choose the number of rows per
page to display
 pagerAddRows - append more rows (great for
mobile)
 pagerExpand – expand/collapse all rows)
 pagerSaveState – Not really a pager,
save/restore the view state (return to same page)
– Used with viewStateBean
16

Demo151DataView
Demo153DataView
Demo154DataView
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

17
Dojo Form Controls
 An easy way to increase input usability!
 Client-side – does not require a server round-trip
 Uses Dojo Toolkit
– 1.8 for Domino 9, 1.6 for 8.5.3
 Either extends a control with added functionality
– Dojo Combo Box
 Or, adds entirely new functionality
– Dojo Slider Rule or Dojo Number Spinner

18
Dojo Validation Text Box
 Immediately validate text entry using:
– Required: user must enter something
– A Regular Expression to validate content
 User sees prompt when entering field
 User gets immediate feedback
 No JavaScript alerts!
 Must Require User Input
– Either set the required property to true
– Or, provide a Required Validator
 Optionally, provide a Regular Expression
 Server Side Validators (like length) still use Error
Message Control

19

Demo210_ValidationTextBox
Dojo Combo Box and Filtering Select
 Provides Type Ahead along with a drop-down selection
– Dojo Combo Box allows the entry of values not in list
– Dojo Filtering Select only allows user to select supplied values
 Optionally can limit the number of items shown
 Filtering Select adds support for:
– label | value pairs
– built-in validation for entered values
– Can provide a tooltip prompt
 Tip! Create a standard Combo Box to build Select Items and copy
via source view to the Dojo Combo Box or Filtering Select

Demo220_FilteringSelect

20
Dojo Number Text Box and Dojo Currency Text Box
 Add number constraints with messages displayed as a tooltip
– User gets immediate feedback
 Can provide a tooltip prompt
 Can set a pattern (to standardize format instead of allowing for
locale changes)
 Can set decimal places
 Display Options
– Decimal
– Percent
– Currency

Demo230_Number

 Currency Text Box adds ability to fix the currency symbol
– ISO 4217 three letter sequence

21
Dojo Spinner
 User can type in a number or use up/down arrows
 Extension of Dojo Number Text Box
 Set constraints and tooltips
 Set a value for the increment/decrement when:
– User uses up or down arrow keys or clicks arrow (smallDelta)
– User uses page up or down key (largeDelta)

Demo240_Spinner

22
Dojo Slider
 Horizontal or Vertical (two different controls)
 User can drag slider, use arrows, or click on slider to set value
 Optional Slider Rule and Slider Rule Labels
 Set a value for the increment/decrement when:
– User uses up or down arrow keys or clicks arrow (smallDelta)
– User uses page up or down key (largeDelta)
 User does not see value selected
– Can add via the onchange Client side event
– Get the value via CSJS and write to a computed field

Demo250_Slider
23
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

24
Dialog Control
 Displays a modal dialog
 Related controls (optional but useful!)
– dialogButtonBar – placeholder for buttons
– dialogContent – placeholder for content
 Opening and Closing a Dialog Control
– Client Side JavaScript
• XSP.openDialog("#{id:dialogId }")
• XSP.closeDialog("#{id:dialogId }","#{id:refreshId }" );
– Server Side JavaScript (use getComponent(“id”) for dialogComponent)
• dialogComponent.show( )
• dialogComponent.hide(refreshId )

25
Dialog Control Strategies
Different ways to accept input and pass values back to “calling” page
 Use the same data source for both “calling” page and dialog
– easy to implement
 Have a different data source for dialog content
– Dialog close button saves data source in dialog
 Bind the same scoped variables in dialog and on “calling” page
 Pass values using the getValue() and setValue() methods
– Use getValue() to get values from dialog controls
– Use setValue() to write to controls on “calling” page
– Least preferred way!

Demo310DataView
Demo310Input

26
Value Picker
 Present a dialog to user to select a value(s)
 Data Providers
– xe:simpleValuePicker - hard coded or computed choices
– xe:dominoViewValuePicker – uses Domino view
– xe:beanValuePicker – the choices are from a Java bean
 Value Picker is for selection only, must be bound to a control
like an Edit Box which is bound to the data source
 Options
– Support for Label | Value pairs (value is always first sorted
column in view)
– Single or Multi-value
– Optionally use checkboxes
– Add search capability
– Type Ahead in Edit Box (values are from Value Picker)
27

Demo320_ValuePicker
Value Picker Validation
 Can set target control to only allow values that are in the Value Picker
– Use case: When user types in a value in the target control (Edit Box)
 New Validator: xe:pickerValidator

Demo330_ValuePickerValidation

28
Dojo List Text Box and Value Pickers
 Works Great Together!
 In Edit mode user can delete entries with the X
 In Read mode only the values show
 Specify a MultipleSeparator
 Works with Label | Value Pairs too
– displayLabel property set to true
 Use onChange event to trigger refresh if needed

29

Demo340_DojoListTextBox
Tooltip and Tooltip Dialog
 Both display a tooltip with content
– Non-modal, they go away when user clicks elsewhere or moves cursor
 Tooltip is for displaying text when user hovers over a control
– Tooltip goes away when user moves cursor off control
– Doesn’t work for all controls or for panels
– Tie the Tooltip control to the desired control the user hovers over
 Tooltip Dialog is opened via code

30
Tooltip
 Used for displaying information when user hovers over a control
– Goes away when user moves mouse off control (onMouseOut)
– No need for any code
 for property defines what control
 Either use:
– label property for one value (Simple)
– Put content between tooltip tags and set dynamicContent=“true” (Complex)

Demo350_Tooltip
31
Tooltip Dialog
 Useful to allow user to edit information
– Requires code to open
– Closes when user clicks outside toolip or via code (button or link)
 Open via Client Side JavaScript
– XSP.openTooltipDialog("#{id:tooltipDialogId }","#{id:tooltipTargetId }")
– No Server Side equivalent
 Close via Client Side or Server Side JavaScript
– Client Side: XSP.closeTooltipDialog("#{id:tooltipDialogId }","#{id:refreshId }" );
– Server Side: dialogComponent.hide(refreshId )
 Put all content inside TooltipDialog tags
– No label property like Tooltip

32
Dialog vs. Tooltip Dialog

Dialog
Tooltip Dialog

Demo360_DojoTooltipDialog
33
InPlaceForm
 Displays a dialog “in-line” on the page
– Shifts contents down (unlike Tooltip Dialog)
– Only closed via buttons
 Related controls (optional but useful!)
– dialogButtonBar – placeholder for buttons
– dialogContent – placeholder for content
 Creates components when opened
 Opened and closed via SSJS
 Great for use in a Data View, Repeat, etc.

34
InPlaceForm Methods, Properties, and Events
 Open the InPlace Form
– inPlaceFormComponent.show( )
 Close the InPlace Form
– inPlaceFormComponent.hide( )
 Toggle the InPlaceForm
– inPlaceFormComponent.toggle( )
 Determine if InPlaceForm is being shown/hidden
– inPlaceFormComponent.isVisible( )
 Events (SSJS only)
– beforeContentLoad
– afterContentLoad

Demo370_InPlaceForm
35
Inline View Editing Made Easy!
 Edit Domino data right in the view!
 Use a Data View with an InPlace Form in the Details

Demo380_InPlaceForm_DataView
36
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

37
Navigation Controls
 Dozen or so navigation type controls
 Most use TreeNodes for items
 Set submitValue property for each item
– onItemClick event to find out what user clicked (CSJS or SSJS)
 Navigator control is most useful when combined with Application
Layout control
– selected property used to determine which item is highlighted

38
Tree Nodes – Builds the list
 xe:basicLeafNode
 xe:basicContainerNode
 xe:separatorTreeNode
 xe:dominoViewEntriesTreeNode
 xe:dominoViewListTreeNode
 xe:pageTreeNode
 xe:repeatTreeNode
 xe:loginTreeNode
 xe:userTreeNode
 xe:beanTreeNode
39
One onItemClick event per control
 Code to determine what the user clicked (submitValue property is returned)
– CSJS … XSP.getSubmitValue()
– SSJS … context.getSubmittedValue()

40

DemoXPage617
Navigator control
 Best navigator control for use in LeftColumn
facet of Application Layout control
– node for currently displayed page is
automatically selected (pageTreeNode)
– selected property can be coded when
other types of nodes
• dominoViewEntriesTreeNode
• dominoViewListTreeNode

41

DemoXPage619
DemoXPage621a, 621b, 621c
Toolbar control
 Good control for functionality of Form and View Action Bars

42

DemoXPage652View
DemoXPage652Input
Popup Menu control
 Popup menu navigation
 Code an event on a button or link to popup the menu using XSP.openMenu

DemoXPage642
43
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

44
Six Facets and Five Bar Areas

45
One onItemClick event for All Nodes in Configuration
 onItemClick – triggered when any node in any of its configuration properties is fired,
including:
– bannerApplicationLinks
SSJS - get submitted value for clicked node:
– bannerUtilityLinks
– titleBarTabs
– placeBarActions
– footerLinks
CSJS - get the submit value for clicked node:

DemoXPage711, DemoXPage712

46
Designing an Application Layout in a Custom Control

Demo761_CustByNameView

47
Designing an Application Layout in a Custom Control
 Enable all six facet areas in the
applicationLayout by adding an Editable
Area control (xp:callback) to each facet

 Add Property Definitions to the custom
control to pass property values from the
XPage to ccAppLayout (like
navigationPath, enableSearch,
enableSalesBar enablePartsBar, etc…)

48
Designing an Application Layout in a Custom Control
(procedure)
 Step 1: Create a Custom Control and drag in an Application Layout control
– Choose a OneUI version 2.1 theme

49
Designing an Application Layout in a Custom Control
(procedure continued)
 Step 2: Set the configuration properties:
– Banner nodes
– Title Bar nodes (tabs)
– Place Bar nodes (buttons)
– Footer links
– Legal text

50
Designing an Application Layout in a Custom Control
(procedure continued)
 Step 3: Enable required columns (not the recommended approach)
– Left column
– Middle column
– Right column

51
Designing an Application Layout in a Custom Control
(procedure continued)
 Step 3: Enable ALL SIX facet areas in the applicationLayout by adding an
Editable Area control (xp:callback) to each facet

52
Designing an Application Layout in a Custom Control
(procedure continued)
 Step 3 continued: Establish a Naming Convention for facets and panels

53
Designing an Application Layout in a Custom Control
(procedure continued)
 Step 4: Add Property Definitions to the custom control to pass property values from the
XPage to ccAppLayout (like navigationPath, enableSearch, enableSalesBar, etc…)

54
Navigation and Context – You are Here!

Demo761_AppLayout (custom control)
Demo761_CustByNameView

55
Application Configuration for Bootstrap4XPages
 Install Bootstrap4XPages plugin
– Domino sever
– Domino Designer
– Notes client (for XPiNC)
 Application settings (xsp.properties)
– xsp.library.depends=
com.ibm.xsp.extlib.library,
org.openntf.xsp.bootstrap.library
– xsp.theme= (one of these)
• bootstrapv2.3.2
• bootstrapv2.3.2r
• bootstrapv3.0.0

56

DemoXPage721
 Prerequisites & Configuration
 Form Table control
 Data View control
 Dojo Form controls
 Dialogs and Value pickers
 Navigation controls
 Application Layout Design Framework
 Wrap up

57
Get the Slides and Demo Database

http://www.tlcc.com/JMP102

58
Key Points
 Great stuff in the Extension Library
– Build better looking apps faster
 Data View and Form Table make your apps look very Web 2.0
 OneUI is a very good idea
 The Application Layout control is used to Rapidly develop a consistent user interface that
can implement the “One UI” design framework (awesome)
 Application Layout control + Bootstrap4XPages (totally awesome)

59
Other Suggested Sessions
 BP202 - Rapid XPages Development Using the Application Layout Control, Thursday at 11:00
– with Howard and Paul!
 SHOW102 - XPages: Still No Experience Necessary, Wednesday at 10:30
 CUST104 - XPages at SMC Corporation: See how XPages can drive business forward, Wednesday at 11:15
 AD302 - Get the Best Out of Bootstrap with Bootstrap4XPages, Tuesday at 3:00
 AD503 - XPages Mobile Development in IBM Domino 9.0.1 and Beyond, Thursday at 10:00
 BP204 - It's Not Infernal: Dante's Nine Circles of XPages Heaven, Tuesday at 10:00
 BP203 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrificing Functionality, Tuesday at 1:30

Reminder: Slides and Demo Database are at:
http://www.tlcc.com/JMP102

60
 Access Connect Online to complete your session surveys using any:
– Web or mobile browser
– Connect Online kiosk onsite

61

Weitere ähnliche Inhalte

Was ist angesagt?

Skills Navigation Guide 06 19 2009
Skills Navigation Guide 06 19 2009Skills Navigation Guide 06 19 2009
Skills Navigation Guide 06 19 2009Pedab
 
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...William Holmes
 
BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...Carl Tyler
 
How a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer StoryHow a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer StoryStrongback Consulting
 
IBM Notes : Have it your way and make it work for you
IBM Notes : Have it your way and make it work for you IBM Notes : Have it your way and make it work for you
IBM Notes : Have it your way and make it work for you Vinayak Tavargeri
 
Integrating Visual Composer UI with BPM - Webinar Presentation
Integrating Visual Composer UI with BPM - Webinar PresentationIntegrating Visual Composer UI with BPM - Webinar Presentation
Integrating Visual Composer UI with BPM - Webinar Presentationdanyackel
 
SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...
SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...
SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...danyackel
 
IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...
IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...
IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...William Holmes
 
Social Enabler for XPages
Social Enabler for XPagesSocial Enabler for XPages
Social Enabler for XPagesNiklas Heidloff
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...William Holmes
 
IMS03 how design thinking is shaping ims
IMS03   how design thinking is shaping imsIMS03   how design thinking is shaping ims
IMS03 how design thinking is shaping imsRobert Hain
 
Soccnx III - IBM Connections 3.0.1 Integration with Sametime
Soccnx III  - IBM Connections 3.0.1 Integration with SametimeSoccnx III  - IBM Connections 3.0.1 Integration with Sametime
Soccnx III - IBM Connections 3.0.1 Integration with SametimeLetsConnect
 
Customizing the Look of Lotus Notes 8
Customizing the Look of Lotus Notes 8Customizing the Look of Lotus Notes 8
Customizing the Look of Lotus Notes 8dominion
 
What's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionWhat's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionRahul A. Garg
 
Application Modernization: Where Consumer, Social, and Mobile Converge
Application Modernization: Where Consumer, Social, and Mobile ConvergeApplication Modernization: Where Consumer, Social, and Mobile Converge
Application Modernization: Where Consumer, Social, and Mobile ConvergeJohn Head
 
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser PluginWhat's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser PluginRahul A. Garg
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsJohn Head
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM BluemixIBM Connections Developers
 

Was ist angesagt? (20)

Skills Navigation Guide 06 19 2009
Skills Navigation Guide 06 19 2009Skills Navigation Guide 06 19 2009
Skills Navigation Guide 06 19 2009
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
AD506: IBM Connect 2014. IBM Sametime Proxy 9: A fuller, richer customizable ...
 
BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...BP501 - Building and deploying custom IBM sametime connect client installatio...
BP501 - Building and deploying custom IBM sametime connect client installatio...
 
How a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer StoryHow a tactical HATS solution became a strategic asset - A Customer Story
How a tactical HATS solution became a strategic asset - A Customer Story
 
IBM Notes : Have it your way and make it work for you
IBM Notes : Have it your way and make it work for you IBM Notes : Have it your way and make it work for you
IBM Notes : Have it your way and make it work for you
 
Integrating Visual Composer UI with BPM - Webinar Presentation
Integrating Visual Composer UI with BPM - Webinar PresentationIntegrating Visual Composer UI with BPM - Webinar Presentation
Integrating Visual Composer UI with BPM - Webinar Presentation
 
SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...
SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...
SAP NetWeaver Composition Environment EhP1%2c Visual Composer Overview of Fea...
 
IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...
IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...
IBM Lotusphere 2012 AD205 - IBM Sametime® in IBM Connections®, IBM WebSphere®...
 
Social Enabler for XPages
Social Enabler for XPagesSocial Enabler for XPages
Social Enabler for XPages
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
 
IMS03 how design thinking is shaping ims
IMS03   how design thinking is shaping imsIMS03   how design thinking is shaping ims
IMS03 how design thinking is shaping ims
 
Soccnx III - IBM Connections 3.0.1 Integration with Sametime
Soccnx III  - IBM Connections 3.0.1 Integration with SametimeSoccnx III  - IBM Connections 3.0.1 Integration with Sametime
Soccnx III - IBM Connections 3.0.1 Integration with Sametime
 
Customizing the Look of Lotus Notes 8
Customizing the Look of Lotus Notes 8Customizing the Look of Lotus Notes 8
Customizing the Look of Lotus Notes 8
 
What's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social EditionWhat's new in iNotes 9.0 Social Edition
What's new in iNotes 9.0 Social Edition
 
Application Modernization: Where Consumer, Social, and Mobile Converge
Application Modernization: Where Consumer, Social, and Mobile ConvergeApplication Modernization: Where Consumer, Social, and Mobile Converge
Application Modernization: Where Consumer, Social, and Mobile Converge
 
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser PluginWhat's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
What's New in IBM iNotes 9.0 Social Edition & IBM Notes Browser Plugin
 
IBM Worspace: Towards a culture of conversations
IBM Worspace: Towards a culture of conversationsIBM Worspace: Towards a culture of conversations
IBM Worspace: Towards a culture of conversations
 
NELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile ControlsNELotus - OpenNTF.org & XPages Mobile Controls
NELotus - OpenNTF.org & XPages Mobile Controls
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 

Andere mochten auch

XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)Per Henrik Lausten
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Mark Leusink
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introductionPer Henrik Lausten
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMixPer Henrik Lausten
 
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
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPagesTeamstudio
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPagesTeamstudio
 

Andere mochten auch (8)

XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)
 
Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)Bootstrap and XPages (DanNotes 2013)
Bootstrap and XPages (DanNotes 2013)
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introduction
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM 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
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 

Ähnlich wie Connect 2014 - JMP102: Creating a Great XPages User Interface

Creating a Great XPages User Interface
Creating a Great XPages User InterfaceCreating a Great XPages User Interface
Creating a Great XPages User InterfaceTeamstudio
 
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
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Howard Greenberg
 
Practical Field Experience: Using Ajax / Dojo with WebSphere Portlet Factory
Practical Field Experience: Using Ajax / Dojo with WebSphere Portlet FactoryPractical Field Experience: Using Ajax / Dojo with WebSphere Portlet Factory
Practical Field Experience: Using Ajax / Dojo with WebSphere Portlet FactoryDavalen LLC
 
AD207 Presentation
AD207 PresentationAD207 Presentation
AD207 Presentationmackejo1
 
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field Davalen LLC
 
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersIBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersMat Newman
 
Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...
Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...
Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...SocialBiz UserGroup
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...Paul Della-Nebbia
 
Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...
Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...
Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...leo_radovsky
 
Sure Outputs
Sure OutputsSure Outputs
Sure OutputsSAP Sure
 
Connect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersConnect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersa8us
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksSenturus
 
Tip from IBM Connect2014: XPages Accessibility
Tip from IBM Connect2014: XPages AccessibilityTip from IBM Connect2014: XPages Accessibility
Tip from IBM Connect2014: XPages AccessibilitySocialBiz UserGroup
 
What's new in IBM BPM 8.5.7
What's new in IBM BPM 8.5.7What's new in IBM BPM 8.5.7
What's new in IBM BPM 8.5.7Dennis Parrott
 
LMS Comparison: Docebo Vs. Talent, E-Learning platform features
LMS Comparison: Docebo Vs. Talent, E-Learning platform featuresLMS Comparison: Docebo Vs. Talent, E-Learning platform features
LMS Comparison: Docebo Vs. Talent, E-Learning platform featuresDoceboElearning
 
New World Of 2010 Share Point Administration
New World Of 2010 Share Point AdministrationNew World Of 2010 Share Point Administration
New World Of 2010 Share Point AdministrationMike Watson
 
Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19Jaswinder Rattanpal
 
IBM Forms Experience Builder - Web Form Apps for Marketers
IBM Forms Experience Builder - Web Form Apps for MarketersIBM Forms Experience Builder - Web Form Apps for Marketers
IBM Forms Experience Builder - Web Form Apps for Marketersmlech23
 

Ähnlich wie Connect 2014 - JMP102: Creating a Great XPages User Interface (20)

Creating a Great XPages User Interface
Creating a Great XPages User InterfaceCreating a Great XPages User Interface
Creating a Great XPages User Interface
 
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
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
 
Practical Field Experience: Using Ajax / Dojo with WebSphere Portlet Factory
Practical Field Experience: Using Ajax / Dojo with WebSphere Portlet FactoryPractical Field Experience: Using Ajax / Dojo with WebSphere Portlet Factory
Practical Field Experience: Using Ajax / Dojo with WebSphere Portlet Factory
 
AD207 Presentation
AD207 PresentationAD207 Presentation
AD207 Presentation
 
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
 
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersIBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
 
Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...
Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...
Tip from IBM Connect 2014: Rapid XPages Developing Using the Application Layo...
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
 
Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...
Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...
Using Portal and Collaboration to Bring Value | Portal Excellence Conference ...
 
Sure Outputs
Sure OutputsSure Outputs
Sure Outputs
 
Connect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersConnect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developers
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
 
Tip from IBM Connect2014: XPages Accessibility
Tip from IBM Connect2014: XPages AccessibilityTip from IBM Connect2014: XPages Accessibility
Tip from IBM Connect2014: XPages Accessibility
 
What's new in IBM BPM 8.5.7
What's new in IBM BPM 8.5.7What's new in IBM BPM 8.5.7
What's new in IBM BPM 8.5.7
 
LMS Comparison: Docebo Vs. Talent, E-Learning platform features
LMS Comparison: Docebo Vs. Talent, E-Learning platform featuresLMS Comparison: Docebo Vs. Talent, E-Learning platform features
LMS Comparison: Docebo Vs. Talent, E-Learning platform features
 
New World Of 2010 Share Point Administration
New World Of 2010 Share Point AdministrationNew World Of 2010 Share Point Administration
New World Of 2010 Share Point Administration
 
SAP Adobe forms
SAP Adobe formsSAP Adobe forms
SAP Adobe forms
 
Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19Salesforce Developer Group Toronto - Winter'19
Salesforce Developer Group Toronto - Winter'19
 
IBM Forms Experience Builder - Web Form Apps for Marketers
IBM Forms Experience Builder - Web Form Apps for MarketersIBM Forms Experience Builder - Web Form Apps for Marketers
IBM Forms Experience Builder - Web Form Apps for Marketers
 

Mehr von Howard Greenberg

January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12Howard Greenberg
 
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
 
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)Howard Greenberg
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedHoward Greenberg
 
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoJuly OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoHoward Greenberg
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerHoward Greenberg
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesHoward Greenberg
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021Howard Greenberg
 
February OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for NewbiesFebruary OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for NewbiesHoward Greenberg
 
January OpenNTF Webinar: 4D - Domino Docker Deep Dive
January OpenNTF Webinar: 4D - Domino Docker Deep DiveJanuary OpenNTF Webinar: 4D - Domino Docker Deep Dive
January OpenNTF Webinar: 4D - Domino Docker Deep DiveHoward Greenberg
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitHoward Greenberg
 
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1Howard Greenberg
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020Howard Greenberg
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!Howard Greenberg
 
OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020Howard Greenberg
 
Dev112 let's calendar that
Dev112   let's calendar thatDev112   let's calendar that
Dev112 let's calendar thatHoward Greenberg
 
Bp101-Can Domino Be Hacked
Bp101-Can Domino Be HackedBp101-Can Domino Be Hacked
Bp101-Can Domino Be HackedHoward Greenberg
 

Mehr von Howard Greenberg (20)

January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12January OpenNTF Webinar - Backup your Domino Server - New Options in V12
January OpenNTF Webinar - Backup your Domino Server - New Options in V12
 
BRPA November Meeting
BRPA November MeetingBRPA November Meeting
BRPA November Meeting
 
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...
 
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
September-2021 OpenNTF Webinar: Domino Online Meeting Integration (DOMI)
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for DominoJuly OpenNTF Webinar - HCL Presents Keep, a new API for Domino
July OpenNTF Webinar - HCL Presents Keep, a new API for Domino
 
June OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification ManagerJune OpenNTF Webinar - Domino V12 Certification Manager
June OpenNTF Webinar - Domino V12 Certification Manager
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021
 
February OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for NewbiesFebruary OpenNTF Webinar: Introduction to Ansible for Newbies
February OpenNTF Webinar: Introduction to Ansible for Newbies
 
January OpenNTF Webinar: 4D - Domino Docker Deep Dive
January OpenNTF Webinar: 4D - Domino Docker Deep DiveJanuary OpenNTF Webinar: 4D - Domino Docker Deep Dive
January OpenNTF Webinar: 4D - Domino Docker Deep Dive
 
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript ToolkitDecember OpenNTF Webinar: The Volt MX LotusScript Toolkit
December OpenNTF Webinar: The Volt MX LotusScript Toolkit
 
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
 
Open ntf 2020-jun
Open ntf 2020-junOpen ntf 2020-jun
Open ntf 2020-jun
 
OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020
 
Dev112 let's calendar that
Dev112   let's calendar thatDev112   let's calendar that
Dev112 let's calendar that
 
Bp101-Can Domino Be Hacked
Bp101-Can Domino Be HackedBp101-Can Domino Be Hacked
Bp101-Can Domino Be Hacked
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Connect 2014 - JMP102: Creating a Great XPages User Interface

  • 1. JMP102: Creating a Great XPages User Interface Howard Greenberg, TLCC Paul Della-Nebbia, TLCC © 2014 IBM Corporation
  • 2. Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. © Copyright IBM Corporation 2014. All rights reserved.  U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  IBM, the IBM logo, ibm.com, Domino, and Notes are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml Other company, product, or service names may be trademarks or service marks of others. 2
  • 3. Who are we?  Howard Greenberg & Paul Della-Nebbia – Teaching Notes and Domino since 1994 – Partners at TLCC, the Leader in Notes and Domino Training – And Now, the Leader in XPages Training 3
  • 4. About TLCC  Lots of XPages Courses for both 9 and 8.5! ‒ ‒ ‒ ‒ ‒ Introduction to XPages Development … FREE !! JavaScript for XPages Development XPages Development 1 XPages Development 2 Rapid XPages Development Using the Application Layout and Dojo UI Controls ‒ Mobile XPages for Domino ‒ Java 1 for XPages Developers ‒ Java 2 for XPages Developers  Self Paced Training ‒ Learn anywhere! ‒ An Instructor is a click away  Instructor Led (Private) ‒ Online or at your site  TLCC Mentoring Services 4
  • 5. Goal: Make a More Usable, Better Looking XPages Application! Data View View Panel Demo100_ViewPanel Demo761_CustByNameView 5
  • 6.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 6
  • 7. System Prerequisites  Notes and Domino 8.5.3 (Install Extension Library from OpenNTF or IBM’s Update Pack 1) – Domino Server • Copy files or use an Update Site Database (preferred) – Designer • Install Plugin – Notes client (only needed for XPINC apps) • Use Update Site  Notes and Domino 9 (Extension Library is already included for Domino server, Designer, and Notes clients) – Optionally install Bootstrap4XPages plugin - to use Bootstrap and Bootstrap responsive themes 7
  • 9.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 9
  • 10. Form Table  Quickly create input area for editing and reading  Server-side validation error messages – Either at top or next to field control  Header area – title and description at top – content area  labels can be positioned above or left of the input controls  required field indicator ( * ) Note: Need IBM OneUIV2 Theme to display (or BootStrap4Xpages)  Footer area (use for buttons)  Multi-column Demo101_FormTable 10
  • 11. What’s a facet?  Not a flat surface of a jewel, think the other definition – “part or element of something”  It is a place to add control(s) to a control  Either Named or Unnamed – Example of Unnamed • Where the Form Column and Form Row controls go in the Form Table control • Can have as many as you want – Example of Named • Footer area of Form Table • Uses the XP:Key to denote where the facet area is attached to • Can only have ONE (but can add a panel)  Used Extensively on XPages Controls 11
  • 12. Named versus Unnamed Facets 12
  • 13.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 13
  • 15. What’s Better About the Data View  A completely different interface – styling differences for links, pagers, column headings, column text, etc…  A Summary column (or facet to add anything)  A row detail area – shown or hidden all at once or individually – can have other controls to allow: • in-view editing • look-ups to other data • single page read-only applications  additional pager types and locations available  additional columns are right-aligned  Note: Need IBM OneUIV2 Theme to display (or Bootstrap4XPages) 15
  • 16. New Pagers  New pagers in addition to standard pager control – Use with any iterator control (repeat, Data Table, View)  pagerDetail – show/hide details for all rows (Data View only)  pagerSizes - choose the number of rows per page to display  pagerAddRows - append more rows (great for mobile)  pagerExpand – expand/collapse all rows)  pagerSaveState – Not really a pager, save/restore the view state (return to same page) – Used with viewStateBean 16 Demo151DataView Demo153DataView Demo154DataView
  • 17.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 17
  • 18. Dojo Form Controls  An easy way to increase input usability!  Client-side – does not require a server round-trip  Uses Dojo Toolkit – 1.8 for Domino 9, 1.6 for 8.5.3  Either extends a control with added functionality – Dojo Combo Box  Or, adds entirely new functionality – Dojo Slider Rule or Dojo Number Spinner 18
  • 19. Dojo Validation Text Box  Immediately validate text entry using: – Required: user must enter something – A Regular Expression to validate content  User sees prompt when entering field  User gets immediate feedback  No JavaScript alerts!  Must Require User Input – Either set the required property to true – Or, provide a Required Validator  Optionally, provide a Regular Expression  Server Side Validators (like length) still use Error Message Control 19 Demo210_ValidationTextBox
  • 20. Dojo Combo Box and Filtering Select  Provides Type Ahead along with a drop-down selection – Dojo Combo Box allows the entry of values not in list – Dojo Filtering Select only allows user to select supplied values  Optionally can limit the number of items shown  Filtering Select adds support for: – label | value pairs – built-in validation for entered values – Can provide a tooltip prompt  Tip! Create a standard Combo Box to build Select Items and copy via source view to the Dojo Combo Box or Filtering Select Demo220_FilteringSelect 20
  • 21. Dojo Number Text Box and Dojo Currency Text Box  Add number constraints with messages displayed as a tooltip – User gets immediate feedback  Can provide a tooltip prompt  Can set a pattern (to standardize format instead of allowing for locale changes)  Can set decimal places  Display Options – Decimal – Percent – Currency Demo230_Number  Currency Text Box adds ability to fix the currency symbol – ISO 4217 three letter sequence 21
  • 22. Dojo Spinner  User can type in a number or use up/down arrows  Extension of Dojo Number Text Box  Set constraints and tooltips  Set a value for the increment/decrement when: – User uses up or down arrow keys or clicks arrow (smallDelta) – User uses page up or down key (largeDelta) Demo240_Spinner 22
  • 23. Dojo Slider  Horizontal or Vertical (two different controls)  User can drag slider, use arrows, or click on slider to set value  Optional Slider Rule and Slider Rule Labels  Set a value for the increment/decrement when: – User uses up or down arrow keys or clicks arrow (smallDelta) – User uses page up or down key (largeDelta)  User does not see value selected – Can add via the onchange Client side event – Get the value via CSJS and write to a computed field Demo250_Slider 23
  • 24.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 24
  • 25. Dialog Control  Displays a modal dialog  Related controls (optional but useful!) – dialogButtonBar – placeholder for buttons – dialogContent – placeholder for content  Opening and Closing a Dialog Control – Client Side JavaScript • XSP.openDialog("#{id:dialogId }") • XSP.closeDialog("#{id:dialogId }","#{id:refreshId }" ); – Server Side JavaScript (use getComponent(“id”) for dialogComponent) • dialogComponent.show( ) • dialogComponent.hide(refreshId ) 25
  • 26. Dialog Control Strategies Different ways to accept input and pass values back to “calling” page  Use the same data source for both “calling” page and dialog – easy to implement  Have a different data source for dialog content – Dialog close button saves data source in dialog  Bind the same scoped variables in dialog and on “calling” page  Pass values using the getValue() and setValue() methods – Use getValue() to get values from dialog controls – Use setValue() to write to controls on “calling” page – Least preferred way! Demo310DataView Demo310Input 26
  • 27. Value Picker  Present a dialog to user to select a value(s)  Data Providers – xe:simpleValuePicker - hard coded or computed choices – xe:dominoViewValuePicker – uses Domino view – xe:beanValuePicker – the choices are from a Java bean  Value Picker is for selection only, must be bound to a control like an Edit Box which is bound to the data source  Options – Support for Label | Value pairs (value is always first sorted column in view) – Single or Multi-value – Optionally use checkboxes – Add search capability – Type Ahead in Edit Box (values are from Value Picker) 27 Demo320_ValuePicker
  • 28. Value Picker Validation  Can set target control to only allow values that are in the Value Picker – Use case: When user types in a value in the target control (Edit Box)  New Validator: xe:pickerValidator Demo330_ValuePickerValidation 28
  • 29. Dojo List Text Box and Value Pickers  Works Great Together!  In Edit mode user can delete entries with the X  In Read mode only the values show  Specify a MultipleSeparator  Works with Label | Value Pairs too – displayLabel property set to true  Use onChange event to trigger refresh if needed 29 Demo340_DojoListTextBox
  • 30. Tooltip and Tooltip Dialog  Both display a tooltip with content – Non-modal, they go away when user clicks elsewhere or moves cursor  Tooltip is for displaying text when user hovers over a control – Tooltip goes away when user moves cursor off control – Doesn’t work for all controls or for panels – Tie the Tooltip control to the desired control the user hovers over  Tooltip Dialog is opened via code 30
  • 31. Tooltip  Used for displaying information when user hovers over a control – Goes away when user moves mouse off control (onMouseOut) – No need for any code  for property defines what control  Either use: – label property for one value (Simple) – Put content between tooltip tags and set dynamicContent=“true” (Complex) Demo350_Tooltip 31
  • 32. Tooltip Dialog  Useful to allow user to edit information – Requires code to open – Closes when user clicks outside toolip or via code (button or link)  Open via Client Side JavaScript – XSP.openTooltipDialog("#{id:tooltipDialogId }","#{id:tooltipTargetId }") – No Server Side equivalent  Close via Client Side or Server Side JavaScript – Client Side: XSP.closeTooltipDialog("#{id:tooltipDialogId }","#{id:refreshId }" ); – Server Side: dialogComponent.hide(refreshId )  Put all content inside TooltipDialog tags – No label property like Tooltip 32
  • 33. Dialog vs. Tooltip Dialog Dialog Tooltip Dialog Demo360_DojoTooltipDialog 33
  • 34. InPlaceForm  Displays a dialog “in-line” on the page – Shifts contents down (unlike Tooltip Dialog) – Only closed via buttons  Related controls (optional but useful!) – dialogButtonBar – placeholder for buttons – dialogContent – placeholder for content  Creates components when opened  Opened and closed via SSJS  Great for use in a Data View, Repeat, etc. 34
  • 35. InPlaceForm Methods, Properties, and Events  Open the InPlace Form – inPlaceFormComponent.show( )  Close the InPlace Form – inPlaceFormComponent.hide( )  Toggle the InPlaceForm – inPlaceFormComponent.toggle( )  Determine if InPlaceForm is being shown/hidden – inPlaceFormComponent.isVisible( )  Events (SSJS only) – beforeContentLoad – afterContentLoad Demo370_InPlaceForm 35
  • 36. Inline View Editing Made Easy!  Edit Domino data right in the view!  Use a Data View with an InPlace Form in the Details Demo380_InPlaceForm_DataView 36
  • 37.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 37
  • 38. Navigation Controls  Dozen or so navigation type controls  Most use TreeNodes for items  Set submitValue property for each item – onItemClick event to find out what user clicked (CSJS or SSJS)  Navigator control is most useful when combined with Application Layout control – selected property used to determine which item is highlighted 38
  • 39. Tree Nodes – Builds the list  xe:basicLeafNode  xe:basicContainerNode  xe:separatorTreeNode  xe:dominoViewEntriesTreeNode  xe:dominoViewListTreeNode  xe:pageTreeNode  xe:repeatTreeNode  xe:loginTreeNode  xe:userTreeNode  xe:beanTreeNode 39
  • 40. One onItemClick event per control  Code to determine what the user clicked (submitValue property is returned) – CSJS … XSP.getSubmitValue() – SSJS … context.getSubmittedValue() 40 DemoXPage617
  • 41. Navigator control  Best navigator control for use in LeftColumn facet of Application Layout control – node for currently displayed page is automatically selected (pageTreeNode) – selected property can be coded when other types of nodes • dominoViewEntriesTreeNode • dominoViewListTreeNode 41 DemoXPage619 DemoXPage621a, 621b, 621c
  • 42. Toolbar control  Good control for functionality of Form and View Action Bars 42 DemoXPage652View DemoXPage652Input
  • 43. Popup Menu control  Popup menu navigation  Code an event on a button or link to popup the menu using XSP.openMenu DemoXPage642 43
  • 44.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 44
  • 45. Six Facets and Five Bar Areas 45
  • 46. One onItemClick event for All Nodes in Configuration  onItemClick – triggered when any node in any of its configuration properties is fired, including: – bannerApplicationLinks SSJS - get submitted value for clicked node: – bannerUtilityLinks – titleBarTabs – placeBarActions – footerLinks CSJS - get the submit value for clicked node: DemoXPage711, DemoXPage712 46
  • 47. Designing an Application Layout in a Custom Control Demo761_CustByNameView 47
  • 48. Designing an Application Layout in a Custom Control  Enable all six facet areas in the applicationLayout by adding an Editable Area control (xp:callback) to each facet  Add Property Definitions to the custom control to pass property values from the XPage to ccAppLayout (like navigationPath, enableSearch, enableSalesBar enablePartsBar, etc…) 48
  • 49. Designing an Application Layout in a Custom Control (procedure)  Step 1: Create a Custom Control and drag in an Application Layout control – Choose a OneUI version 2.1 theme 49
  • 50. Designing an Application Layout in a Custom Control (procedure continued)  Step 2: Set the configuration properties: – Banner nodes – Title Bar nodes (tabs) – Place Bar nodes (buttons) – Footer links – Legal text 50
  • 51. Designing an Application Layout in a Custom Control (procedure continued)  Step 3: Enable required columns (not the recommended approach) – Left column – Middle column – Right column 51
  • 52. Designing an Application Layout in a Custom Control (procedure continued)  Step 3: Enable ALL SIX facet areas in the applicationLayout by adding an Editable Area control (xp:callback) to each facet 52
  • 53. Designing an Application Layout in a Custom Control (procedure continued)  Step 3 continued: Establish a Naming Convention for facets and panels 53
  • 54. Designing an Application Layout in a Custom Control (procedure continued)  Step 4: Add Property Definitions to the custom control to pass property values from the XPage to ccAppLayout (like navigationPath, enableSearch, enableSalesBar, etc…) 54
  • 55. Navigation and Context – You are Here! Demo761_AppLayout (custom control) Demo761_CustByNameView 55
  • 56. Application Configuration for Bootstrap4XPages  Install Bootstrap4XPages plugin – Domino sever – Domino Designer – Notes client (for XPiNC)  Application settings (xsp.properties) – xsp.library.depends= com.ibm.xsp.extlib.library, org.openntf.xsp.bootstrap.library – xsp.theme= (one of these) • bootstrapv2.3.2 • bootstrapv2.3.2r • bootstrapv3.0.0 56 DemoXPage721
  • 57.  Prerequisites & Configuration  Form Table control  Data View control  Dojo Form controls  Dialogs and Value pickers  Navigation controls  Application Layout Design Framework  Wrap up 57
  • 58. Get the Slides and Demo Database http://www.tlcc.com/JMP102 58
  • 59. Key Points  Great stuff in the Extension Library – Build better looking apps faster  Data View and Form Table make your apps look very Web 2.0  OneUI is a very good idea  The Application Layout control is used to Rapidly develop a consistent user interface that can implement the “One UI” design framework (awesome)  Application Layout control + Bootstrap4XPages (totally awesome) 59
  • 60. Other Suggested Sessions  BP202 - Rapid XPages Development Using the Application Layout Control, Thursday at 11:00 – with Howard and Paul!  SHOW102 - XPages: Still No Experience Necessary, Wednesday at 10:30  CUST104 - XPages at SMC Corporation: See how XPages can drive business forward, Wednesday at 11:15  AD302 - Get the Best Out of Bootstrap with Bootstrap4XPages, Tuesday at 3:00  AD503 - XPages Mobile Development in IBM Domino 9.0.1 and Beyond, Thursday at 10:00  BP204 - It's Not Infernal: Dante's Nine Circles of XPages Heaven, Tuesday at 10:00  BP203 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrificing Functionality, Tuesday at 1:30 Reminder: Slides and Demo Database are at: http://www.tlcc.com/JMP102 60
  • 61.  Access Connect Online to complete your session surveys using any: – Web or mobile browser – Connect Online kiosk onsite 61