<p dir="ltr">Thanks Cyrus!</p>
<p dir="ltr">On Feb 24, 2014 5:01 PM, &quot;Cyrus Daboo&quot; &lt;<a href="mailto:cdaboo@apple.com">cdaboo@apple.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi Atli,<br>
&gt;<br>
&gt;<br>
&gt; --On February 24, 2014 at 4:53:03 PM +0000 Atli Thorbjornsson &lt;<a href="mailto:atlithorn@gmail.com">atlithorn@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; From the client browser I can see that the proxies are stored under eg.<br>
&gt;&gt;<br>
&gt;&gt; /principals/users/user09/calendar-proxy-write<br>
&gt;&gt;<br>
&gt;&gt; If I am user09 can I dynamically add other users to these resources via<br>
&gt;&gt; http or do these proxies have to be set up beforehand via the directory<br>
&gt;&gt; service?<br>
&gt;&gt;<br>
&gt;&gt; Can I add groups to these proxies instead of users? So an &quot;admin-group&quot;<br>
&gt;&gt; belongs to calendar-proxy-write instead of constantly making sure all<br>
&gt;&gt; admins are in there?<br>
&gt;<br>
&gt;<br>
&gt; The calendar-proxy-write and calendar-proxy-read &quot;sub-principal&quot; resources are in effect &quot;groups&quot;. So If user09 wants to make user10 a read-write proxy, all they need to do is add user10 to the DAV:group-member-set WebDAV property of the user09 calendar-proxy-write resource. So a simple PROPPATCH:<br>

&gt;<br>
&gt; PROPPATCH /principals/users/user09/calendar-proxy-write HTTP/1.1<br>
&gt; Host: localhost<br>
&gt; ...<br>
&gt;<br>
&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;<br>
&gt; &lt;D:propertyupdate xmlns:D=&quot;DAV:&quot;&gt;<br>
&gt; &lt;D:set&gt;<br>
&gt; &lt;D:prop&gt;<br>
&gt; &lt;D:group-member-set&gt;&lt;D:href&gt;/principals/users/user10&lt;/D:href&gt;&lt;/D:group-member-set&gt;<br>
&gt; &lt;/D:prop&gt;<br>
&gt; &lt;/D:set&gt;<br>
&gt; &lt;/D:propertyupdate&gt;<br>
&gt;<br>
&gt; Note that you have to re-write the DAV:group-member-set each time, so you need to get the existing list first and make changes to that as a whole, then update the entire list via the PROPPATCH.</p>
<p dir="ltr">That&#39;s exactly what I need, perfect.</p>
<p dir="ltr">&gt; And yes, our server does support adding group principals into the DAV:group-member-set property and the server takes care of automatically &quot;expanding&quot; that and effectively making all members of that group a proxy for the relevant user.</p>

<p dir="ltr">Even better. Out of curiosity, is that &quot;expansion&quot; cached? If a user is subsequently removed from a group in my custom directory service would I need to somehow clear the cache or is the directory service queried every time?</p>

<p dir="ltr">&gt; -- <br>
&gt; Cyrus Daboo<br>
&gt;</p>
<p dir="ltr">Thanks again,</p>
<p dir="ltr">Atli<br>
</p>