Home > Articles

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

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020