Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • evolution evolution
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 279
    • Issues 279
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOME
  • evolutionevolution
  • Issues
  • #102

Closed
Open
Created Aug 28, 2018 by Дилян Палаузов@dilyan.palauzovContributor

WebDAV -- utilize REPORT DAV:principal-property-search

CalDAV and CardDAV show the calendars owned by the user by referencing them over the calendar-home-set and addressbook-home-set. WebDAV collections belonging to other users cannot be obtained using the home-sets, neither can shared collections, not beloning in practice to any user.

For finding more CalDAV/CardDAV collections, the specification of the latter offers the DAV:principal-property-search REPORT. E.g. on my system

curl -XREPORT -D- -H"Depth: 0" -u me:pw -H"Content-Type: application/xml" --data '<?xml version="1.0" encoding="UTF-8" ?>
  <D:principal-property-search xmlns:D="DAV:">
    <D:property-search>
      <D:prop><D:displayname/></D:prop>
      <D:match>sandra</D:match>
    </D:property-search>
    <D:prop><C:addressbook-home-set xmlns:C="urn:ietf:params:xml:ns:carddav"/><D:displayname/></D:prop>
  </D:principal-property-search>' https://server/dav/principals/

returns

HTTP/2 207
Date: Mon, 27 Aug 2018 20:51:16 GMT
Content-Type: application/xml; charset=utf-8
Vary: Accept-Encoding, Brief, Prefer

<?xml version="1.0" encoding="utf-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:carddav">
  <D:response>
    <D:href>/dav/principals/user/sandra/</D:href>
    <D:propstat>
      <D:prop>
        <C:addressbook-home-set><D:href>/dav/addressbooks/user/sandra/</D:href></C:addressbook-home-set>
        <D:displayname>sandra</D:displayname>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
</D:multistatus>

and using <D:match>s</D:match> returns even more data.

The application is that users can find this way shared collections without owner, of interest for all users, and also collections of other persons, that decided to share a collection (e.g. one of their calendars).

  • Teach Evolution for already configured WebDAV-collection accounts to discover using DAV:principal-property-search more collections, and make the latter part of the collection account.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking