Getting Started with XPages Presented by Jeff Byrd Agenda Who am

Report
Getting Started with XPages
Presented by Jeff Byrd
Agenda







Who am I
XPages Resources
What are XPages
Why Use XPages
XPages Design Elements
XPages CRUD
XPages Template
Jeff Byrd

Senior Developer at MAXIMUS Inc.

Lotus Notes developer since ver. 3.

Blogger at www.DominoTricks.com
◦ Current series is “Roll Your Own Rest Service”.


Developing xPages for 2 Years.
Twitter @byrd1089
XPages Resources

www.notesin9.com
◦ Created by David Leedy
◦ 27 + hours of FREE videos on XPages
◦ Check out “Introduction to XPages”

Xpages.info
◦ Daily aggregate of XPages blogs
◦ XPages Snippets

OpenNTF.org – Free Source Code

PlanetLotus.org

StackOverflow.com – Filter for XPages

The Rabbit Hole – (nathantfreeman.wordpress.com)
◦ Taming IBM Domino Designer
What are XPages?

New Design Elements and tools for creating web applications

Embraces standard languages
◦ HTML, CSS, JavaScript, Java

Built on top of Java Server Faces (JSF)
◦ XPages is a JSF wrapper for Domino Developers

Everything you code gets placed inside of Java Objects
◦ You never need to deal with those Java Objects though!

You do not NEED to know Java to build XPages apps
◦ But it will help and should be something to strive for
◦ Java in XPages is somewhat similar to LotusScript Custom Classes
Why Use XPages?

Separates UI from Data
◦ Allows multiple Data sources per Page
◦ Easy access to data from other databases

Improves Data capabilities
◦ Allows @DbLookup from inside a view
 Similar to a JOIN in relational DB’s.
◦ Use Java Objects (Beans) as data source
◦ Iterate your data anyway you want via “Repeat Control”

Runs inside Notes Client (XPiNC - XPages in Notes Client)
◦ Replicate your web applications.
New Design Elements

XPage
◦ Similar to Notes Form



But not really as you can have none or multiple datasources
Data source can be:
NotesDocuments, NotesViews,Java Beans, and more...
◦ It’s often used more as a container to hold custom controls

Custom Control
◦ Similar to Subform

But not really as you can have none or multiple datasources
 Just like XPages


Can be used more then once on a page
Can accept Parameters that you define later
 Allows high reusability
◦ Can not be viewed in the browser. They only work on an XPage
◦ Often Custom Controls are used to contain the graphical layout of your app
More New Design Elements

Sever Side JavaScript
◦
Can be on the page or in a library.
◦
Library allows you to create reusable SSJS functions using
◦
It’s not really “JavaScript” but it has the same syntax





This allows additional capability
@Formulas
Domino Object Model
Java Objects
Themes
◦
You can assign a CCS file and it’ll be available on every page of your app

Like a Global “Use” statement in LotusScript
◦
Allow consistent look and feel across apps
◦
oneUI and WebStandard are built in
◦
You can create your own

◦
But always extend a server theme as they contain needed Dojo files
Themes can override controls as well

More advanced but very powerful
Scoped Variables

Scoped Variables
◦ In memory objects to store data
◦ No need to rely on cookies / URL parsing
 but you still can if you want

applicationScope
◦ Like a database profile document
◦ Available to all users
 Store Application settings and common lookups that all users need

sessionScope
◦ Life of the user session
 Store things specific to the user.
 Preferences, shopping cart, etc...
Scoped Variables

viewScope
◦ Life of the current Page
 Store value of a current search, or items from a particular
document

requestScope
◦ Life of a single request
◦ Very short - just for data you’re currently processing

Do NOT try and put Domino Objects (document,
view, etc...) in Scope
◦ They will likely get recycled when you least expect it.
◦ For a document, just store a UNID as a string and grab the
document again
Building an Application

I’m using Domino and Designer 8.5.3
◦ Latest version is 9.0
◦ Do not try Xpages development with any version below version 8.5.1
and you should be using the Update Pack or OpenNTF Extension Library
 Update Pack is available from IBM for 8.5.
 Ext. Library is at http://extlib.openntf.org/

What is the Update Pack / Extension Library?
◦ They are add-ons to the Domino Server / Designer
◦ Adds over 50 new tools and controls designed to speed up your
application
 Tools for layout, Dojo integration, etc.
 Application layout control.
◦ Extends the core product without having to wait for next version
Sample Application

Let’s build a quick Contacts Application
◦
◦
◦
◦
◦
◦
◦
One Form – Contact
One View – Contacts
Custom Control – frmContact
Custom Control – vwContacts
xPage – Contact.xsp
xPage – Contacts.xsp
Theme – Blueprint CSS
But there’s more!
Things we haven’t talked about





Server Side Java Script (SSJS)
Client Side Java Script (CSJS)
Repeat Controls
Managed Beans
Java!

similar documents