Calendar Server 6 and Calendar Server 7 Comparison and Coexistence

Calendar Server 6 and Calendar Server 7 Comparison and Coexistence

This information discusses some of the differences between Calendar Server 6 and Calendar Server 7 software, as well as some of the issues for a coexistent deployment.

Topics

Overview

Calendar Server 7 is Sun's next-generation Calendar Server, which supports the new standard for calendar access called CalDAV. Beyond the first release, this technology will evolve into much more than a calendar server.

Calendar Server 7 is a newly designed server and replaces the existing Calendar Server 6. Calendar Server 7 operates in a very different manner from Calendar Server 6. Though both servers use the standard iCal format for data, Calendar Server 6 supports only the WCAP protocol for data access, making it usable only with Sun-supplied clients and connectors. Calendar Server 7 supports the standard CalDAV access protocol, which makes it usable with Apple iCal, iPhone, Thunderbird Lightning, and any other CalDAV clients.

Note
Currently, WCAP support for Sun Convergence and Connector for Outlook clients is still being developed in Calendar Server 7. This integration is planned for a future release of Calendar Server 7.

See What Is CalDAV and Why Use It? for more background information.

Architecture and Services

Calendar Server 6 was designed as a stand-alone application that consisted of multiple processes, including:

  • csadmind - Manages alarm notifications and group scheduling requests
  • cshttpd - Listens for HTTP commands from Calendar Server end users, receives the user commands, and returns calendar data
  • csstored - Creates automatic backups of the calendar database
  • csnotifyd - Sends notifications of events and to-do's (tasks)
  • csdwpd - Manages calendar databases spread across multiple back-end servers within the same Calendar Server configuration

Calendar Server 7 is a servlet that you deploy into a web container (GlassFish Enterprise Server). Thus, Calendar Server 7 does not contain its own start and stop programs, unlike Calendar Server 6. (You start and stop Calendar Server 7 through the GlassFish Enterprise Server start and stop commands.) The administrative commands have been completely rewritten as well for Calendar Server 7. The Calendar 7 commands do not have one-to-one mapping to the Calendar Server 6 commands. For more information about Calendar Server architecture and design, see Introduction to Calendar Server 7.

For more information about administering Calendar Server 7 by using the davadmin command, see Calendar Server 7 Command-Line Utilities.

Calendar Server 6 used an embedded Berkeley DB database while Calendar Server 7 uses a separate mySQL database. This use requires separate installation, configuration, and maintenance of the calendar database, but easier maintenance by using mySQL Server specific tools.

Features

Some of the features that existed in Calendar Server 6 are still being developed in Calendar Server 7, including subscriptions, ACLs, resource calendars, and group calendars. Most of these features are expected to be supported in a future release of Calendar Server 7.

For a quick look at the features of Calendar Server 7, see What's New in Calendar Server 7.

Coexistence

You can install Calendar Server 6 and Calendar Server 7 on the same host. The two servers will not use each other's data. You can ensure communication of free-busy information and iMIP scheduling between the two servers by using the setup described in Creating a Calendar Server 6 and Calendar Server 7 Coexistent Deployment. You cannot use this setup in the Calendar Server 7 Beta release. Also, this setup does require that you install the latest Calendar Server 6 patch.

Installation and Configuration

Release Description
Calendar Server 6.3 Installing and configuring Calendar Server 6.3 consists of the following high-level steps:
  1. Installing the software by using the Communications Suite 6 installer
  2. Running the Communications Suite 6 Directory Server Setup script, comm_dssetup.pl, to configure Sun Java System Directory Server
  3. Running the Calendar Server configuration program (csconfigurator.sh) to initially configure your site's specific requirements and to create a new ics.conf configuration file
  4. Customizing your system by editing parameters in the ics.conf file
Calendar Server 7 Installing and configuring Calendar Server 7 consists of the following high-level steps:
  1. Installing and configuring the GlassFish application server as the web container
  2. Installing the Calendar Server 7 software and MySQL Server software by using the Communications Suite 7 installer
  3. Running the Communications Suite 7 Directory Server Setup script, comm_dssetup.pl, to configure Sun Java System Directory Server
  4. Creating and setting up the MySQL Server database
  5. Running the Calendar Server 7 configuration program (init-config) to initially configure your site's specific requirements

For more information, see Communications Suite 7 Installation Scenario - Calendar Server 7.

Data Migration

A migration program is being developed to migrate Calendar Server 6 data to a Calendar Server 7 host. This migration program is not currently available in the first release of Calendar Server 7 but is planned for a future release.

Special User Accounts

Calendar Server 6.3 special accounts include the following:

  • Calendar Server Administrator (calmaster) Account
  • Superuser (root)
  • Non-root User (icsuser, icsgroup)

Calendar Server 7 special accounts include the following:

  • Calendar Server Administrator (calmaster) Account
  • Calendar Server User and Group Accounts
  • Superuser (root)
  • mysql user and group
  • GlassFish Administrator Account

Proxy Administrative Accounts

In Calendar Server 6.3, to enable administrators to administer user calendars, the default value for the following parameter in the ics.conf file is set as shown: service.http.allowadminproxy="yes"

There is no equivalent in Calendar Server 7. That is, you cannot disable administrative access to user calendars.

End-User Administration

Administrators with the proper permissions can add, delete, or modify user LDAP entries or resource LDAP entries by using the Delegated Administrator Utility (command-line) or Console (GUI). Calendar Server 7 requires Delegated Administrator 7 (patch version that ships with Communications Suite 7). Calendar Server 6.3 uses Delegated Administrator 6.4.

Additionally, when necessary, you can use ldapmodify to modify LDAP entries directly.

Both servers support Schema 1 and Schema 2. For more information, see Communications Suite Schema Reference and CalDAV LDAP Schema Reference.

Calendar Server 7 requires the new davEntity object class to set up multiple back-end hosts for horizontal scalability. Calendar Server 7 does not support the DWP protocol, which was used for distributing calendar data across multiple back-end hosts in Calendar Server 6.3.

Data Formats, Protocols, and Standards

The Calendar Server 6.3 data format is modeled after RFC 2445, Internet Calendaring and Scheduling Core Object Specification (iCalendar).

Calendar Server 6.3 supports WCAP 3.0.

The main interface used by Calendar Server 7 to interact with the data repository is the CalDAV protocol, which is based on HTTP. Thus, any client that supports CalDAV, such as Apple iCal and Thunderbird/Lightning, can access Calendar Server 7. Calendar Server 7 will also partially support the legacy HTTP-based WCAP protocol for use by Connector for Outlook and Desktop Sync clients in an upcoming release.

Calendar Server 7 supports only a subset of the legacy WCAP protocol, with no guarantee of backward compatibility. Additionally, Calendar Server 7 supports the server-to-server iSchedule protocol, which means that it can also act as a client. The server also exposes the following HTTP-based services:

  • Simple free-busy service
  • Administrative browse UI

Finally, Calendar Server 7 offers a JMX based interface to query and alter the repository. This interface is primarily used by the davadmin command-line utility but can also be used by standard clients, such as Jconsole, and by custom JMX clients, either locally or remotely.

Access Control

Calendar Server 6.3 uses Access Control Lists (ACLs) to determine the access control for calendars, calendar properties, and calendar components such as events and to-do's (tasks).

Calendar Server 7 will support a similar rich access control mechanism in a future release.

Public APIs

Calendar Server 6.3:

Calendar Server 7:

Backup and Restore

When properly configured, the Calendar Server 6.3 csstored service creates automatic backups of the calendar database. You can configure Calendar Server 6.3 for automatic backups either during initial configuration or at a later time.

In Calendar Server 7, you use the davadmin db command to back up and restore the MySQL database. There is no automatic database function as there is in Calendar Server 6.3. You can write cron jobs for Calendar Server 7 deployments to perform incremental backups by using the davadmin db backup command.

Log Files

Calendar Server 6.3 maintains six types of log files:

  • admin
  • dwp
  • http
  • httpd access
  • notify
  • store

The default log location is /var/opt/SUNWics5/logs, which you can modify.

Calendar Server 7 maintains four types of log files:

  • commands
  • calendar
  • scheduling
  • telemetry

Each log file has its own configuration attribute that controls the log file location, maximum size, and log level. The default log file location is the logs directory, under the data and config directory that you enter during initial configuration. You can set the logging level for Calendar Server logs in the Application Server logs by using the Application Server Admin Console.

For more information, see Administering Calendar Server 7 Logging.

Maintaining Configuration Files

You change the Calendar Server 6.3 configuration by adding or editing parameters to the ics.conf file. You can find the ics.conf file in the following directory:

  • For Solaris OS: /etc/opt/SUNWics5/cal/config
  • For Red Hat Linux: /etc/opt/sun/calendar/config

You change the Calendar Server 7 configuration by using the davadmin config command.

Notifications and Reminders

Calendar Server 6 can be configured to use an external generic service called the Event Notification Server (ENS), which accepts reports of server-level events that can be categorized into specific areas of interest. This service also notifies other servers that have registered interest in certain categories of events. Calendar Server 6 uses ENS to send and receive alarm notifications that include the creation, deletion, or modification of calendar events and tasks, as well as general
operational warning and error messages.

Note
The Calendar Server 6.3 software also contains support for Java Message Queue for notification, but csnotifyd does not subscribe to it. Thus, it is not part of the default alarms and notification system. For more information, refer to the Sun Java System Java Message Queue documentation.

Calendar Server 7 provides Java Message Service (JMS) notifications and email notifications for database changes and event or task email alarms. You can configure the server to produce JMS notifications for every database change and every alarm. If you choose, you can write your own subscribers to these notifications. In addition, Calendar Server 7 provides a subscriber program, which you can configure, that consumes the JMS notifications and sends email for database changes and email alarms.

Labels

caldavserver caldavserver Delete
calendarserver calendarserver Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

© 2010, Oracle Corporation and/or its affiliates
Powered by Atlassian Confluence
Oracle Social Media Participation Policy Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact