a closer look at xpages in ibm lotus domino designer 8 · pdf filea closer look at xpages in...
TRANSCRIPT
© 2008 IBM Corporation
®
A Closer Look at XPages in IBM Lotus Domino Designer 8.5
Ray ChanAdvisory I/T SpecialistLotus, IBM Software Group
IBM Software Group | Lotus software
IBM Software Group | Lotus software
2
Agenda
� XPage overview
� From palette to properties: Controls, Ajax & Localization
� Look and feel: CSS & Themes
� Where's the logic? Events, simple actions, JavaScript and more
� Measure twice, cut once: Custom controls
� It's a wrap
IBM Software Group | Lotus software
IBM Software Group | Lotus software
3
XPages – A Big Leap Forward
� Visual Web page construction– Advanced U/I controls
– Drag and drop development
� Instant Application Development– XML markup with source
– Full control of HTML
– Business logic using JavaScript
– Presentation using CSS
– Skinning using themes
� Leverages existing NSF assets– Web agents, formulas, security,...
IBM Software Group | Lotus software
IBM Software Group | Lotus software
4
XPages – What is it?
� A new Domino design element
� A runtime designed to generate modern Web applications
� Pure XML markup, defining:
– Controls, data sources, business logic, custom controls
� Solves age-old limitations expressed by the Domino community
– UI/Data separation, HTML generation control, server state, localization, extensibility …
– Capable of targeting multiple clients
� Highly extensible runtime and design time
� Standards-based technology: JSF
� Full integrated into Domino Designer 8.5
– Visual Design Page, Source Page, Control Palette, Outline View etc
IBM Software Group | Lotus software
IBM Software Group | Lotus software
5
XPage Prerequisites
� Installation and configuration
– XPage runtime is installed by default
– If doing custom install, make sure its checked
– HTTP task must be running
� Skills
– Knowledge of Domino object model
– HTML, CSS, XML and JavaScript are very beneficial but you can built an application without them
– Question = Do I need to learn Java?
– Answer = NO!
IBM Software Group | Lotus software
IBM Software Group | Lotus software
6
XPage Security
� XPages use agent security model.
� Settings for Xpage application access
– XPage signer must have explicitaccess to server or select userslisted in all trusted directories.
– Other settings which likely require XPage design elementsignature to be added
� XPage Web user access
– Standard Domino Web authentication applies
See Xpage User Guide: Designing with XPages \ Creating XPages \ Signing XPages
IBM Software Group | Lotus software
IBM Software Group | Lotus software
7
Agenda
� XPage overview
� From palette to properties: Controls, Ajax & Localization
� Look and feel: CSS & Themes
� Where's the logic? Events, simple actions, JavaScript and more
� Measure twice, cut once: Custom controls
� It's a wrap
IBM Software Group | Lotus software
IBM Software Group | Lotus software
8
XPages in Domino Designer 8.5
XPagedesign
element
Controlspalette
Custom Controlspalette
Outline Property sheets
Scripting & Simple Actions
Optional source mode
IBM Software Group | Lotus software
IBM Software Group | Lotus software
9
XPage Controls
� Extensive palette of pre-built controls
– All the basic controls and containersexpected for developing Web 2.0 apps
� Two categories of controls
– Core – single entities used in XPage or custom control
– Container – more complex and contain other controls
� Extensible palette of controls
– Custom controls
– More on that later...
IBM Software Group | Lotus software
IBM Software Group | Lotus software
XPage in 5 min Demo
IBM Software Group | Lotus software
IBM Software Group | Lotus software
11
Built-In AJAX Support
� AJAX partial page refresh
– Available on any event
– Pre-built on View Pager
� AJAX Typeahead
– Add behavior to any edit control
– Content can be returned through a simple formula in the page• No need to write a separate service
� Dojo is provided as the client side library
– Will share some common controls with the “classic” Web applications
IBM Software Group | Lotus software
IBM Software Group | Lotus software
Partial Update Demo
IBM Software Group | Lotus software
IBM Software Group | Lotus software
13
CSS Support
� All look and feel is driven by CSS
– Enforce consistency between applications
– Help solving accessibility issues (Section 508 compliant)
� XPages feature global references to CSS files
� Style classes and inline styles can be applied per control
IBM Software Group | Lotus software
IBM Software Group | Lotus software
14
CSS Skinning — Themes
� Allows an application to pick up a look and feel without touching the actual application code
– Default styles are applied to controls without any explicit style set per control – every property can be set
– Skinning can be disabled per application/control
– Association between control done through a “Theme”
– Defined at different levels: server or application• Stored in a shared database
– Easily customizable by a developer and/or an administrator
IBM Software Group | Lotus software
IBM Software Group | Lotus software
Switch from this
IBM Software Group | Lotus software
IBM Software Group | Lotus software
To This... In seconds, the flexibility and agility of “Themes”
IBM Software Group | Lotus software
IBM Software Group | Lotus software
Apply Theme Demo
IBM Software Group | Lotus software
IBM Software Group | Lotus software
18
Application Properties
� XPages tab
GZip supportLocalization
IBM Software Group | Lotus software
IBM Software Group | Lotus software
Localization Demo
IBM Software Group | Lotus software
IBM Software Group | Lotus software
20
Agenda
� XPage overview
� From palette to properties: Controls, Ajax & Localization
� Look and feel: CSS & Themes
� Where's the logic? Events, simple actions, JavaScript and more
� Measure twice, cut once: Custom controls
� It's a wrap
IBM Software Group | Lotus software
IBM Software Group | Lotus software
21
Supported Languages� JavaScript
– On the Client
– On the Server
• Access to back-end classes, @function support• Global objects• Extended API for i18n, XPages data...• Server Side state: application scope, session scope & request scope
� Simple Actions
� Java
– Adding a Java class/library to an NSF
– JavaScript/Java bridge
– JSF managed beans – Using EL
IBM Software Group | Lotus software
IBM Software Group | Lotus software
22
XPages Events Model
� XPages events
– Page events
– Control Events
– Data sources events
– Computed Properties – Data binding
� Server side JavaScript Libraries
� Validating data
– Validation can occur on the client and on the server
– The predefined validators
– Creating custom validators
IBM Software Group | Lotus software
IBM Software Group | Lotus software
23
Leveraging Existing Business Logic
� Forms
– Default Values
– Validation Formulas
� Views
– The query engine
� Agents
– Calling an agent (LotusScript)
IBM Software Group | Lotus software
IBM Software Group | Lotus software
24
Custom Controls
� Made by assembling existing controls
� Behave exactly as native controls
� Appear in the Control palette
� Define their own set of properties
– Hierarchical properties, with custom editors
– Editable areas
� Can be used
– As reusable UI assets (ex: an address control, a toolbar...)
– As a way to share some layout (ex: common page layout)
� Can be shared through templates (NTF) as any other design element
IBM Software Group | Lotus software
IBM Software Group | Lotus software
25
Agenda
� XPage overview
� From palette to properties: Controls, Ajax & Localization
� Look and feel: CSS & Themes
� Where's the logic? Events, simple actions, JavaScript and more
� Measure twice, cut once: Custom controls
� It's a wrap
IBM Software Group | Lotus software
IBM Software Group | Lotus software
26
XPage - Help
� Accessed from menu
� Two reference guides
F1 for contextsensitive help
IBM Software Group | Lotus software
* 27
Resources� New XPage Tutorial
� Use instead of one in publicbetas kits
� Will ship with Designer
� Learning objectives� Set up and view an application
containing XPage elements
� Create an XPage
� Add controls to an XPage
� Bind data to an Xpage
� Add navigation to an Xpage
� Create a custom control
� Use advanced binding and scripting
� No need for server – use Designer preview in Web browser
Download new XPage Tutorial here
IBM Software Group | Lotus software
IBM Software Group | Lotus software
28
Resources Continued
� Discussion 8.5
– Coming soon to Lotus Greehouse
– https://greenhouse.lotus.com
� XPages articles and examples
– http://www.thenorth.com/northern.nsf/html/XpagesArticle
– http://www.jmackey.net/
– http://www.lotus911.com/nathan/escape.nsf/d6plinks/NTFN-7FRG79