IBM Notes

Notes File Structure

A Notes database repository is called a Notes Storage Facility (.nsf) file and they consist of storage units called 'notes'. Notes objects are usually documents, but they can be other types of object, such as image, audio and video. As the documents are pretty much free form text, Notes databases are ideal for holding Internet source files.

Lotus Notes database objects Other Notes objects are 'Forms', which are used to create new documents, and 'Views' which are used to collate data from several documents.

Views and Forms are typically set up by an application programmer.

Notes looks for all its databases under its default directory. This is usually C:/NOTES/ though it can be changed. The system variable $NOTESDIR stores the root directory name.

This doesn't mean that you have to hold all your databases in that directory, Lotus supports the Unix concept of Virtual Mount Points.

The default name for the Domino Directory is NAMES.NSF, which inherits its design from PUBNAMES.NTF. The Domino Directory is used by clients and servers to get information about users, servers, groups, or other assets in a Notes domain. The Domino Directory can point to two extra databases, the Directory Assistance database and the Directory Catalog database.

The Directory Assistance database lists the names of directories that store information about local or remote secondary Domino Directories and remote LDAP directories. Secondary Domino Directories usually contain directory information about other Notes domains.

The Directory Catalog is used as an extension to NAMES.NSF to store a compact version of some user information. Mail-oriented applications use a directory catalog because it can present, in a very small database file, basic directory information about a huge community of users.

A Directory Link is a text file which has the extension *.DIR It simply contains the pathing information to point to a real directory elsewhere on the server.
Lotus Notes database links
A Database Link is a text file which has the extension *.NSF, i.e. its pretending to be a database. All it contains, is the pathing information to a real database
If you select either of these objects from within Notes, it works out the pathing information, and takes you to the real data.

Notes Object Services (NOS) is the glue that holds the Notes components together and Notes Storage Facility (NSF) is the database manager. Lotus Notes is a multi-platform application, it can happily co-exist on several different server platforms in the same organisation, and look like one coherent e-mail application. Some system notes databases are -
names.nsf - contains user, server, group, and asset info
da.nsf contains directory assistance for remote and local directories
dircat.nsf - and extension to the names database, it contains abbreviated user information and is commonly used by mail systems to store info on thousands of users.

The 'note' is the basic Notes data structure. Every note has a UniqueID that is shared by all its replicas. The one single structure is used to simplify multi-platform capability. The Note header contains class (Document, ACL, replication formula, shared field), replication and size information. Notes can be data notes or non-data notes. Data notes, or documents, contain the data content. Non-data notes contain metadata, like access control lists, design views, forms, cross form field definitions, Icons and views. Notes can have child notes, which permits the building of a complex set of documents.
Design notes contain things like the GUI layout of forms for web pages. or maybe data manipulation scripts, and are created by Domino Designers.
A 'note' is a logical concept. In physical terms different parts of a note can be stored in different physical locations. Notes metadata are all held together in 'summary buckets', to allow rapid searching and view creation. The total summary data for a given node cannot exceed 64K
Every note has a UniqueID that is the same over all replicas.

A note contains self describing metadata called items. Items can be used for formatting text within a document, for instance lists or rich text. They can also be used to set read and write attributes for security.

Deleting and Copying Documents

Deleting a document from a database is a two stage process. First select the document from a view list, using the space bar. Then hit the 'delete' key on your keyboard. A dustbin, or trashcan will appear in the margin. You can select several documents like this, and the space bar acts as a toggle key, if you press it again, the dustbin disappears. Once you have selected all the documents you want to delete, hit PF9 to delete the documents, and reply YES to the idiot message. Delete will leave a stub file, which is used to clone the delete to the other servers in the cluster. Stub files are cleaned up automatically after a number of days. One of the plus points for Notes is that a document is only physically stored once, with any copies just containing links back to the original. Deleting a document (or email) will delete it from every folder in which it appears, since the folders simply contain links to the same back-end document. If you select the 'Remove from Folder' option, then that will just delete the link in that folder, leaving the original, and any other links intact.

When data is deleted from a database the space is left behind as 'whitespace' This space cannot be reused, it must be reclaimed by running the database compactor task.

It is best to determine a limit of how many documents a database can contain, to prevent databases becoming too large. Large databases are more difficult to manage, for backup, restore, searching compressing etc. To prevent databases becoming too large, work out an archiving process which removes inactive documents to a set of archive databases.

You can check the size of your databases by looking at a NOTES system database, NOTES.LOG use File, database, open
Select notes log
Go to databases, sizes view