SlideShare ist ein Scribd-Unternehmen logo
1 von 48
IBM XPages The Next Step in Your Life As a Notes Developer Peter Presnell  (GBS) Paul Calhoun  (GBS)
Peter Presnell
Paul Calhoun
The Generic Pronoun Y'all  (yaaaaawl)
WARNING The following presentation contains absolutely NO CODE!!!!
I'm A Notes Programmer
The Power User ,[object Object]
Forms, Views, Pages, Outlines
Simple Actions, @Formulae
LotusScript: In-Line
SDLC: None
The Traditional Notes Developer ,[object Object]
LotusScript: Libraries (Procedural)
Event Programming
Templates
SDLC: Iterative Prototyping or Waterfall
The Software Engineer ,[object Object]
LotusScript: Libraries (OOP)
Java & JavaScript Frameworks
Web Services & SOA
SDLC: Agile & Test Driven Development
OpenSource
Architecture
NSF Container ,[object Object]
Integrated Code/Data
Non-SQL
DAOS
Security ,[object Object]
Roles
ECLs
Server Access
Reader/Author Fields ,[object Object]
Roles
ECLs (XPiNC)
Server Access*
Reader/Author Fields
Replication & Clustering ,[object Object]
Clustered
Failover ,[object Object]
Client/Server Model ,[object Object]
Client Validation
UI Dialogs Server Based (JSF) ,[object Object]
JavaScript V SSJS
AJAX Support
Scope
R apid  A pplication  D evelopment
As A RAD Tool ,[object Object]
Well Documented

Weitere ähnliche Inhalte

Was ist angesagt?

Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overviewRohan Walia
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Supportandrejusb
 
ADF Bindings & Data Controls
ADF Bindings & Data ControlsADF Bindings & Data Controls
ADF Bindings & Data ControlsRohan Walia
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationIMC Institute
 
.NET ONLINE TRAINING COURSE CONTENT
.NET ONLINE TRAINING COURSE CONTENT .NET ONLINE TRAINING COURSE CONTENT
.NET ONLINE TRAINING COURSE CONTENT raaviraja
 
Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Rishi Kothari
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pactandrejusb
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETV Sanchez
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - IntroductionJoel Briza
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)Wilfred van der Deijl
 
CSS Architecture: Writing Maintainable CSS
CSS Architecture: Writing Maintainable CSSCSS Architecture: Writing Maintainable CSS
CSS Architecture: Writing Maintainable CSSAlexei Skachykhin
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle FormsRoel Hartman
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersJithin Kuriakose
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resourceskeith_sutton100
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controlsrramabad
 

Was ist angesagt? (19)

Extensions in OAF
Extensions in OAF Extensions in OAF
Extensions in OAF
 
Webapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh guptaWebapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh gupta
 
Adf & Jdeveloper overview
Adf & Jdeveloper overviewAdf & Jdeveloper overview
Adf & Jdeveloper overview
 
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI SupportOracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
Oracle Alta UI Patterns for Enterprise Applications and Responsive UI Support
 
ADF Bindings & Data Controls
ADF Bindings & Data ControlsADF Bindings & Data Controls
ADF Bindings & Data Controls
 
Java Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web ApplicationJava Web Programming [1/9] : Introduction to Web Application
Java Web Programming [1/9] : Introduction to Web Application
 
.NET ONLINE TRAINING COURSE CONTENT
.NET ONLINE TRAINING COURSE CONTENT .NET ONLINE TRAINING COURSE CONTENT
.NET ONLINE TRAINING COURSE CONTENT
 
Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pact
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
 
Oracle adf
Oracle adfOracle adf
Oracle adf
 
ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)ADF Worst Practices (UKOUG Tech2013)
ADF Worst Practices (UKOUG Tech2013)
 
CSS Architecture: Writing Maintainable CSS
CSS Architecture: Writing Maintainable CSSCSS Architecture: Writing Maintainable CSS
CSS Architecture: Writing Maintainable CSS
 
Integration of APEX and Oracle Forms
Integration of APEX and Oracle FormsIntegration of APEX and Oracle Forms
Integration of APEX and Oracle Forms
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resources
 
Raj Wpf Controls
Raj Wpf ControlsRaj Wpf Controls
Raj Wpf Controls
 

Andere mochten auch

Asymetric Modernization
Asymetric ModernizationAsymetric Modernization
Asymetric ModernizationPeter Presnell
 
IBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPagesIBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPagesNiklas Heidloff
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixMartin Donnelly
 
A (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantA (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantFrank van der Linden
 

Andere mochten auch (7)

Asymetric Modernization
Asymetric ModernizationAsymetric Modernization
Asymetric Modernization
 
Beyond XPages
Beyond XPagesBeyond XPages
Beyond XPages
 
IBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPagesIBM Bluemix for Administrators with Focus on XPages
IBM Bluemix for Administrators with Focus on XPages
 
The Graph Revolution
The Graph RevolutionThe Graph Revolution
The Graph Revolution
 
Modernization Math
Modernization MathModernization Math
Modernization Math
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With Bluemix
 
A (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantA (XPages) developers guide to Cloudant
A (XPages) developers guide to Cloudant
 

Ähnlich wie XPages: The Next Step In Your Life As A Notes Developer

Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in actionMilan Vukoje
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformAlfresco Software
 
PLSQL Developer tips and tricks
PLSQL Developer tips and tricksPLSQL Developer tips and tricks
PLSQL Developer tips and tricksPatrick Barel
 
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)Dave Bost
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP DevelopersWes Yanaga
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Bruce Johnson
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Jaime Cid
 
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesComposite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesMike Walker
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Steve Lange
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
Introduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsIntroduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsAbdelmonaim Remani
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 

Ähnlich wie XPages: The Next Step In Your Life As A Notes Developer (20)

Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
Soprex framework on .net in action
Soprex framework on .net in actionSoprex framework on .net in action
Soprex framework on .net in action
 
Introduction to Alfresco Surf Platform
Introduction to Alfresco Surf PlatformIntroduction to Alfresco Surf Platform
Introduction to Alfresco Surf Platform
 
Atlas Php
Atlas PhpAtlas Php
Atlas Php
 
PPT
PPTPPT
PPT
 
PLSQL Developer tips and tricks
PLSQL Developer tips and tricksPLSQL Developer tips and tricks
PLSQL Developer tips and tricks
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
 
ASP
ASPASP
ASP
 
Help desk
Help deskHelp desk
Help desk
 
ASPNET for PHP Developers
ASPNET for PHP DevelopersASPNET for PHP Developers
ASPNET for PHP Developers
 
Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0Overview of VS2010 and .NET 4.0
Overview of VS2010 and .NET 4.0
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 
Flex RIA
Flex RIAFlex RIA
Flex RIA
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
Composite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business ArchitecturesComposite Applications Speaking Tour - Lap Around Office Business Architectures
Composite Applications Speaking Tour - Lap Around Office Business Architectures
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Introduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsIntroduction To Rich Internet Applications
Introduction To Rich Internet Applications
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 

Mehr von Peter Presnell

Lotus Notes: Simplicity
Lotus Notes: SimplicityLotus Notes: Simplicity
Lotus Notes: SimplicityPeter Presnell
 
MWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed SponsoringMWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed SponsoringPeter Presnell
 
MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)Peter Presnell
 
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To YouMWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To YouPeter Presnell
 
Modern Notes: Databases
Modern Notes: DatabasesModern Notes: Databases
Modern Notes: DatabasesPeter Presnell
 
Future Proofing Notes Client Applications
Future Proofing Notes Client ApplicationsFuture Proofing Notes Client Applications
Future Proofing Notes Client ApplicationsPeter Presnell
 
Lotus Notes: Live Long and Prosper
Lotus Notes: Live Long and ProsperLotus Notes: Live Long and Prosper
Lotus Notes: Live Long and ProsperPeter Presnell
 
ATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern DominoATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern DominoPeter Presnell
 
ATLUG Day of Champions
ATLUG Day of ChampionsATLUG Day of Champions
ATLUG Day of ChampionsPeter Presnell
 
The History of Lotus Notes
The History of Lotus NotesThe History of Lotus Notes
The History of Lotus NotesPeter Presnell
 
Modern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 SummaryModern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 SummaryPeter Presnell
 
Modern Domino: IBM Connect 2014 Preview
Modern Domino:  IBM Connect 2014 PreviewModern Domino:  IBM Connect 2014 Preview
Modern Domino: IBM Connect 2014 PreviewPeter Presnell
 
Modern Domino: Booleans
Modern Domino: BooleansModern Domino: Booleans
Modern Domino: BooleansPeter Presnell
 
Modern Domino: Android 4.4 (KitKat)
Modern Domino:   Android 4.4 (KitKat)Modern Domino:   Android 4.4 (KitKat)
Modern Domino: Android 4.4 (KitKat)Peter Presnell
 

Mehr von Peter Presnell (20)

Lotus Notes: Simplicity
Lotus Notes: SimplicityLotus Notes: Simplicity
Lotus Notes: Simplicity
 
Big Data With Graphs
Big Data With GraphsBig Data With Graphs
Big Data With Graphs
 
MWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed SponsoringMWLUG 2014: Red Pill Development Speed Sponsoring
MWLUG 2014: Red Pill Development Speed Sponsoring
 
MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)
 
MWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To YouMWLUG 2014: ATLUG Comes To You
MWLUG 2014: ATLUG Comes To You
 
Modern Notes: Databases
Modern Notes: DatabasesModern Notes: Databases
Modern Notes: Databases
 
Future Proofing Notes Client Applications
Future Proofing Notes Client ApplicationsFuture Proofing Notes Client Applications
Future Proofing Notes Client Applications
 
Lotus Notes: Live Long and Prosper
Lotus Notes: Live Long and ProsperLotus Notes: Live Long and Prosper
Lotus Notes: Live Long and Prosper
 
ATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern DominoATLUG Tack-It-On Modern Notes:Modern Domino
ATLUG Tack-It-On Modern Notes:Modern Domino
 
ATLUG Day of Champions
ATLUG Day of ChampionsATLUG Day of Champions
ATLUG Day of Champions
 
Where's Domino?
Where's Domino?Where's Domino?
Where's Domino?
 
The History of Lotus Notes
The History of Lotus NotesThe History of Lotus Notes
The History of Lotus Notes
 
Lotusphere
LotusphereLotusphere
Lotusphere
 
The Mobile World
The Mobile WorldThe Mobile World
The Mobile World
 
Modern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 SummaryModern Domino: IBM Connect 2014 Summary
Modern Domino: IBM Connect 2014 Summary
 
Modern Domino: IBM Connect 2014 Preview
Modern Domino:  IBM Connect 2014 PreviewModern Domino:  IBM Connect 2014 Preview
Modern Domino: IBM Connect 2014 Preview
 
redpill Now
redpill Nowredpill Now
redpill Now
 
Modern Domino: Booleans
Modern Domino: BooleansModern Domino: Booleans
Modern Domino: Booleans
 
Modern Domino: Icons
Modern Domino: IconsModern Domino: Icons
Modern Domino: Icons
 
Modern Domino: Android 4.4 (KitKat)
Modern Domino:   Android 4.4 (KitKat)Modern Domino:   Android 4.4 (KitKat)
Modern Domino: Android 4.4 (KitKat)
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

XPages: The Next Step In Your Life As A Notes Developer

Hinweis der Redaktion

  1. G'day and welcome to today's presentation IBM XPages The Next Step in Your Life as a Notes Developer
  2. But first a Warning This presentation contains absolutely NO CODE If you are a code junkie and you are here only to overdose on XPages code I'm sorry... but you'll need to look elsewhere for a FIX.
  3. So lets get started.... No two Notes developers are alike We are all individuals Our ability to adapt to XPages is going to vary person by person. For the work I do at GBS I have developed personas for three broad categories of Notes developers. Let's take a quick look at Tom, Dick, and Harry three Notes developers whose approach to Notes development (and XPAGES)... is going to vary quite a bit.
  4. Tom is our Typical Power User He is not a full-time developer He is a business user who has found that Notes is a very powerful tool to help him automate his job He can't wait for IT to solve his problems so he solves them himself Of course he uses Lotus Notes... He develops application for the Notes client only He typically creates Forms, Views (and occasionally) Pages and Outlines He adds business logic to his applications using Simple Actions & @Formulae On the odd occasion he feels brave and codes some in-line LotusScript The LS code is usually stolen (oops) borrowed from other apps He does not use a formal SDLC... he know what he wants and he just does it. Tom's approach is simple but very very effective His applications are never documented and when he leaves nobody knows anything about how they work Tom is the backbone of a movement that has seen Notes applications explode across his organization XPages is not going to be a good match form Tom at all At least not in the current version of Xpages available today Tom's needs are probably going to be best met by continuing to develop Notes classic applications.
  5. Dick is our Traditional Notes Developer. His full-time role is to develop Notes applications. Dick was once a power user but has since taken his skills to the next level He develops a mix of Notes client and Web client applications. He writes most of his business logic using LotusScript Some (but not all) of this is now placed in LotusScript libraries. The code is procedural. He makes extensive use of the Notes event model to add logic to his applications. Dick has learnt the value of agents. These are coded using a combination of @Formula or LS. Dick has libraries of LS code he reuses in many of his apps. He has learnt the power of templates Dick is a one man Notes programming machine. He prefers to use an iterative prototyping methodology whenever he can. For larger projects his company requires him to follow a formal (waterfall) SDLC. Dick attends Lotusphere and other User group events whenever he can to take his development skills to the next level. Lately he has been hearing a lot about XPages and he is ready to take the next step. The good news is that XPages is probably going to be a good match for Dick. He has the skills to make the jump and he is motivated to learn something new and exciting.
  6. Now... lets meet Harry Harry is a software engineer He has only been working with Lotus Notes for a few years He has a University degree in Computer Science and has done some programming with Java, Ruby, and C# He places almost all his LS code in libraries using OOP Harry already uses Java to write some of the business logic for his applications He is the "Go to" guy the company turns to when they need a quick solution for the Notes Client or Web client. Lately he has been getting a lot of requests to develop mobile applications Harry makes a lot of use of dojo along with a number of Open Source java projects. Dick likes to use Agile SDLCs and favours Test-Driven development Dick's company has just migrated from Notes/Domino 7 To Notes 8.5.2. This means he is now able to start to make use of Xpages for many of his projects. XPages is going to provide Harry with a lot of power and flexibility he never had before. Unlike Dick, Harry is probably going to be inclined to use Java quite extensvely when he builds applications. He is likely to be the first person in hois company to make extensive use of plug-ins, the XPages Extension Library and the IBM Social Business toolkit.
  7. So let's now take a look at the architecture of Notes application development. Comparing and contrasting Notes Classic and XPages
  8. Perhaps the most striking thing about the architecture of Notes is the NSF container The NSF container is an important part of what makes Notes RAD It provides a single container for both application code and data This makes it very easy and very fast to deploy onto one or more servers. The NSF is a distinctly non-SQL data store. A characteristic that has started to become fashionable in the IT world some 20 years after Notes first started doing it. The NSF also supports DAOS as a way of centralizing multiple instances of large attachments The good news is that the NSF is the same container used to deliver BOTH Notes Classic and XPages applications.
  9. Alongside the NSF we have the Notes Security model. Many of the security constructs we use with Notes Classic applications such as ACLS, Roles, Server Access and Reader/Author fields remain the same. One major difference is that the concept of ECLs do not exist in a Web browser. There are also some differences in the way Server Access is implemented because much of the XPage code is now being executed on the server rather than inside the Notes Client. So there are some differences to watch out for... Note: It is possible to run XPages applications inside the Notes Client in what is known as XPiNC. The security model for XPiNC is a lot closer to the security model for Notes Classic. We will cover XPiNC in more detail a little later in the presentation.
  10. Another great strength of Notes Application development has been Replication and Clustering. It is very simple to deploy multiple instances of a single application to servers around the world to reduce potential performance bottlenecks. While Replication and Clustering will continue to work the same, they will play a slightly different role in XPages applications. Especially those being accessed via a Web browser. XPiNC supports failover, but the concept is foreign to Browser-based applications. The concepts of Web farms and load balancing are not yet fully supported by XPages and care should be taken when deploying XPage applications onto multiple servers.
  11. The client/server model used by XPages differs significantly from Notes classic applications. As an Xpage developer, this is where you will probably face your greatest challenges adjusting to the Xpage architecture. Notes client applications typically operate with a thick client model. Almost all of the business logic written using simple actions; @formulae; and LotusScript executes on the Notes client. With XPages, much of the code (SSJS) executes on the server. Conversations with the user must be designed differently. For example... Field validation will typically now be done on the server. So it will be better to validate all the fields at once and provide a list of issues, rather than validate fields one at a time. Whereas almost everything was previously done with LotusScript you will now find yourself having to make choices between the use of (client sided) JavaScript and SSJS. Highly interactive applications will make extensive use of Ajax, which is integrated into XPages. Because much of the business logic for you applications now runs on the server it will become necessary to remember information between interactions with the user. This involves learning about the use of Scoped variables such as Session Scope, Application Scope, and View Scope. You may also need to learn about things such as serialization, a requirement for data to be saved as scope variables.
  12. As I mentioned in my introduction Lotus Notes is renowned as being a great tool for Rapid Application Development. When your employer needs an application developed quickly there is always Lotus Notes.
  13. What has made Notes classic such a great RAD tool is that it is... Easy to learn & Well documented And it provides a toolkit that allows applications to be built from scratch in a fraction of time other development platforms requires. Notes applications are integrated into the Notes client that delivers a comprehensive set of capabilities that are automatically available to all Notes applications. Things such as Security.. Searching.. Integrated IM, and Offline support XPages in its current form still presents some challenges as a RAD tool It is a lot more complicated making it harder to get started with your "First App" IBM continue to have disappointed with the level and quality of documentation that is available. But there are ways to minimize this XPages is way way more powerful and way way more extensible. This means that ultimately you are going to be able to take Xpages development to levels never before possible with Notes Classic. XPages is still in the early stages of its life. Expect to see some major improvements over the next 1-2 years that will dramatically improve the RAD capabilities of the platform. IBM seem to be starting to recognize the importance of Notes as a RAD tool.. Especially in the area of developing Social Applications. This includes the availability of the Xpages Extension Library and the IBM Social Business Toolkit.
  14. RAD is very dependant on the ability to reuse code... With Notes classic we had a range of features such as Shared Fields Shared Columns Subforms and Script Libraries that allow us to reuse components within the same application and across multiple applications With XPages we get a new design element known as The Custom Control I often here Custom Controls described as Subforms on Steroids. We will cover these in a little more detail later For Java developers we have the ability to build custom components Script libraries continue to be an option for (client) JavaScript and SSJS. In 8.5.3 we will also see a new Java Element being added XPages also has integrated support for CSS and Themes allowing multiple applications to be developed using a consistent look and feel.
  15. One of the things that differentiates IBM from Microsoft is the support for Open Standards. Microsoft prefers to lock its customers in to a proprietary stack. In contrast, IBM are showing a preference to support open standards. This is much more evident with XPages than Notes classic With Notes classic we had a few resources such as OpenNTF that allowed Notes developers to download templates and code snippets for use in applications. With XPages we continue to see templates available on OpenNTF. We also have the ability to extend applications through the use of custom controls, components, and plug-ins. By supporting open standards we as XPage developers also have a greater capacity to go beyond the yellow bubble to share and participate in a much wider range of OpenSource projects such as the great many OpenSource Java projects that are available.
  16. To many developers, Notes Classic development was synonymous with Notes client development. Yes you can also make those applications run in a Web browser, but this often required a multitude of hacks to make it work. Out of the box Notes delivered GREAT Notes client applications. With XPages the focus is more on Web development. It is possible to build XPages that run in the Notes client. This uses XPiNC which effectively runs a XULRunner browser session inside the Notes client. It does work, but I would look on it more (as it exists today) as being Xpages supporting the Notes Client with a similar level of success as which Notes Classic supported Web Browsers.
  17. There are some important capabilities available when building Xpage applications for XPiNC that you should be aware of... XPiNC allows the use of standard Notes ID authentication rather than the Web browser authentication we are probably already familiar with. XPiNC will support taking an XPages application Offline. XPiNC will allow agents to be executed on the Client. This may be very important when taking applicatiosn already built with significant amounts of LotusScript code inside agents. Remember: LotusScript does not execute inside an XPage. XPiNC provides Failover capabilities should one server in a cluster become unavailable. With XPiNC Dialogs with the user make use of the Native Operating System. XPiNC also provides native support for the detection of unsaved documents prompting the user to save their changes before navigating away from the current page. For browser-based applications this logic must be added manually to the app.
  18. As mentioned on the last slide... Web development is doable In Notes Classic (or Domino Web Development), but it often required a lot of hacks. We had separate WebQueryOpen and WebQuerySave agents, PassThruHTML could be added to Form/Pages HTML tags could be added to View Columns JavaScript caould be added to some events It usually possible to get the job done but the code was often difficult to maintain. It was a software engineers nightmare... With XPages, development for Web clients is standard. The XPage platform is designed to deliver modern Web 2.0 applications.
  19. OK... Let's now take a look at the Data Access layer When we think of Notes Applications we rarely think of them as having a Data Access layer... The data is just there
  20. In Notes Classic our database contains a loose collection of documents. Each document is typically associated with a Form that is used to view/maintain data in that document. Somehow Notes magically puts all the data there. With XPages we are introduced to the concept of DataSources One of the available Data Sources is the NotesForm The NotesForm allows us to associate data in a Notes document with controls on an XPage We can use Forms from existing applications or build new Forms from Scratch. In the XPages realm the only thing important about a form is providing a list of fields. Any formatting and business logic added to the form is largely ignored.
  21. Typically Notes applications make extensive use of Views and Folders. For Views, selection formula defines those documents that are to be included. Columns are added to views to define the data that is to be available for each row (or document) With Notes Classic data definitions are combined with the presentation characteristics. Each view is only able to be presented the one way. In Xpages we have the NotesView datasource which can be used to display the contents of views on anXPages The same view can be used on multiple Xpages, with each Xpage able to present the data in different ways. Additional columns can be added to a view, including the ability to join data together from multiple documents. A capability that has long been the holy grail for many Notes classic developers. The Repeat Control in Xpages also privides some very interesting capabilities for looping over the contents of a view/folder to display data in a number of ways never before possible. And the possibilities don't end there.... In Notes Classic a form is typically bound to a single document and a view displays... well the view With XPages it is possible to include data from multiple sources. This includes displaying multiple documents and or views on a single XPage. We are also not constrained to working with data from the NSF container. t is also posisble to bind data to XML sources and even other Relational database. In the future it will be this capability that takes Notes development into a whole new frontier of opportunities.
  22. Next we will review the Presentation Layer This is where the rubber meets the road in a Notes application
  23. Notes Classic has a comprehensive range of design elements and controls which can be used to display the data inside an NSF to the user. For Xpages Forms and Pages are replaced by a single design element - The XPage We have a much broader range of controls that can be added to An XPage We have a range of container controls such as Divs There are a wide range of input controls to display and capture data The Repeat Control provides a powerful way to repeat information without the need to resort to the treasured Notes Classic technique of Field_1, Field_2 etc along with suitable to Hide-When formulae to display just those rows with data. The concept of Hide-When formulae is replaced by the Rendered property. Instead of when not to display something we now use tyhe much more intuitive When to display something logic. Form properties typically have static values in Notes Classic. In XPages we have the blue diamond that allows most properties to have their values computed.
  24. The concept of Subforms in Notes Classic is replaced by Custom Controls Custom Controls are way more powerful than Subforms allowing the developer to do things such as.. Using the same field in multiple locations The same custom control can be used multiple times within the same XPage. For example within a Repeat Control Custom Controls support properties allowing data to be passed from the parent to the custom control. Trust me... As an Xpage developer You are going to love Custom Controls.
  25. As you would expect in any modern Web development platform XPages have integrated support for both CSS and Themes. While CSS had limited support in Notes Classic XPages allow almost all visual components to be linked to CSS classes. Classes can be computed using business logic to dynamically change the look of an application based upon conditions at runtime. Themes build on CSS by allowing browser specific needs to be taken into account. Themes are also a way to make an application look different on different devices.
  26. I would like to draw you attention to one specific CSS Framework. OneUI.... This is a set of Styles/Themes developed by IBM. It is not a requirement that you adopt OneUI in your own applications. But it is important to know that it is there and that this represents the look & feel that IBM is using within their own products. This includes the Notes Mail template, the new TeamRoom template, Lotus Connections LotusLive etc. Future versions of OneUI will also incorporate many of the design ideas developed as part of project Vulcan.
  27. HTML is always an important part of any Web application. With Domino Web Development it was almost always necessary to intervene and inject your own HTML into the application in order to make the application look good. or even to behave correctly. With XPages it is possible in many situations to completely forget about HTML. The controls provided by XPages simply take care of that entire layer of complexity. XPages provides a default render kit that generates the necessary HTML for most modern browsers. But like a lot of things with XPages... If you don't like the way it does things you have the option of doing things yourself. The XPage event model support beforeRender and afterrender events that allow you to add additional logic just before or just after the HTML has been generated. In addition it is possible to build your own render kits that render controls in a completely different way. One example of this we are exploring at GBS is the ability to automatically render an application on a mobile device in a completely different way to a standard browser. Not by changing the presentation layer in the XPage but by developing separate render kits that control how each component is rendered on each device.
  28. Moving along... Lets now take a look at how we represent our Business logic inside a Notes application
  29. Notes Classic provides 14 Simple Actions which can be used as a quick way of performing common tasks With XPages we have 12 server and 3 client based simple actions. With XPages however you also have the ability to define your own simple actions.
  30. Notes Classic provides us with a portfolio of 300 @Functions and 391 @Commands. This forms the cornerstone for the way in which many people like to add logic to their applications. With XPages IBM have extended SSJS with the implementation of 96 @Functions. Most of those are the same as the most commonly used @Functions We all know and love in Notes Classic such as @DbColumn and @Dblookup. There are also some new @Functions It is important to note that even where the same name has been used not all the @Formula available in SSJS behave exactly the same way as the originals. XPages being XPages it is possible to define your own @Formulae and even to change the behavior of IBM's implementation of @Formulae.
  31. Since Notes 4, LotusScript has dominated to become the language of choice for most Notes developers. In the main the business logic implemented using LotusScript Code will now be implemented using SSJS. This is where much of the “pain” of learning XPages will be felt. SSJS is a new language based upon JS that needs to be mastered. There are many similarities and an equal number of differences. If you already know JS you have a GREAT start. An XPage Application can continue to use LotusScript code to support Agents and Web Services. XPages also supports another scripting language known as Expression Language. To find out more about EL you may need to refer to Text Books or Documentation on JSF as there is little documentation for EL within XPages.
  32. Client Sided scripting is largely the domain of JavaScript. This is pretty much the case for all Web browser based applications. If you haven't already mastered JS the good news is that there are large number of books and on-line material available to get started. And remember, in learning JS you are acquiring a skillset that can be used in almost any Web development platform.
  33. There are many JS frameworks available such as JQuery, YUI, Ext.ND, Prototype, and Dojo. Like any framework, they reduce the amount of code required to perform a task by implementing a set of common tasks in a callable library. As an XPage developer you are free to choose any JavaScript framework. You will probably need at least one to implement any form of sophisticated client-sided logic. Keep in mind that Dojo is integrated into XPages and forms the basis for many of the controls. If you don't have a compelling case to use something else, I would suggest at least starting with dojo. Dojo has a comprehensive library of tools that include Input Controls, charting, image previews, data grids, AJAX support, and even controls for mobile devices.
  34. For heavy duty programming there is Java. Java has been available within Lotus Notes Since Notes R5 but its use has never really taken off. To fully harness the power of XPages you are going to need to develop Java skills. This is unlikely to be a requirement to get started with XPages but you should For Software Engineering this is far and away the best option for implementing OOP concepts such as Classes, Interfaces, Delegates, Event Listeners etc. If you work as part of a large Notes development team you may want to consider adding a Java expert to your team to cross-train your Notes Classic developers.
  35. Almost all Notes Developers will be familiar with the Notes Document Object Model (DOM). Whether you program in LotusScript, Java, or COM, the DOM provides a way to access the content of Notes databases. Many, but not all, of the same classes such as NotesDatabase, NotesView, and NotesDocument continue to be available from SSJS. SSJS also supports a number of new classes such as the NotesXSPDocument and NotesXSPViewEntry to access XPage specific information.
  36. The Event Model changes dramatically between Notes, Domino Web Development, and XPages. Each XPage has its own set of events that operate based upon the lofecycle of the actual XPage. Xpages supports multiple datasources so, in addition, each NotesForm DataSource will have a set of events such as queryNewDocument queryOpenDocument postSaveDocument Likewise every NotesView Datasource wull have a set of events such as queryOpenView postOpenView
  37. Finally, lets take a quick look at some of the tools we will be using or have option of using to assist us develop our first few Xpage applications.
  38. Domino Designer for Eclipse is used to develop both Notes Classic and XPage applications. The XPage editors are all Eclipse components, so DDE is actually a better fit for DDE than Notes Classic Design Elements. Much of the wasted screen real-estate that exists when editing Notes Classic applications will contain useful information when editing XPage design elements. With DDE 8.5.3 you are likely to see separate perspectives provided for Not Classic or Xpages. You will get productivity gains from the Source Code view and the drag/drop capabilities for controls. The biggest drawback of DDE is likely to be the lack of a debugger fro SSJS and XPages in general.
  39. Notes Classic does not provide any integrated SCM. It was however possible to use a 3 rd parth tool such as TeamStudio CIAO to add SCM to Notes Applications. XPages still does not provide SCM. As part of the Eclipse framework it does however provide much better integration for SCM tools that support Eclipse. This includes Sunversion (SVN) and GIT. Products such as Rally can be used to integrate Code Management with Task Management and Time Management.
  40. There is a growing list of resources available to learn more about XPages. Some of my favorites include:- The Mastering XPages book written by the developers of XPages inside IBM. The Notes In 9 Series of FREE videos produced by David Leedy. The XPages Cheat Sheet also developed by David Leedy. OpenNTF.Org is a great place to download examples of XPage applications. Being OpenSource you are free to explore the code to learn how these applications have been built. Plus there is a wide range range of online training material developed by TLCC.
  41. And just before closing. Let me also make mention of specific topics you should make a note of to learn and master if you want to truly get the most out of Xpages. JSF – The Java-based technology on which Xpages is built. Eclipse – The development platform used for DDE and the Notes Standard client. Dojo – The JS framework used extensivley by Xpages JavaScript. Client sided scripting. And while SSJS is not JS, it is based upon JS so many of the material written for JS will also be relevant to learning and mastering SSJS Java... As I have mention several times. Java is not a requirement to get started with Xpages, but a good working knowledge will allow you to extend Xpages to exciting new levels.