SlideShare a Scribd company logo
1 of 42
BP211 Lessons From the Worlds
                    Largest XPages Project
                    Andrew Barickman | Practice Leader, PSC Group LLC
                    Mark Roden | Senior Consultant, PSC Group LLC




© 2013 IBM Corporation
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
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
www.psclistens.com   @pscgroup
Agenda

  The Application
   • Lesson One:     Team Development and XPages
   • Lesson Two:     Performance
   • Lesson Three:   User Experience

  Questions
The Worlds Largest? Really?

  Over 65,000+ Users
  105 Countries
  14 different resources from PSC
  14,000 consulting hours
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
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
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
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
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
Recommendations

  Individual servers for each developer
   •   Same domain to replicate NABs
   •   SSJS debugging
   •   No cross building issues
  Source control
  Master build management
Recommendations

  Virtual Machine (VM) distribution
    • Mimic production environment
    • Reducing testing incongruity
    • Maximizing productivity
    • Easy to deploy to new team members
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
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
Performance - SCXD
  Opening the Team Room in the notes client
Performance - SCXD
  View source for a database WITHOUT SCXD
Performance - SCXD
  Open the database in designer to enable Single Copy
   XPages design
Performance - SCXD
  Open the database in designer to enable single copy XPage
   design
Performance - SCXD
  Shut Notes and reopen the database – path to the SCXD
   NOT the database
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
Performance - SCXD
  Create a local replica of the SCXD
Performance - SCXD
  Open the SERVER copy of the database
Performance - SCXD
  The server database is now using the LOCAL resources
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!
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
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
Performance - PreLoad
Performance - PreLoad
  OSGI console will show the preloading information after
   client load
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
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
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
Views – Out of the Box Usability




                                   F
  Paging through thousands of records is not practical
Views – Search




                         C-
  Your users don’t know FT search syntax…
Views – Query Builder




                        B+
Views – EXTJS Grid




                     A+
Views – EXTJS Grid Architecture
Demonstration


  A sample database will be shown to provide
   working examples
  This database will be made available after the conference
Questions and Answers
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)
Legal disclaimer
     © IBM Corporation 2013. All Rights Reserved.


     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.


     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.


     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.




41           © 2013 IBM Corporation
Lessons learned from the worlds largest XPage project

More Related Content

What's hot

HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseHBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseEdureka!
 
Azure Storage Revisited
Azure Storage RevisitedAzure Storage Revisited
Azure Storage RevisitedJoel Cochran
 
D Maeda Bi Portfolio
D Maeda Bi PortfolioD Maeda Bi Portfolio
D Maeda Bi PortfolioDMaeda
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetJeno Yamma
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery GuideMark Rackley
 
Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...
Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...
Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...Cathrine Wilhelmsen
 
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)c4rl
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4Hal Stern
 
Introduction to Theme Preprocess Functions
Introduction to Theme Preprocess FunctionsIntroduction to Theme Preprocess Functions
Introduction to Theme Preprocess Functionsc4rl
 
What's New in DITA 1.3
What's New in DITA 1.3What's New in DITA 1.3
What's New in DITA 1.3IXIASOFT
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systemselliando dias
 
Sql portfolio admin_practicals
Sql portfolio admin_practicalsSql portfolio admin_practicals
Sql portfolio admin_practicalsShelli Ciaschini
 
Lessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQLLessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQLEnda Farrell
 
Indexes: The neglected performance all rounder
Indexes: The neglected performance all rounderIndexes: The neglected performance all rounder
Indexes: The neglected performance all rounderMarkus Winand
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web ApplicationsMarkku Laine
 
YOUR machine and MY database - a performing relationship!?
YOUR machine and MY database - a performing relationship!?YOUR machine and MY database - a performing relationship!?
YOUR machine and MY database - a performing relationship!?Martin Klier
 
DBM 380 EDU Wonderful Education--dbm380edu.com
DBM 380 EDU Wonderful Education--dbm380edu.comDBM 380 EDU Wonderful Education--dbm380edu.com
DBM 380 EDU Wonderful Education--dbm380edu.comJaseetha20
 
Rewriting the Drupal Theme layer
Rewriting the Drupal Theme layerRewriting the Drupal Theme layer
Rewriting the Drupal Theme layerc4rl
 
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Knut Relbe-Moe [MVP, MCT]
 

What's hot (20)

HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL databaseHBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
HBase Vs Cassandra Vs MongoDB - Choosing the right NoSQL database
 
Azure Storage Revisited
Azure Storage RevisitedAzure Storage Revisited
Azure Storage Revisited
 
D Maeda Bi Portfolio
D Maeda Bi PortfolioD Maeda Bi Portfolio
D Maeda Bi Portfolio
 
Snowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat SheetSnowflake SnowPro Certification Exam Cheat Sheet
Snowflake SnowPro Certification Exam Cheat Sheet
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...
Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...
Upgrading from SSIS Package Deployment to Project Deployment (SQLSaturday Den...
 
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
Theme preprocess functions: An Introduction (DrupalCamp NYC 10 2011)
 
Parsing strange v4
Parsing strange v4Parsing strange v4
Parsing strange v4
 
Introduction to Theme Preprocess Functions
Introduction to Theme Preprocess FunctionsIntroduction to Theme Preprocess Functions
Introduction to Theme Preprocess Functions
 
Xml
XmlXml
Xml
 
What's New in DITA 1.3
What's New in DITA 1.3What's New in DITA 1.3
What's New in DITA 1.3
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
 
Sql portfolio admin_practicals
Sql portfolio admin_practicalsSql portfolio admin_practicals
Sql portfolio admin_practicals
 
Lessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQLLessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQL
 
Indexes: The neglected performance all rounder
Indexes: The neglected performance all rounderIndexes: The neglected performance all rounder
Indexes: The neglected performance all rounder
 
Local Storage for Web Applications
Local Storage for Web ApplicationsLocal Storage for Web Applications
Local Storage for Web Applications
 
YOUR machine and MY database - a performing relationship!?
YOUR machine and MY database - a performing relationship!?YOUR machine and MY database - a performing relationship!?
YOUR machine and MY database - a performing relationship!?
 
DBM 380 EDU Wonderful Education--dbm380edu.com
DBM 380 EDU Wonderful Education--dbm380edu.comDBM 380 EDU Wonderful Education--dbm380edu.com
DBM 380 EDU Wonderful Education--dbm380edu.com
 
Rewriting the Drupal Theme layer
Rewriting the Drupal Theme layerRewriting the Drupal Theme layer
Rewriting the Drupal Theme layer
 
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
 

Similar to Lessons learned from the worlds largest XPage project

We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT Group
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages ApplicationsNiklas Heidloff
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentTeamstudio
 
AD308: XPages in a Social World
AD308: XPages in a Social WorldAD308: XPages in a Social World
AD308: XPages in a Social Worldpaidi_ed
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesEamon Muldoon
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingChris Bailey
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience NeededKathy Brown
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102Scott Souder
 
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 beginsLetsConnect
 
Connect 2014 SHOW102: XPages Still No Experience Necessary
Connect 2014 SHOW102: XPages Still No Experience NecessaryConnect 2014 SHOW102: XPages Still No Experience Necessary
Connect 2014 SHOW102: XPages Still No Experience Necessarypanagenda
 
MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications
MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications
MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications Franziska Tanner
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
 
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Mark Roden
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixMartin Donnelly
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development Shean McManus
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
 
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14p6academy
 

Similar to Lessons learned from the worlds largest XPage project (20)

What's new in designer
What's new in designerWhat's new in designer
What's new in designer
 
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application developmentWe4IT lcty 2013 - infra-man - whats new in ibm domino application development
We4IT lcty 2013 - infra-man - whats new in ibm domino application development
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application Development
 
AD308: XPages in a Social World
AD308: XPages in a Social WorldAD308: XPages in a Social World
AD308: XPages in a Social World
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance Troubleshooting
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
IBM Connect 2014 KEY102
IBM Connect 2014 KEY102IBM Connect 2014 KEY102
IBM Connect 2014 KEY102
 
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
 
Connect 2014 SHOW102: XPages Still No Experience Necessary
Connect 2014 SHOW102: XPages Still No Experience NecessaryConnect 2014 SHOW102: XPages Still No Experience Necessary
Connect 2014 SHOW102: XPages Still No Experience Necessary
 
MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications
MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications
MWLUG 2017: BP107 Plotting the Path for your IBM Domino Applications
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
 
Ibm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applicationsIbm worklight - going from xpages mobile to native mobile applications
Ibm worklight - going from xpages mobile to native mobile applications
 
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
Connect 2014 - EXTJS in XPages: Modernizing IBM Notes Views Without Sacrifici...
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With Bluemix
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
 
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
Case study migration from cm13 to cm14 - Oracle Primavera P6 Collaborate 14
 

More from Mark Roden

Office script labs
Office script labsOffice script labs
Office script labsMark Roden
 
Websockets: Pushing the web forward
Websockets: Pushing the web forwardWebsockets: Pushing the web forward
Websockets: Pushing the web forwardMark Roden
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPagesMark Roden
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesMark Roden
 

More from Mark Roden (6)

Office script labs
Office script labsOffice script labs
Office script labs
 
Iconus 2016
Iconus 2016Iconus 2016
Iconus 2016
 
Websockets: Pushing the web forward
Websockets: Pushing the web forwardWebsockets: Pushing the web forward
Websockets: Pushing the web forward
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPages
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
 

Recently uploaded

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Lessons learned from the worlds largest XPage project

  • 1. BP211 Lessons From the Worlds Largest XPages Project Andrew Barickman | Practice Leader, PSC Group LLC Mark Roden | Senior Consultant, PSC Group LLC © 2013 IBM Corporation
  • 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
  • 4. www.psclistens.com @pscgroup
  • 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
  • 16. Performance - SCXD  Opening the Team Room in the notes client
  • 17. Performance - SCXD  View source for a database WITHOUT SCXD
  • 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
  • 22. Performance - SCXD  Create a local replica of the SCXD
  • 23. Performance - SCXD  Open the SERVER copy of the database
  • 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…
  • 35. Views – Query Builder B+
  • 36. Views – EXTJS Grid A+
  • 37. Views – EXTJS Grid Architecture
  • 38. Demonstration  A sample database will be shown to provide working examples  This database will be made available after the conference
  • 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)
  • 41. Legal disclaimer © IBM Corporation 2013. All Rights Reserved. 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. 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. 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. 41 © 2013 IBM Corporation