HCL Notes

HCL Notes (formerly Lotus Notes then IBM Notes) is a proprietary collaborative software platform for Unix (AIX), IBM i, Windows, Linux, and macOS, sold by HCLTech. The client application is called Notes while the server component is branded HCL Domino.
HCL Notes provides business collaboration functions, such as email, calendars, to-do lists, contact management, discussion forums, file sharing, websites, instant messaging, blogs, document libraries, user directories, and custom applications. It can also be used with other HCL Domino applications and databases. IBM Notes 9 Social Edition removed integration with the office software package IBM Lotus Symphony, which had been integrated with the Lotus Notes client in versions 8.x.
Lotus Development Corporation originally developed "Lotus Notes" in 1989. IBM bought Lotus in 1995 and it became known as the Lotus Development division of IBM. On December 6, 2018, IBM announced that it was selling a number of software products to HCLSoftware for $1.8bn, including Notes and Domino. This acquisition was completed in July 2019.
HCL Domino is a client-server cross-platform application runtime environment.
Domino provides email, calendars, instant messaging (with additional HCLSoftware voice- and video-conferencing and web-collaboration), discussions/forums, blogs, and an inbuilt personnel/user directory. In addition to these standard applications, an organization may use the Domino Designer development environment and other tools to develop additional integrated applications such as request approval / workflow and document management.
The Domino product consists of several components:
Domino competes with products from other companies such as Microsoft, Google, Zimbra and others. Because of the application development abilities, HCL Domino is often compared to products like Microsoft Sharepoint. The database in Domino can be replicated between servers and between server and client, thereby allowing clients offline capabilities.
Domino, a business application as well as a messaging server, is compatible with both Notes and web-browsers. Notes (and since IBM Domino 9, the HCAA) may be used to access any Domino application, such as discussion forums, document libraries, and numerous other applications. Notes resembles a web-browser in that it may run any compatible application that the user has permission for.
Domino provides applications that can be used to:
The standard storage mechanism in Domino is a document-database format, the "Notes Storage Facility" (.nsf). The .nsf file will normally contain both an application design and its associated data. Domino can also access relational databases, either through an additional server called HCL Enterprise Integrator for Domino, through ODBC calls or through the use of XPages.
As Domino is an application runtime environment, email and calendars operate as applications within Notes, which HCL provides with the product. A Domino application-developer can change or completely replace that application. HCL has released the base templates as open source as well.
Programmers can develop applications for Domino in a variety of development languages including:
The client supports a formula language as well as JavaScript. Software developers can build applications to run either within the Notes application runtime environment or through a web server for use in a web browser, although the interface would need to be developed separately unless XPages is used.
Notes can be used for email, as a calendar, PIM, instant messaging, Web browsing, and other applications. Notes can access both local- and server-based applications and data.
Notes can function as an IMAP and POP email client with non-Domino mail servers. The system can retrieve recipient addresses from any LDAP server, including Active Directory, and includes a web browser, although it can be configured by a Domino Developer to launch a different web browser instead.
Features include group calendars and schedules, SMTP/MIME-based email, NNTP-based news support, and automatic HTML conversion of all documents by the Domino HTTP task.
Notes can be used with Sametime instant-messaging to allow to see other users online and chat with one or more of them at the same time. Beginning with Release 6.5, this function has been freely available. Presence awareness is available in email and other HCL Domino applications for users in organizations that use both Notes and Sametime.
Since version 7, Notes has provided a Web services interface. Domino can be a Web server for HTML files; authentication of access to Domino databases or HTML files uses the Domino user directory and external systems such as Microsoft Active Directory.
A design client, Domino Designer, can allow the development of database applications consisting of forms (which allow users to create documents) and views (which display selected document fields in columns).
In addition to its role as a groupware system (email, calendaring, shared documents and discussions), HCL Notes and Domino can also construct "workflow"-type applications, particularly those which require approval processes and routing of data.
Since Release 5, server clustering has had the ability to provide geographic redundancy for servers.
Notes System Diagnostic (NSD) gathers information about the running of a Notes workstation or of a Domino server.
On October 10, 2018, IBM released IBM Domino v10.0 and IBM Notes 10.0 as the latest release. In December, 2019, HCL released HCL Domino v11 and HCL Notes v11.
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.
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 modem connection. Replication between servers may occur at intervals according to a defined schedule, in near-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 encrypt NSF files, raising concerns that local replicas might expose too much confidential data on laptops or insecure home office computers, but more recent releases offer encryption, and as of the default setting for newly created local replicas.
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 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. This implementation was widely announced, but with some justification many people did consider it to be a 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 virus propagation through Notes/Domino environments. Administrators can centrally control whether each mailbox user can add exceptions to, and thus override, the ECL.
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.
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 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. 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 systems. Notes databases are also not 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, on the other hand, may consider the power of this feature to be a double-edged sword.
Notes application development uses several programming languages. 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, C++, and 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.
IBM Notes includes a database management system but Notes files are different from relational or object databases because they are document-centric. Document-oriented databases such as Notes allow multiple values in items (fields), do not require a 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. An IBM Notes database can be mapped to a relational database using tools like DECS, [LEI], JDBCSql for Domino or NotesSQL.
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).
Notes is commonly deployed as an end-user email client in larger organizations.
When an organization employs an HCL Domino server, it usually also deploys the supplied Notes client for accessing the Notes application for email and calendaring but also to use document management and workflow applications. As Notes is a runtime environment, and the email and calendaring functions in Notes are simply an application provided by HCL, the administrators are free to develop alternate email and calendaring applications. It is also possible to alter, amend or extend the HCL supplied email and calendaring application.
The Domino server also supports POP3 and IMAP mail clients, and through an extension product (HCL mail support for Microsoft Outlook) supports native access for Microsoft Outlook clients.
HCL also provides iNotes (in Notes 6.5 renamed to "Domino Web Access" but in version 8.0 reverted to iNotes), to allow the use of email and calendaring features through web browsers on Windows, Mac and Linux, such as Internet Explorer and Firefox. There are several spam filtering programs available (including IBM Lotus Protector), and a rules engine allowing user-defined mail processing to be performed by the server.
Notes was designed as a collaborative application platform where email was just one of numerous applications that ran in the Notes client software. The Notes client was also designed to run on multiple platforms including Windows, OS/2, classic Mac OS, SCO Open Desktop UNIX, and Linux. These two factors have resulted in the user interface containing some differences from applications that only run on Windows. Furthermore, these differences have often remained in the product to retain backward compatibility with earlier releases, instead of conforming to updated Windows UI standards. The following are some of these differences.
Lotus Notes 7 and older versions had more differences, which were removed from subsequent releases:
Lotus Notes 8.0 (released in 2007) became the first version to employ a dedicated user-experience team, resulting in changes in the IBM Notes client experience in the primary and new notes user interface. This new interface runs in the open source Eclipse Framework, which is a project started by IBM, opening up more application development opportunities through the use of Eclipse plug-ins. The new interface provides many new user interface features and the ability to include user-selected applications/applets in small panes in the interface. Lotus Notes 8.0 also included a new email interface / design to match the new Lotus Notes 8.0 eclipse based interface. Eclipse is a Java framework and allows IBM to port Notes to other platforms rapidly. An issue with Eclipse and therefore Notes 8.0 is the applications start-up and user-interaction speed. Lotus Notes 8.5 sped up the application and the increase in general specification of PCs means this is less of an issue.
IBM Notes 9 continued the evolution of the user interface to more closely align with modern application interfaces found in many commercial packaged or web-based software. Currently, the software still does not have an auto-correct option - or even ability - to reverse accidental use of caps lock.
Domino is now running on the Eclipse platform and offers many new development environments and tools such as XPages.
For lower spec PCs, a new version of the old interface is still provided albeit as it is the old interface many of the new features are not available and the email user interface reverts to the Notes 7.x style.
This new user experience builds on Notes 6.5 (released in 2003), which upgraded the email client, previously regarded by many as the product's Achilles heel. Features added at that time included:
Publications such as The Guardian in 2006 have criticized earlier versions of Lotus Notes for having an "unintuitive [user] interface" and cite widespread dissatisfaction with the usability of the client software. The Guardian indicated that Notes has not necessarily suffered as a result of this dissatisfaction due to the fact that "the people who choose [enterprise software] tend not to be the ones who use it."
Earlier versions of Notes have also been criticized for violating an important usability best practice that suggests a consistent UI is often better than custom alternative. Software written for a particular operating system should follow that particular OS's user interface style guide. Not following those style guides can confuse users. A notable example is F5 keyboard shortcut, which is used to refresh window contents in Microsoft Windows. Pressing F5 in Lotus Notes before release 8.0 caused it to lock screen. Since this was a major point of criticism this was changed in release 8.0. Old versions did not support proportional scrollbars (which give the user an idea of how long the document is, relative to the portion being viewed). Proportional scroll bars were only introduced in Notes 8.
Older versions of Notes also suffered from similar user interaction choices, many of which were also corrected in subsequent releases. One example that was corrected in Release 8.5: In earlier versions the out-of-office agent needed to be manually enabled when leaving and disabled when coming back, even if start and end date have been set. As of Release 8.5 the out-of-office notification now automatically shuts off without a need for a manual disable.
Unlike some other e-mail client software programs, IBM Notes developers made a choice to not allow individual users to determine whether a return receipt is sent when they open an e-mail; rather, that option is configured at the server level. IBM developers believe "Allowing individual cancellation of return receipt violates the intent of a return receipt function within an organization". So, depending on system settings, users will have no choice in return receipts going back to spammers or other senders of unwanted e-mail. This has led tech sites to publish ways to get around this feature of Notes. For IBM Notes 9.0 and IBM iNotes 9.0, the IBM Domino server's .INI file can now contain an entry to control return receipt in a manner that's more aligned with community expectations (IBM Notes 9 Product Documentation).
When Notes crashes, some processes may continue running and prevent the application from being restarted until they are killed.
Over the 30-year history of IBM Notes, Lotus Development Corporation and later IBM have developed many other software products that are based on, or integrated with IBM Notes. The most prominent of these is the IBM Lotus Domino server software, which was originally known as the Lotus Notes Server and gained a separate name with the release of version 4.5. The server platform also became the foundation for products such as IBM Lotus Quickr for Domino, for document management, and IBM Sametime for instant messaging, audio and video communication, and web conferencing, and with Release 8.5, IBM Connections.
In early releases of IBM Notes, there was considerable emphasis on client-side integration with the IBM Lotus SmartSuite environment. With Microsoft's increasing predominance in office productivity software, the desktop integration focus switched for a time to Microsoft Office. With the release of version 8.0 in 2007, based on the Eclipse framework, IBM again added integration with its own office-productivity suite, the OpenOffice.org-derived IBM Lotus Symphony. IBM Lotus Expeditor is a framework for developing Eclipse-based applications.
Other IBM products and technologies have also been built to integrate with IBM Notes. For mobile-device synchronization, this previously included the client-side IBM Lotus Easysync Pro product (no longer in development) and IBM Notes Traveler, a newer no-charge server-side add-on for mail, calendar and contact sync. A recent addition to IBM's portfolio are two IBM Lotus Protector products for mail security and encryption, which have been built to integrate with IBM Notes.
With a long market history and large installed base, Notes and Domino have spawned a large third-party software ecosystem. Such products can be divided into four broad, and somewhat overlapping classes:
Notes has a history spanning more than 30 years. Its chief inspiration was PLATO Notes, created by David R. Woolley at the University of Illinois in 1973. In today's terminology, PLATO Notes supported user-created discussion groups, and it was part of the foundation for an online community which thrived for more than 20 years on the PLATO system. Ray Ozzie worked with PLATO while attending the University of Illinois in the 1970s. When PC network technology began to emerge, Ozzie made a deal with Mitch Kapor, the founder of Lotus Development Corporation, that resulted in the formation of Iris Associates in 1984 to develop products that would combine the capabilities of PCs with the collaborative tools pioneered in PLATO. The agreement put control of product development under Ozzie and Iris, and sales and marketing under Lotus. In 1994, after the release and marketplace success of Notes R3, Lotus purchased Iris. In 1995 IBM purchased Lotus.
In 2008, IBM released XPages technology, based on JavaServer Faces. This allows Domino applications to be better surfaced to browser clients, though the UX and business logic must be completely rewritten. Previously, Domino applications could be accessed through browsers, but required extensive web specific modifications to get full functionality in browsers. XPages also gave the application new capabilities that are not possible with the classic Notes client. The IBM Domino 9 Social Edition included the Notes Browser Plugin, which would surface Notes applications through a minified version of the rich desktop client contained in a browser tab.
Prior to release 4.5, the Lotus Notes branding encompassed both the client and server applications. In 1996, Lotus released an HTTP server add-on for the Notes 4 server called "Domino". This add-on allowed Notes documents to be rendered as web pages in real time. Later that year, the Domino web server was integrated into release 4.5 of the core Notes server and the entire server program was re-branded, taking on the name "Domino". Only the client program officially retained the "Lotus Notes" name.
In November 2012, IBM announced it would be dropping the Lotus brand and moving forward with the IBM brand only to identify products, including Notes and Domino. On October 9, 2018, IBM announced the availability of the latest version of the client and server software.
In 2019, Domino and Notes became enterprise software products managed under HCLSoftware.
IBM donated parts of the IBM Notes and Domino code to OpenOffice.org on September 12, 2007 and since 2008 has been regularly donating code to OpenNTF.org.
Despite repeated predictions of the decline or impending demise of IBM Notes and Domino, such as Forbes magazine's 1998 "The decline and fall of Lotus", the installed base of Lotus Notes has increased from an estimated 42 million seats in September 1998 to approximately 140 million cumulative licenses sold through 2008. Once IBM Workplace was discontinued in 2006, speculation about dropping Notes was rendered moot. Moreover, IBM introduced iNotes for iPhone two years later.
IBM contributed some of the code it had developed for the integration of the OpenOffice.org suite into Notes 8 to the project. IBM also packaged its version of OpenOffice.org for free distribution as IBM Lotus Symphony.
IBM Notes and Domino 9 Social Edition shipped on March 21, 2013. Changes include significantly updated user interface, near-parity of IBM Notes and IBM iNotes functionality, the IBM Notes Browser Plugin, new XPages controls added to IBM Domino, refreshed IBM Domino Designer user interface, added support for To Dos on Android mobile devices, and additional server functionality as detailed in the Announcement Letter.
In late 2016, IBM announced that there would not be a Notes 9.0.2 release, but 9.0.1 would be supported until at least 2021. In the same presentation IBM also stated that their internal users had been migrated away from Notes and onto the IBM Verse client.
On October 25, 2017, IBM announced a plan to deliver a Domino V10 family update sometime in 2018. The new version will be built in partnership with HCLTech. IBM's development and support team responsible for these products are moving to HCL, however, the marketing, and sales continue to be IBM-led. Product strategy is shared between IBM and HCL. As part of the announcement, IBM indicated that there is no formal end to product support planned.
On October 9, 2018, IBM announced IBM Domino 10.0 and IBM Notes 10.0 in Frankfurt, Germany, and made them available to download on October 10, 2018.