What's New in Calendar 2.0 for Drupal 5

A new Version 2 of the Calendar module is being developed. It is designed to work with Version 2 of the Date API and has a number of other improvements. The current status of this code is RC (release candidate) and it may not be production-ready.

After updating the files on your system, you'll find the Calendar modules in a new Date/Time section of the admin/build/modules page. Be sure to visit update.php to update your database. Make sure to set up your site timezone name after installing the new Date API.

As with the new Date API, the new version will work with either PHP 4 or PHP 5, but will be noticably more efficient with PHP 5.2. In very limited testing, calendar page execution times using the new code under PHP 5.2 were up to 20-30% faster with than the older code.

Note Event module event fields are no longer supported in the Calendar module. It has become very difficult to support the numerous different kinds of Event fields and timezone handling options that might exist, and the Event module has its own calendar for those fields. In addition, version 2 of the Event module is currently incompatible with the Date API, since it has a different method for setting site and user timezones that keeps the Date API from working correctly. The Date Copy module (included with the Date module) has a conversion program to convert Event fields to Date fields, if you want to switch to using Date and Calendar.

New Features

  • All the calculations use the new, improved date and timezone handling added by Date API version 2 (see http://drupal.org/project/date for details).
  • If the new Date Popup module is enabled, a jQuery popup date selector is available at the top of the page to allow you to easily jump to any year, month, and day.
  • The calendar settings have been moved to the admin settings area instead of using a tab on the View. There were too many cases where the settings tabs weren't working correctly. Once a calendar view has been created, you can alter the settings on the settings page.
  • The Views queries now use native database timezone adjustments if your database supports that, for faster and more accurate results.
  • Feed items are added in during views_pre_view so they are included for all types of displays, not just calendar displays.
  • As much code as possible has been moved into separate .inc files so it is parsed only when you are actually on a calendar page.
  • Lots of clean up has been done in the css files and the themes to simplify them and remove old legacy parts that are no longer needed.

Instructions

The setup for Calendar 2.0 is the same as for Calendar 1.x with the following exceptions:

  • The calendar and ical settings are not on a tab on the calendar view, but instead have been moved to admin/settings/calendar because of problems getting a tab on a view to work correctly in all situations. admin/settings/calendar is not available until a view has been created.
  • There are several new settings options, like the ability to control whether the the week numbers are displayed in the month calendar view.
  • The week view which was turned off in the Calendar 1.x version works again in the 2.0 version.
  • There is a new, optional, jcalendar module which will create a jquery popup window for the calendar item instead of taking you directly to the node. The popup is themeable, and defaults to be the teaser view of the node.