Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Learning to run
1. 1
Learning To Run
XPages for Lotus Notes Client Developers
Presenter: Kathy Brown
2. Who am I
• Kathy Brown
• Lotus Notes Developer, primarily for the Notes client, until recently
• Co-author of the Lotus User Group Notes Developer Tips Newsletter
• Speaker at Lotusphere and various LUGs
• Twitter addict
• Runner
3. What this session is...
• Tips and transitions for Notes client developers
4. What this session is not...
• A step-by-step how to
• Best practices
• Advanced topics
5. Building Blocks
• Forms
• Views
• Subforms
• Framesets
• Outlines
• Pages
7. Separation of Data and UI
• Traditional Notes Dev
• Forms combine data and UI
• XPages
• Separate data from UI
• Create forms just as data
holders, no need to prettify
• Create views for lookups, no
need to prettify (no need for
dual sorting!)
8. Customer Name
Customer ID
Customer Address
Customer Purchases
Customer Name
Customer Address
Widget ID
Widget Name
Widget Description
Widget ID
Widget Name
Widget Description
Widget Image
9. Data Binding
• Because data and UI are separate, we need to “bind” data to our
elements
• Xpage
• Can define a domino document or view as a data source
• Custom Controls and Container Controls like Panel
• Can define a domino document or view as a data source
• Repeat Controls and certain Core Controls
• Use data binding
10. Data Binding
• Simple data binding
• Select a source from a list, or add another source
• Select an item to bind to
• Example: select a document from the source and a field from that
document to bind to
• Javascript
• Utilize the JavaScript editor to write Server Side Javascript (SSJS)
• Example:
database.getView(“movies”).getAllDocumentsByKey(genre);
• Advanced
• Use expression language, scoped variable, component parameter or
custom code for data binding
19. Something familiar*
• Edit Box
• Rich Text
• Multiline Edit Box
• List Box
• Combo Box
* Sort of
20. Quick Tip
• When adding @formula values for a combo box or list box, the default
condition is “Compute on Page Load”. Remember to change that to
“Compute Dynamically” in the script editor
OR go to the Source tab and change the
“$” to “#”
24. Panel Control
• Sort of, kind of, like a layer...
on steroids
• Or like an embedded view...
on steroids
• Or like if a layer and an embedded view had a baby
25. Repeat Controls
• No traditional Notes Client equivalent
and that’s a good thing
• A repeat control allows you place controls inside it (like Edit boxes or
computed values, but also more repeat controls!) that repeat on the
page
26. Container Controls
• Include Page - allows you to include an Xpage on another Xpage
• Table - we all know about this one!
• View - kind of like an embedded view, but better
• Tabbed Panel - multiple panels with...wait for it...tabs!
• Section - we know about these, too
27. Custom Controls
• Closest traditional equivalent are subforms
• Create custom controls to hold other controls stored together
• Can be a “create once, use multiple times for footers and headers, for
example
33. @Formula Syntax
• Three syntactic changes to use @Formula in Xpages:
• Use commas rather than semicolons
• Use exact case
Example:
var uname = @Name(“[CN]”, @UserName())
• “null” should be used in place of 0 for formulas such as @Adjust
Example:
var aDate = @Adjust(@Created(), null, null, 5, null, null, null)
37. Server Side Javascript (SSJS)
• Server side Javascript is not LotusScript
• BUT it is close enough to fool you
var someValue = entry.getColumnValues()[3]
• Get a map
http://bit.ly/XpagesMap
• Go green!
http://bit.ly/Recycle1
http://bit.ly/Recycle2
45. Where To Get Help
• http://www-10.lotus.com/ldd/ddwiki.nsf
• http://www-10.lotus.com/ldd/ddwiki.nsf/dx/
NotesDocumentCollection_sample_JavaScript_code_for_XPages
• Help files not so helpful
46. Quick Tip
• Create different search scopes for the not-so-helpful help file
48. Test Server - Get One
• Typical Lotus Client development can get away with “testing” on a
production server
• Doing that with Xpages...
49. Sample Applications - Get Some
• Download applications and dig through them to see how they were
created
• Frameworks on OpenNTF
• Matt White and Tim Clark’s Show and Tell sample app
50. Quick Tip
• Turn on “Select controls dialog box”