Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Softpanorama Search

Javascript in Lotus Notes

News

Recommended Books

Recommended Links

Reference

Articles

Tutorials

Introductory Courses

FAQs  

Prototype-based programming

Jscript

RegEx

Script Archives

Jscript Debugger

WSH

Engines

Javascript in Lotus Notes Netscape Debugger
DOM Model Advanced Cookies Outliners,
Contents Generators
Debugging Quotes History Humor Etc

Few Lotus Notes developers use JavaScript despite the fact that it's a better scripting language then LotusScript. This is really unfortunate....

Interview with Mark Judd, the JavaScript champion at Iris -Lotus  A Lotus developer answers some broad questions about JavaScript. Among the topics discussed: R5's compliance with HTML 4.0, JavaScript's affect on LotusScript and common uses for JavaScript in a Domino application.

What version of JavaScript does R5 support and what does this mean for users?
People ask this all the time, but it depends on what you mean. Do you mean the language, or the Document Object Model (DOM), or the classes, or the libraries? If you are talking about the language, Domino supports JavaScript Version 1.3. We've licensed the Netscape JavaScript interpreter and embedded it into the Designer and the client. For users, this defines the language syntax and the set of built-in classes, such as String and Date classes.

A side point about the language is that JavaScript truly is an object-oriented language. It's "object-orientedness," however, is based on a "prototypical instance" model rather than a "class" model. This instance-based model can be very powerful. But let's save this discussion for another day. What people usually mean when they ask "What version do we support?" is what do we support in terms of the DOM.

What are the most common uses of JavaScript in a Domino application?
In Domino Designer, you can use JavaScript to program actions, buttons, hotspots, and form, page, and field events. You'll often see applications taking advantage of these objects to perform form and field validation, to create mouse-over effects, do numeric calculations, and display dialog boxes.

What changed in the Designer between R4.6 and R5?
With R5, you can program JavaScript in the integrated development environment (IDE). Now, when you design an application, you can write JavaScript directly without having to use pass-thru HTML as you did in R4.6. Remember, pass-thru HTML is only processed by browsers. JavaScript written in the IDE, on the other hand, is accessed both by browsers and Notes clients.

What are we doing beyond R5 with JavaScript?
The first order of business is to improve the level of DOM support in the Notes client to make it HTML 4.0 compliant (and beyond). Both the Designer and the Notes client will need to support CSS to do this. Better JavaScript library support will be added to the Designer as well as support for in-line JavaScript. We'll also be creating more Java applets and JavaScript libraries that mimic Notes functionality.

We expect that the DOM (as defined by the W3C standardization effort) will become the way that users manipulate client-side documents. We'll be melding the NotesUI classes into the DOM model. The Notes UIView, for instance, will become an object/applet that supports an API that is the union of the current NotesUIView and the ViewApplet. You will access a NotesUIView in the DOM as if it were an <OBJECT> tag on an HTML page.

More and more of our internal components will be exposed externally. Customers will be able to subclass our components to better customize their own applications. If you don't like our Time Picker, for example, you'll be able to plug in your own. The JavaScript access to the customized component remains invariant.

In addition, XML interfaces have only been used internally in R5, but will become externally available. The Notes client will come to support an XML DOM naturally accessed using JavaScript. And, most important to me, because I'm a LotusScript and formula language neophyte, I'd like to see JavaScript to appear in the server-side scripting engine!

Any last words?
Well, here's a final prognostication: DHTML is not just for the Web anymore. From my perspective, it's becoming the windowing layer for all applications on all platforms. Whether it be Windows or UNIX, GUIs will be written in DHTML soon, not C++. And remember, JavaScript goes hand-in-hand with DHTML. (But then, I'm only the "JavaScript Bigot".)

Accessing Notes fields from within your JavaScript code

Lotus R5 - Using Javascript in Domino Applications

Lotus Domino Release 5.0: A developer's handbook IBM How to develop applications using R5, use the programming languages available in Domino Designer, instruction on Enterprise Connector Services (DECS) to access data from external data sources, descriptions of NotesSQL, ODBC, and the LotusScript Data Object (LSDO). A redbook, available as PDF.

Using JavaScript For Input Validation -Lotus   An example of how JavaScript gets field validation of input data before submitting a document to the server.

Domino and JavaScript -Iris Associates Inc.  This is the first article in a series of three on how to use Domino and JavaScript to design dynamic Web applications. This first article introduces you to Java and JavaScript, and discusses some guidelines for when and where you might want to use JavaScript in your applications. The second article explains how to do field validation with JavaScript by walking through the Domino.Applications SiteCreator application. The third article shows you how to use JavaScript to provide address book functionality for Web users, and how to easily incorporate context-sensitive help documents in Web-based applications.

Getting started with JavaScript development in Domino -DominoPower  This site outlines the benefits of JavaScript for Domino 5.0, complete with a sample of some common applications.

The IDE & more: JavaScript support in Designer R5 Iris Today This article introduces R5's support for JavaScript by first talking about why you might want to use JavaScript in your applications, and then providing a couple of step-by-step examples of how to use it. Specifically, the examples show you how to calculate field values on the fly, and how to handle field validation at the form level before a document is submitted.



Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Disclaimer:

Last updated: August 12, 2009