Home > Articles

  • Print
  • + Share This
This chapter is from the book

Understanding Domino Application Architecture

Domino databases are containers for the applications. The database design elements and actual data are both stored within the Domino databases.

The Domino database is an object store, containing various types of Notes documents. These Notes documents comprise design elements, design logic contained in designer code, Access Control List information, as well as the actual data entered and used by the application users. Table 3.3 describes the major components of a Domino database.

Each database is an actual file with an .nsf extension. The .nsf represents Notes Storage Facility.

Table 3.3 Components of a Domino Database

Component

Function

Access Control List (ACL)

Defines the users of the database and their respective rights within each database.

Design elements

The building blocks of an application, such as frames, forms, views, images, cascading style sheet, and so on.

Logic design

Logic is added through the use of elements to calculate, modify, and access values as well as automate tasks and functions.

Data

The information within the application. Users use design elements to read, create, modify, and delete data.


The types of Domino applications that can be created enable users to share, collect, track, and organize information.

The differential for defining Web applications versus Notes client/server applications lies within the database. The specific database properties, which specify how design elements are used and how they are presented to the user, are dependant on the client type and how the Domino server treats the contents of the database. Specifically, if the database client making a request to the server is doing so with a Lotus Notes client, the server uses the native, proprietary .nsf format (using the Domino Remote Procedure Call [RPC]) to serve the information. However, if the client is making the request with a Web client (HTTP), the Domino server (running the HTTP server task) converts the information to HTML and serves the contents to the Web client. Specifically, Lotus Notes and Domino attempts to convert the Notes Document Object Model (DOM) and the Domino Remote Procedure Call (RPC) to the stateless Web environment by using Sun Microsystems Java and JavaScrip to translate native Lotus Domino design elements to browser (HTTP) design elements.

When creating applications that are to be accessed by Web (HTTP) clients as well as native Notes clients, various features need to be addressed—not only in the design elements used within the application, but in the server settings, database properties, form properties, view properties, and other settings for individual design elements.

Typically, applications residing on the Domino server are accessed by Notes clients, Web clients, or both. The Domino server performs the following tasks:

  • Interprets client requests

  • Executes requests within the Domino application (based on the access rights of the user making the requests)

  • Serves HTML results from HTTP user requests

The Notes client was designed specifically for Domino applications. Therefore, when using Notes clients, users can

  • Use menu options and shortcuts

  • Run applications locally and work offline

Web browsers access the Domino applications on Domino servers (HTTP Web servers) that are running the HTTP task. When the HTTP task is loaded, the Domino server provides the HTML interface to the Domino applications for Web clients.

Prior to adding text to a page or form, or after text has been added to a page or form, you can modify the properties through the Text properties box. Because the text directly affects the appearance of the application, it is important to understand the properties that can be modified, which are the following:

  • Text appearance (font type, text size, text, and color)

  • Paragraph alignment, spacing, and list types

  • Margins, tabs, tab stops, and pagination

  • Paragraph borders (styles, effects, and thickness)

  • Hide-when settings (for client type or document state, or based on formula)

  • Styles

When a design element is selected in the Design list, all the existing design elements specific to the selected design element are displayed in the Work pane. To open a specific design element, double-click on the element or highlight the design element (single-click on the design element) and press Enter.

Because Domino Designer is its own executable application, you can start it directly without first opening the Notes client (by launching designer.exe). However, you can still launch the Domino Designer from within the Notes client by either clicking on the Designer icon or by selecting View, Design from the drop-down menu to open a database in the Designer.

The Domino Designer provides an interface to enable you to create and modify design elements contained within the Domino database. Design elements are the building blocks for applications and are used to create applications. Creating, modifying, and troubleshooting design elements is covered in more detail in Chapter 4, "Design Elements." The functions used within Domino and the design elements used in their implementation are listed in Table 3.4.

Table 3.4 Design Element Functionality

Design Element

Application Task/Functionality

Framesets

Collections of frames in which you can add structure to your application. A frame is a section, or pane, contained within a frameset window, which is independently scrollable.

Pages

Display and organize information. Contain text, images, applets, and other objects. Information cannot be entered in pages.

Forms

Contain fields where users enter values. These values are stored in Notes Documents.

Views

Contain index and display lists of the documents contained within the database.

Folders

Containers that store documents. Using the same design as views, folders remain empty until users or programs add documents to the folder.

Agents

Programs that perform a series of automated tasks based upon a schedule, event, or a user's request.

Outlines

A skeleton of an application containing outline entries representing individual elements within the application.

Subforms

A collection of fields, graphics, buttons, and actions you plan to use in more than one form.

Fields

The part of an application that collects data. Shared fields can be defined for use on one or more forms.

Actions

Perform tasks when triggered, allowing automation of tasks found in the Notes menu, defined by formulas, or defined by a LotusScript program.

Script Libraries

A place for storing code that can be shared in the current application through the use of LotusScript, JavaScript, and Java. Code can also be stored for other applications through the use of JavaScript and Java.

Images

Image resources that can be used throughout the application.

Files

Allows sharing of non-NSF files within the current database and across different databases.

Applets

Stores applet resources of related java files.

Style Sheets

Cascading Style Sheets that provide the capability to control page layout, headers, links, text, fonts, styles, color, margins, etc.

Data Connections

Design elements that enable you to establish a data exchange between a Domino application and an external data source.

Database Resources

The database icon, the Using Database document, the About Database document, and database scripts.

Navigators

Graphical road maps (similar to image maps) that direct users to specific parts of an application or database, or allow users to take actions without having to open a view.


CAUTION

For the exam, be sure to know all the design elements available in Domino 6 and the definition of each element.

You can insert certain design elements into the design of either forms or pages. These elements are referred to as embedded elements. Table 3.5 outlines the design elements that can be embedded into forms or pages, provides a brief description of the design elements, and indicates which client type can use this embedded design element (either the native Notes client or Web clients).

Table 3.5 Embedded Elements

Element Type

Description

Client Type

Outline

Displays navigation control linking to other design elements (pages, forms, views, and so on.)

Notes/Web

View

Displays view objects.

Notes/Web

Navigator

Displays navigator objects.

Notes/Web

Date Picker

Displays calendar view of the months.

Notes

Scheduler

Displays the Group Scheduling Control, which schedules multiple people at the same time.

Notes

Editor

Enables you to embed one or more forms into an existing form or embed an editor to link to an embedded view.

Notes/Web

Folder Pane

Displays folder objects.

Notes/Web

File Upload Control

Displays the file upload to enable users to insert attachments.

Web


NOTE

With Domino R6, you can now embed elements from databases other than the current database. Cross-database referencing enables you to select an alternate database (using the database name) from a list of local databases. This does not apply to Date Picker, Scheduler, Folder Pane, or the File Upload Control.

With Domino R6, you can now embed multiple views on a page, form, or subform for either Web clients or Notes clients. Other features now available when using embedded views with Domino R6 are

  • The capability of deleting marked documents in an embedded view

  • Capability to show the action bar

  • Feature to use a transparent background on the design element so that any image or color defined behind the embedded view will be displayed (for example, the form background image or color)

Other design features supported by both Web clients and Notes clients are

  • Horizontal rules

  • Computed text

  • Buttons

  • Action Bar buttons

  • Hot spots

When using buttons on forms intended for Web clients, keep in mind that the user's browser must support JavaScript. To display multiple buttons, the Web Access: Use JavaScript When Generating Pages database property must be enabled. If this setting has not been enabled, Domino does one of two things:

  1. Domino recognizes only the first button on the document and automatically converts it into a Submit button.

  2. If there is not a button on the form, Domino automatically creates a Submit button.

Often, neither provides the desired result because this button will be displayed on the page enabling users to save the document. Consequently, it is important to enable this setting. Of course, remember to create your own Submit button if it is required. Also keep in mind when creating buttons that not all commands and formula actions are supported on the Web. Similarly, some commands and formula actions are supported only on the Web.

  • After the hotspot has been created, you can modify its properties to

  • Specify the target frame for the hotspot link

  • Specify the image map tab order for the hotspot

  • Enter alternate text for the hotspot

  • + Share This
  • 🔖 Save To Your Account