Building an &quot;XPages-Powered&quot;  IBM Lotus Domino Application  <ul><ul><li>John Mackey | President | Groupware Solu...
Agenda <ul><li>Presenter Profile </li></ul><ul><li>XPages Overview </li></ul><ul><li>Survey Tool Application Overview </li...
Presenter Profile <ul><li>Consultant for large corporations </li></ul><ul><li>Started my own company – Groupware Solutions...
XPages Overview <ul><li>An XPage is a new design element based on JavaServer Faces (JSF) technology that lets developers c...
Survey Tool Application Overview <ul><li>My objective when designing this session was to select an application that could ...
Survey Tool Application Overview <ul><li>A Survey Tool provides many challenges for Domino Designer </li></ul><ul><ul><li>...
<ul><li>Demo </li></ul>
Application Design Review Data Model End User Surveys * Response Doc Survey Document * Parent Doc Questions/Answers * Resp...
Application Design Review – Home Page
Application Design Review – Survey Details
Application Design Review – Survey Details
Application Design Review – Survey Details
Application Design Review – Survey Questions
Application Design Review – Questions design Read Mode Table Repeat Control Edit Mode Table Panel Control
Application Design Review – Repeat Control Repeat Control Properties The Collection name “docid” will contain the docUNIDs...
Application Design Review – Repeat Control Repeat Control iteration formula Note the mixing of @Commands with JavaScript T...
Application Design Review – Panel Control A Panel Control is repeated for each question Each Panel control will be bound t...
Application Design Review – Tables for Read/Edit Within the Panel control there are 2 tables.  Each has a visibility formu...
Application Design Review – Web Controls The controls are bound to the fields from the panel document
Application Design Review - Links Read Mode table: Edit Link Control – Simple Action
Application Design Review - Links Read Mode table: Delete Link control
Application Design Review – Add Questions Add New Question Button Control - script
Application Design Review – Move Questions Move Question down – onclick event action
Application Design Review – Reorder Questions Move Question – reorderQuestions() function
Application Design Review – Preview Survey Inline server side script Client side script
Application Design Review – Take Survey Screen Take Survey page – Displaying all questions on one page
Application Design Review – Take Survey Screen Take Survey page – Displaying one question per page
Application Design Review – Take Survey design Take Survey design Repeat Control Panel Control
Application Design Review – Take Survey design Repeat Control iteration formula
Application Design Review – Take Survey design Web Controls – Visibility formulas The Web Controls are visible only if the...
Application Design Review – Take Survey design Web Controls – Data binding All the Web Controls are bound to the same “Ans...
Application Design Review – Take Survey design Web Controls – Values formula (only pertains to multivalue controls)
Application Design Review – Take Survey design Web Controls – Required field computed value formula The field's Required p...
Application Design Review – Take Survey design Web Control – Display Error control binding The Display Error control dynam...
Application Design Review – Take Survey design Panel Control – Visibility formula The Panel control, which contains the bo...
Application Design Review – Take Survey design Submit Survey Button – onclick event simple actions The Submit Survey butto...
Application Design Review – Take Survey design Save and Return Later Button – onclick event JavaScript The Save and Return...
Application Design Review – Take Survey design Previous/Next Navigation Links
Related Sessions <ul><li>Other XPages Sessions </li></ul><ul><ul><li>AD201 IBM Lotus Domino Designer 8.5: A New Beginning ...
Xpage Related Resources <ul><li>Lotus Designer Wiki </li></ul><ul><ul><li>http://www-10.lotus.com/ldd/ddwiki.nsf </li></ul...
Questions/Answers <ul><li>Thank You! </li></ul><ul><li>Questions & Answers </li></ul>
Legal disclaimer  Please delete all instructions (text in red) and insert this information at the end ofexternal publicati...
Upcoming SlideShare
Loading in …5
×

AD207 Presentation

1,553 views

Published on

AD207 - Building an "XPages-Powered" IBM Lotus Domino Application

XPages Survey Tool demoed at Lotusphere 09 session:

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,553
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
97
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

AD207 Presentation

  1. 2. Building an &quot;XPages-Powered&quot; IBM Lotus Domino Application <ul><ul><li>John Mackey | President | Groupware Solutions Inc. </li></ul></ul>AD207
  2. 3. Agenda <ul><li>Presenter Profile </li></ul><ul><li>XPages Overview </li></ul><ul><li>Survey Tool Application Overview </li></ul><ul><li>Demo </li></ul><ul><li>Application Design Review </li></ul><ul><li>Question/Answer Session </li></ul>
  3. 4. Presenter Profile <ul><li>Consultant for large corporations </li></ul><ul><li>Started my own company – Groupware Solutions Inc. </li></ul><ul><li>Working with Lotus Notes since 1993 </li></ul><ul><li>Background in Websphere Portal technologies </li></ul><ul><li>Design Partner for the Lotus Component Designer tool 6. The LCD technology is the predecessor for XPages </li></ul><ul><li>Design Partner for Lotus Notes 8.5 release </li></ul><ul><li>Contact Info: </li></ul><ul><ul><li>Home Page: www.GroupwareInc.com </li></ul></ul><ul><ul><li>Email: John.Mackey@GroupwareInc.com </li></ul></ul><ul><ul><li>Blog: www.jmackey.net </li></ul></ul>
  4. 5. XPages Overview <ul><li>An XPage is a new design element based on JavaServer Faces (JSF) technology that lets developers create Web 2.0 enabled pages for use in Web browser applications running on Domino 8.5. </li></ul><ul><li>XPages includes the following features: </li></ul><ul><ul><li>AJAX enabled </li></ul></ul><ul><ul><li>Advanced Web control library </li></ul></ul><ul><ul><li>Full support for styling by using CSS </li></ul></ul><ul><ul><li>Fully extensible by using custom controls </li></ul></ul><ul><ul><li>JavaScript scripting language support </li></ul></ul><ul><ul><li>Pre-built simple actions </li></ul></ul><ul><ul><li>Direct access to Java libraries on the server </li></ul></ul>
  5. 6. Survey Tool Application Overview <ul><li>My objective when designing this session was to select an application that could not easily be built with the standard Domino Designer..... demonstrating the power of XPages. </li></ul><ul><li>Secondly my goal was to utilize XPage controls to build a complex application with a minimum amount of code or workarounds. </li></ul><ul><ul><ul><li>Thinking “Inside the Box”.... </li></ul></ul></ul>
  6. 7. Survey Tool Application Overview <ul><li>A Survey Tool provides many challenges for Domino Designer </li></ul><ul><ul><li>It must allow an administrator to create an unlimited number of questions </li></ul></ul><ul><ul><li>Change the order of the questions </li></ul></ul><ul><ul><li>Select the type of input control to display: check box, radio buttons, text box, drop down list etc.,. </li></ul></ul><ul><ul><li>Provide dynamic validation </li></ul></ul><ul><ul><li>Provide dynamic navigation: one question per page, all per page </li></ul></ul><ul><ul><li>Report on the data </li></ul></ul>
  7. 8. <ul><li>Demo </li></ul>
  8. 9. Application Design Review Data Model End User Surveys * Response Doc Survey Document * Parent Doc Questions/Answers * Response to Response Doc Base Survey Questions * Response Doc
  9. 10. Application Design Review – Home Page
  10. 11. Application Design Review – Survey Details
  11. 12. Application Design Review – Survey Details
  12. 13. Application Design Review – Survey Details
  13. 14. Application Design Review – Survey Questions
  14. 15. Application Design Review – Questions design Read Mode Table Repeat Control Edit Mode Table Panel Control
  15. 16. Application Design Review – Repeat Control Repeat Control Properties The Collection name “docid” will contain the docUNIDs for each survey question .
  16. 17. Application Design Review – Repeat Control Repeat Control iteration formula Note the mixing of @Commands with JavaScript Tip: A Repeat control iteration formula must return an array. When using @DbLookup, an array is not returned if a single match is found. Force the result to an array by using @Explode.
  17. 18. Application Design Review – Panel Control A Panel Control is repeated for each question Each Panel control will be bound to each question response document using the “docid” variable from the Repeat control.
  18. 19. Application Design Review – Tables for Read/Edit Within the Panel control there are 2 tables. Each has a visibility formula to show/hide the different tables if the document is in read mode or in edit mode.
  19. 20. Application Design Review – Web Controls The controls are bound to the fields from the panel document
  20. 21. Application Design Review - Links Read Mode table: Edit Link Control – Simple Action
  21. 22. Application Design Review - Links Read Mode table: Delete Link control
  22. 23. Application Design Review – Add Questions Add New Question Button Control - script
  23. 24. Application Design Review – Move Questions Move Question down – onclick event action
  24. 25. Application Design Review – Reorder Questions Move Question – reorderQuestions() function
  25. 26. Application Design Review – Preview Survey Inline server side script Client side script
  26. 27. Application Design Review – Take Survey Screen Take Survey page – Displaying all questions on one page
  27. 28. Application Design Review – Take Survey Screen Take Survey page – Displaying one question per page
  28. 29. Application Design Review – Take Survey design Take Survey design Repeat Control Panel Control
  29. 30. Application Design Review – Take Survey design Repeat Control iteration formula
  30. 31. Application Design Review – Take Survey design Web Controls – Visibility formulas The Web Controls are visible only if the value of the “AnswerType” field is equal to the type of control.
  31. 32. Application Design Review – Take Survey design Web Controls – Data binding All the Web Controls are bound to the same “Answer” field on the response document. Only one control is visible at a time so there is no conflict.
  32. 33. Application Design Review – Take Survey design Web Controls – Values formula (only pertains to multivalue controls)
  33. 34. Application Design Review – Take Survey design Web Controls – Required field computed value formula The field's Required property are set based on the “Required” field
  34. 35. Application Design Review – Take Survey design Web Control – Display Error control binding The Display Error control dynamically shows errors based on the “AnswerType” field. The Editable controls are named to match the choices.
  35. 36. Application Design Review – Take Survey design Panel Control – Visibility formula The Panel control, which contains the bound Web controls, is repeated for each question. When the survey is set to only show one question per page, the only panel is visible is the one for the current question .
  36. 37. Application Design Review – Take Survey design Submit Survey Button – onclick event simple actions The Submit Survey button onclick event fires off 2 simple actions. It sets the status to “Complete” and then saves the survey and redirects the user to the 'ThankYou” XPage.
  37. 38. Application Design Review – Take Survey design Save and Return Later Button – onclick event JavaScript The Save and Return Later button onclick event fires off 3 simple actions. It sets the status to “Open”, and records the last question# answered, then saves the survey and redirects the user to the 'ReturnLater” XPage. Note that the “No data validation” is checked thus allowing us to save an uncompleted survey.
  38. 39. Application Design Review – Take Survey design Previous/Next Navigation Links
  39. 40. Related Sessions <ul><li>Other XPages Sessions </li></ul><ul><ul><li>AD201 IBM Lotus Domino Designer 8.5: A New Beginning </li></ul></ul><ul><ul><li>AD204 XPages 101 </li></ul></ul><ul><ul><li>AD205 XPages: Things You Can't Afford to Miss! </li></ul></ul><ul><ul><li>AD206 &quot;Super-Sleek&quot; Your Apps with XPages Themes </li></ul></ul><ul><ul><li>AD208 Teaching Old Docs New Tricks: Creating A New Front End With Xpages </li></ul></ul><ul><ul><li>AD212 10 Web 2.0 User Interface Patterns for IBM Lotus Notes and Xpages </li></ul></ul><ul><ul><li>AD220 Real World Examples of How Customers Are Utilizing Xpages </li></ul></ul><ul><ul><li>BP105 Developing a World-class Web 2.0 Application with Xpages </li></ul></ul><ul><ul><li>SHOW106 Building A Cool Web 2.0 Application With XPages </li></ul></ul>
  40. 41. Xpage Related Resources <ul><li>Lotus Designer Wiki </li></ul><ul><ul><li>http://www-10.lotus.com/ldd/ddwiki.nsf </li></ul></ul><ul><li>Domino 8.5 Public Beta Discussion Forum </li></ul><ul><ul><li>http://www-10.lotus.com/ldd/nd85forum.nsf </li></ul></ul><ul><li>Tutorial: Harness the power of Xpages – by Chris Toohey </li></ul><ul><ul><li>http://www.ibm.com/developerworks/edu/ls-dw-ls-ddxpages.html </li></ul></ul><ul><li>XPage Blog Entries can be found at: Planet Lotus </li></ul><ul><ul><li>http://planetlotus.org/ </li></ul></ul><ul><li>XPages Distance Learning Courses: TLCC - The Learning Continuum Company </li></ul><ul><ul><li>http://www.tlcc.com/ </li></ul></ul>
  41. 42. Questions/Answers <ul><li>Thank You! </li></ul><ul><li>Questions & Answers </li></ul>
  42. 43. Legal disclaimer Please delete all instructions (text in red) and insert this information at the end ofexternal publications. <ul><li>© IBM Corporation 2008. All Rights Reserved. </li></ul><ul><li>The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication 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. </li></ul><ul><li>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. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. 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. </li></ul><ul><li>If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete: </li></ul><ul><li>Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. </li></ul><ul><li>If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete: </li></ul><ul><li>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. </li></ul><ul><li>Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. </li></ul><ul><li>IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both. </li></ul><ul><li>If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete: </li></ul><ul><li>Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. </li></ul><ul><li>If you reference Java™ in the text, please mark the first use and include the following; otherwise delete: </li></ul><ul><li>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. </li></ul><ul><li>If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete: </li></ul><ul><li>Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both. </li></ul><ul><li>If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete: </li></ul><ul><li>Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. </li></ul><ul><li>If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete: </li></ul><ul><li>UNIX is a registered trademark of The Open Group in the United States and other countries. </li></ul><ul><li>If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete: </li></ul><ul><li>Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. </li></ul><ul><li>Other company, product, or service names may be trademarks or service marks of others. </li></ul><ul><li>If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: </li></ul><ul><li>All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only. </li></ul>

×