IBM Lotus Notes 8.5 iCalendar: Interoperability, implementation, and application

IBM® Lotus® Notes® 7.02 introduced the ability to import a public calendar in iCalendar format. Earlier, Lotus Notes 6.0 introduced the use of iCalendar as a calendar workflow exchange between applications or systems using Simple Mail Transfer Protocol (SMTP). Customers interacting with different Internet calendar applications rely on iCalendar to exchange their calendar information to process the iCalendar invitation. Beginning with version 8.5, Lotus Notes implements an improvement to iCalendar interoperability that helps customers increase their work efficiency.

Pei Ling Zhou (zhoupeil@cn.ibm.com), Software Engineer, IBM

Pei Ling Zhou is a Software Engineer working in the Beijing, China Software Development Lab of IBM. Pei Ling led the IBM Lotus Notes Client Beijing Core Testing team and Lotus Workflow Beijing Development and Testing team. Pei Ling is now leading the PIM C&S Beijing Testing team. You can reach her at zhoupeil@cn.ibm.com.



Dong Mei Li (lidongm@cn.ibm.com), Software Engineeer, IBM

Dong Mei Li is a Software Engineer working in the Beijing, China Software Development Lab of IBM. Dong Mei has been a member of the Lotus Domino Access for Microsoft Outlook client team in past three years, and she currently is a testing engineer on the Lotus Notes Client team. You can reach her at lidongm@cn.ibm.com.



Fei Ji (feiji@cn.ibm.com), Software Engineer, IBM

Fei Ji is a Software Engineer working in the Beijing, China Software Development Lab of IBM. Fei has been a testing engineer on the Lotus Notes Client team since June 2006. You can reach Fei at feiji@cn.ibm.com.



Nathan Barry (nbarry@us.ibm.com), Software Engineer, IBM

Nathan Barry was a lead developer on the IBM Lotus Domino Access for Microsoft Outlook project before switching to use his experience to work on the Lotus Notes client development team, where he leads the Lotus Notes client calendar interoperability effort. Nathan specializes in iCalendar and has been an active member of the CalConnect consortium representing Lotus Notes, where industry leaders in calendaring work together to test their products and develop new standards.You can reach Nathan at nrbarry@us.ibm.com.



29 June 2009 (First published 10 March 2009)

Also available in Chinese Russian

Editor's note: Know a lot about this topic? Want to share your expertise? Participate in the IBM Lotus software wiki program today.

Introduction

iCalendar is an Internet standard (RFC 2445) for deploying interoperable calendaring and scheduling services for the Internet. The standard is sometimes referred to as iCal. The iCalendar format is suitable as an exchange format between applications or systems, thereby allowing users of different Internet mail applications to exchange calendar information. iCalendar information is formatted as a Multipurpose Internet Mail Extensions (MIME) content type: text/calendar. MIME enables the object to be exchanged using several transports, including SMTP, HTTP, a file system, and desktop interactive protocols such as the clipboard or drag-and-drop interactions, point-to-point asynchronous communication, and wired-network transport. iCalendar allows users to send meeting requests and tasks to other users through email. Recipients of the iCalendar email (with supported software) can respond to the sender easily, or they can counter-propose another meeting date or time. iCalendar is implemented and supported by a large number of products.

vCalendar is an older standard exchange format for calendar data promulgated by the Internet Mail Consortium (IMC). iCalendar, a newer standard for calendar data, is version 2.0 of the vCalendar specification. Lotus Notes and Lotus Domino iCalendar support is designed to handle older vCalendar data also.


iCalendar interoperability overview

The difference between iCalendar and traditional calendar and scheduling is that iCalendar is not specific to a single domain. Users can schedule meetings with other domains by using the invitee's Internet mail address. In addition, instead of routing the invitation through adjacent and nonadjacent domain documents, it is routed directly through an SMTP server.

For example, a Lotus Notes user (user A) in one company can send an invitation to a Lotus Notes user (user B) in another company over SMTP or to a non-Lotus Notes user (user C) who uses a different mail client that supports iCalendar. Instead of receiving the invitation in a textual email format, both user B and user C receive a calendar invitation with full meeting workflow; User B and user C can respond (accept, decline, and so on) to the invitation as if it were sent over Notes Remote Procedure Calls (NRPC). NRPC is the Lotus Notes-based protocol for routing mail internally within a single Lotus Notes domain or between Lotus Notes domains. In Lotus Notes 8.5, iCalendar interoperability between different mail clients has been improved; see figure 1.

Figure1. iCalendar interoperability supported between different mail clients
iCalendar interoperability supported between different mail clients

For iCalendar interoperability, how and when iCalendar conversion happens is up to different configurations when users communicate between either different mail clients or different Lotus Notes domains. There are two ways to convert iCalendar, through the Lotus Notes client and through the Lotus Domino server.

iCalendar conversion can occur on the Lotus Notes client

In the sender’s location document, if the "Send outgoing mail" setting in the mail tab is set to directly to Internet, iCalendar conversion always happens on the Lotus Notes client for all recipients.

In the sender’s location document, if the Send outgoing mail setting on the mail tab is set to through Domino Server, then the Format for messages sent to Internet addresses option displays with the values Notes Rich Text Format or MIME Format. When the MIME Format option is selected, SMTP recipients and Lotus Notes recipients whose names are not resolved as Lotus Notes addresses go through iCalendar conversion on the Lotus Notes client. Lotus Notes recipients whose names are resolved as Lotus Notes addresses do not go through iCalendar conversion.

iCalendar conversion on the Lotus Domino server

Any time that iCalendar conversion does not happen on the Lotus Notes client and the message needs to be routed through SMTP, the Lotus Domino server converts that message to iCalendar.

In the sender’s location document, if the Send outgoing mail setting on the mail tab is set to through Domino Server, the Format for messages sent to internet addresses option displays with the values Notes Rich Text Format or MIME Format. If the Notes Rich Text Format option is selected, non-Lotus Notes recipients undergo iCalendar conversion on the Lotus Domino server, but Lotus Notes recipients do not go through iCalendar conversion.


iCalendar interoperability improvement

In Lotus Notes versions earlier than 8.5 , Lotus Notes calendar and scheduling functions have many features that other iCalendar vendors do not support well, causing some iCalendar interoperability issues between Lotus Notes and other calendar applications. In Lotus Notes 8.5, new features were implemented, such as compatibility mode and Lotus Notes registration as a calendar handler, to improve iCalendar interoperability between Lotus Notes and Microsoft® Outlook or between Lotus Notes and other mail clients.

Compatibility mode introduced

Some iCalendar interoperability limitations and issues exist between the versions earlier than 8.5 of Lotus Notes and Microsoft Outlook and the versions earlier than 8.5 of Lotus Notes and other mail clients. For example, when a Lotus Notes chair sends a repeating meeting invitation to non-Lotus Notes invitees who have mail programs other than Lotus Notes, some severe interoperability problems can arise. Because some mail programs such as Microsoft Outlook have calendars that don’t support all the Lotus Notes features for repeating meetings, severe interoperability issues, including the loss of repeat instances or of message fidelity, can occur in these situations:

  • When updating more than one repeating meeting instance at a time
  • When using custom repeating meetings
  • When specifying weekend rules for repeating meetings

To avoid unnecessary trouble to users, Lotus Notes 8.5 introduced the concept of compatibility mode to improve iCalendar interoperability between Lotus Notes and the other calendar applications. The compatibility mode makes the calendaring features that are not supported by other mail clients, inclusing Microsoft Outlook and Exchange. unavailable on any meetings that have compatibility mode selected.

In Lotus Notes 8.5, a new option is available on the meeting form. The option "ome invitees use other mail programs displays with other response and workflow options. Figure 2 shows this option and the "i" that indicates that help is available. The meeting chair selects this option for best results when sending invitations to users of other mail programs.

Figure 2. Compatibility mode UI: New option added
Compatibility mode UI: New option added

The option Some invitees use other mail programs is not included on the meeting form by default because it is not intuitive to users. Administrators can push down an INI parameter ($CSCompatibilityMode) to the client and server router code using existing capabilities, which control whether the check boxes in which the user can enable or disable the compatibility mode on a meeting instance are visible. The INI parameter has four settings that support the option:

  • The check box is not visible, and the compatibility mode is not set by default on the invitation. This setting is the default setting for the Lotus Notes 8.5
  • The check box is visible, and the compatibility mode is set by default on the invitation.
  • The check box is visible, and the compatibility mode is not set by default on the invitation.
  • The check box is visible, and the compatibility mode is set and locked by default on the invitation.

By selecting the option Some invitees use other mail programs, users can send invitations to users of any of these mail programs:

  • Outlook 2003/Exchange 2003
  • Outlook 2007/Exchange 2007
  • Outlook 2003/Exchange 2007
  • Outlook 2003/Gmail (POP 3)
  • Outlook 2007/Gmail (POP 3)

Lotus Notes registered as a calendar handler

Lotus Notes 8.5 gives users a chance to register Lotus Notes as a calendar handler during installation, so that they can double-click an ICS file from the operating system or from a memo to display the add calendar window, the import window, or an actionable calendar form.

When they install Lotus Notes 8.5, users see three options in the Ready to Install the Program page of the installation wizard. One of the options, Make Notes my default calendar program, shown in figure 3, is selected by default.

Figure 3. Setting to register Lotus Notes as a calendar handler
Setting to register Lotus Notes as a calendar handler

Selecting this option not only associates the ICS file with Lotus Notes, but also makes Lotus Notes the default calendar program used to process ICS files. Whether users double-click the ICS file saved from the operating system or saved in a Lotus Notes document (that is, an ICS file attached in a memo), Lotus Notes can recognize it and process it.

For the ICS file representing PUBLISH data, users can double-click the file to be opened from the operating system (that is, from the desktop) or from within a memo. Users have the option to import calendar entries into the calendar or to add the entries as a calendar overlay in the "Show Calendars" option.

For the ICS file representing WORKFLOW data, users can double-click the file to be opened from the operating system (that is, from the desktop) or from within a memo. The workflow then is opened for users to act upon. Especially for the ICS file containing a single workflow event, it is opened as a processable calendar invitation in the Lotus Notes 8.5 client.

Import/add to calendar

In Lotus Notes versions earlier than 8.5, for an ICS file representing publish data, users have to import the ICS file into their calendar view to read the ICS content. Sometimes, the imported items can conflict with existing items in the users' calendar. Lotus Notes 8.5 improves the import feature and implements the new Add to calendar option to resolve the issues in earlier versions of Lotus Notes and to facilitate users’ application demand.

In Lotus Notes 8.5, for an ICS file representing publish data, users have two ways to import it. One way is the import function, which is a true import. After importing, the calendar entries imported do not display in the navigator; instead, the entries are added to the user’s personal calendar. The other way is to select the Add to Calendar option. After users add the publish data to the calendar, the calendar entries display in the navigator as iCalendar feeds. Users can choose the better way to meet their work need.

After registering Lotus Notes as a calendar handler, users double-click an ICS file representing the publish data. Lotus Notes has two ways to process this publish data: Import these entries into your personal calendar and Add this calendar to your Show Calendars list as shown in figure 4.

Figure 4. Two options for publish data
Two options for publish data

Import

If users selected the option Import these entries into your personal calendar, the Import Calendar window shown in figure 5 displays. The Calendar Name field contains a name value assigned by default.

Figure 5. Import Calendar window
Import Calendar window

After users click OK, the window shown in figure 5, which reports that the calendar was successfully imported into the Lotus Notes calendar, displays. After the calendar entries are imported successfully into the users' personal calendar, users can see them in the calendar view.

Figure 6. The Import Calendar message window
The Import Calendar message window

Add to calendar

If users select the option Add this calendar to your Show Calendars list, the Add a Calendar window displays as shown in figure 7.

Figure 7. The Add a Calendar window
The Add a Calendar windowThe Add a Calendar window

In the Add iCalendar feed section of the window, users need to enter ics test in the Label field; the file path in the URL field is automatically populated. Also, users can set the display options for the added calendar entries by selecting colors for the background, text, and entry icon. Users can select the option View this calendar when offline or on a mobile device to view the calendar entry offline. After users click OK, the window shown in figure 8, which reports that the calendar has been successfully added, displays.

Figure 8. The Add a Calendar message window
The Add a Calendar message window

After a calendar is successfully added, it displays as one of the calendars listed under the Show Calendars option in the navigation, as shown in figure 9. This option works best for calendars that users periodically want to see but do not want to embed in their personal calendar.

Figure 9. Calendar added to the Show Calendars list
Calendar added to the Show Calendars list

When users double-click an ICS file representing workflow data, if the ICS file is with a single workflow event, it is imported to the users' inbox and calendar. Then it is opened directly as a calendar invitation so that user scan see action buttons on the invitation for Accept, Decline, and so on. If the ICS file contains multiple workflow events, the window shown in figure 10 displays. The Multiple Calendar Entries in ICS File window allows users to extract all the events or selected events to their inboxes and calendars.

Figure 10. The Multiple Calendar Entries in ICS file window
he Multiple Calendar Entries in ICS file window

iCalendar interoperability application

Let's explore an interoperability application by discussing a typical scenario. Samantha uses Lotus Notes, and she sends an invitation to her friend Mark, who uses a different calendar program (Microsoft Outlook). Mark can take all the various workflow actions he would normally be able to take. Samantha, in turn, can perform all the regular workflow actions without having to worry that Mark has different abilities than Lotus Notes users have. To make sure of that interoperability, Samantha needs to set up her iCalendar environment in the Lotus Notes 8.5 client.

First, Samantha must make sure that the SMTP service is started in the Lotus Domino server as shown in figure 11. She needs to select Server Tasks – SMTP Server – Listen for connect requests on TCP Port 25.

Figure 11. SMTP service started in the Lotus Domino server
SMTP service started in the Lotus Domino server

Next, Samantha must create an SMTP account in her Lotus Notes client as shown in figure 12. She needs to follow these steps:

  1. In the Contact database, Select Advanced - Accounts - New - Account.
  2. In the Account name, enter a name for the new account; in this example, she enters test.smtp.
  3. In the Account server name field, enter the name of the host on which the Lotus Domino server is started. In this example, she enters test.cn.ibm.com.
  4. In the Protocol field, select SMTP.
  5. In the SSL field, make sure that the default setting Disabled is selected.
  6. In the Only from location(s) field, make sure that the asterisk (*) default setting is selected.
Figure 12. The Creating SMPT Account window
The Creating SMPT Account window

Finally, Samantha needs to configure the location document in the Lotus Notes 8.5 client She needs to follow these steps:

  1. Create a special location for iCalendar interoperability.
  2. In the Mail tab of the Edit Location window, in the Send outgoing mail field, select the option directly to Internet.
  3. Input the host name or IP address where the SMTP service is started.
  4. Click OK to save this location.
Figure 13. Edit Location window
Edit Location window

After she has completed the configuration, Samantha has achieved iCalendar interoperability with Mark. She can now send a meeting invitation or reschedule meetings with full iCalendar interoperability.


Conclusion

In IBM Lotus Notes 8.5, iCalendar interoperability has been improved with new features. This article can help users interested in the Lotus Notes use of iCalendar to better understand, deploy, and operate the application promptly and effectively.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=374847
ArticleTitle=IBM Lotus Notes 8.5 iCalendar: Interoperability, implementation, and application
publish-date=06292009