Editor's note: Electronic software delivery of Lotus Notes and Domino V8 in English became available on August 17, 2007; starting September 10, 2007, other languages will be available for electronic delivery.
The more IBM Lotus Notes and Domino change, the more they stay the same. Version 8 of IBM's premier collaboration and messaging product has arguably changed more than any Lotus Notes/Domino release in recent memory. The Lotus Notes client has been enhanced and incorporates IBM Lotus Expeditor platform technology. This means big changes for Lotus Notes. But they're the kind of changes that come from opening windows, not from closing doors.
There are new ways of looking at things and new possibilities. New programming constructs are the big news: enhanced support for Web services and new development tools for composite applications that can bring together data and business logic from practically anywhere.
Lotus Notes and Domino V8 also offer new ways of working that take advantage of technology and innovation. A new user interface showcases a modern, user-tested interface in a familiar Lotus Notes client format. The user interface presents the tools you need -- calendar, RSS feed, and more -- just where you need them. Lotus Notes and Domoino V8 also help improve your efficiency with new email, calendaring, and contact enhancements.
The transition to Eclipse has yielded benefits without incurring any losses. Nothing has been thrown out of Lotus Notes to make room for new features. Lotus Notes V8 is entirely Lotus Notes. Any application that ran before Version 8 still runs. Enhancements to the user interface and additions such as productivity editors make Lotus Notes more popular than ever on the desktop. And new programming features such as Composite Application Editor and IBM Lotus Component Designer extend the knowledge and skills of Lotus Notes developers into new territory -- applications that are both consumers and providers of data, working with other information systems in the enterprise in ways they couldn't before on platforms that go as far beyond the cubicle as mobile devices can go.
The big news in Lotus Notes V8 is that the Notes V8 client encapsulates all the code that is Lotus Notes within the Eclipse environment. This move puts Lotus Notes on an open-source, Java-based platform. Originally created as an integrated application development environment, its open, plug-in-based architecture has made Eclipse the foundation for rich client platform development. Lotus Notes V8 is built on Lotus Expeditor, IBM's universal managed-client software, which, in turn, is built on Eclipse.
Eclipse as an integrated development environment (IDE) provides template-driven design and CSS-based customization of look and feel. Eclipse workspaces contain plug-ins that encapsulate Java code and configuration files that carry information about the plug-in: A plugin.xml file describes extensions and extension points, and a manifest.mf file describes the plug-in's ID, name, dependencies, start-up process, version, and the classes it should make available to other plug-ins. Eclipse as an IDE has one set of plug-ins. Lotus Notes V8 is, in effect, Eclipse with a different set of plug-ins.
As a rich client, Lotus Notes V8 inherits a great deal of its behavior from Lotus Expeditor, created by IBM as a generalized rich client with strong manageability features. Lotus Expeditor is also the foundation for IBM Lotus Sametime V7.5 and for Lotus Component Designer, a development tool for creating composite applications that are served by IBM WebSphere Portal to Web browsers.
(Lotus Expeditor has a place in the IBM family of rich clients as a managed client for Service-Oriented Architecture, or SOA, and composite applications. As the successor to IBM WebSphere Everyplace Deployment, Lotus Expeditor is used to extend Lotus Notes, WebSphere, and Eclipse infrastructures to a managed-client environment on a wide variety of enterprise desktop and mobile devices.)
The biggest change in Lotus Notes/Domino V8 application development is its greatly enhanced support for Web services and SOA. This change takes two forms. One is added support for Web services, and the other is a new programming construct, the composite application, that leverages the Eclipse platform's support for an open, standard way to connect application components, not in a portal, but in the Lotus Notes V8 client.
A composite application brings together content components of different types from multiple systems that can be wired together at the user interface level without coding to give users access to information in new ways. Composite applications work the same way as Portal applications, and they use the same development architecture as Web services and Service-Oriented Architectures.
Existing or new Lotus Notes applications are reusable as components as are applications developed using Lotus Component Designer. Eclipse components such as an embedded browser or productivity editors can also be used as components in a composite application. Learn more about this topic by taking the developerWorks Lotus tutorial, "Creating a composite application using IBM Lotus Component Designer."
Each component in a Lotus Notes V8 composite application encapsulates its own user interface, business logic, and storage (such as an NSF or a relational data file), and components can be created with a variety of tools from the no-coding wizards to scripting tools such as IBM Lotus Domino Designer V8 and Lotus Component Designer to comprehensive tools such as Java IDEs or IBM Rational Application Developer for WebSphere Software with the Lotus Expeditor Toolkit.
The development model for Lotus Notes V8 composite applications parallels that of IBM WebSphere Portal applications (see figure 1), but where a Web browser must connect to WebSphere Portal, Lotus Notes V8 with its Eclipse/Lotus Expeditor foundation can consume composite applications and support the interactions between them on a stand-alone basis.
Figure 1. System diagram for Lotus Notes/Domino V8
A Web browser can consume a composite application only through WebSphere Portal, but Lotus Notes V8 includes all the functionality needed to work with composite applications.
Figure 1 indicates another parallel: The assembly and wiring of a WebSphere Portal application are done using the Application Template Editor, while in Lotus Notes V8, they use the Composite Application Editor, which installs as a Lotus Notes plug-in. The Composite Application Editor can create composite applications for both Lotus Notes and WebSphere Portal that work online, and it can create NSF-based composite applications that work offline.
Composite applications depend upon property brokers, which expose properties or typed exchangeable data items. In a composite application, an action is the logic that consumes a property, and the process of wiring components together connects properties in one component to actions in another to specify the interaction between the components.
(For a more detailed look at the property broker concept, see the developerWorks Lotus article, "Creating collaborative components for IBM Lotus Expeditor Property Broker.")
Composite applications require some extensions to the Notes programming model. If an NSF component is to participate in causal relationships with other components, an interface of properties and actions must be defined. This information is held in a subelement of a new Composite Applications design element (see figure 2):
- Properties (in WSDL, for "Web Services Description Language," XML format) define property and action definitions.
When an NSF-based composite application is defined, the NSF has an additional subelement of the new Composite Applications design element (see figure 2):
- Applications define layout and navigation between the component's pages and intercomponent communication.
Figure 2. The Composite Applications element is new in Lotus Domino Designer V8
There are also new Composite Settings properties in the Action and Column properties boxes (see figure 3).
Figure 3. New Composite Settings configure a Lotus Notes application to be used as a component in a composite application
Support for the new composite application also includes new NotesProperty and NotesPropertyBroker classes in LotusScript.
The Web service design element was introduced in Lotus Notes V7.0, which allowed you to create a Web service on a Lotus Domino server. This was a provider, a Web service that could be called from other computers. Lotus Notes V8 lets you create a Web service consumer that runs on a Lotus Domino server and calls Web services to obtain the data they serve up, and then inserts it into your Lotus Notes application.
This Web service consumer is instantiated not as a Web service design element but as a special kind of Script Library (LotusScript or Java) that is used by an agent or other code. The content of this library is a WSDL document, the description of the Web service in XML format. The WSDL is imported into the library and compiled to a script when it is saved. The script library is referenced by name in the [Declarations] section of the script that calls the Web service.
Web service consumers are created as special script libraries in Lotus Notes V8. New actions in Lotus Domino Designer allow you to inspect or export the WSDL that is the content of the library (see figure 4).
Figure 4. A new Script Library element holds the WSDLs that define Web service consumers
Many of the enhancements and improvements in Lotus Notes V8 are the result of the move to the Eclipse/Lotus Expeditor environment. Lotus Notes V8 can be extended in the same way that Eclipse itself can be extended. Using the Eclipse platform automatically creates access to other resources IBM has developed for the platform, such as the document, spreadsheet, and presentation editors that come with Lotus Notes V8.
The flexibility of the Eclipse user interface has contributed to a detailed makeover of the Notes user interface, too: The sidebar displays "always on" applications such as the Activity Manager, a day-at-a-glance calendar, instant messaging, and the new RSS feed reader. Developers can build their own custom Eclipse plug-ins for the sidebar. Refer to the three developerWorks articles, "Extending the IBM Lotus Notes V8 sidebar and toolbar," "Integrating IBM Lotus Notes data into the Lotus Notes V8 sidebar and toolbar," and "Leveraging user context in the IBM Lotus Notes V8 sidebar and toolbar."
General improvements include improved MIME rendering, inline spellchecking, multi-level undo, calendar free-time lookup, and selection improvements: SHIFT-click and CTRL-click now work when highlighting and selecting entries in views or text in documents.
A new Java-based client option includes an Open button that lets you access your bookmarks.
The three PIM applications -- Mail, Calendar, and Contacts -- have all been given user interface facelifts and major functional enhancements, and many of the changes take advantage of Eclipse functionality to work as NSF-based composite applications. The Business Card view in Contacts, for example, uses an Eclipse viewpart structure that reads data from the underlying Notes view and displays it in a more graphical format, complete with thumbnail images of contacts when photos are available.
The Mail inbox's user interface has been extensively redesigned with a navigator, and a new vertical view layout has been added that splits message information across two lines and reorients the preview pane vertically; see figure 5.
Figure 5. The Mail inbox with vertical preview
Several changes to the user interface offer even more improvements:
- The Welcome Page is now called the Home Page.
- Mail and Calendar preferences are unified.
- Action bar items have hover help/tool tips.
- Undo operations are multi-level and expand the number of operations that can be undone.
- An enhanced Attachments dialog box allows access to Windows-based places, for example, My Documents, Desktop, or My Computer (Windows only).
- Viewer support is available for Open Office-formatted documents.
The Mail application incorporates a conversations feature that groups message threads based on the contents of the Internet message header fields for Message-ID and In-Reply-To, which Lotus Domino translates to parent and child entries in a Lotus Notes response hierarchy.
In the example of a mail thread shown in figure 6, the conversation labeled Re: THREAD 1, containing four messages, is expanded by turning the twistie to show the messages. The feature uses the Notes response hierarchy and offers two different options: one that collapses all messages under the most recent response and another that provides the mail thread on-demand from the inbox. In addition, you now can perform operations for an entire mail thread, such as deleting a thread or moving a thread to a folder.
Figure 6. Lotus Notes V8 mail threads
A new message recall feature in Lotus Notes V8 allows users to recall sent messages, deleting them from recipients' inboxes, subject to administration settings. Learn more about this feature in the developerWorks article, "Using the Message Recall feature in IBM Lotus Notes and Domino V8." The Out-of-Office notification has been upgraded as well; see the section, "What's new with the Lotus Domino V8 server."
The Recent Collaborations feature tracks the user's 2000 most recent contacts as he sends email or uses instant messaging; the new feature uses matches from that list to type-ahead in fields in Mail, Calendar, and Contacts forms.
Access to Contacts can be delegated in Lotus Notes V8 just as you can delegate access to a Calendar, so it's easier to share contacts. Shared Contacts appears as a choice on the new Contacts navigator. Contacts are replicated with the Mail application in Lotus Notes V8, so IBM Lotus Domino Web Access users have true replication instead of agent-based synch for their mobile devices. Lotus Domino Web Access also has added support and integration of LanguageWare libraries and dictionaries and greater feature parity with the Lotus Notes mail client. Feature interoperability enhancements include support for Preview Pane, Calendar View filters, Preferred Rooms and Resources, and Managed Mail and Calendar.
The Calendar application has also been redesigned. The visual design is improved, the Calendar form is cleaner, and a navigator has been added for the Calendar views, including group calendars and delegated calendars. See the week view in figure 7.
Figure 7. The Lotus Notes V8 Calendar week view
The user interface for the Scheduler has been improved, and a new Event Announcement feature makes it easy to use the standard meeting-creation features to invite a large group to an event without creating a flood of responses to manage.
Free-time look-up presents a clean user interface for finding the optimum time for a meeting. It allows you to select a list of attendees, and then it returns a table with a green column indicating the first available meeting time. It also lets you do "what if" planning by deselecting and reselecting attendees to move the time of the meeting. Read more about this new feature in the developerWorks tip, "Finding available time in IBM Lotus Notes V8 using the Scheduler UI."
Ghosted calendar entries can be created automatically in the Calendar for unprocessed notices in your inbox. This feature replaces notices in the Calendar for unaccepted invitations, rescheduled events, and delegation notices. Read more about calendar ghosting in the developerWorks tip, "Enabling calendar ghosting in IBM Lotus Notes V8."
The productivity editors are applications for creating and editing documents, spreadsheets, and presentations. They were implemented in Eclipse as part of IBM's support for the Open Document project and were first distributed with the IBM Workplace Managed Client. They are included in the standard Lotus Notes V8 license.
The editors are an attractive alternative to Microsoft Office and similar products because they are closely integrated with Lotus Notes. The editors can be opened in Lotus Notes either from the Open menu or programmatically within an application. They also appear on the computer desktop as icons and in the Start menu so they can be used independently of Lotus Notes.
The three editors work with documents, spreadsheets, and presentations as shown in figures 8-10. They present the clean interface typical of Eclipse-based applications, and they support several file formats. Their default is the same ODF format used by OpenOffice 2.0 and other products based on that open-source code. They read and write DOC, XLS, and PPT file formats from Microsoft Office 97/XP/2000, Microsoft Office 2003 XML, and Microsoft Rich Text Format. They also support migration from IBM Lotus SmartSuite by importing IBM Lotus Word Pro, IBM Lotus 1-2-3, and IBM Lotus Freelance Graphics files. The editors can also export documents to Adobe Acrobat (PDF) format. In addition, Lotus SmartSuite formats can be imported to the IBM Productivity Tools through an included filter.
Figure 8. The IBM Lotus Documents
Figure 9. The IBM Lotus Presentations
Figure 10. The IBM Lotus Spreadsheets
Because the productivity editors are Eclipse plug-ins they can be deployed and upgraded through the Lotus Domino V8 provisioning process automatically. (They can also be installed from CD.)
Support is also available for the OASIS Open Document Format (ODF), an international standard for sharing and editing documents. ODF applications give users and organizations a choice of file formats and free them from proprietary vendor formats.
Even though the focus of release 8 has been on the Lotus Notes client, the Lotus Domino server hasn't been ignored by any means. The roadmap for further enhancements to Lotus Domino indicates that more improvements are coming in the short term.
Many of the changes in Lotus Domino support changes in the Lotus Notes client: message recall, the improved out-of-office notification, improved user registration, better single sign-on integration, support for administration of Windows navigation and management themes, Notes client version view in the Domino Directory, and mail threading, for example. Support for changes to application development include managed deployment of composite applications to Lotus Notes V8 clients and the ability for Lotus Domino to be a Web service consumer as well as a provider. One last update: IBM DB2 integration is a generally available feature in Lotus Domino V8.
Other changes focus on administrative controls: client provisioning controls to manage the deployment of new components to the Lotus Notes V8 client (and to complement Lotus Notes Smart Upgrade, which supports upgrades from Lotus Notes V6.x and V7.x to Lotus Notes V8). New policy controls manage the new editors and activities, which are part of the new IBM Lotus Connections application. New policies help control inbox cleanup and manage inbox sizes.
Server administration and performance have received a great deal of attention as well. There are improvements in Domino Domain Monitoring, including additional event probes and corrective actions, integration with IBM Tivoli Enterprise Console, and improved AdminP performance to increase rename speed. Enhancements to the Lotus Domino internals include new cluster replication that significantly improves performance and reduces I/O requirements and latency and a "Build on first use" sort-order feature.
A new Database Redirection function automatically fixes broken links to moved or deleted applications. Redirection markers are created by default, and a new tool (see figure 11) lets an administrator create or modify redirects manually. When a Lotus Notes client accesses a redirection marker, if the file has been moved the reference is replaced; if the file has been deleted, the reference is deleted. (Database redirects are used only by Lotus Notes V8 clients, not by servers.) The tool lets administrators assign references to particular users or groups, making redirection role-based.
Figure 11. The Database Redirection tool
Security improvements in Lotus Domino V8 add support for the On-line Certificate Status Protocol (OCSP), which covers X.509 certificates used for email and includes such functions as certificate revocation. Directory Lint is a new administration tool to check directory integrity and to recommend improvements.
Finally, the importance of Lotus Domino as a Web server is reflected in changes that improve Internet security: In Lotus Domino V8, administrators can block access to Internet password fields in the Lotus Domino Directory. There is also a new Internet account lockout feature: Lotus Domino can implement a "three strikes and you're out" rule for attempted HTTP access, and then it can lock out the user account and password. Locked-out accounts are recorded in a special NSF file on each server, and they can be restored by removing the lock-out record -- and, yes, special rules can be created for your problem users who are login-challenged.
Message recall allows users to retrieve Lotus Notes mail they accidentally or inappropriately sent to the wrong people. Activated from the Sent Mail folder or All Documents view in Lotus Notes, this feature allows users to retrieve messages from one or all of the recipients; see figure 12. The feature removes the message from the recipient's mailbox and notifies the person recalling the message if it has been opened. Administrators configure the message recall feature, and they can set policy-based controls on which users can recall messages and whether or not recipients can prevent recall requests. For more details, refer to the developerWorks Lotus article, "Using the Message Recall feature in IBM Lotus Notes and Domino V8."
Figure 12. The message recall feature
In Lotus Notes/Domino V8, the Out of Office agent has been replaced by a Domino service built into the router. This change should eliminate latency and delays in delivering out-of-office notifications, and it does not require you to grant rights to users to run agents merely to use the Out of Office notification.
The new Out of Office service requires a Lotus Domino V8 server, Lotus Notes V8 client, and the Lotus Notes V8 mail template. A new version of the Out of Office agent in Lotus Notes V8 supports many of the same features, and both the service and the agent can run in the same environment. They share the same new user interface (see figure 13). The execution of the Out of Office agent does not require any new features, so it can run on Lotus Domino V8 or earlier server versions.
Figure 13. The Out of Office user interface
For more information on the new Out of Office service, see the developerWorks Lotus article, "The new IBM Lotus Notes V8 Out of Office functionality."
The release of Lotus Notes/Domino V8 caps a process that began in 2002 with IBM's embrace of standards-based computing. Eclipse-based Lotus Notes V8 enhances the Lotus Notes user interface, reinforces the collaboration and messaging strengths of Lotus Notes, and extends the Lotus Notes application development model with state-of-the-art programming constructs, including more comprehensive support for Web services and SOA and new composite applications and Eclipse/Lotus Expeditor components. Despite all these changes, Lotus Notes V8 maintains compatibility with the installed base of Lotus Notes applications and, significantly, maintains Lotus Domino Designer as the key tool for developing these new types of applications.
Get started with IBM Lotus Notes and Domino V8 technical content.
Read the developerWorks article, "Extending the IBM Lotus Notes V8 mail with Eclipse."
Read the developerWorks article, "Integrating IBM Lotus Notes data into the Lotus Notes V8 sidebar and toolbar."
Read the developerWorks article, "Extending the IBM Lotus Notes V8 sidebar and toolbar."
Read the developerWorks article, "Leveraging user context in the IBM Lotus Notes V8 sidebar and toolbar."
Read the developerWorks article, "Using the Message Recall feature in IBM Lotus Notes and Domino V8."
Read the developerWorks article, "The new IBM Lotus Notes 8 Out of Office functionality."
Read the developerWorks article, "Creating collaborative components for IBM Lotus Expeditor Property Broker."
Read the developerWorks article, "Engineering WS-I compliant Web services for IBM Lotus Domino V8."
Read the developerWorks tip, "Enabling calendar ghosting in IBM Lotus Notes V8."
Read the developerWorks tip, "Finding available time in IBM Lotus Notes V8 using the Scheduler UI."
Register for the developerWorks tutorial, "Creating a composite application using IBM Lotus Component Designer."
Refer to the developerWorks Lotus Composite Applications page.
Read the "Lotus Notes and Domino 8 Reviewer's Guide."
Read about the Eclipse project resources on developerWorks.
Read more about IBM Lotus Notes and Domino V8.
David DeJean has been working with and writing about Lotus Notes and Domino for as long as they've existed. He was co-author of the very first book about Notes, "Lotus Notes at Work," and has been an editor and writer for a variety of computer publications. He is a Lotus CLP and a partner in DeJean & Clemens, a firm that does Notes and Internet application development and technical and marketing communications.
Nancy Kruse Hannigan is a Web Content Developer for developerWorks Lotus. She recently joined the developerWorks team to manage the technical articles program for Lotus. In her ten years with IBM, she has also been Publishing Services Manager for the Graphic Services group and Content Manager for the Lotus marketing site. She has a Bachelor's degree in Journalism and an MBA.