SlideShare a Scribd company logo
BP105
Developing a World Class Web 2.0
Application with XPages
Bruce Elgort
Matthew White | Fynn Consulting / Elguji Software




               ®
BP105
Developing a World Class Web 2.0
Application with XPages
Bruce Elgort
Matthew White | Fynn Consulting / Elguji Software




               ®
B
Developing A World Class Web 2.0
Application With XPages


       RATED

         X
B
Developing A World Class Web 2.0
Application With XPages


       RATED

          E
B
B
Where are we headed?




B
Introductions
Introductions

What You Will Learn
Introductions

What You Will Learn

What You Won’t Learn
Introductions

What You Will Learn

What You Won’t Learn

What is a World Class
Web 2.0 Application?
Introductions

What You Will Learn

What You Won’t Learn

What is a World Class
Web 2.0 Application?

Bene ts of XPages
Introductions

What You Will Learn

What You Won’t Learn

What is a World Class
Web 2.0 Application?

Bene ts of XPages

XPages - What Are They?
TaskJam
TaskJam

Best Practices
TaskJam

Best Practices

TaskJam Demo
TaskJam

Best Practices

TaskJam Demo

DDE 8.5 Demo
TaskJam

Best Practices

TaskJam Demo

DDE 8.5 Demo

Putting Together TaskJam
TaskJam

Best Practices

TaskJam Demo

DDE 8.5 Demo

Putting Together TaskJam

Tips & Tricks
Review
Review

Get TaskJam
Review

Get TaskJam

Related Sessions
Review

Get TaskJam

Related Sessions

Questions & Answers
Matt White
London, England
MB
Bruce Elgort
Vancouver, Washington
What I Learned Today
    1. What I should think about before I start coding
    2. What XPages are
    3. Getting around in Domino Designer for Eclipse
       8.5 (DDE)
    4. What Custom Controls are
    5. What Script Libraries are
    6. Some best practices for web application
       development

           Bruce Elgort Matt White

B
Administrator


B
What is a World Class Web 2.0 Application?




B
                         13
What is a World Class Web 2.0 Application?
    • Simple to use
    • No training required
    • Nice to look at
    • Some good examples include:




B
                                    13
What is a World Class Web 2.0 Application?
    • Simple to use
    • No training required
    • Nice to look at
    • Some good examples include:




B
                                    13
What is a World Class Web 2.0 Application?
    • Simple to use
    • No training required
    • Nice to look at
    • Some good examples include:




B
                                    13
What is a World Class Web 2.0 Application?
    • Simple to use
    • No training required
    • Nice to look at
    • Some good examples include:




B
                                    13
What is a World Class Web 2.0 Application?
    • Simple to use
    • No training required
    • Nice to look at
    • Some good examples include:




B
                                    13
Benefits of XPages




M
                         14
Benefits of XPages
    • Getting rid of the last 10+ years of “hacks” you have learned
      including:
        Pager controls
        Ajaxy stuff
        View design
        Merging data from different documents, views and databases on the same page
        Rich text editing
        Type-ahead
        Native CSS design
        Proper HTML (XHTML)

    • XPages provide features that rival other platforms
    • Less code to write
    • Bringing the ease of writing Notes applications to the web
    • You can write an entire application without writing much code


M
                                           14
XPages - What are they?




BM
                      15
XPages - What are they?
     • New server task that is part of HTTP
         As developers who really cares about admin server tasks?

     • An XPage is a Java Server Face JEE Application
     • In Domino Designer for Eclipse (DDE) in IBM Lotus/Notes Domino 8.5
       there are three “main” new design elements:
         XPages
         Custom Controls
         Server Side Script Libraries

     • All code is written in JavaScript
         @Functions are available - (here be dragons around!)
         Code, commas and case sensitivity are very important
         Turn on the debugger (we will show how later)




BM
                                             15
Our Focus Application - TaskJam




B
                         16
Our Focus Application - TaskJam
    • We wanted to develop a simple web based task management system
      which met our day-to-day needs:
        Easily create tasks
        Share tasks with others
        Due dates
        Prioritize tasks
        Tag tasks using Web 2.0 tagging

    • This type of application requires:
        Input validation
        Pager controls
        Tag clouds
        Create tasks “in-line”
        Type-ahead




B
                                           16
Some of Our Best Practices




M
                         17
Some of Our Best Practices
    • Using the Yahoo UI Library (http://developer.yahoo.com/yui)
          – Grids CSS - layout made easy for all “Class A” browsers:
              ●
                 Internet Explorer
              ●
                 FireFox
              ●
                 Safari
          – Font CSS - Provides consistent font sizing

    • Simple to use - use a single page to do most things
    • Don’t restrict the user into task categories
        Set them free to add on-the-fly

    • Don’t add to much too much validation which would make the
      application hard to use




M
                                             17
TaskJam Demo




         ®


B
                   18
Domino Designer 8.5 Walk Through




      ®


M
               19
Building TaskJam
     • The Layout Custom Control
         Making use of YUI
         Separating out UI from functionality

     • The TaskRow and Repeat Custom Controls in Home XPage
         Scoped variables
         Simple view data binding

     • The Task Custom Control
         Binding a classic Notes form to a Custom Control
         Validation
         Type-ahead

     • Advanced Coding - Tag Cloud
         More on Scoped Variables
         Making use of Dojo




MB
                                                 20
Some other Tips and Tricks




M
Some other Tips and Tricks
    • In the Server Document there is now a setting for “Sign agents or
      XPages to run on behalf of the invoker”
    • But it’s also worth making sure that the “Sign or run unrestricted
      methods and operations” setting is also completed
    • Debugging your database is much easier by checking the “Display
      Default Error Page” option in the Application Properties in
      Designer.
    • The “print” statement is also your friend, or have a look at our
      “OpenLogXPages” script library if you use OpenLog
    • Use OpenLog with all of your applications (http://openntf.org)




M
More Tips and Tricks




M
More Tips and Tricks
    • Firebug is invaluable in XPages development
    • Classic web development is still needed for non HTML transactions
      such as JSON data or RSS feeds, so agents are still required.
    • The Notes interface is still important for administration
    • We can let admins clear the caches with a simple XPage after they
      have changed settings in the Control Panel (resetCache.xsp)




M
Looking at What We Have Learned today
    • What an XPage is
    • What a Custom Control is
    • How do use Custom Controls to create XPages
    • How to use a Server Side Script Library
    • Validation
    • Scoped Variables
    • Data Binding
    • YUI




M
                                      26
http://taskjam.net
http://taskjam.net
Step 1 - Register




http://taskjam.net
Step 1 - Register

 Step 2 - Download




http://taskjam.net
Step 1 - Register

 Step 2 - Download


You get the TaskJam Template and the
Installation, Setup and Customization
guide

http://taskjam.net
Related Sessions




B
                       29
Related Sessions
    • AD204 - XPages 101
    • AD205 - XPages Things You Can't Afford to Miss
    • AD207 - Building an "XPages-Powered" IBM Lotus Domino
      Application
    • AD212 - 10 Web 2.0 User Interface Patterns for IBM Lotus Notes
      and XPages




B
                                      29
Q&A




MB
       30
Q&A
 • Don’t forget to fill in the evaluations...


 • BP105: Developing a World Class Web 2.0 Application with
   XPages


 • Bruce Elgort
   bruce.elgort@gmail.com


 • Matt White
   matthew.white@fclonline.com


 • Come see us Pedestal 227 if you have questions about XPages


MB
                                   30

More Related Content

What's hot

Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
SocialBiz UserGroup
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
Teamstudio
 
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
Engage - Expanding XPages with Bootstrap Plugins for ultimate usabilityEngage - Expanding XPages with Bootstrap Plugins for ultimate usability
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
Johnny Oldenburger
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java Application
Teamstudio
 
WordCamp UK 2009 presentation
WordCamp UK 2009 presentationWordCamp UK 2009 presentation
WordCamp UK 2009 presentation
Jonny Allbut
 
Build a DNN Module in Minutes
Build a DNN Module in MinutesBuild a DNN Module in Minutes
Build a DNN Module in Minutes
Will Strohl
 
AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)
AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)
AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)John Head
 
XPages Extension Library slides
XPages Extension Library   slidesXPages Extension Library   slides
XPages Extension Library slidesNiklas Heidloff
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
Traversy Media
 
SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!
SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!
SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!Klaus Bild
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
SocialBiz UserGroup
 
Wintellect - Windows 8 for the Silverlight and WPF Developer
Wintellect   - Windows 8 for the Silverlight and WPF DeveloperWintellect   - Windows 8 for the Silverlight and WPF Developer
Wintellect - Windows 8 for the Silverlight and WPF Developer
Jeremy Likness
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
Mark Leusink
 
Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...
Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...
Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...John Head
 
A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3DNN
 
Website development & it's trends
Website development & it's trendsWebsite development & it's trends
Website development & it's trends
SunCart Store
 
John David Head - Bio
John David Head - BioJohn David Head - Bio
John David Head - Bio
John Head
 
Notes/Domino Application Development Competitive Advantage - UKLUG 2011 Edition
Notes/Domino Application Development Competitive Advantage - UKLUG 2011 EditionNotes/Domino Application Development Competitive Advantage - UKLUG 2011 Edition
Notes/Domino Application Development Competitive Advantage - UKLUG 2011 Edition
John Head
 

What's hot (20)

Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
 
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
Engage - Expanding XPages with Bootstrap Plugins for ultimate usabilityEngage - Expanding XPages with Bootstrap Plugins for ultimate usability
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java Application
 
WordCamp UK 2009 presentation
WordCamp UK 2009 presentationWordCamp UK 2009 presentation
WordCamp UK 2009 presentation
 
Desktop Intro
Desktop IntroDesktop Intro
Desktop Intro
 
Remoncv
RemoncvRemoncv
Remoncv
 
Build a DNN Module in Minutes
Build a DNN Module in MinutesBuild a DNN Module in Minutes
Build a DNN Module in Minutes
 
AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)
AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)
AD112: Usability Lessons From the Worlds Largest XPages Project (MWLUG)
 
XPages Extension Library slides
XPages Extension Library   slidesXPages Extension Library   slides
XPages Extension Library slides
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
 
SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!
SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!
SHOW301 - Make Your IBM Connections Deployment Your Own: Customize It!
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
 
Wintellect - Windows 8 for the Silverlight and WPF Developer
Wintellect   - Windows 8 for the Silverlight and WPF DeveloperWintellect   - Windows 8 for the Silverlight and WPF Developer
Wintellect - Windows 8 for the Silverlight and WPF Developer
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
 
Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...
Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...
Master Class: Integration in the world of Social Business (Lotusphere2012 JMP...
 
A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3
 
Website development & it's trends
Website development & it's trendsWebsite development & it's trends
Website development & it's trends
 
John David Head - Bio
John David Head - BioJohn David Head - Bio
John David Head - Bio
 
Notes/Domino Application Development Competitive Advantage - UKLUG 2011 Edition
Notes/Domino Application Development Competitive Advantage - UKLUG 2011 EditionNotes/Domino Application Development Competitive Advantage - UKLUG 2011 Edition
Notes/Domino Application Development Competitive Advantage - UKLUG 2011 Edition
 

Similar to Developing a World Class Web 2.0 Application with XPages

Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
Microsoft 365 Developer
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
Teamstudio
 
Lessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectLessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage project
Mark Roden
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
Kathy Brown
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
senthil0809
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
Niklas Heidloff
 
IBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter beginsIBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter begins
LetsConnect
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 
Domino X Pages 8.5
Domino X Pages 8.5Domino X Pages 8.5
Domino X Pages 8.5
John Head
 
Domino app dev competitive advantage for blug
Domino app dev competitive advantage for blugDomino app dev competitive advantage for blug
Domino app dev competitive advantage for blugJohn Head
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
Teamstudio
 
DSpace UI prototype dsember
DSpace UI prototype dsemberDSpace UI prototype dsember
DSpace UI prototype dsember
Bram Luyten
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
ddrschiw
 
Icsug conf 14_str06_notes-browser-plug-in_901
Icsug conf 14_str06_notes-browser-plug-in_901Icsug conf 14_str06_notes-browser-plug-in_901
Icsug conf 14_str06_notes-browser-plug-in_901
ICS User Group
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Theo Jungeblut
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
Eamon Muldoon
 
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
Kathy Brown
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
Teamstudio
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
John Head
 

Similar to Developing a World Class Web 2.0 Application with XPages (20)

Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
Lessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectLessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage project
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
What's new in designer
What's new in designerWhat's new in designer
What's new in designer
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
IBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter beginsIBM Domino 10: A new chapter begins
IBM Domino 10: A new chapter begins
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
Domino X Pages 8.5
Domino X Pages 8.5Domino X Pages 8.5
Domino X Pages 8.5
 
Domino app dev competitive advantage for blug
Domino app dev competitive advantage for blugDomino app dev competitive advantage for blug
Domino app dev competitive advantage for blug
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
DSpace UI prototype dsember
DSpace UI prototype dsemberDSpace UI prototype dsember
DSpace UI prototype dsember
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
Icsug conf 14_str06_notes-browser-plug-in_901
Icsug conf 14_str06_notes-browser-plug-in_901Icsug conf 14_str06_notes-browser-plug-in_901
Icsug conf 14_str06_notes-browser-plug-in_901
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
 

More from Bruce Elgort

Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Bruce Elgort
 
SpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPagesSpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPagesBruce Elgort
 
XPages Guru Webinar - XPages sample apps
XPages Guru Webinar - XPages sample appsXPages Guru Webinar - XPages sample apps
XPages Guru Webinar - XPages sample appsBruce Elgort
 
Social Business Strategies - Get Social. Do Business.
Social Business Strategies - Get Social. Do Business.Social Business Strategies - Get Social. Do Business.
Social Business Strategies - Get Social. Do Business.Bruce Elgort
 
JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...
JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...
JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...
Bruce Elgort
 
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
Bruce Elgort
 
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairHow OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
Bruce Elgort
 
Lotus Technical Information and Education Community - Podcasting and Lotus I...
Lotus Technical Information and Education Community  - Podcasting and Lotus I...Lotus Technical Information and Education Community  - Podcasting and Lotus I...
Lotus Technical Information and Education Community - Podcasting and Lotus I...
Bruce Elgort
 
Yikes...It Looks Like That?! - UI Worst Practices
Yikes...It Looks Like That?! - UI Worst PracticesYikes...It Looks Like That?! - UI Worst Practices
Yikes...It Looks Like That?! - UI Worst Practices
Bruce Elgort
 
OpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source OrganizationOpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source Organization
Bruce Elgort
 
iPhone OS 3.0 Highlights
iPhone OS 3.0 HighlightsiPhone OS 3.0 Highlights
iPhone OS 3.0 Highlights
Bruce Elgort
 

More from Bruce Elgort (11)

Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
 
SpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPagesSpeedGeeking! Mobile Application development with IBM XPages
SpeedGeeking! Mobile Application development with IBM XPages
 
XPages Guru Webinar - XPages sample apps
XPages Guru Webinar - XPages sample appsXPages Guru Webinar - XPages sample apps
XPages Guru Webinar - XPages sample apps
 
Social Business Strategies - Get Social. Do Business.
Social Business Strategies - Get Social. Do Business.Social Business Strategies - Get Social. Do Business.
Social Business Strategies - Get Social. Do Business.
 
JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...
JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...
JMP206 - How I Went Beyond the Hype, Narcissism and Trendiness to Become a So...
 
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
BP207 - Apps, apps, apps and more apps: Meet the very best open source apps f...
 
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairHow OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
 
Lotus Technical Information and Education Community - Podcasting and Lotus I...
Lotus Technical Information and Education Community  - Podcasting and Lotus I...Lotus Technical Information and Education Community  - Podcasting and Lotus I...
Lotus Technical Information and Education Community - Podcasting and Lotus I...
 
Yikes...It Looks Like That?! - UI Worst Practices
Yikes...It Looks Like That?! - UI Worst PracticesYikes...It Looks Like That?! - UI Worst Practices
Yikes...It Looks Like That?! - UI Worst Practices
 
OpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source OrganizationOpenNTF - The Lotus Notes and Domino Open Source Organization
OpenNTF - The Lotus Notes and Domino Open Source Organization
 
iPhone OS 3.0 Highlights
iPhone OS 3.0 HighlightsiPhone OS 3.0 Highlights
iPhone OS 3.0 Highlights
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 

Developing a World Class Web 2.0 Application with XPages

  • 1. BP105 Developing a World Class Web 2.0 Application with XPages Bruce Elgort Matthew White | Fynn Consulting / Elguji Software ®
  • 2. BP105 Developing a World Class Web 2.0 Application with XPages Bruce Elgort Matthew White | Fynn Consulting / Elguji Software ®
  • 3. B
  • 4. Developing A World Class Web 2.0 Application With XPages RATED X B
  • 5. Developing A World Class Web 2.0 Application With XPages RATED E B
  • 6. B
  • 7. Where are we headed? B
  • 8.
  • 11. Introductions What You Will Learn What You Won’t Learn
  • 12. Introductions What You Will Learn What You Won’t Learn What is a World Class Web 2.0 Application?
  • 13. Introductions What You Will Learn What You Won’t Learn What is a World Class Web 2.0 Application? Bene ts of XPages
  • 14. Introductions What You Will Learn What You Won’t Learn What is a World Class Web 2.0 Application? Bene ts of XPages XPages - What Are They?
  • 15.
  • 20. TaskJam Best Practices TaskJam Demo DDE 8.5 Demo Putting Together TaskJam
  • 21. TaskJam Best Practices TaskJam Demo DDE 8.5 Demo Putting Together TaskJam Tips & Tricks
  • 22.
  • 27.
  • 28.
  • 30. MB
  • 31.
  • 33. What I Learned Today 1. What I should think about before I start coding 2. What XPages are 3. Getting around in Domino Designer for Eclipse 8.5 (DDE) 4. What Custom Controls are 5. What Script Libraries are 6. Some best practices for web application development Bruce Elgort Matt White B
  • 35. What is a World Class Web 2.0 Application? B 13
  • 36. What is a World Class Web 2.0 Application? • Simple to use • No training required • Nice to look at • Some good examples include: B 13
  • 37. What is a World Class Web 2.0 Application? • Simple to use • No training required • Nice to look at • Some good examples include: B 13
  • 38. What is a World Class Web 2.0 Application? • Simple to use • No training required • Nice to look at • Some good examples include: B 13
  • 39. What is a World Class Web 2.0 Application? • Simple to use • No training required • Nice to look at • Some good examples include: B 13
  • 40. What is a World Class Web 2.0 Application? • Simple to use • No training required • Nice to look at • Some good examples include: B 13
  • 42. Benefits of XPages • Getting rid of the last 10+ years of “hacks” you have learned including:  Pager controls  Ajaxy stuff  View design  Merging data from different documents, views and databases on the same page  Rich text editing  Type-ahead  Native CSS design  Proper HTML (XHTML) • XPages provide features that rival other platforms • Less code to write • Bringing the ease of writing Notes applications to the web • You can write an entire application without writing much code M 14
  • 43. XPages - What are they? BM 15
  • 44. XPages - What are they? • New server task that is part of HTTP  As developers who really cares about admin server tasks? • An XPage is a Java Server Face JEE Application • In Domino Designer for Eclipse (DDE) in IBM Lotus/Notes Domino 8.5 there are three “main” new design elements:  XPages  Custom Controls  Server Side Script Libraries • All code is written in JavaScript  @Functions are available - (here be dragons around!)  Code, commas and case sensitivity are very important  Turn on the debugger (we will show how later) BM 15
  • 45. Our Focus Application - TaskJam B 16
  • 46. Our Focus Application - TaskJam • We wanted to develop a simple web based task management system which met our day-to-day needs:  Easily create tasks  Share tasks with others  Due dates  Prioritize tasks  Tag tasks using Web 2.0 tagging • This type of application requires:  Input validation  Pager controls  Tag clouds  Create tasks “in-line”  Type-ahead B 16
  • 47. Some of Our Best Practices M 17
  • 48. Some of Our Best Practices • Using the Yahoo UI Library (http://developer.yahoo.com/yui) – Grids CSS - layout made easy for all “Class A” browsers: ● Internet Explorer ● FireFox ● Safari – Font CSS - Provides consistent font sizing • Simple to use - use a single page to do most things • Don’t restrict the user into task categories  Set them free to add on-the-fly • Don’t add to much too much validation which would make the application hard to use M 17
  • 49. TaskJam Demo ® B 18
  • 50. Domino Designer 8.5 Walk Through ® M 19
  • 51. Building TaskJam • The Layout Custom Control  Making use of YUI  Separating out UI from functionality • The TaskRow and Repeat Custom Controls in Home XPage  Scoped variables  Simple view data binding • The Task Custom Control  Binding a classic Notes form to a Custom Control  Validation  Type-ahead • Advanced Coding - Tag Cloud  More on Scoped Variables  Making use of Dojo MB 20
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Some other Tips and Tricks M
  • 62. Some other Tips and Tricks • In the Server Document there is now a setting for “Sign agents or XPages to run on behalf of the invoker” • But it’s also worth making sure that the “Sign or run unrestricted methods and operations” setting is also completed • Debugging your database is much easier by checking the “Display Default Error Page” option in the Application Properties in Designer. • The “print” statement is also your friend, or have a look at our “OpenLogXPages” script library if you use OpenLog • Use OpenLog with all of your applications (http://openntf.org) M
  • 63. More Tips and Tricks M
  • 64. More Tips and Tricks • Firebug is invaluable in XPages development • Classic web development is still needed for non HTML transactions such as JSON data or RSS feeds, so agents are still required. • The Notes interface is still important for administration • We can let admins clear the caches with a simple XPage after they have changed settings in the Control Panel (resetCache.xsp) M
  • 65. Looking at What We Have Learned today • What an XPage is • What a Custom Control is • How do use Custom Controls to create XPages • How to use a Server Side Script Library • Validation • Scoped Variables • Data Binding • YUI M 26
  • 66.
  • 69. Step 1 - Register http://taskjam.net
  • 70. Step 1 - Register Step 2 - Download http://taskjam.net
  • 71. Step 1 - Register Step 2 - Download You get the TaskJam Template and the Installation, Setup and Customization guide http://taskjam.net
  • 73. Related Sessions • AD204 - XPages 101 • AD205 - XPages Things You Can't Afford to Miss • AD207 - Building an "XPages-Powered" IBM Lotus Domino Application • AD212 - 10 Web 2.0 User Interface Patterns for IBM Lotus Notes and XPages B 29
  • 74. Q&A MB 30
  • 75. Q&A • Don’t forget to fill in the evaluations... • BP105: Developing a World Class Web 2.0 Application with XPages • Bruce Elgort bruce.elgort@gmail.com • Matt White matthew.white@fclonline.com • Come see us Pedestal 227 if you have questions about XPages MB 30