This is the follow up to my last entry with regards to name fields in Lotus Notes/Domino applications. While Part I had been focused on the Administration side I am now continuing with the Development aspects.
When developing a Lotus application the first question would be whether name fields will be required at all and if so what kinds of fields are required. If it is decided that no name fields are required I would still suggest following my other comment regarding the prevention of the use of the $Readers field.
If however the specification involves the use of name fields the following two questions should be considered:
- Does the name stored within a field require to be maintained with the change of the legal name?
If so the name needs to be stored to a names field.
If however, the name in the document must not change with the change of the legal name of a person, this information should rather be stored in a text field or a Names field with the ACL setting to maintain Reader and Author fields only. This case is usually required for record management purposes and to store the initial author of a document. If the name of the author would have been stored in a name field and the employee decides to resign, the name stored in the field used to display the author of a document would be blanked out once the account gets deleted.
- How are names supposed to be displayed; Hierarchical, Canonical, Abbreviate, you name it?
Names in name fields are always stored using the full hierarchical name. This includes component labels for all parameters. If the name is only supposed to be displayed as common name, it should be stored and maintained in a hidden names field and displayed using a computed for display field or a computed text.
Author fields only apply for users with Author access assigned to them in the ACL. If less access (e.g. Reader) were defined, Author fields would not grant them Editor access to document. Once they have Editor access (and above) they are able to edit all documents they see regardless of Author fields.
Readers fields however effect the visibility of documents. Entities not listed in any Readers field of a document are not able to see documents with at least one active Readers field irrespective of their ACL rights. This restriction can only be overwritten using the Full Access Administration access that got introduced with version 6 of Lotus Notes/Domino.