Working on the world's largest XPages implementation has its challenges. Modernizing an IBM Notes client application used in over 105 countries by over 100,000 users teaches you a lot! In this session, we'll share some of the challenges and our appropach to overcoming them. We'll demonstrate a new XPinC performance feature in the upcoming Social Edition being added as a result of our work with IBM. We'll also demonstrate best practices in user interaction, share lessons learned on team development using a single .nsf file -- and much more. Come and find out more about how you can save time, money and avoid end-user frustration as we share our experiences - and open the covers of the largest XPages project in the world. Sample DB provided!
2. About Andrew
• Nearly 20 years delivering IBM Notes Domino® work
• Started at Lotus in Boston
• Manage PSC’s Collaboration Practice at PSC
• Delivery
• Personnel
• Sales Support
• Team and Project Technical Direction
• Contact Information
• abarickman@psclistens.com
• @ajbarickman
3. About Mark
Over 15 years IBM Notes Domino® work
Senior Consultant at PSC
• XPages developer
• Project Leader
Contact Information
• Blog: http://www.xomino.com
• Email: mroden@psclistens.com
• Twitter: @markyroden
• Skype: marky.roden
5. Agenda
The Application
• Lesson One: Team Development and XPages
• Lesson Two: Performance
• Lesson Three: User Experience
Questions
6. The Worlds Largest? Really?
Over 65,000+ Users
105 Countries
14 different resources from PSC
14,000 consulting hours
7. Technical highlights
Single page web application
– Dojo
– jQuery
– EXTJS
– Extension Library
Modalities – The promise of XPages
• IE, IE9, Firefox
• Notes – Connected & Disconnected
• Mobile
• Feature Rich iPad
• Handset approvals
8. Functional highlights
Gantt Chart with COM Export to MS Project
MS Excel data import and export
Automatic Print to PDF
Dynamic Forms
– Independent form builder
– Build using JSON data representation
Windows explorer file integration
– Round trip editing of Office documents
– Maintains file depencies
9. What does it do?
Highly tailored project management application
Manages the content and deliverables for all of their
customer engagements
Full application lifecycle management
• Provisioning
• Archiving
10. Application Design / Constraints
Limited to 8.5.2 due to roll out constraints
Thousands of instances of the same design spread across
many servers
Self contained so that it can be replicated and used locally
Support all different modalities that XPages allows
YEARS of highly complex, business specific logic and
customized code
11. Lesson One: Team Development and XPages
Working with Domino Designer in Eclipse (DDE)
• Not the same as traditional Notes development
• Refresh all code updates before building
• No design locking
• Build Path needs consideration
12. Recommendations
Individual servers for each developer
• Same domain to replicate NABs
• SSJS debugging
• No cross building issues
Source control
Master build management
13. Recommendations
Virtual Machine (VM) distribution
• Mimic production environment
• Reducing testing incongruity
• Maximizing productivity
• Easy to deploy to new team members
14. Lesson Two: Performance
If the application does not perform nothing else you do to it
matters
• Single Copy XPage design
• Major XPINC performance improvement in Notes 9
• Preloading of design elements for Notes client
15. Performance - Single Copy XPages Design
Single Copy XPages Design (SCXD) works when you have
many instances of a single design
The following example with be shown using the team room
template
18. Performance - SCXD
Open the database in designer to enable Single Copy
XPages design
19. Performance - SCXD
Open the database in designer to enable single copy XPage
design
20. Performance - SCXD
Shut Notes and reopen the database – path to the SCXD
NOT the database
21. Performance - SCXD
Benefits for both Notes client users and browser users
Performance increases for a user switching between many
team rooms because the resources are already cached
locally
Increased server efficiency and performance because the
server can cache those resources once and serve them to
many different users regardless of the team room they are
opening
But wait….. It gets better if you are using Notes clients and
IBM Notes Domino® 9 Social Edition
24. Performance - SCXD
The server database is now using the LOCAL resources
25. Performance - SCXD
If the user accesses the database via a browser the server
looks for the SCXD on the server at the path specified
If they use a Notes client without a local copy or replica of the
SCXD then it uses the server based copy
If they have a local copy or replica of the SCXD they get the
added benefit of large performance increases
If no SCXD exist it will fail gracefully
But wait again… there is yet more!
26. Performance - PreLoad
XPagesPreload=1
XPagesPreloadDB=…
Specify the local SCXD
database
Include the page or
pages to preload when
the Notes client starts
Those elements and any
dependencies will be
preloaded to greatly
speed up initial open
27. Performance - PreLoad
How do I know if preloading is
working?
Add –RPARAMS –console to
your application shortcut
This will load the OSGI
console on load of the Notes
client
29. Performance - PreLoad
OSGI console will show the preloading information after
client load
30. Performance –Conclusions
The results you get will vary greatly depending on the
speed of your WAN/LAN connection
Our experience in the Notes client – your results may vary
– 2-3 times as fast for normal operations such as opening a view or
opening a document
– Up to 10 times as fast for initial database open when using
preloading
31. Lesson Three: User Experience
Where is my lightning bolt?
Users need to know that something is happening
How do I search for my documents?
Demos
• Good solution
• Better solution
32. Getting Views on the Web Right
XPages and web development require a new approach
Fundamentally different than in Notes
Key interface to nearly every application you build
Get it right and your users will love you
33. Views – Out of the Box Usability
F
Paging through thousands of records is not practical
34. Views – Search
C-
Your users don’t know FT search syntax…
40. Thanks to the PSC team
Those who worked on the grids:
– Steve Lohja
– Imran Bhaidani
– Troy Reimer
– Andrew Barickman
– Mark Roden
Thanks also to contributions by Tony McGuickin (IBM)