Search

Twitter

Domino Upgrade

VersionSupport end
5.0
6.0
6.5
7.0
8.0
8.5
Upgrade to 9.x now!
(see the full Lotus lifcyle) To make your upgrade a success use the Upgrade Cheat Sheet.
Contemplating to replace Notes? You have to read this! (also available on Slideshare)

Languages

Other languages on request.

Visitors

Useful Tools

Get Firefox
Use OpenDNS
The support for Windows XP has come to an end . Time to consider an alternative to move on.

About Me

I am the "IBM Collaboration & Productivity Advisor" for IBM Asia Pacific. I'm based in Singapore.
Reach out to me via:
Follow notessensei on Twitter
(posts)
Skype
Sametime
IBM
Facebook
LinkedIn
XING
Amazon Store
Amazon Kindle
NotesSensei's Spreadshirt shop

« Going Weblog | Main| Buying insurance »

Learning XPages

QuickImage 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.
  • Advanced XPages
    There is a lot more to XPages than dropping controls onto pages. Following the community (see below) will keep you tuned into all the advanced topics. Here is a small selections:
  • 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!
    1. I found Eloquent JavaScript an invaluable resource to understand JavaScript
    2. Equally valuable is the JavaScript Garden
    3. Ensure quality of your code with JSHint
    4. Nice online reference on web development at websitesetup.org
    5. Learn Dojo (it is easier than you think)
    6. w3schools JS introduction is easy to follow
    7. You want to use Firebug for JavaScript debugging, which means you will use Firefox for development. Don't get fooled by "but our corporate standard is ...". The tools for development need to get a job done and using is a different task/use case from developing. Of course you need to test in the browsers that your users will use (and with mobile, you have more than one)
    8. Get the Dojo extension for Firebug and read its documentation. It will make your life easier
    9. An outstanding collection of JavaScript related resources can be found at SuperheroJS. Go check it out!
  • HTML / CSS
    Knowing and understanding how HTML and CSS play together is essential. It is often neglected
    1. Your visual framework might be the IBM OneUI. Make yourself familiar
    2. The second visual framework (even more popular in the wild) is Twitter Bootstrap, there is XPages support for it
    3. 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)
    4. Learn HTML at w3 schools (comes in HTML5 flavour too)
    5. Use the HTMLHelp online reference
    6. Make sure you know which part of HTML5 will run on what browser. Not convinced? Check the HTML5 Rocks demo, the HTML5 tutorial and HTML5 Galery. This is not your college day web anymore
  • Mobile
    There is a lot of fine details, so make sure you cover the bases
    1. Learn about the mobile controls in the Extension library
    2. Familiarize yourself with Apache Cordova (the artist formerly known as PhoneGap/Callback). XPages uses that "under the hood"
    3. Download and install the Android development toolkit. It is free, works on Linux, Windows and Mac and provides you with emulators for various screen sizes. For the iOS SDK you would need a Mac or use Genuitec's mobione. Since you build browser/hybrid apps one emulator might just work
    4. Add the Teamstudio Mobile Controls to your toolbox. Get the sources from git. The controls are great when you planning stressfree offline capabilities
    5. Picture your mobile apps on different devices to see the differences
  • 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
    1. Read a book: Head First Java, 2nd Edition. It is funny like the whole series and gives you a head start.
    2. 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
    3. Listen to and watch Paul's Intro into Java for Domino Developers
    4. Listen to and watch Tim's Climbing the bean stalk. It shows nicely how to transit from typical LotusScript functions into object oriented Java
    5. Download and install BlueJ. It allows you to interactively work with Java objects. A killer when exploring new objects
    6. Look at the source of the Extension library
    7. When you are ready to dive deeper: read Thinking in Java
    8. Java has to be effective, so read Effective Java (2nd Edition) by Joshua Bloch
    9. Check out the XSP Starter Kit
    10. Familiarize your self with OSGi Tasklets (a.k.a DOTS)
    11. Learn how to setup Eclipse to Debug XPages Java code
    12. Find Java tutorials at How to Program with Java
    13. Get your head around multi-threaded Domino applications (That's the icing after you read the Thinking in Java) and use my sample class to schedule tasks
    14. Learn the modern Java API for Domino with auto-recycle and proper collections
    15. Tame Domino Designer
    16. Simplify your bug hunting in Domino Designer and install the free FindBugs for Domino Designer from OpenNTF
  • 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
      Also check out their package deals and other R85 courses
    • 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
      While you are on it, check their whole course list, lots to learn there
  • Community
    No man is an island and there are communities out there to help. This is what you should watch and participate in
    1. 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
    2. Register on BleedYellow. It gives you access to Blogs, Communities and Sametime
    3. Listen to the Consultant in a pocket webcasts
    4. Become part of OpenNTF, if it is only for being able to rate and feedback on the content.
      Update: There are amazing contributions on OpenNTF you should check out (besides the ones already mentioned above): Don't forget to also checkout all the great custom controls and ready to use apps.
    5. Ask your XPages question on Stackoverflow, there are more than thousand answers to be found already!
This page will get updates over time
Update: Updated on Aug 28 2013 based on feedback so far

Comments

Gravatar Image1 - The links to Declan's exercises can be accessed from the monthly archive on his site. Use this link for the first lot of exercises :-

{ Link }

Gravatar Image2 - Great summary.

Gravatar Image3 - TLCC also has a mobile XPages course:
{ 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

Gravatar Image4 - And Notes in 9. Don't forget Notes in 9! From David Leedy....

{ Link }

Gravatar Image5 - Invaluable! Thank you! Emoticon

Gravatar Image6 - Are all of Declan's exercise links dead? None of them seem to work for me (404 error)...

Gravatar Image7 - Stephen, great presentation on JS at LS12!

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

Gravatar Image8 - unfortunately the links on Declans page are not working.

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 )

Gravatar Image9 - Great reference thanks for sharing.

FYI
The link to Bob's book on Domino with Java is broken. It has got a double quote at the end of the URL.



Gravatar Image10 - Great stuff!

But I would remove any reference to W3Schools.

{ Link }

W3S is not a website I would like to promote.


/J

Gravatar Image11 - The are of writing articles and to collection data, which is means precious value for internet user is not a easy task. This seems that you have done a hard work and dedication to collect these data. Thanks a lot for sharing this.

Disclaimer

This site is in no way affiliated, endorsed, sanctioned, supported, nor enlightened by Lotus Software nor IBM Corporation. I may be an employee, but the opinions, theories, facts, etc. presented here are my own and are in now way given in any official capacity. In short, these are my words and this is my site, not IBM's - and don't even begin to think otherwise. (Disclaimer shamelessly plugged from Rocky Oliver)
© 2003 - 2014 Stephan H. Wissel - some rights reserved as listed here: Creative Commons License
Unless otherwise labeled by its originating author, the content found on this site is made available under the terms of an Attribution/NonCommercial/ShareAlike Creative Commons License, with the exception that no rights are granted -- since they are not mine to grant -- in any logo, graphic design, trademarks or trade names of any type. Code samples and code downloads on this site are, unless otherwise labeled, made available under an Apache 2.0 license. Other license models are available on written request and written confirmation.