Hi Jelmer,

On 30 Jan 2017, at 01:13, Jelmer Vernooń≥ <jelmer@jelmer.uk> wrote:

When using the inf-it clients against my CardDAV/CalDAV server I notice that it requests a few custom properties.
Are these properties and their purpose documented somewhere?

The ones I have seen are:
- {http://inf-it.com/ns/dav/}headervalue

headervalue property is "hidden" property used internally by our company, but the meaning is not secret ... it is the similar thing as (from config,js):

// - hrefLabel
//   This option sets the server name in the resource header (useful if
//   you want to see custom resource header above the collections).
//   You can use the following variables in the value:
//     %H = full hostname (including the port number)
//     %h = full hostname (without the port number)
//     %D = full domain name
//     %d = only the first and second level domain
//     %P = principal name
//     %p = principal name without the @domain.com part (if present)
//     %U = logged user name
//     %u = logged user name without the @domain.com part (if present)
//   If undefined, empty or or null then '%d/%p [%u]' is used.
//   Examples: 
//     hrefLabel: '%d/%p [%u]'
//     hrefLabel: '%D/%u'
//   This property is supported in:
//     globalAccountSettings
//     globalNetworkCheckSettings
//     globalNetworkAccountSettings (available in auth module only)

We use this property do group collections (each person has one calendar) into "Support", "Sales", "Service", etc. There is also a special "trick" with this hidden property - the value can be a simple text or something like "001#Support", "002#Sales", "003#Service" thus you can sort the groups (the "001#", "002#" is not shown in the interface, but it is used for sorting) - the result in the interface will be something like:

Person 1 calendar (headervalue: "001#Support")
Person 2 calendar (headervalue: "001#Support")
Person 3 calendar (headervalue: "002#Sales")
Person 4 calendar (headervalue: "002#Sales")

- {http://inf-it.com/ns/dav/}settings

it contains the JSON representation of current settings such as: loaded calendars (e.g. loaded delegated calendars), enabled calendars (checkbox in the interface) and much more ... so next time you login you will see the same calendars you loaded/enabled during the previous "session" ... these settings can be "reset/ignored" if you press the shift button when clicking to the login (arrow) icon

- {http://inf-it.com/ns/dav/}addressbook-color; analogous to {http://apple.com/ns/ical/}calendar-color I'm guessing

the calendar-color is a property used by Apple (it is the color of calendar you see in the interface - hex notation such as: #ff00c5), the "addressbook-color" is our property, because we have colorful interface also for addressbooks (hex notation) ... you can set the hex color also in the interface - hold the shift button and click to the collection color (it will show not only the color picker but also the hex value)

Is this a complete list?