Developing for Domino/Notes

Development under Domino/Notes is available through the following tools: @commands, LotusScript (an object-based Basic), JavaScript.

The basis of Domino/Notes is a form. It contains differents types of objects (eg. text box, combo box, sub-form, sections, layouts, pictures, etc.)

The second most important element of a database is a view: It lists available documents, and each document will be displayed through a form.

On the left side is the navigation pane, where are listed views.

Elements

Create...

Actions

Click on an empty area of a form, and select Create Action. Name this new toolbar. In the Objects tree, select this new object's Click action, followed by Run Simple Actions in the code window. To select a standard Notes aciton, click on Add Action..., such as Modify Field.

Q&A

What are shared actions?

What's the difference between a form and a page?

Development

Below are notes I took while reading Deborah Lynd & Steven Kern's Lotus Notes and Domino 5 Development Unleashed.

In forms, organize field through tables so that the layout remains the same whether viewed through a Notes client or a web browser.

Use shared objects sparingly as this drives down performance.

In R5, there is no way to limit the maximum size a DB can have.

To set who can create DBs on a server, open the PNAB | Server document | Restriction document.

Development under Domino can be done with the formula language (ie. @commands), a OO Basic proprietary language called LotusScript, JavaScript, Java, and HTML.

It is recommended to add a synonym to a form in case its public name is changed later: To do this, just add a | sign followed by the synonym.

Forms can be cascaded through the \ sign, eg. HW Requisition\PC, HW Requisition\Laptop.

Versioning can be done through Form Properties | Versions = ...

Avoid setting "Store Forms in Document" in a form's properties as it increases the amount of disk space for the DB.

Fields as well as forms have an internal sequence number that the Replicator uses to detect a conflict.

Form inheritance can be activated through the Form Properties | Defaults Tab | On Create = Formulas inherit values from select document

When using @DbLookup/@DbColumn to populate a list from an external view, consider making it hidden since it has no value to users.

Resources