A while back, my stepfather asked me how he and my mother could share one iCal calendar. Mind you, this is not publishing and subscribing to the same calendar, but the ability for two people on one machine to actually update the same calendar files -- so either one can add events, view events, etc. At the time, I was stymied for a simple answer -- I've seen one other solution on the web, but it involves setting up a WebDAV server, which seems like overkill to me. Today, I mentioned this challenge in an online chat with a buddy, and he (thanks Jacco!) gave me the inspiration and starting point from which to figure out a complete and (as far as I can tell) fully functional solution.
Read the rest of the hint for the how-to...
Though the problem seemed complex, the solution turned out to be quite simple ... and although this was tested in Panther, it should work just fine in 10.2 as well -- the only requirement is a second hard drive or partition (though you can probably make the solution work using the Public folder, with a bit of work). Here's how to do it:
Select the available partition or drive and do a File -> Get Info on it. Check the "Ignore ownerhsip on this volume" checkbox. This sets up the partition as a world-accessible drive, meaning any local user can read and write to the files on the drive. Keep this in mind when deciding which partition to use. For this example, I'll use a drive named "OurCalendars."
Assume you have two users, tomt and jillj, neither of whom have run iCal before, and they wish to share a calendar. Login as either one (I'll assume tomt) and launch iCal. Add an event to the calendar, just for proof the concept works when you're done.
Quit iCal, and then navigate to tomt's Library folder. Copy the Calendars folder to the top level drive you made world usable in step one. Once it's copied, delete the original from tomt's Library.
Open the Terminal, and type:
% cd ~/Library
% ln -s /Volumes/OurCalendars/Calendars Calendars
This creates a symbolic link (think of it as a UNIX version of a Mac file alias) named Calendars in Tom's Library that "points to" the Calendars folder on the shared drive. If you don't use the top level of the shared drive, you'll have to modify the path to point to the actual location of the Calendars folder (and replace OurCalendars with the name of your shared drive!).
Launch iCal as tomt again, and see that you can see the event you added, proving you're seeing the shared calendar folder.
Login (fast user switch in Panther!) as jillj, and repeat the terminal commands listed above. This creates the same symbolic link for Jill as you created for Tom.
Launch iCal as Jill, and see Tom's event. Add an event as Jill.
Quit iCal and switch back to Tom's login. Launch iCal and note that you can see both Tom and Jill's added events.
Be aware that there are some dangers here -- if both Tom and Jill access try to access the shared file at the same time, I'm not sure what the outcome would be, but I don't think it would be good! In any event, this method will let you create one shared calendar for multiple users on one machine.