Contact TLCC

Do You want to be an XPages Developer? Click here to see all the Developer/Admin Tips

Date tip published:03/19/2012
Description:This article discusses the skills you will need to start developing XPages.


To learn more about XPages use the following links:

JavaScript for XPages Development (8.5)
Developing XPages using Domino Designer 8.5
XPages Development 2 for Notes and Domino 8.5
Mobile XPages Development for Domino 8.5




Do You Want to Be an XPages Developer?

XPages have been all the craze for the last few years. They provide us, the Notes and Domino developer, with a way to move our Notes applications to a modern Web 2.0 interface that is not designed around forms and views like the old Notes/Domino model. With XPages we have the flexibility to create an application that can use the underlying data as we see fit. Have you ever wanted to:

  • Combine several forms and views on the same page?
  • Move your existing Domino applications to mobile devices?
  • Create a Global variable that holds information to be shared among several XPages?
  • Do a lookup inside a view column?
  • Completely separate your data from your design?
...With XPages you can do all that and much more!

As the leading training provider for XPages, we have been speaking with many of you about getting started with XPages. Typically, you have been doing Notes and Domino development for several years (up to 20!) and are familiar with LotusScript and can create great applications for the Notes client. Many of you are also heavily into Domino web development. The big question we keep hearing from you is:

What skills do I need to get started with XPages?

XPages are part of a Domino application and use Domino forms and views as the data source to display information in a web browser or Notes client. So, the first skill you need is competence as a Notes and Domino developer and be able to create forms and views. You need to understand the relationship between the form and view design elements and how these design elements use Domino documents/fields to store and display information. XPages still use the Notes/Domino security model, therefore familiarity with the Access Control List and readers/authors fields is also important.

JavaScript is the language built into XPages and comes in two flavors; Server-side JavaScript and Client-side Java Script. Server-side JavaScript runs on the Domino server and has the big advantage of having full access to the Domino Object Model as well as support for many of the familiar @Functions you have worked with in Notes development. Using the Domino Object Model in JavaScript is very similar to how you accessed Domino Objects in LotusScript code or Java agents. Knowing how the Domino Object Model can access data using the NotesDatabase, NotesView, and NotesDocument classes (and other Domino classes) is a very important skill for an XPages developer. The good news is that if you know the Domino Object Model in LotusScript, working with these objects in Server-side JavaScript is similar and your skills will quickly transition. However, JavaScript is a different language than LotusScript. You should be familiar with JavaScript and how to create variables, work with arrays, and call JavaScript functions. Another important point here is that JavaScript is NOT Java, the two languages are only close in name but they are very different.

What about Java? Under the covers XPages are Java. This is all hidden from you since you work in the familiar Domino Designer environment. The XPages you create get automatically compiled to Java classes which are what actually executes on the Domino server. What this means is that wherever Server-side JavaScript can be used you can also choose to use Java, including the use of existing Java code. Does this mean you need Java skills to be an XPages developer? Absolutely not! Don't let all the technical discussions in the blogs and social media about Java beans, etc. give you the impression that you must use (and be an expert on) Java in your XPages applications. You can create great XPages applications using the Domino Object Model interface and Server-side JavaScript just like you did with LotusScript in Notes client applications.

XPages Skills Path

Finally, the last skill you need is the most obvious, developing XPages. How do you create an XPage? Add controls to an XPage? Use Dojo on an XPage? Work with stylesheets and themes? All these XPages related skills will be needed and acquired as you learn and work with XPages. To summarize these skills:

    • Competence as a Notes/Domino Developer
    • Knowledge of the Domino Object Model using LotusScript or Java
    • Familiarity with the JavaScript language
    • Developing XPages
There will be a natural progression of phases as a new XPages developer (listed below). Not everyone will get to all these phases. Many developers will find getting to the first two phases is all they need to accomplish in order to create great XPages applications.
    1. Drag and dropper - Initially new XPages developer spend most of their time in the WYSIWYG Design editor and drag/drop controls onto the XPage. They use the various panels in the Properties view to configure most of their application, along with creating buttons that use the onclick event to provide the user interaction. In this phase developers will use simple actions (no need to program anything) and maybe will write some JavaScript code to interact with Domino objects using the @Functions available in Server-side JavaScript. The primary purpose of these XPages applications will be to convert existing Notes/Domino applications to a nice web interface (and remove the need for the Notes client).

    2. Server-side JavaScript Coder - Many Notes applications have lots of business logic in LotusScript agents. In this next phase this existing business logic in LotusScript will get converted to Server-side JavaScript. In addition, the developer will start to work more with Cascading Style Sheets and spend more time using the XML Source view of the XPages editor.

    3. The Java Guru -In this phase, the developer will make extensive use of Java objects to create managed beans and to use non-Domino data such as relational data sources and web services. Will everyone get to this phase? No, and, that is ok! This phase is not for everyone and not a requirement to create great XPages applications!
Ready to get started? Don't try to conquer the world with your first application and completely rewrite your biggest Domino application. Instead, start with a small application or add XPages to do a small part of an application. The worst thing you can do is over commit on your first application. Work your way up to the big complicated application.

The best way to get started is with formal training that will provide you with the right foundation skills. TLCC has all the courses you need, both to build your core skills like JavaScript and to learn XPages. TLCC has four XPages courses, including a special course just for mobile XPages development and a JavaScript course designed just for future XPages developers! Our self-paced courses allow you to start learning at your own pace and at your place! Or, choose to attend one of our Instructor Led Online courses or one of our expert TLCC instructors can come to your location to deliver a private on-site class. TLCC has a skills path listing that maps the skills you need for XPages development into suggested TLCC courses. Or, contact us here at TLCC and let us help you map out your training needs.

Click here to view the Suggested Skills Path for XPages Development

Click here to learn more about TLCC's XPages courses