Skip to main content link. Accesskey S
  • Anonymous
  • Log on
  • Help
  • IBM logo
  • Lotus Notes and Domino Application Development wiki
  • All Wikis
  • Home
  • Community Articles
  • Product Documentation
  • Learning Center


Search

Advanced Search

Categories

Tag Cloud

  • 6.0
  • 6.5
  • 8.0
  • 8.5
  • 8.5.1
  • 8.5.2
  • 8.5.3
  • action bar
  • Agents
  • Ajax
  • app dev
  • Application
  • beginner
  • C&S
  • calendaring and scheduling
  • client
  • composite applications
  • Controls
  • converters
  • css
  • Custom controls
  • Data Binding
  • db2
  • design elements
  • dialog boxes
  • Documents
  • Dojo
  • Domino
  • Domino Designer
  • Domino Designer 8.5
  • DXL
  • Eclipse
  • error handling
  • errors
  • extensions
  • FAQ
  • Forms
  • formulas
  • getting started
  • globalization
  • Help
  • html
  • Installation
  • interface
  • internationalization
  • iPhone
  • Java
  • JavaScript
  • localization
  • Lotus Domino Designer
  • LotusScript
  • LotusSphere
  • LotusTechInfo
  • menu bar
  • Mobile
  • new user
  • Notes
  • Notes 8
  • notes.ini
  • NSD
  • OpenNTF
  • partial update
  • performance
  • Pickers
  • Portal
  • presentations
  • programming
  • Redbooks
  • Requested Articles
  • roadmap
  • rooms and resources
  • samples
  • Scripting
  • security
  • tabs
  • templates
  • themes
  • Tips
  • toolbar
  • troubleshooting
  • tutorials
  • validation
  • variables
  • video
  • VideoFest
  • View
  • view control
  • ViewPanel
  • Views
  • web
  • Web apps
  • Web services
  • webdev
  • XML
  • Xpage
  • XPages
  • XPages Extensibility API
  • xsp-config
  • データソース
  • 九州地区ノーツパートナー会
InformationInformation
You are currently viewing machine translated content. IBM translation might be available. Click IBM Translated Product Documentation to see what is available.X


Home > IBM Redbooks: Building Domino Web Applications using Domino 8.5.1 > Section IV - Review underlying technologies and skills required to build a Domino XPages web app
Rate this article 1 starRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars

Section IV - Review underlying technologies and skills required to build a Domino XPages web app 

expanded Abstract
collapsed Abstract
No abstract provided.
ShowTable of Contents
HideTable of Contents
  • 1 Introduction to Domino Object Model
  • 2 Introduction to HTML CSS XML and JS and their role in XPages
    • 2.1 Role of these technologies in XPages
    • 2.2 XML
    • 2.3 JavaScript
    • 2.4 CSS
    • 2.5 HTML
  • 3 Introduction to JSF
  • 4 A peek inside Dojo
  • 5 Do I need to learn JAVA
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.
sectiv_1.png



Simple actions are available for common operations and almost every property is computable using JS.
sectiv_2.png


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.
sectiv_3.png


JavaScript Libraries are available as a resource to XPages and can also reference Dojo modules.
sectiv_4.png

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)


Back to Top



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.

Back to Top


expanded Article information
collapsed Article information
Category:
IBM Redbooks: Building Domino Web Applications using Domino 8.5.1
Tags:

This Version: Version 2 January 15, 2010 10:38:14 AM by John Bergland  IBMer

expanded Attachments (5)
collapsed Attachments (5)

 


File TypeSizeFile NameCreated On
image/x-png 1 KB backtotop.png 1/15/10 10:45 AM
image/x-png 33 KB sectiv_4.png 1/15/10 10:45 AM
image/x-png 47 KB sectiv_1.png 1/15/10 10:45 AM
image/x-png 36 KB sectiv_2.png 1/15/10 10:45 AM
image/x-png 33 KB sectiv_3.png 1/15/10 10:45 AM
expanded Versions (2)
collapsed Versions (2)
Version Comparison     
Version Date Changed by               Summary of changes
31 Jan 14, 2010 11:38:24 PM John Bergland  
This version (2) Jan 15, 2010 10:38:14 AM John Bergland  
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedSubscribe to RSSHelpAbout
  • All Lotus and WebSphere Portal wikis
  • IBM developerWorks
  • IBM Software support
  • IBM Social Business User Experience Blog
  • IBMSocialBizUX on Twitter
  • IBMSocialBizUX on Facebook
  • Lotus product forums
  • IBM Social Business UX blog
  • IBM Collaboration Solutions
  • Recently added feedRecently added
  • Recently edited feedRecently edited
  • Recently added comments feedRecently Added Comments
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Contact IBM
  • IBM Terms of use
  • Wiki terms of use