Calling DAV:principal-property-search REPORT towards URLs from DAV:principal-collection-set
To find the principal-URLs of the attendees during meeting scheduling, Evolution calls REPORT principal-property-search with <apply-to-principal-collection-set/>
parameter towards the Calendar URL.
RFC 3744 says that whenever the <apply-to-principal-collection-set/>
parameter is supplied, the actual request URL is ignored and the call acts as if it was performed towards all URLs mentioned in the DAV:principal-collection-set property.
Initially the DAV:principal-search-property-set REPORT was allowed to be called only toward some URLs: any collection identified in the value of a DAV:principal-collection-set property.
The errata to RFC 3744: https://greenbytes.de/tech/webdav/draft-reschke-rfc3744bis-latest.html adds the <apply-to-principal-collection-set/>
parameter to the DAV:principal-search-property-set report.
This raised the question, whether with the <apply-to-principal-collection-set/>
parameter DAV:principal-search-property-set can be called towards any URL (that is not contained in the DAV:principal-collection-set property), too; what shall DAV:principal-search-property-set return, if it has no <apply-to-principal-collection-set/>
parameter and is called towards URI, that is not in the DAV:principal-collection-set property. Then the same conclusions shall be applied apparently towards the principal-property-search REPORT.
A discussion on w3c-dist-auth@w3.org showed that nobody can answer these questions, as far as WebDAV is concerned. In particular the archives of the mailing list, where WebDAV-ACL-drafts were discussed, are gone.
The only other software I know about calling the DAV:principal-property-search report is Agendav, where it is called towards a base-url, set in the configuration file. AgenDAV is supposed to work nice with DAViCal. Thunderbird is also supposed somehow to fecth freebusy information over scheduling-inbox, but I cannot trigger it to do so.
In cyrus imap the calendars and the principals are in so called different namespaces: /dav/calendars and /dav/pricipals. The calendars namespace does not implement the DAV:principal-property-search report, the /dav/principals/user namespace implements it. Well, kind of, I have a patch adding the DAV:principal-search-property-set and principal-property-search reports towards the /dav/calendars namespace. But I do not know what these reports shall return in this namespace, they do not have the apply-to-principal-collection-set parameter. I do not know what other server do, and how the act.
It would be better, if EDS changes its reading of RFC 3744, as:
- both DAV:principal-search-property-set and DAV:principal-property-search reports can be applied only towards URLs from DAV:principal-collection-set
- when apply-to-principal-collection-set is supplied, the report acts as if it was called towards all hrefs in DAV:principal-collection-set at the same time/separately.
Ideally the DAV:principal-collection-set result shall be cached as never changing and not requested every time.