Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
HCL Notes
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Overview== ===Client/server=== Notes and Domino are client/server database environments. The server software is called Domino and the client software is Notes. Domino software can run on Windows, Unix, [[AIX]], and IBM mid-range systems and can scale to tens of thousands of users per server. There are different supported versions of the Domino server that are supported on the various levels of server operating systems. Usually the latest server operating system is only officially supported by a version of HCL Domino that is released at about the same time as that OS. Domino has security capabilities on a variety of levels. The authorizations can be granular, down to the field level in specific records all the way up to 10 different parameters that can be set up at a database level, with intermediate options in between. Users can also assign access for other users to their personal calendar and email on a more generic reader, editor, edit with delete and manage my calendar levels. All of the security in Notes and Domino is independent of the server OS or Active Directory. Optionally, the Notes client can be configured to have the user use their Active Directory identity. ===Data replication=== The first release of Lotus Notes included a generalized replication facility. The generalized nature of this feature set it apart from predecessors like [[Usenet]] and continued to differentiate Lotus Notes. Domino servers and Notes clients identify NSF files by their Replica IDs, and keep replicated files synchronized by bi-directionally exchanging data, metadata, and application logic and design. There are options available to define what meta-data replicates, or specifically exclude certain meta data from replicating. Replication between two servers, or between a client and a server, can occur over a network or a [[Point-to-point (telecommunications)|point-to-point]] modem connection. Replication between servers may occur at intervals according to a defined schedule, in near-[[Real-time operating system|real-time]] when triggered by data changes in server clusters, or when triggered by an administrator or program. Creation of a local replica of an NSF file on the hard disk of an HCL Notes client enables the user to fully use Notes and Domino databases while working off-line. The client synchronizes any changes when client and server next connect. Local replicas are also sometimes maintained for use while connected to the network in order to reduce [[network latency]]. Replication between a Notes client and Domino server can run automatically according to a schedule, or manually in response to a user or programmatic request. Since Notes 6, local replicas maintain all security features programmed into the applications. Earlier releases of Notes did not always do so. Early releases also did not offer a way to [[encryption|encrypt]] NSF files, raising concerns that local replicas might expose too much confidential data on [[laptop]]s or insecure [[home office]] computers, but more recent releases offer encryption, and as of {{when|date=July 2015}} the default setting for newly created local replicas. ===Security=== Lotus Notes was the first widely adopted software product to use [[public key cryptography]] for client–server and server–server authentication and for encryption of data. Until US laws regulating encryption were changed in 2000, IBM and Lotus were prohibited from exporting versions of Notes that supported symmetric encryption keys that were longer than 40 bits. In 1997, Lotus negotiated an agreement with the [[National Security Agency|NSA]] that allowed export of a version that supported stronger keys with 64 bits, but 24 of the bits were encrypted with a special key and included in the message to provide a "workload reduction factor" for the NSA. This strengthened the protection for users of Notes outside the US against private-sector [[industrial espionage]], but not against spying by the US government.<ref>[http://catless.ncl.ac.uk/Risks/19.52.html#subj1 "The Swedes discover Lotus Notes has key escrow!"] ''The Risks Digest'', Volume 19, Issue 52, 1997-12-24</ref><ref>[http://www.heise.de/tp/artikel/2/2898/1.html Only NSA can listen, so that's OK] Heise, 1999.</ref> This implementation was widely announced, but with some justification many people did consider it to be a [[Backdoor (computing)|backdoor]]. Some governments objected to being put at a disadvantage to the NSA, and as a result Lotus continued to support the 40-bit version for export to those countries. Notes and Domino also uses a code-signature framework that controls the security context, runtime, and rights of custom code developed and introduced into the environment. Notes 5 introduced an execution control list (ECL) at the client level. The ECL allows or denies the execution of custom code based on the signature attached to it, preventing code from untrusted (and possibly malignant) sources from running. Notes and Domino 6 allowed client ECLs to be managed centrally by server administrators through the implementation of policies. Since release 4.5, the code signatures listed in properly configured ECLs prevent code from being executed by external sources, to avoid [[computer virus|virus]] propagation through Notes/Domino environments. Administrators can centrally control whether each mailbox user can add exceptions to, and thus override, the ECL. ===Database security=== Access control lists (ACLs) control a user of server's level of access to that database. Only a user with Manager access can create or modify the ACL. Default entries in the ACL can be set when the Manager creates the database. Roles, rather than user id, can determine access level. ===Programming=== Notes and Domino is a cross-platform, distributed document-oriented [[NoSQL]] database and messaging framework and rapid application development environment that includes pre-built applications like email, calendar, etc. This sets it apart from its major commercial competitors, such as [[Microsoft Exchange Server|Microsoft Exchange]] or [[Novell GroupWise]], which are purpose-built applications for mail and calendaring that offer APIs for extensibility. Domino databases are built using the Domino Designer client, available only for [[Microsoft Windows]]; standard user clients are available for Windows, [[Linux]], and [[macOS]].<ref>Domino Designer clients available here http://www.ibm.com/developerworks/downloads/ls/lsndad/</ref> A key feature of Notes is that many replicas of the same database can exist at the same time on different servers and clients, across dissimilar platforms; the same storage architecture is used for both client and server replicas. Originally, replication in Notes happened at document (i.e., record) level. With release of Notes 4 in 1996, replication was changed so that it now occurs at field level. A database is a Notes Storage Facility (.nsf) file, containing basic units of storage known as a "note". Every note has a UniqueID that is shared by all its replicas. Every replica also has a UniqueID that uniquely identifies it within any cluster of servers, a domain of servers, or even across domains belonging to many organizations that are all hosting replicas of the same database. Each note also stores its creation and modification dates, and one or more Items. There are several classes of notes, including design notes and document notes. Design notes are created and modified with the Domino Designer client, and represent programmable elements, such as the GUI layout of forms for displaying and editing data, or formulas and scripts for manipulating data. Document notes represent user data, and are created and modified with the Notes client, via a web browser, via mail routing and delivery, or via programmed code. Document notes can have parent-child relationships, but Notes should not be considered a hierarchical database in the classic sense of [[information management system]]s. Notes databases are also not [[Relational model|relational]], although there is a [[SQL]] driver that can be used with Notes, and it does have some features that can be used to develop applications that mimic relational features. Notes does not support atomic transactions, and its [[file locking]] is rudimentary. Notes is a [[document-oriented database]] (document-based, schema-less, loosely structured) with support for rich content and powerful indexing facilities. This structure closely mimics paper-based work flows that Notes is typically used to automate. Items represent the content of a note. Every item has a name, a type, and may have some flags set. A note can have more than one item with the same name. Item types include Number, Number List, Text, Text List, Date-Time, Date-Time List, and Rich Text. Flags are used for managing attributes associated with the item, such as read or write security. Items in design notes represent the programmed elements of a database. For example, the layout of an entry form is stored in the rich text Body item within a form design note. This means that the design of the database can replicate to users' desktops just like the data itself, making it extremely easy to deploy updated applications. Items in document notes represent user-entered or computed data. An item named "Form" in a document note can be used to bind a document to a form design note, which directs the Notes client to merge the content of the document note items with the GUI information and code represented in the given form design note for display and editing purposes. However, other methods can be used to override this binding of a document to a form note. The resulting loose binding of documents to design information is one of the cornerstones of the power of Notes. Traditional database developers used to working with rigidly enforced schemas, in contrast, may consider the power of this feature as a double-edged sword. Notes application development uses several programming languages. [[Formula language|Formula]] and LotusScript are the two original ones. LotusScript is similar to, and may even be considered a specialized implementation of, Visual Basic, but with the addition of many native classes that model the Notes environment, whereas Formula is similar to [[Lotus 1-2-3]] formula language but is unique to Notes. Java was integrated into IBM Notes beginning with Release 4.5. With Release 5, Java support was greatly enhanced and expanded, and [[JavaScript]] was added. While LotusScript remains a primary tool in developing applications for the Lotus Notes client, Java and JavaScript are the primary tools for server-based processing, developing applications for browser access, and allowing browsers to emulate the functionality of the IBM Notes client. With XPages, the IBM Notes client can now natively process Java and JavaScript code, although applications development usually requires at least some code specific to only IBM Notes or only a browser. As of version 6, Lotus established an [[XML]] programming interface in addition to the options already available. The Domino XML Language (DXL) provides XML representations of all data and design resources in the Notes model, allowing any XML processing tool to create and modify IBM Notes and Domino data. Since Release 8.5, XPages were also integrated into IBM Notes. External to the Notes application, HCL provides toolkits in [[C (programming language)|C]], [[C++]], and [[Java (programming language)|Java]] to connect to the Domino database and perform a wide variety of tasks. The C toolkit is the most mature, and the C++ toolkit is an objectized version of the C toolkit, lacking many functions the C toolkit provides. The Java toolkit is the least mature of the three and can be used for basic application needs. ===Database=== IBM Notes includes a [[database management system]] but Notes files are different from relational or object databases because they are document-centric. [[Document-oriented database]]s such as Notes allow multiple values in items (fields), do not require a [[database schema|schema]], come with built-in document-level access control, and store rich text data. IBM Domino 7 to 8.5.x supports the use of [[IBM Db2]] database as an alternative store for IBM Notes databases. This NSFDB2 feature, however, is now in maintenance mode with no further development planned.<ref>{{Cite web|url=http://www-01.ibm.com/support/docview.wss?uid=swg21384421|title=IBM Support statement for Lotus Domino NSFDB2 - United States |date=January 10, 2017 |website=www-01.ibm.com |access-date=January 19, 2019}}</ref> An IBM Notes database can be mapped to a relational database using tools like DECS, [LEI], JDBCSql for Domino or NotesSQL.<ref>{{cite web |url=http://www-142.ibm.com/software/sw-lotus/products/product4.nsf/wdocs/notessqlhome |title=NotesSQL |publisher=IBM |access-date=October 24, 2011 |archive-url=https://web.archive.org/web/20070602090000/http://www-142.ibm.com/software/sw-lotus/products/product4.nsf/wdocs/notessqlhome |archive-date=June 2, 2007 |url-status=dead}}</ref> ===Configuration=== The HCL Domino server or the Domino client store their configuration in their own databases / application files (*.nsf). No relevant configuration settings are saved in the Windows Registry if the operating system is Windows. Some other configuration options (primary the start configuration) is stored in the notes.ini (there are currently over 2000 known options available<ref>notes.ini Reference - by alphabet http://www.lntoolbox.com/en/notesini-reference.html</ref>).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)