What is the DOM?
The DOM stands for the Document Object Model. When a browser renders an HTML page, it first parses the HTML and creates an in-memory tree representation of that page. That tree and the API that accesses and massages the tree once it is created are called the DOM.
The bad news is that different browsers support different DOMs. Netscape does it differently from Microsoft Internet Explorer. Furthermore, 3.0 versions of the browsers support different DOMs than the 4.0 versions, which support different DOMs than the 5.0 versions. The Notes client will only add to the confusion, since we only provide a subset of the HTML 4.0 DOM. Our current DOM support is closer to the 3.2 definition.
The good news is that there is a W3C effort to standardize the DOM. We are committed to support their definition. To me, the most important aspect in the browser wars is not about the level of HTML support, but rather about the level of DOM support. I'm always looking for the most "programmable" DOM. Today, IE wins hands down, but watch out for Netscape's newest renderer (named Gecko).
What changed in the Designer between R4.6 and R5?
Figure 1. InfoList pane, Objects tab
Is R5 HTML 4.0 compliant?
In the Designer, you can create Web applications that take full advantage of the HTML 4.0 browsers. The Domino Web server can serve up these 4.0 compliant pages. The Notes client does not yet handle onMouse or onKey events, so it is not currently 4.0 compliant. If you want to create a single application that runs in both a Web browser and the Notes client, you'll want to program to the HTML 3.2 specification.
Will it be a lot of work for users to upgrade?
What is the JS Header placeholder and how does it help users?
Is this the end of LotusScript?
Plus, independent of the client type you want to target, LotusScript is also a great server-side scripting language. The beauty of our architecture is that when we add new objects to the back-end classes, all of our language bindings inherit that functionality.
What is "LiveConnect"?
The LiveConnect capability is part of the three major clients: Netscape Navigator, Internet Explorer, and now, Notes R5.
But let's address your CORBA question. It just so happens that when you're running the AppletBase applet in the Notes client, we use the native Notes RPC protocol to access the back-end. When you're running in a browser, we use the IIOP protocol to talk to a server-side ORB to access the back-end. This just happens for you automagically; Domino knows which protocol to use in which case.
Let me reinforce this statement. The AppletBase applet is not a CORBA applet. It simply provides easy access to the back-end objects. Sometimes it will use CORBA's transport protocol; sometimes it will use another protocol. Beyond R5, we're set up to augment the set of protocols we use, but Notes developers don't have to concern themselves with this. The API to the Domino Objects remains constant; the protocol can vary behind the scenes to take advantage of a given platform or to tune the performance.
So you can see that I had the easy job. I just sat in the middle and kept nudging everyone so that it would all come together.
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.
Any last words?
Outside of work, Mark and his wife Terri both find themselves being soccer moms to their kids Zak, Zoo, and Alexis. Though he's given up on a White Christmas, Mark's still hoping for snow so he can flood the backyard and get the kids out skating (or maybe curling).
- Query Builder Example sidebar
- Domino Designer R5 Technical Overview
- Ned Batchelder: Designing Domino Designer