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 617168 - WebDAV Addressbook backend should use ctags
WebDAV Addressbook backend should use ctags
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Contacts
unspecified
Other All
: Normal normal
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-04-29 13:02 UTC by awilliam
Modified: 2010-05-07 16:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (7.53 KB, patch)
2010-05-07 16:27 UTC, Milan Crha
committed Details | Review

Description awilliam 2010-04-29 13:02:10 UTC
Rather than issuing a PROPFIND for every time the folder is accessed the backend should just do a depth 0 PROPFIND for getctag;  if that tag is not available or the value has changed perform the PROPFIND otherwise the contents of the collection have not changed.

awilliam@linux-yu4c:~> curl -H 'Depth: 0' -d '<?xml version="1.0" encoding="utf-8"?><propfind xmlns="DAV:"><prop><getctag/></prop></propfind>' -X PROPFIND -u adam:fred123 http://localhost:8080/dav/Contacts/

<?xml version="1.0" encoding="utf-8"?><D:multistatus xmlns:D="DAV:"><D:response><D:href>/dav/Contacts</D:href><D:propstat><D:status>HTTP/1.1 200 OK</D:status><D:prop><D:getctag>8012</D:getctag></D:prop></D:propstat></D:response></D:multistatus>awilliam@linux-yu4c:~>

Many GroupDAV servers support getctag including OpenGroupware, Apple's calendar server, and Google.  Clients including Lightning/Mozilla include support as well.

This provides much greater efficiency between the client and the server as generating the getctag response is much less expensive than the PROPFIND depth 1 response of a large collection.

The getctag value changes if any element in the collection has changed.
Comment 1 Milan Crha 2010-05-07 16:27:09 UTC
Created attachment 160523 [details] [review]
eds patch

for evolution-data-server;

This should make it. I do not have a server which supports this kind of stuff configured, thus if you could give it a try and report if something will not work, then it'll be great. I'm committing this meanwhile. Thanks.
Comment 2 Milan Crha 2010-05-07 16:28:43 UTC
Created commit 2521ff1 in eds master (2.31.2+)