Access to calendars and events for a personal client user is represented in the XML as follows:
<currentAccess>
<current-user-privilege-set>
<privilege><all/></privilege>
<privilege><read/></privilege>
<privilege><read-acl/></privilege>
<privilege><read-current-user-privilege-set/></privilege>
<privilege><read-free-busy/></privilege>
<privilege><write/></privilege>
<privilege><write-acl/></privilege>
<privilege><write-properties/></privilege>
<privilege><write-content/></privilege>
<privilege><bind/></privilege>
<privilege><unbind/></privilege>
<privilege><unlock/></privilege>
</current-user-privilege-set>
</currentAccess>
These flags are used in the interface to reveal or hide the actions a user can take on an event or calendar.
Setting access on events and calendars is done through a form in the edit calendar or edit event pages. The form accepts a "how" request parameter that accepts the following values:
/** Single char encoding
*/
public final static char[] privEncoding = {
'A', // privAll
'R', // privRead
'r', // privReadAcl
'P', // privReadCurrentUserPrivilegeSet
'F', // privReadFreeBusy
'W', // privWrite
'a', // privWriteAcl
'p', // privWriteProperties
'c', // privWriteContent
'b', // privBind
'u', // privUnbind
'U', // privUnlock
'N', // privNone
};
