After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 788370 - Rename address book WebDAV backend to CardDAV
Rename address book WebDAV backend to CardDAV
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: general
3.29.x
Other All
: Normal enhancement
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2017-09-30 11:38 UTC by Дилян Палаузов
Modified: 2018-10-08 08:49 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Дилян Палаузов 2017-09-30 11:38:07 UTC
Rename src/addressbook/backends/webdav to src/addressbook/backends/carddav to make it consistent with src/calendar/backends/caldav (which is not called webdav)
Comment 1 Milan Crha 2017-10-02 07:26:26 UTC
Thanks for a bug report. Such change won't change anything but the source code, (partly) loosing history of the files changes and nothing really interesting. And CalDAV is not CardDAV, thus there is no consistency in the naming. There might be done more than source directory changes to make it "consistent", like the factory name being changed from "webdav" to "carddav", which has consequences which can easily break the clients, not talking about required migration.

All those possible issues do not leverage folder name in the source tree.
Comment 2 Дилян Палаузов 2017-10-02 15:39:25 UTC
CalDav is not CardDav, but "src/addressbook/backends/webdav" is consistent to "src/calendar/backends/webdav", while "src/addressbook/backends/carddav" is consistent to "src/calendar/backends/caldav".

The directory structure confirms what is stated at https://en.wikipedia.org/wiki/Comparison_of_CalDAV_and_CardDAV_implementations : Evolution supports CalDav, but does not know anything about RFC 6252.
Comment 3 Milan Crha 2017-10-02 17:12:27 UTC
(In reply to Дилян Палаузов from comment #2)
> The directory structure confirms what is stated at
> https://en.wikipedia.org/wiki/
> Comparison_of_CalDAV_and_CardDAV_implementations : Evolution supports
> CalDav, but does not know anything about RFC 6252.

Wiki pages get out of date very easily. I do not know when the wikipedia got updated with respect of Evolution, but it's false. Note the referenced Evolution page in that wikipedia [18] currently mentions 2.24. We are way beyond that version.

The evolution-data-server does use RFC 6352 (there is a little typo in your RFC number). It had been extended for 3.26.0+, like added tests whether the target collection actually is of type "addressbook", but event earlier versions of the "webdav" address books could properly talk to ownCloud and many other CardDAV servers without any issue (or I'm not aware of any, at least). The current backend still doesn't use all the extensions offered by the CardDAV extension, it uses only a little subset of it.

It's true that the old WebDAV address book backend had been lightweight, it evolved during the time, which is for good, I believe. Still, I do not think changing the directory name and what so ever in the source tree makes any difference for the wiki pages or anything like that. More important thing is how it works, that what directory name it is stored in (I prefer to have clean source tree structure, but here is also involved history, as mentioned in my previous comment).

[18] https://wiki.gnome.org/Apps/Evolution/Contacts_on_WebDAV
Comment 4 Дилян Палаузов 2018-06-30 21:50:29 UTC
The discussion so far was about naming source files, invisible to mortals.  This comment is about what users see:

In Edit > Accounts > Task lists, Calendars and Memo Lists are shown with type "caldav", while Address Books are shown with type "webdav".

Choosing Add > Address Book offers as options one of the types "On this computer", "CardDAV", "Goolge" and "On LDAP servers".

Add > Collection accounts shows (if found) 
Description "Collection > CalDAV server" of type "caldav", and
Description "Collection > CardDAV server" of type "carddav".

Evolution shall be consistent about the addressbook types shown to the users and shall 
* either show during the setup (as it is now) carddav and later as type also "carddav" (currently it shows "webdav"), or 
* keep displaying in the accounts type "webdav" but switch during setup to type "webdav" instead of the currently used term "carddav".

Why am I not supposed to reopen the ticket but keep the discussion here?
Comment 5 Milan Crha 2018-07-17 12:31:39 UTC
Okay, I changed my mind, though it meant quite some changes around the code.

Created commit 73db49a61 in eds master (3.29.90+)
Created commit_e4c07086b in evo master (3.29.90+) [1]

[1] https://gitlab.gnome.org/GNOME/evolution/commit/e4c07086b4
Comment 6 Дилян Палаузов 2018-10-07 11:24:49 UTC
The more I understand, the crazier I get.

RFC6352 says: if OPTIONS returns DAV: addressbook, then the server understands xmlns:C="urn:ietf:params:xml:ns:carddav" <C:addressbook/> on MKCOL and C:addressbook-query Report, which Evolution utilizes.

https://wiki.gnome.org/Apps/Evolution/Contacts_on_WebDAV says Evolution can store vCards over WebDAV, even when the collection does not support CardDAV (no REPORT CARDDAV:addressbook-query).

Does this mean, that if the collection offers DAV:addressbook Evolution uses it, otherwise not and in both cases WebDAV is used?
Comment 7 Milan Crha 2018-10-08 08:19:39 UTC
What does that have to do with source file rename, please?

The wiki page you reference states at the bottom, as of now:
> Apps/Evolution/Contacts_on_WebDAV (last edited 2013-08-08 22:50:05 by WilliamJonMcCann)
We are more than 5 years later. Does that help with your confusion?

From https://tools.ietf.org/html/rfc6352#section-6.1 :

   6.1.  Address Book Support

      A server supporting the features described in this document MUST
      include "addressbook" as a field in the DAV response header from an
      OPTIONS request on any resource that supports any address book
      properties, reports, or methods.  A value of "addressbook" in the DAV
      response header MUST indicate that the server supports all MUST level
      requirements and REQUIRED features specified in this document.

That is used by evolution-data-server to distinguish whether the collection is an addressbook collection or not.

I really do not understand yours (at the very end): "... and in both cases WebDAV is used?" You know that CardDAV is an extension of WebDAV, do you not? An extension.
Comment 8 Дилян Палаузов 2018-10-08 08:31:33 UTC
The question is in fact whether the reference to that ”addressbooks over WebDAV“ page can be removed from https://en.m.wikipedia.org/wiki/Comparison_of_CalDAV_and_CardDAV_implementations -> Clients -> Evolution -> CalDAV .  This ticket started becsuse of that webpage.
Comment 9 Milan Crha 2018-10-08 08:49:33 UTC
That wikipedia page is not under control of the evolution team.