Creating a Calendar Server 6 and Calendar Server 7 Coexistent Deployment
This information describes how to set up Calendar Server 7 (CalDAV Server) in an existing Calendar Server 6 deployment, where calendar users exist in both the Calendar Server 7 and Calendar Server 6 environments. In such a deployment, you enable both free-busy lookup and iCalendar Transport-Independent Interoperability Protocol (iTIP) invitation between the two Calendar Server deployments. That is, users should have the capability to check free-busy information of users on any server, and the capability to invite any user. Invitations to users on a different server would be delivered by using iTIP.
Topics:
To Configure the Calendar Server 7 Environment
Perform the following steps on the Calendar Server 7 host.
- Change to the cal-svr-base/config directory and either edit or create the ischeduledomainmap.properties file.
- Add a line that contains your domain name and the Calendar Server 6 URL to connect to for Calendar Server 6 user inquiry. If the Calendar Server 6 host is set up for multiple front ends and back ends, you can use any front-end server information.
For example:example.com=http://cs6server.example.com:8080/ischedule/
- Use the davadmin config command to define the davcore.scheduling.localuserattr parameter.
This parameter indicates the presence of which attribute determines if a user is local to Calendar Server 7. The recommended value is davStore.
For example:davadmin config -F pw_file -o davcore.scheduling.localuserattr -v "davStore"
- Use the davadmin config command also to add the same value to the attributes to search list, by adding it to the value for the davcore.uriinfo.subjectattributes parameter.
- On the Directory Server, use an LDAP client to verify that the LDAP attribute defined in Step 3 is present for all users who are on the Calendar Server 7 server. Also verify that the attribute is not present for users on the Calendar Server 6 host.
If using davStore and it is a simple single back-end deployment, populate it with the value defaultbackend.
To Configure the Calendar Server 6 Environment
Perform the following steps on the Calendar Server 6 host.
- Patch the server to the following:
- 121657-37 - Solaris SPARC
- 121658-37 - Solaris x86
- 121659-37 - Red Hat Linux
- Edit the /etc/cal-svr-base/ics.conf file as follows:
- Set service.http.caldavcompatible = "yes".
- Set the option for free-busy redirection to point to the Calendar Server 7 server's free-busy URL. If the Calendar Server 7 servers have a multiple front-end and back-end setup, use any front-end's information.
For example:service.wcap.freebusy.redirecturl = "http://cs7server.example.com:8080/davserver/wcap/get_freebusy.wcap"
- Disable autoprovisioning by setting the value of local.autoprovision, user.invite.autoprovision, group.invite.autoprovision, and resource.invite.autoprovision to "no".
For example, the changes resemble the following:service.http.caldavcompatible = "yes" service.wcap.freebusy.redirecturl = "http://cs7server.example.com:8080/davserver/wcap/get_freebusy.wcap" local.autoprovision ="no" user.invite.autoprovision = "no" group.invite.autoprovision = "no" resource.invite.autoprovision = "no"
- If you migrated Calendar Server 6 calendars, back up then delete the migrated calendars on the Calendar Server 6 host.
For example, to delete the calendar, perform the following:./cscal delete -o <uid>
- Restart the Calendar Server 6 server, for example:
cd /opt/sun/comms/calendar/SUNWics5/cal/sbin ./stop-cal ./start-cal
About This Configuration
This section contains the following topics:
About the Calendar Server 7 Configuration
When a scheduling invitation or free-busy request comes to a Calendar server 7 host, the server tries to determine if each of the invitees are local, by performing a directory lookup. If the server option davcore.scheduling.localuserattris set, the server additionally checks if the attribute specified by that option is set for each of the invitees found in the Directory. If the attribute is set, the user is considered local to the Calendar Server 7 host. If the attribute is not set, the user is assumed to be on the Calendar Server 6 host.
If a user is on the Calendar Server 6 host, for scheduling free-busy lookup, the server uses the Calendar Server 6 host information in ischeduledomainmap.properties and contacts the Calendar Server 6 host to make an iSchedule Freebusy request.
Sample request:
>> Request << POST /ischedule/ HTTP/1.1 Host: cs6server.example.com Content-Type: text/calendar Content-Length: xxxx BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Sun Microsystems/Sun Calendar Server 7.0-0.13//EN METHOD:REQUEST BEGIN:VFREEBUSY DTSTAMP:20040901T200200Z ORGANIZER:mailto:cs7user@example.com DTSTART:20040902T000000Z DTEND:20040903T000000Z UID:34222-232@example.com ATTENDEE;CN=Cal7 User:mailto:cs7user@example.sun.com END:VFREEBUSY END:VCALENDAR
The response is incorporated into the scheduling free-busy response made by the Calendar Server 7 host. If a user is on a Calendar Server 6 host, for scheduling an invitation, an iMIP invitation is sent by the Calendar Server 7 host.
About the Calendar Server 6 Configuration
On a Calendar Server 6 host, if service.http.caldavcompatible is set to "yes", on a scheduling free-busy request, if the invitee calendar is not found on the local database, a free-busy redirect URL is returned as configured through the service.wcap.freebusy.redirecturl parameter.
On a scheduling invitation request, if the invitee calendar is not found on the local database, an iMIP invitation is sent.

