Mozilla Thunderbird calendar add-on
The Lightning add-on lets users upgrade their Mozilla Thunderbird email client and turn it into a convenient, versatile groupware product.
Today, the email client is a core desktop application used for communication and contact management. Until recently, the popular Thunderbird mail client lacked native calendaring. Mozilla Lightning adds a calendar feature, bringing groupware functionality to Thunderbird. Mozilla also offers the standalone calendar, Sunbird. In contrast to the Thunderbird add-on, Lightning, it works as a self-sufficient and independent application. Because the close ties between the mail client and groupware component offer various benefits, I will focus on Lightning in this article, although many of the options are also supported by Sunbird.
The open source Lightning implementation, available in more than 20 languages, currently supports the Linux, Solaris, Mac, and Windows operating systems. Sun Microsystems supports the project and has contributed seven developers for more than two years. Lightning supports both local and server-side calendars in various formats, including ICS, CalDAV, the popular Google calendar, and WCAP. On top of this, Lightning has a framework to support the development of other interfaces.The add-on can use email to organize appointments via iTIP/iMIP without accessing a server, or it can use a calendar server; the application also has "free/busy" query support.
To install the Lightning add-on, first visit the Lightning  project page and download the file. After launching Thunderbird, select Tools | Add-ons… to launch add-on management. When you get there, click the Install… button and select the add-on you just downloaded in the file browser. To start installation, click Open. After relaunching Thunderbird, the feature will be ready for use.
Ubuntu has an older package in its repositories. To install the add-on, you can either use the graphical package management tool, Synaptic, or run
sudo apt-get install lightning-extension
at the command line. Of course, using the latest version always makes sense because it offers more features and fewer bugs than its predecessor.
After installing the extension, you will see that the Thunderbird interface includes a couple of new elements. Below the list of accounts and folders, you will see Email and Calendar. Clicking the buttons splits the display between the legacy email client view and the Lightning calendar. To keep an eye on your tasks and appointments while working in the email view, refer to the list shown in the top window (Figure 1). At the top of the list, you can see your current tasks and, when you click on one, your action plan appears at the bottom. If you are viewing appointments and you select one, you to-dos show up at the bottom. The new Calendar menu item includes a couple of Lightning-specific commands, such as the command for toggling to the Calendar view.
In addition, Thunderbird offers users a couple of new configuration items after installing Lightning. The options below Edit | Settings… and Tools | Settings… | Lightning let you modify the behavior of the groupware components to reflect your personal preferences. For example, you can set your time preferences and preferred behavior for alarms and reminders, although the defaults will be fine in most cases (Figure 2). Depending on where you are in the world, you might want to change the Time zone.
Clicking the arrows next to the Events and Tasks window on the right side lets you select whether it will show tasks, appointments, or a combination of the two. In the same way, you can click the arrows next to the date field to select a day and display its entries. Pressing the circle icon takes you back to today, and pressing the down arrow opens a mini-calendar for direct access to a specific date (Figure 3).
Finally, you can set the View to select whether the events field only shows your appointments or also shows tasks with deadlines. To help distinguish between the two, Lightning highlights imminent or overdue deadlines in red. Clicking on the right-hand symbol in the column header opens a small stylized table with an arrow and lets you modify the list of appointments. Double-clicking an appointment or task displays the details or lets you edit the entry.
Appointments and Tasks
Double-clicking the Today, Tomorrow, or Soon entries in the right-hand column of the Mail view lets you create tasks and events (Figure 1). Of course, the program also lets you select a date directly. In the dialog, enter an intuitive name for the task or event; this will be displayed in the overview later. Also, you can add an address or location of an event. If you have already set up some categories, you can click a checkbox to assign the event to an existing category.
The next step is to set the time for the entry either by day or by specifying a time. For recurring events such as birthdays, click the recurrence tab to tell Lightning to repeat the event at your chosen interval. Lightning will also give you a reminder, if needed, and you have the option of adding a comment.
The Settings menu is available for more options. For example, you can add a link to an appointment – directions to a hotel, for example – display the time zone, assign a priority, and enter the completion status or progress. Clicking Save and close stores the entry when you are done. To add tasks, the same approach applies. Double-clicking the task field pops up the dialog.
Besides various categories, Lightning also lets you create different calendars – to separate your work and personal life, for example. The File | New | Calendar… menu takes you to a wizard that helps you set up a new calendar. Here, you can select On my computer, enter a name for the new calendar, and define a color, which lets you identify entries from this calendar more easily in the program.
After clicking Calendar to toggle to the Calendar view, you will see the familiar mini-calendar in the top left-hand corner, which lets you select a date. Below this is a list of existing calendars and color schemes (Figure 4). To display or hide appointments, you can click an entry in the list; this lets you display or hide, for example, business appointments. On the right, you will see a large calendar with an overview of existing appointments and a matching color code. In Figure 4, private dates are blue and US holidays are red.
In addition to locally stored calendars, Lightning supports calendars stored on a server. The program supports a variety of protocols and formats, such as support for the popular Google calendar , a recent addition.
First, create a calendar by selecting File | New | Calendar…, On Network. To retrieve the calendar address for this, open your Google calendar in your browser, click the arrow buttons next to the calendar entry, and select Calendar settings in the menu. Clicking on ICAL below Private address: is the last step on the configuration screen. Next, copy the URL shown here into the Address: box in he Lightning calendar wizard, set the color, and enter an intuitive name.
Lightning updates the calendar every 30 minutes. The add-on lets you configure this interval. To update the calendar, click Update in the menu. Note that the current version of Lightning only supports read access to Google calendar. Other calendar services, or your own calendar server on your local network, will typically support write access. Depending on the functions your calendar server supports, you might have options such as Private and Show time as as settings for the Calendar window.
Even if you don't own a calendar server, you can coordinate meetings with Lightning. To do so, first create a new appointment and enter the details. In the task bar, click Invite attendees. Then you can add your preferred participants. On the left-hand side, add the email addresses of the recipients; of course, you can use the Thunderbird address book to help you do this.
Now click OK to go back to the event screen where the participants now appear in a list. To send invitations, enable the option Send attendees invitation via email, then click Save and close to display a pre-filled email with a calendar.ics attachment. Because the attachment contains the details of the event, you can modify the email, but you can't remove the attachment. The recipients, who will need Lightning or a compatible groupware tool, receive invitations in their inboxes and can then confirm or refuse.
Developers have not tried to reinvent the wheel but have relied on trusted open source software when programming this extension. The support for multiple formats offers another benefit. Unfortunately, some gaps remain with respect to third-party support, but it's probably just a matter of time until other vendors see the advantages of Lightning.
Future Lightning versions should have better support for offline mode, allowing users to modify server-based calendars without having a network connection and to synchronize at a later time. In addition, the developers are planning to introduce support for multiple time zones, rework task management, extend "free/busy" support, and support invitations and task lists without a calendar server.
The long-term roadmap envisages OpenOffice integration. Also, the project group plans to support Microsoft Exchange server, although an exact date has not been released.