Learning XPages
This entry is my reference for the collection of learning materials around XPages and adjacent technologies. I get asked a lot and in the spirit of sharing I make my recommendations public. There are a number of technologies and skills touching XPages, so it looks like a long list, but you don't need them all to get started.
- Fundamentals
This is stuff any developer needs to know, regardless of what platform you came from or you are going to.- An excellent refresher for computer science is Stanford Engineerin Everywhere course CS106A - Programming Methodology (you will love Carol and finally pledge to do proper decomposition). Check out the other courses too. They are all free
- Read Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly))
(a bit hard to digest at times) and Clean Code: A Handbook of Agile Software Craftsmanship
- Prepare your day with a laugh at Geek and Poke
- Getting started
- In shameless self-promotion: Do the 27 exercises that Tim Clark and I wrote. The needed resourced are on the page for download. But promise not to use that layout for your applications
- Head over to Declan's and do his 53 exercises. Pay special attention to the OneUI stuff
- Continue to XPages.TV. There you watch more than 30 tutorials on XPages topics of various degrees
- Consider to subscribe to Matt White's excellent service XPages 101. 68 lessons and access to a top expert behind IdeaJam is worth your money
- Check out the TLCC offerings. There's a free starter class
- Learn tips and tricks on NotesIn9 and check out The XPages Cheatsheet app
- Core XPages
Now that you know the basics, you can move from learning about to learning with. This is where you switch from tutorial to examples and articles.- Stop 1 is the Notes Domino Application Development Wiki, which IBM's official XPages documentation
- On XPages.info you will find tons of examples, ready applications and the famous Extension library. Take a close look at the contributed free custom controls. (Re)use them, don't reinvent wheels!
- A treasure trove of information is the XPages Wiki (you can log in there and contribute)
- Find reusable code snippets (and contribute back) in the XSnippets container of OpenNTF
- Read a book: Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language
- Once you go deeper - read this: XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components
- And keep this one handy: XPages Portable Command Guide: A Compact Resource to XPages Application Development and the XSP Language
- JavaScript
A big part of writing good XPages applications is writing good JavaScript. The upside: regardless what platform you might use in future, JavaScript is here to stay!- I found Eloquent JavaScript an invaluable resource to understand JavaScript
- Equally valuable is the JavaScript Garden
- Ensure quality of your code with JSHint
- Excellent online reference on DocHub.io
- Learn Dojo (it is easier than you think)
- w3schools JS introduction is easy to follow
- n.n.
- HTML / CSS
Knowing and understanding how HTML and CSS play together is essential. It is often neglected- Your visual framework will be the IBM OneUI. Make yourself familiar
- Of course some designer or exec will dislike it and demand a homebrew. Send him to CSS Zengarden to see how CSS can alter a page without altering the structure. The OneUI is about structure more than colors. Let the designer alter anything in the OneUI css inside the curly brackets (learn about Theme customization)
- Learn HTML at w3 schools (comes in HTML5 flavour too)
- n.n
- Mobile
There is a lot of fine details, so make sure you cover the bases- Learn about the mobile controls in the Extension library
- Familiarize yourself with Apache Callback (the artist formerly known as PhoneGap). XPages uses that "under the hood"
- n.n
- Java
There will be a point where you want to take a peek under the hood or write system wide components. Then it is time for Java- Read a book: Head First Java, 2nd Edition
. It is funny like the whole series and gives you a head start.
- Read online for free Bob's book on Domino with Java. When you are coming from a Domino/LotusScript background, the objects will be familiar and you can focus on the Java syntax
- Download and install BlueJ. It allows you to interactively work with Java objects. A killer when exploring
- Look at the source of the Extension library
- When you are ready to dive deeper: read Thinking in Java
- Check out the XSP Starter Kit
- Read a book: Head First Java, 2nd Edition
- Classes & Certification
There are ready classes you can attend. Or reach out to people mentioned here to get your custom workshop.- TLCC
- ND85XPGS - Developing XPages using Domino Designer 8.5
- ND85XPG2 - XPages Development 2 for Notes and Domino 8.5
- ND85XJSC - JavaScript for XPages Development (8.5)
- XP85MOBL - Mobile XPages Development for Domino 8.5
- IBM
offers 14 classes that are designed not only to learn XPages, but prepare you for for the exams IBM Certified Application Developer - Lotus Notes and Domino 8.5, IBM Certified Advanced Application Developer - Lotus Notes and Domino 8.5 and LOT-922: Developing IBM Lotus Domino 8.5.2 Applications: Advanced XPage Design (there are more)- D8L51 - Fundamentals of IBM Lotus Domino 8.5.1 Application Development
- D8L53 - Developing IBM Lotus Domino 8.5.2 Applications: Intermediate XPage Design
- D8L54 - Developing IBM Lotus Domino 8.5.2 Applications: Advanced XPage Design
- D8L55 - Introduction to IBM Lotus Domino 8.5 XPages
- D8L56 - Modernizing IBM Lotus Domino 8.5.2 Applications
- D8P51 - Fundamentals of IBM Lotus Domino 8.5.1 Application Development (SPVC)
- D8P53 - Developing IBM Lotus Domino 8.5.2 Applications: Intermediate XPage Design (SPVC)
- D8P54 - Developing IBM Lotus Domino 8.5.2 Applications: Advanced XPage Design (SPVC)
- D8P55 - Introduction to IBM Lotus Domino 8.5 Xpages (SPVC)
- D8P56 - Modernizing IBM Lotus Domino 8.5.2 Applications (SPVC)
- D8S44 - Developing XPages using Domino Designer 8.5
- D8S61 - XPage Development 2 for Notes and Domino 8.5
- D8S60 - XPages for Notes and Domino 8.5 Package
- D8S46 - XPages and JavaScript for Domino 8.5 Package
- edcom
If you like your instructors rather speaking German and Bavarian, attend a session in Munich or Cologne in Germany- ED8590: Einführung in die Entwicklung mit XPages unter Domino 8.5.x
- ED8591: Entwicklung mit XPages unter Domino 8.5.x für Fortgeschrittene
- IBMD8L53D: Developing IBM Lotus Domino 8.5.2 Applications: Intermediate XPage Design
- TLCC
- Community
No man is an island and there are communities out there to help. This is what you should watch and participate in- Make sure you have signed up for a DeveloperWorks accounts, so you can update the Domino WIKI, participate in discussions and communicate with IBMers using Sametime
- Register on BleedYellow. It gives you access to Blogs, Communities and Sametime
- Become part of OpenNTF, if it is only for being able to rate and feedback on the content
Update: Updated on Jan 8 2012 based on feedback so far






Comments
Posted by Niklas Heidloff At 15:43:32 On 01/06/2012 | - Website - |
Posted by Michael Gollmick At 19:07:06 On 01/06/2012 | - Website - |
{ Link }
Posted by Darren Duke At 19:28:02 On 01/06/2012 | - Website - |
Posted by Steve Mason At 19:37:49 On 01/06/2012 | - Website - |
This is caused by an error that I reported to IBM around ILUG 2010. An extra font tag is added to the link. This happens, when you cops links from one RT item to another. I was also bitten by this ... But IBM could not reproduce ( even the error occurs in the Domino Wiki )
Posted by Ulrich Krause At 00:13:07 On 01/07/2012 | - Website - |
{ Link }
And, TLCC has a JavaScript for XPages Developers course too:
{ Link }
And our XPages courses are not just for getting started. We cover very advanced techniques like working with web services, Dojo, etc. in our XPages Development 2 course.
Thanks for putting together the list,
Howard
Posted by Howard Greenberg At 00:44:50 On 01/07/2012 | - Website - |
{ Link }
Posted by Martin Perrie At 02:01:51 On 01/07/2012 | - Website - |
For the resources on this page, can you add TLCC to the core XPages? We also have advanced XPages courses. And, we have a great JavaScript for XPages Development course too.
Finally, we have a new Mobile XPages course too.
Our courses are available from tlcc.com and for US folks, IBM.COM.
thanks,
Howard
Posted by Howard Greenberg At 07:49:47 On 01/20/2012 | - Website - |