Calendars drop out of calendar.app in 10.10.2 Yosemite
Hi, we use an shared calendars setup for all (15-20) users in the office. These "shared calendars" are users with calendars, most of them with multiple calendars eg. # user: cal_projects with calendars Project_1, Project_2 etc. The "real login user" are ro or rw proxies (without any own calendars) set via: # calendarserver_manage_principals --add-write-proxy users:user1,user2 users:cal_projects The setup in calendar.app is pretty straight forward: # username: user1 # password: password # server: server.doman.tld # server path: /principals/users/cal_projects/ # port: 8443 # use ssl: yes by setting the server path to # /principals/users/cal_projects/ which calendar.app rewrites to # /principals/__uids__/UUID-OF-THE-SHARED-CALENDAR-USER/ Within Mavericks (10.9.5) this worked very well, even when upgraded to Yosemite (10.10.2) but on every new installed Mac that came with Yosemite these calendars disappear (all at once mostly) after some restarts none deterministic. After that the server path in the config file of that calendar is: # /principals/__uids__/UUID-OF-THE-REAL-LOGIN-USER/ instead of the expected # /principals/__uids__/UUID-OF-THE-SHARED-CALENDAR-USER/ If this happens the respective calendars folder in ~/Library/calendars on the mac is empty (info.plist still there). Calendar.app does not log any useful info. On the server there are those lines in the log when this happens: "REPORT(DAV:principal-search-property-set) /principals/ HTTP/1.1" 200 1362 "-" "Mac+OS+X/10.10.2 (14C109) CalendarAgent/316" i=1 or=1 t=4.2 "PROPPATCH /calendars/__uids__/UUID-OF-THE-SHARED-CALENDAR-USER/calendar/ HTTP/1.1" 401 141 "-" "Mac+OS+X/10.10.2 (14C109) CalendarAgent/316" i=0 or=2 t=17.3 "REPORT(DAV:sync-collection) /calendars/__uids__/UUID-OF-THE-REAL-LOGIN-USER/notification/ HTTP/1.1" 403 208 "-" "Mac+OS+X/10.10.2 (14C109) CalendarAgent/316" i=0 or=1 t=16.1 err=valid-sync-token "REPORT(DAV:sync-collection) /calendars/__uids__/UUID-OF-THE-REAL-LOGIN-USER/inbox/ HTTP/1.1" 403 208 "-" "Mac+OS+X/10.10.2 (14C109) CalendarAgent/316" i=0 or=1 t=26.8 err=valid-sync-token The caldavserver is the version 5.2+dfsg-1 which comes with ubuntu server 14.04 LTS. PostgreSQL is used as data-backend. Account data is stored in /etc/caldavd/accounts.xml because LDAP didn’t work. "ADDRESSBOOK-DATAVERSION";"2" "CALENDAR-DATAVERSION";"6" "VERSION";“28“ Does have anyone have similar problems or even better - any solution to this? Thanks in advance. Frank
On Mar 9, 2015, at 8:01 AM, Frank Fechner <fechner@kemper-schlomski.de> wrote:
Within Mavericks (10.9.5) this worked very well, even when upgraded to Yosemite (10.10.2) but on every new installed Mac that came with Yosemite these calendars disappear (all at once mostly) after some restarts none deterministic. After that the server path in the config file of that calendar is:
# /principals/__uids__/UUID-OF-THE-REAL-LOGIN-USER/
instead of the expected
# /principals/__uids__/UUID-OF-THE-SHARED-CALENDAR-USER/
Hello, This reason this is flaky is because what you are attempting is kind of a hack, and isn’t intended to work. The server path is supposed to match the credentials used for login. The reason that you don’t normally have to enter a server path when configuring an account is because the client can usually figure that out on its own. The field is there incase the client CAN’T figure that out, and it is not intended to override the client’s ability to detect where the user’s calendar home is. I would suggest trying calendar sharing and not delegation. Here are some pros and cons for sharing as compared to delegation: Sharing does: * allow you to set up the accounts normally with no custom server path * work on iOS Sharing does not: * share entire accounts; only individual calendars. You can of course share multiple calendars. * allow users to act on behalf of others Also there is currently no command line tool for provisioning shares as there is for delegation. The owner needs to invite other users, and the users need to accept the share invitation. The UI for sharing is revealed by right-clicking a calendar, or by clicking to the right of its name, where the airport-looking icon appears. In Calendar Server 6 and later, there is also support for sharing directly to groups. The basic idea is that you would create a group containing the list of users you wish to receive a given shared calendar. The owner invites the group, and all the members get an invitation. The group membership is tracked over time by the server, so if users are added or removed, the shared calendar is removed or offered based on membership changes. This is still a somewhat fresh feature without a lot of testing, but it’s there if you want to experiment. Also I think the client support for it in Calendar.app is not really there yet (e.g. I think the client will try to expand the group membership before sending the invitation, instead of sending an invitation to a group principal), however once the share is made it should behave normally. Hope this helps, -dre
Hi, thanks for the quick answer and suggestions. So here are my findings so far. Am 09.03.2015 um 21:33 schrieb Andre LaBranche <dre@apple.com>:
Hello,
This reason this is flaky is because what you are attempting is kind of a hack, and isn’t intended to work. ...
I would suggest trying calendar sharing and not delegation. Here are some pros and cons for sharing as compared to delegation:
Sharing is a bit of a overkill because of our use case. Besides the fact that most of us are having full r/w access to the shared group calendars we have a separate calendar for each project and an relatively high fluctuation rate of people (students, freelancers) so sharing of individual calendars to individual users is not considered a good way to do. Also the shared calendars pop up within the users own account group in calendar.app so one can’t hide these listings partially by binding the group instead of each individual calendar. For several reasons we have some hundred project calendars of more or less historical/archival purposes for the projects of the last 8 to 9 years so every one can see his/our events of the past. So delegation seems the way to go, but as you pointed that isn’t supported by iOS (which I didn’t check yet…)
Also there is currently no command line tool for provisioning shares as there is for delegation.
What is this cli tool? Is it for delegation like you do in the account settings in calendar.app or do you mean the calendarserver_manage_principals tool? Thanks. Frank
On Mar 12, 2015, at 7:34 AM, Frank Fechner <fechner@kemper-schlomski.de> wrote:
What is this cli tool? Is it for delegation like you do in the account settings in calendar.app or do you mean the calendarserver_manage_principals tool?
Delegation can either be configured by users with Calandar.app or by an admin using calendarserver_manage_principals (cmp for short). Sharing cannot be configured by cmp. -dre
participants (2)
-
Andre LaBranche
-
Frank Fechner