ShowTable of Contents
Table of Contents |
Previous Page |
Next Page
The skills needed to build XPage applications are not difficult to acquire. You just need to understand the Domino data model, JavaScript, HTML. CSS and the Eclipse toolset. Your first stop would be to download the free Domino Designer and get familiar with it. If you are going to build web apps then you will need to have the main browsers and developer tools available.
Introduction to Domino Object Model
The Domino Object Model is a combination of a conceptual model along with a set of programs.
The conceptual model provides the framework for database access from programming languages such as LotusScript and Java and is the same for each programming language, with unique syntax for each environment.
Lotus provides a set of interfaces or APIs, unique for each language, that allows the language to access its core functions. For example, although LotusScript and Java are two different programming languages, the Domino functionality is provided for both.
The DOM can be broken into two areas:
- Front-end or UI classes
- Back-end or Data classes
Basically front-end classes are used to work with and manipulate objects directly visible to the user at that instant and the back-end classes are used to work with objects like stored documents or views.
Domino allows you to write an application that will run on a Web browser and access Domino databases. Since web browsers typically do not know anything about Notes or Domino, being able to access Domino databases from the Web browser in a client machine requires quite a bit of development the scale of which incidentally has been reduced a lot with the advent of XPages in 8.5.
Introduction to HTML CSS XML and JS and their role in XPages
Introduction to Hyper Text Markup Language
http://en.wikipedia.org/wiki/Html
Introduction to Cascading Style Sheets
http://en.wikipedia.org/wiki/CSS
Introduction to eXtensible Markup Language
http://en.wikipedia.org/wiki/XML
Introduction to JavaScript
http://en.wikipedia.org/wiki/javascript
Role of these technologies in XPages
Although XPages utilizes JSF and the Dojo toolkit on the server end, the development is done with the help of new Eclipse based Domino Designer which contains an built-in XML based source code editor.
XML
XML forms the ‘X’ in XPages. Almost entire base XPages code when generated is in XML with its specific tags and developers can easily relate the code to the XML structure.
JavaScript is the “official” scripting language for XPages and can be used to act on both server side and client side events. Of course a server side script does add some load on the server.
Simple actions are available for common operations and almost every property is computable using JS.
JavaScript
There is also built-in support for AJAX functions.
JavaScript in XPages works on top of the back-end JAVA API and has also been extended to support @Functions.
JavaScript Libraries are available as a resource to XPages and can also reference Dojo modules.
CSS
The entire look and feel of an XPages based application can be governed by CSS. There is full support for all the in-line classes of CSS available. You can also use CSS file resources just like in earlier versions. All the controls in XPages let you select a style from the CSS associated with the page. While you can set the font type, size, margins , etc., it is easier to create similar pages if you use a style sheet instead. With a style sheet, you only have one place to change to modify the style of a heading through out the application.
HTML
All the HTML tags and attributes are supported by XPages and can be easily embedded in the code as-is. Most HTML will be entered through the source view of the page were you see the actual XML source for the XPage.
Introduction to JSF
For an introduction to JSF and to better understand how this relates to Domino 8.5.1, please refer to this section (
XPages definition)

A peek inside Dojo
Dojo is a open source JavaScript library that is now bundled with the Domino server. The library provides controls and functionality that can be applied to web pages. While you could build the same basic functionality, it would be difficult to also provide cross-browser and localization support that dojo does..You can use the dojo library in classic web development or as part of a XPage provided control such as the rich text editor. Dojo Toolkit is used for some of the drag and drop core controls such as Rich Text, Date Time, Typeahead etc
Dojo consists of 3 parts:
Core - Ajax, events, packaging, CSS-based querying, animations, JSON, language utilities, and a lot more. All at 26K (gzipped). Full support for CSS classes or inline styles
Dijit - Skinnable, template-driven widgets with accessibility and localization built right in—the way you want it. From accordions to tabs, we have you covered. Uses CSS file resources
DojoX - Inventive & innovative code and widgets. Visualize your data with grids and charts. Take your apps offline. Cross-browser vector drawing. And a lot more.
Lotus has modified some of the control to work better with Domino.
Rich Text Control - Now if your users need to enter more then just plain text, you can use the rich text control. It provides for a lot of control and it's improving with each release. Content entered through the control is saved in MIME format and will be converted to Notes CD if edited in a Notes client.
Warning - not everything converts correctly. The areas that may cause you issues are:
- Fonts - Web fonts are x-small, small, medium, large, etc while Notes fonts are point sizes.
- Table borders
- Embedded images – visible but lost when saved
- Tab tables – only the visible row is saved
- “Hide when” - if hidden from web are lost during the save
You do have the security concern if the user enters html with malicious JavaScript. The user can enter code that will be rendered when the page is viewed
For more information on Dojo and it's use with the Domino server and client see this article in the designer wiki. For information on the dojo library go to the home of the dojo toolkit: http://dojotoolkit.org/
Do I need to learn JAVA
The answer to this question is “NO”. Although XPages run on top of JSF there is absolutely no need for developers to learn Java.
What they do need to learn though are the entire core XPages technologies as explained earlier. It is not necessary for basic users but for advanced usage it is imperative that the developers should be familiar with all the technologies used. Java is available to the developer for agents, client UI, widgets and extending XPage functionality. Pick the language that you feel most comfortable with and go with that. Learning JavaScript though is a must, you will need it to do the field validation and creating server side JavaScript for workflow control.
Also, it is highly recommended that you get familiar with the Eclipse UI and terminology before using the new Domino Designer otherwise it can be a little difficult to get used to.
