Provide more fine-grained sharing OR inter-calendar syncing
I would like to share read-only calendars with, e.g.:
- Colleagues
- Close friends
- The world at large
However, I don’t want them all to have the same level of info.
Close friends might be able to see exactly what I’m doing. Colleagues can see the details of events in specific work calendars that I indicate, but only generic ‘busy’ blocks outside of working hours. The world at large can only see public events I am attending.
There’s some support for this available by having multiple calendars and sharing them with particular people of course, but it would only allow for different people seeing different versions of an event if I manually intervene to make my ‘Personal’ calendar items appear in my ‘Work’ calendar, but with edited information.
There is also the case where I have half a dozen different calendars for my own use, but would like to share one consolidated view of them. Outsiders don’t need to know how I’ve organised everything.
It occurs to me that the most generic way to solve this would be to support automatic duplication of events from one calendar into another. Without knowing the details of how your system works, it seems to me it wouldn’t be too hard to record a master-slave relationship between calendars and then simply duplicate across as a batch process or per-change.
The next step would be to indicate which event fields would survive the copy process, and which should be wiped (e.g. the name of the event if the slave calendar is intended to show only availability).
I would then have a series of ‘input’ calendars which I actually use, and ‘output’ calendars which I can share.
This could in fact be handled entirely outside the server if I could find a smart enough client which offers this inter-calendar syncing, but I have searched high and low and not found anything beyond digging in to the spec and writing some cron jobs which poll/post to the server directly.
Hope this seems like a good idea. With the right interface I think it could be a big selling point. People are more and more aware of privacy, and this would give great control without breaking any client software.

-
Olivier Cailloux commented
Simpler suggestion. Just allow to define different permissions depending on the category of event.