Migrating 10.5 iCal Server to 10.6 with group calendars
In Mac OS X 10.5 Server, user and group calendars were available in iCal server. User calendars worked pretty well, but group calendars were a bit of a kludge. The biggest mess was the web calendar. I’m glad to say a lot of this has been vastly improved in 10.6 server. Read on to find out about my migration journey and the numerous bumps in the road.
To be safe, I backed up the entire CalendarServer folder to an external drive. Then I inserted the 10.6 Leopard server installation disk and did a remote install as my Xserve is headless. Firing up Server Admin on my 10.6.2 MacBook Pro, my Xserve showed up as awaiting installation. However, clicking on “Install” did not do anything. Doing a little investigation, I discovered that “Server Assistant” can be run directly from /System/Library/CoreServices/Server Assistant. Running it directly allowed me to complete my remote “Upgrade” install.
After the installation completed I was able to Apple Remote Desktop into my server to complete the setup. The 10.6 upgrade process worked well for my Open Directory Master, and Web and iCal user calendars. In fact, it was seamless. However, it did absolutely nothing to preserve my group calendars.
Migrating the group calendars from 10.5 to 10.6
Here’s how I got my group calendars back, step by step. For clarity, we’ll say we have a user John who belongs to the group “Fiscal”. In 10.5, there was a shared calendar for the “Fiscal” group.
1) Open a web browser to: http://yourhost/groups/
2) Log in as the user John.
3) If you see “Fiscal” in the Wikis list, then you had a Group Wiki setup in 10.5. If you don’t see “Fiscal” skip ahead to step 5.
4) Logout as John, and login as a local administrator. The 10.6 upgrade doesn’t give admin access to John on the wiki by default.
5) If you don’t see “Fiscal”, click “Create a new Wiki”. Make sure to name it “Fiscal”, the same name as the group from 10.5. Choose a theme, and set permissions. For me, I made sure to set it as read/write only by the “Fiscal” group. I unchecked “Send Email”.
6) Click on “Fiscal” in the wiki list, and go to Admin functions > Settings
7) Under the Services tab, make sure Calendar is enabled and hit save. Under permissions you can also set administrative rights and access rights here. (They will also apply to the web calendar).
8) In the Finder of the SERVER, while logged in as an administrator, navigate to /Library/CalendarServer/Documents/calendars/__uids__/wi/ki/
9) You should see a folder called wiki-fiscal (or wiki-nameofyourgroup). Into this folder, you will want to copy your calendar data from 10.5.
10.5’s calendar directory structure
##/##/calendar -> the main calendar data (1st group calendar in the list)
##/##/someUUID -> other calendars
I had to do a little digging to determine which calendars were what, but if you “quicklook” the calendar data, it will tell you what event it is.
10) You should copy the calendar folder and numeric folders (eg: 7DB3354E-56BF-44D4-9949-B6F2B663E21B) directly into the wiki-yourgroup folder.
11) In Server Admin, click on your server, then under the File Sharing tab, click Volumes, and browse. Go to /Library/CalendarServer/Documents. The permissions for Documents should be _calendar read/write, _calendar read/write, others no access. Click on the gear and “Propagate permissions”.
12) In Server Admin, under iCal > Settings, make sure Wiki Server is set to your Fully Qualified Domain Name! (mine was set to 127.0.0.1)! This was making the web calendar not work (permissions errors).
14) Open a web browser to: http://yourhost/groups/
15) Login as John and click on the “Fiscal” group wiki, then click Calendar.
16) If everything went according to plan, your group calendars should now be there!
Adding 10.6 group calendars to iCal.app
In 10.5, the location of the group calendar was http://yourhost:8008/principals/groups/groupname/ (or 8443 if using https).
In 10.6, the location of the group calendar is http://yourhost:8008/pricipals/wikis/groupname/
Simply change the url and it should work.