To force the group to be able to edit the calendar, the only way I have found is to resort to the command line.
First, you need the GUID of the group:
Visit
https://serverdomain:8443/principals/groups/
Or, if SSL is off, make that:
http://serverdomain:8008/principals/groups/
Make sure the group's short name is in the list. Click on the group's short name.
You should see something like this:
*Principal Information*
---------------------
*GUID: C0CE9370-DD45-4263-AC18-E20F4444474A*
Note the GUID value, we'll need it in a second.
Now, open Terminal either on the server or ssh into the server as a admin, and run the following commands (each line is a command):
*cd /Library/CalendarServer/Documents*
sudo sqlite3 -line /Library/CalendarServer/Documents/principals/.db.calendaruserproxy 'select * from groups;'
You
might see results like:
+GROUPNAME = C0CE9570-DD45-4263-AC18-E20F4444474A#calendar-proxy-write+
+MEMBER = D872BAB5-6512-4688-A1E8-B7144449F07A+
If you get nothing, that's fine too. You just want to make sure that what you're about to add isn't already there.
Ok, to delegate any group or user to be able to read/write any other group or user's calendars (all of them) then you run:
*sudo sqlite3 -line /Library/CalendarServer/Documents/principals/.db.calendaruserproxy 'INSERT INTO "GROUPS" VALUES('
OWNERGUID#calendar-proxy-
write','
OTHERGUID');'*
You must change OWNERGUID to the GUID of the user or group (or location or resource, I suppose) that you located in the web browser for the owner of the calendar(s).
You must change OTHERGUID to the GUID of the user or group that you wish to be able to access the calendars owned by OWNERGUID.
You can change
calendar-proxy-write to
calendar-proxy-read if you want to only allow read access.
Now, to how this pertains to this specific thread: You must enter the GUID of the group for both OWNERGUID and OTHERGUID. This allows anyone in the group to read/write any of the group's calendars. I don't know why this doesn't happen automatically.
Here's an example:
At
https://server.domain.com:8443/principals/groups/testgroup/ If found that testgroup's GUID is
C0CE9570-DD45-4263-AC18-E20F4444574A, so I run:
*sudo sqlite3 -line /Library/CalendarServer/Documents/principals/.db.calendaruserproxy 'INSERT INTO "GROUPS" VALUES('
C0CE9570-DD45-4263-AC18-E20F4444574A#calendar-proxy-write','
C0CE9570-DD45-4263-AC18-E20F4444574A');'*
Hope that helps,
-Rob