SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
An Introduction to XPages
A Legacy Notes Developer’s Journey into Madness
Devin S. Olson
XPages Development 1
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Target Audience
• Experienced Notes & Domino Developers
• Some familiarity with web development.
• New to XPages considering XPages as a solution
• Masochists
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
narcissism – Devin S. Olson
• Grand Rapids, MI (USA)
• Married with 2 children
• Developing software for
over 25 years (have
actually coded using
punch cards)
• CNA, MCP, PCLP (SA&AD)
R4 – R7, lots of other
TLAs
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
narcissism – Devin S. Olson
• Instructor, Consultant,
IBM Business Partner,
Customer, Author
• Czarnowski Display
Services
• Installing & Configuring
Domino 9 on CentOS 6
• Anheuser-Busch Certified
Brewmaster
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Agenda
XPages Development 1 – An Introduction to XPages
• Brief History of XPages
• Basic Concepts and Technologies
• Explore Domino Designer for Eclipse (DDE)
• Configure DDE for REAL work.
• Scope and Scope Variables
• Build a working CRUD Application
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
September 1993
• NSCA Mosaic graphical web browser released
October 1994
• Netscape releases Navigator – the internet explodes
July 1995
• IBM purchases Lotus - to acquire Notes technology
August 1995
• Microsoft releases Internet Explorer – the browser wars begin
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
January 1996
• Lotus releases Notes 4 and InterNotes
• Sun Microsystems forms JavaSoft group
• Microsoft releases ASP (add-on to IIS in NT 4 Option
Pack)
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
December 1996
• IBM releases Notes 4.5, the Domino Server
• Includes Java 1.1 support
• Microsoft releases ASP 1.0 as part of IIS
September 1997
• Microsoft releases ASP 2.0
December 1998
• Sun Microsystems releases J2EE
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
January 1999
• IBM Releases Lotus Notes & Domino R5 (work the web)
• Competition for Enterprise Customers gets fierce, IBM,
Microsoft, Sun, and many others begin serious work on
web server technologies.
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
January 1999
• Trilog Group (IBM Business partner) develops
FlowBuilder XSP, an OO RAD based on J2EE, XML, and
Open Standards.
August 2004
• IBM acquires XSP technology and rights from Trilog
Group.
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
January 1999
• Trilog Group (IBM Business partner) develops
FlowBuilder XSP, an OO RAD based on J2EE, XML, and
Open Standards.
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
2005 – 2007
IBM Lotus Workplace Designer (fail)
IBM Lotus Component Designer (fail)
Lotusphere 2008
• Martin Donnelly and Rocky Oliver present a preview of XPages
( XML Server Pages)
Lotusphere 2009
• IBM Releases Lotus Notes Domino 8.5 – with XPages (terrible)
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
A Brief History of XPages
October 2009
• IBM Releases 8.5.1 - somewhat better, but still painful
to work with
August 2010
• IBM Releases 8.5.2
HALLELUIA! XPages finally reliable!
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Current Version 9.0.1
• Lots of way cool client stuff
• Domino Server improvements
• Domino Designer cleaned up
• Mature and stable platform
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Basic Concepts and Technologies
XPages developers work with the following:
• HTML
• CSS
• Javascript, Dojo, JSON
• XML
• Expression Language (EL)
• Java
• NSF, other Data architectures, and a whole lot more
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Basic Concepts and Technologies
DDE is a Java based client
XSP Command Manager (started by HTTP
task) executes the XPages on the server.
Everything you write in XPages is either Java,
or is converted to Java.
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Domino Designer for Eclipse
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 1 – An Introduction to XPages
Outline
View
Application
Navigator
View
Properties, Events,
Problems
Controls,
Data, and
Progress
EDITOR VIEW
(where the magic happens)
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
DDE is fully customizable
Views can be
• Resized
• Moved
• Detached
• Deleted
• Added
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
DEMONSTRATION
XPages Development 1 – An Introduction to XPages
Explore Domino Designer 9
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Configuring Domino Designer
CONFIGURE MEMORY - Ref: IBM Technote 1617708
File:
<Program Dir>/framework/rcp/deploy/jvm.properties
• vmarg.Xmx: Max Memory for JVM
• vmarg.Xms: Minimum Memory for JVM
• vmarg.Xmca: Block Size for increases
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Configuring Domino Designer
DEFAULT
• vmarg.Xmx=Xmx256m
• vmarg.Xms=Xmx48m
• vmarg.Xmca=Xmca8k
OPTIMUM
• vmarg.Xmx=Xmx1024m
• vmarg.Xms=Xmx512m
• vmarg.Xmca=Xmca512k
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
DEMONSTRATION
XPages Development 1 – An Introduction to XPages
Configuring Domino Designer
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Scope and Scoped Variables
4 special memory maps, within which variables live for a
specific duration only.
• Request: GET or PUT only, length of the request.
• View: Duration the current XPage is being viewed.
• Session: Duration of the User Session. Session Scope
variables are available across View boundaries.
• Application: Duration the Application is loaded in
Server Memory.
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 1 – An Introduction to XPages
Scope and Scoped Variables
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Scope and Scoped Variables
Never ever ever, no matter what your reasoning or
thought process, no matter if you are told to do so by a
senior developer, no matter what you think, no matter
what no matter how no matter when never Never
NEVER NEVER NEVER…….
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Scope and Scoped Variables
NEVER PLACE A
DOMINO OBJECT IN
A SCOPEREPOSITORY
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Enough Talk, Let’s
BUILD SOMETHING
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
Photo Library
Basic Photo storage and
sharing application.
XPages Development 1 – An Introduction to XPages
DEMONSTRATION
Data Stored Here
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
XPages Development 1 – An Introduction to XPages
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
Photo Library
Basic Photo storage and
sharing application.
XPages Development 1 – An Introduction to XPages
DEMONSTRATION
All Code Here
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
XPages Development 1 – An Introduction to XPages
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
XPages Development 1 – An Introduction to XPages
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
XPages Development 1 – An Introduction to XPages
Questions on what
we have covered so
far?
Before demonstrating the
(working?) app…
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
XPages Development 1 – An Introduction to XPages
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Building a Simple Application
Photo Library
Basic Photo storage and
sharing application.
XPages Development 1 – An Introduction to XPages
APPLICATION
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
QUESTIONS?
XPages Development 1 – An Introduction to XPages
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
THANK YOU FOR ATTENDING
Devin S. Olson
devin.olson@azlighthouse.com
+1 616-295-1683
Skype: spanky762
Twitter: spanky762
Facebook: Facebook.com/default.xsp
Please complete an evaluation
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Additional Resources
• LearningXPages http://learningXPages.com
• XPages.info
• OpenNTF.org
• XPages Development Wiki (URL is too long, Google it)
• PlanetLotus.org
• Mastering XPages – IBM Press
• XPages Extension Library – IBM Press
• The Rabbit Hole http://nathantfreeman.wordpress.com
• NotesIn9 http://notesin9.com

Weitere ähnliche Inhalte

Ähnlich wie XPages Development 1

#DNUG45 - Manage Session IBM Notes & Domino - Fix & Feature Packs und Best ...
#DNUG45 - Manage Session   IBM Notes & Domino - Fix & Feature Packs und Best ...#DNUG45 - Manage Session   IBM Notes & Domino - Fix & Feature Packs und Best ...
#DNUG45 - Manage Session IBM Notes & Domino - Fix & Feature Packs und Best ...Christoph Adler
 
DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...
DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...
DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...Christoph Adler
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2panagenda
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicUlrich Krause
 
Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)
Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)
Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)We4IT Group
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011Ulrich Krause
 
Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)
Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)
Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)We4IT Group
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
FMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel MoréFMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel MoréVerein FM Konferenz
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Nico Orschel
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationenadesso AG
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
We4IT Präsentation - doclinkr
We4IT Präsentation - doclinkrWe4IT Präsentation - doclinkr
We4IT Präsentation - doclinkrWe4IT Group
 
.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET StandardRobin Sedlaczek
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
FMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus SchneiderFMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus SchneiderVerein FM Konferenz
 
Webinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum Systemen
Webinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum SystemenWebinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum Systemen
Webinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum SystemenA. Baggenstos & Co. AG
 

Ähnlich wie XPages Development 1 (20)

#DNUG45 - Manage Session IBM Notes & Domino - Fix & Feature Packs und Best ...
#DNUG45 - Manage Session   IBM Notes & Domino - Fix & Feature Packs und Best ...#DNUG45 - Manage Session   IBM Notes & Domino - Fix & Feature Packs und Best ...
#DNUG45 - Manage Session IBM Notes & Domino - Fix & Feature Packs und Best ...
 
DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...
DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...
DNUG Domino Day 2018 - IBM Notes 10 & VOP 1.0.5 - What’s new and first „Lesso...
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basic
 
Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)
Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)
Lotus Notes Client Performance - Probleme verstehen und beheben (We4IT)
 
DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011DNUG ak-anwendungsentwicklung.18042011
DNUG ak-anwendungsentwicklung.18042011
 
Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)
Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)
Was ist neu in Lotus Notes/Domino 8.5.3, und was kommt dann? (We4IT)
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
FMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel MoréFMK 2013 Entwickler Werkzeuge, Marcel Moré
FMK 2013 Entwickler Werkzeuge, Marcel Moré
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationen
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
We4IT Präsentation - doclinkr
We4IT Präsentation - doclinkrWe4IT Präsentation - doclinkr
We4IT Präsentation - doclinkr
 
.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
FMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus SchneiderFMK2014 FileMaker Go im Alltag by Markus Schneider
FMK2014 FileMaker Go im Alltag by Markus Schneider
 
Webinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum Systemen
Webinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum SystemenWebinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum Systemen
Webinar: Neue Arbeitswelt – Zusammenarbeiten mit Lenovo Teams Raum Systemen
 

Mehr von Devin Olson

Paired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage successPaired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage successDevin Olson
 
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes ClientResolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes ClientDevin Olson
 
Do you have a website? Do you want to get sued?
Do you have a website?  Do you want to get sued?Do you have a website?  Do you want to get sued?
Do you have a website? Do you want to get sued?Devin Olson
 
IBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration OverviewIBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration OverviewDevin Olson
 
Website Accessibility Workshop
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility WorkshopDevin Olson
 
Raw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on LinuxRaw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on LinuxDevin Olson
 
Curing the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersCuring the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersDevin Olson
 
Accessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus DominoAccessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus DominoDevin Olson
 
Countdown to Domino 10
Countdown to Domino 10Countdown to Domino 10
Countdown to Domino 10Devin Olson
 
Pink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career WinPink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career WinDevin Olson
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025Devin Olson
 
Big Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF APIBig Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF APIDevin Olson
 
Customer Story: Next Level Coding
Customer Story: Next Level CodingCustomer Story: Next Level Coding
Customer Story: Next Level CodingDevin Olson
 
Countdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOWCountdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOWDevin Olson
 
Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7Devin Olson
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair ProgrammingDevin Olson
 
Installing & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOSInstalling & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOSDevin Olson
 
Ad104 build a bean workshop
Ad104 build a bean workshopAd104 build a bean workshop
Ad104 build a bean workshopDevin Olson
 

Mehr von Devin Olson (18)

Paired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage successPaired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage success
 
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes ClientResolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
 
Do you have a website? Do you want to get sued?
Do you have a website?  Do you want to get sued?Do you have a website?  Do you want to get sued?
Do you have a website? Do you want to get sued?
 
IBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration OverviewIBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration Overview
 
Website Accessibility Workshop
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility Workshop
 
Raw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on LinuxRaw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on Linux
 
Curing the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersCuring the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad Developers
 
Accessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus DominoAccessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus Domino
 
Countdown to Domino 10
Countdown to Domino 10Countdown to Domino 10
Countdown to Domino 10
 
Pink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career WinPink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career Win
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025
 
Big Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF APIBig Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF API
 
Customer Story: Next Level Coding
Customer Story: Next Level CodingCustomer Story: Next Level Coding
Customer Story: Next Level Coding
 
Countdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOWCountdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOW
 
Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair Programming
 
Installing & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOSInstalling & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOS
 
Ad104 build a bean workshop
Ad104 build a bean workshopAd104 build a bean workshop
Ad104 build a bean workshop
 

Kürzlich hochgeladen (6)

Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-EssenWirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
 
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_EssenAngewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
 
Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.
 
Chemie (B.Sc.) und Water Science (B.Sc.) uni DUE
Chemie (B.Sc.) und Water Science (B.Sc.) uni DUEChemie (B.Sc.) und Water Science (B.Sc.) uni DUE
Chemie (B.Sc.) und Water Science (B.Sc.) uni DUE
 
Religion_Unterrichtsstunde zum Kölner Dom.pdf
Religion_Unterrichtsstunde zum Kölner Dom.pdfReligion_Unterrichtsstunde zum Kölner Dom.pdf
Religion_Unterrichtsstunde zum Kölner Dom.pdf
 
Betriebswirtschaftslehre (B.Sc.) an der Universität Duisburg Essen
Betriebswirtschaftslehre (B.Sc.) an der Universität Duisburg EssenBetriebswirtschaftslehre (B.Sc.) an der Universität Duisburg Essen
Betriebswirtschaftslehre (B.Sc.) an der Universität Duisburg Essen
 

XPages Development 1

  • 1. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. An Introduction to XPages A Legacy Notes Developer’s Journey into Madness Devin S. Olson XPages Development 1
  • 2. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Target Audience • Experienced Notes & Domino Developers • Some familiarity with web development. • New to XPages considering XPages as a solution • Masochists XPages Development 1 – An Introduction to XPages
  • 3. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. narcissism – Devin S. Olson • Grand Rapids, MI (USA) • Married with 2 children • Developing software for over 25 years (have actually coded using punch cards) • CNA, MCP, PCLP (SA&AD) R4 – R7, lots of other TLAs
  • 4. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. narcissism – Devin S. Olson • Instructor, Consultant, IBM Business Partner, Customer, Author • Czarnowski Display Services • Installing & Configuring Domino 9 on CentOS 6 • Anheuser-Busch Certified Brewmaster
  • 5. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Agenda XPages Development 1 – An Introduction to XPages • Brief History of XPages • Basic Concepts and Technologies • Explore Domino Designer for Eclipse (DDE) • Configure DDE for REAL work. • Scope and Scope Variables • Build a working CRUD Application
  • 6. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages September 1993 • NSCA Mosaic graphical web browser released October 1994 • Netscape releases Navigator – the internet explodes July 1995 • IBM purchases Lotus - to acquire Notes technology August 1995 • Microsoft releases Internet Explorer – the browser wars begin XPages Development 1 – An Introduction to XPages
  • 7. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages January 1996 • Lotus releases Notes 4 and InterNotes • Sun Microsystems forms JavaSoft group • Microsoft releases ASP (add-on to IIS in NT 4 Option Pack) XPages Development 1 – An Introduction to XPages
  • 8. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages December 1996 • IBM releases Notes 4.5, the Domino Server • Includes Java 1.1 support • Microsoft releases ASP 1.0 as part of IIS September 1997 • Microsoft releases ASP 2.0 December 1998 • Sun Microsystems releases J2EE XPages Development 1 – An Introduction to XPages
  • 9. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages January 1999 • IBM Releases Lotus Notes & Domino R5 (work the web) • Competition for Enterprise Customers gets fierce, IBM, Microsoft, Sun, and many others begin serious work on web server technologies. XPages Development 1 – An Introduction to XPages
  • 10. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages January 1999 • Trilog Group (IBM Business partner) develops FlowBuilder XSP, an OO RAD based on J2EE, XML, and Open Standards. August 2004 • IBM acquires XSP technology and rights from Trilog Group. XPages Development 1 – An Introduction to XPages
  • 11. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages January 1999 • Trilog Group (IBM Business partner) develops FlowBuilder XSP, an OO RAD based on J2EE, XML, and Open Standards. XPages Development 1 – An Introduction to XPages
  • 12. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages 2005 – 2007 IBM Lotus Workplace Designer (fail) IBM Lotus Component Designer (fail) Lotusphere 2008 • Martin Donnelly and Rocky Oliver present a preview of XPages ( XML Server Pages) Lotusphere 2009 • IBM Releases Lotus Notes Domino 8.5 – with XPages (terrible) XPages Development 1 – An Introduction to XPages
  • 13. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 1 – An Introduction to XPages
  • 14. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. A Brief History of XPages October 2009 • IBM Releases 8.5.1 - somewhat better, but still painful to work with August 2010 • IBM Releases 8.5.2 HALLELUIA! XPages finally reliable! XPages Development 1 – An Introduction to XPages
  • 15. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Current Version 9.0.1 • Lots of way cool client stuff • Domino Server improvements • Domino Designer cleaned up • Mature and stable platform XPages Development 1 – An Introduction to XPages
  • 16. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Basic Concepts and Technologies XPages developers work with the following: • HTML • CSS • Javascript, Dojo, JSON • XML • Expression Language (EL) • Java • NSF, other Data architectures, and a whole lot more XPages Development 1 – An Introduction to XPages
  • 17. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Basic Concepts and Technologies DDE is a Java based client XSP Command Manager (started by HTTP task) executes the XPages on the server. Everything you write in XPages is either Java, or is converted to Java. XPages Development 1 – An Introduction to XPages
  • 18. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Domino Designer for Eclipse XPages Development 1 – An Introduction to XPages
  • 19. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 1 – An Introduction to XPages Outline View Application Navigator View Properties, Events, Problems Controls, Data, and Progress EDITOR VIEW (where the magic happens)
  • 20. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. DDE is fully customizable Views can be • Resized • Moved • Detached • Deleted • Added XPages Development 1 – An Introduction to XPages
  • 21. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. DEMONSTRATION XPages Development 1 – An Introduction to XPages Explore Domino Designer 9
  • 22. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Configuring Domino Designer CONFIGURE MEMORY - Ref: IBM Technote 1617708 File: <Program Dir>/framework/rcp/deploy/jvm.properties • vmarg.Xmx: Max Memory for JVM • vmarg.Xms: Minimum Memory for JVM • vmarg.Xmca: Block Size for increases XPages Development 1 – An Introduction to XPages
  • 23. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Configuring Domino Designer DEFAULT • vmarg.Xmx=Xmx256m • vmarg.Xms=Xmx48m • vmarg.Xmca=Xmca8k OPTIMUM • vmarg.Xmx=Xmx1024m • vmarg.Xms=Xmx512m • vmarg.Xmca=Xmca512k XPages Development 1 – An Introduction to XPages
  • 24. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. DEMONSTRATION XPages Development 1 – An Introduction to XPages Configuring Domino Designer
  • 25. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Scope and Scoped Variables 4 special memory maps, within which variables live for a specific duration only. • Request: GET or PUT only, length of the request. • View: Duration the current XPage is being viewed. • Session: Duration of the User Session. Session Scope variables are available across View boundaries. • Application: Duration the Application is loaded in Server Memory. XPages Development 1 – An Introduction to XPages
  • 26. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 1 – An Introduction to XPages Scope and Scoped Variables
  • 27. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Scope and Scoped Variables Never ever ever, no matter what your reasoning or thought process, no matter if you are told to do so by a senior developer, no matter what you think, no matter what no matter how no matter when never Never NEVER NEVER NEVER……. XPages Development 1 – An Introduction to XPages
  • 28. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Scope and Scoped Variables NEVER PLACE A DOMINO OBJECT IN A SCOPEREPOSITORY XPages Development 1 – An Introduction to XPages
  • 29. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Enough Talk, Let’s BUILD SOMETHING XPages Development 1 – An Introduction to XPages
  • 30. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application Photo Library Basic Photo storage and sharing application. XPages Development 1 – An Introduction to XPages DEMONSTRATION Data Stored Here
  • 31. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application XPages Development 1 – An Introduction to XPages DEMONSTRATION
  • 32. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application Photo Library Basic Photo storage and sharing application. XPages Development 1 – An Introduction to XPages DEMONSTRATION All Code Here
  • 33. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application XPages Development 1 – An Introduction to XPages DEMONSTRATION
  • 34. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application XPages Development 1 – An Introduction to XPages DEMONSTRATION
  • 35. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application XPages Development 1 – An Introduction to XPages Questions on what we have covered so far? Before demonstrating the (working?) app…
  • 36. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application XPages Development 1 – An Introduction to XPages DEMONSTRATION
  • 37. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Building a Simple Application Photo Library Basic Photo storage and sharing application. XPages Development 1 – An Introduction to XPages APPLICATION DEMONSTRATION
  • 38. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. QUESTIONS? XPages Development 1 – An Introduction to XPages
  • 39. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. THANK YOU FOR ATTENDING Devin S. Olson devin.olson@azlighthouse.com +1 616-295-1683 Skype: spanky762 Twitter: spanky762 Facebook: Facebook.com/default.xsp Please complete an evaluation
  • 40. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Additional Resources • LearningXPages http://learningXPages.com • XPages.info • OpenNTF.org • XPages Development Wiki (URL is too long, Google it) • PlanetLotus.org • Mastering XPages – IBM Press • XPages Extension Library – IBM Press • The Rabbit Hole http://nathantfreeman.wordpress.com • NotesIn9 http://notesin9.com