[CalendarServer-users] accounts.xml configuration

Emil Lundberg Emil.Lundberg at bmc.uu.se
Fri Feb 8 09:05:23 PST 2008


There is no FAQ describing the accounts.xml file that I am aware of,  
although the subject of XML configuration has been discussed in  
previous posts to this list (I do recall promising to help out with  
the FAQ part and will do so once I get back on the calendar project).

The syntax and options of accounts.xml are formally described in the  
file <DCS root>/conf/accounts.dtd, and as such must adhere to this  
syntax [link]. The accounts-test.xml file is a good example on how the  
file should be structured. If you make changes to accounts.xml (or  
whatever you decide to call it - this is specified in the caldavd  
plist) and they don't stick, check the logs for errors. A malformed  
xml file will be not accepted by the calendar server. Here's the  
skinny though (as always, feel free to correct/clarify me):

General info (based on DCS release 1.1)
------------
Possible account types are: user, group, resource, location

The accounts root element itself has one attribute ("realm") which can  
be set to any string you like (I believe this becomes important in a  
federation scenario).


Common elements
---------------
All account types contain the following elements: <uid>, <guid>,  
<password>, <name>, <cuaddr> (optional). All account elements also  
have a "repeat" attribute. If this is set (default is 1), one can use  
the special notation "%2d" to signify the part(s?) of any element of  
that account to be replaced by the actual repetition. Use this to  
quickly generate accounts; see accounts-test.xml for examples.

<uid> is the realm-wide unique identifier (e.g. "cburke"). For all  
resources, it determines the final path to the calendar. For users and  
groups, this is also the login id.

<guid> is the globally unique identifier. In the example file, this is  
set to the same as the uid, which is fine for testing purposes. For a  
live service though, you're better off using a proper GUID [link]  
(e.g. 572C1D4D-8FAC-4E8A-9F44-DFB1EC6B53C6). You can either generate  
them yourself using the "uuidgen" command on OS X (or Perl/PHP/Python/ 
etc) or let the server generate them for you and stick them in the  
accounts file afterwards [link]. Note: Open Directory also uses GUID/ 
UUID throughout as unique object identifiers; this is how the calendar  
server integrates into this directory service.

<password> is the clear-text password of the account (ugh :-) Even  
resources and locations have uids/passwords though they are seldom  
accessed this way (see below). This can come in handy in an automated  
calendaring workflow, though.

<name> is the plain-text name/description of the account (e.g. "Carter  
Burke" or "Conference Room LV-426"). It is not strictly required to be  
unique, though common sense dictates so.

<cuaddr> is an optional element, unique to the realm, that specifies  
the calendar user address for the account. This is currently a mailto  
URL (e.g. "mailto:cburke at thecompany.com"). This address is used by  
calendaring clients to schedule a user or resource to a particular  
event (c.f. <auto-schedule>), c.f. iCalendar and related standards  
[link].


Resources and Locations
-----------------------
These account types are very much similar; they only differ in how the  
client uses them. They have a couple of special elements to them:

<auto-schedule>, if present, allows the resource accept invitations  
automatically, without the need to respond to mail sent to the <cuaddr>.

<proxies> specifies a list of accounts that have permission to  
schedule the resource/location.


Groups
------
Groups are special in that they both specify group calendars and group  
membership, but this has been addressed in 1.1:

<members> is a list of account that belong to the group. This  
determines both group membership and the right to use the group  
calendar (c.f. <disable-calendar>).

<disable-calendar>, if present, inactivates the calendar function for  
the group.


Links
-----
DTD syntax explained: http://www.w3schools.com/dtd/default.asp
GUIDs explained: http://en.wikipedia.org/wiki/Guid
GUID post: http://lists.macosforge.org/pipermail/calendarserver-users/2007-November/000454.html
Standards and protocols: http://en.wikipedia.org/wiki/ICalendar


HTH,

/Emil


4 feb 2008 kl. 20.52 skrev tack:

> I'm also new and looking for the same thing.
>
> Is there a FAQ for this list?  And if not, anybody got suggestions  
> for accounts.xml documentation?
>
> Cheers,
> tack
>
> On Feb 3, 2008, at 3:58 AM, Fabrizio Regini wrote:
>
>> hi! I'm a new user of calendar server.
>>
>> I'm running it on a freebsd server just to test the functionalities  
>> on iCal and  to explore it a little.
>>
>> I'm having problems to figure out all possible configuration  
>> options for account.xml file.
>>
>> There's any document describing them?
>> I wasn't able to find them on the website.


More information about the calendarserver-users mailing list