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 544051 - contacts on webdav plugin
contacts on webdav plugin
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Contacts
2.24.x (obsolete)
Other All
: Normal enhancement
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
: 336224 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-07-21 19:51 UTC by MatzeB
Modified: 2009-12-29 07:26 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
addressbook on webdav (40.69 KB, patch)
2008-07-21 19:53 UTC, MatzeB
none Details | Review
evolution GUI plugin for webdav addressbooks (13.62 KB, patch)
2008-07-22 23:03 UTC, MatzeB
none Details | Review
evolution GUI plugin for webdav addressbooks (12.98 KB, patch)
2008-07-22 23:08 UTC, MatzeB
none Details | Review
addressbook on webdav (40.84 KB, patch)
2008-07-27 20:33 UTC, MatzeB
accepted-commit_now Details | Review
evolution GUI plugin for webdav addressbooks (13.26 KB, patch)
2008-07-27 20:36 UTC, MatzeB
committed Details | Review
Gdb traces of evolution process (78.85 KB, text/plain)
2008-07-29 09:23 UTC, Akhil Laddha
  Details
Gdb traces of evolution process (18.00 KB, text/plain)
2008-07-29 09:27 UTC, Akhil Laddha
  Details
addressbook on webdav (42.39 KB, patch)
2008-08-03 18:22 UTC, MatzeB
committed Details | Review

Description MatzeB 2008-07-21 19:51:52 UTC
Attached is a new ebook backend which stores contacts in a webdav store.

Features:
* Supports all ebook operations with all fields (we simply store the complete vcard files on the server)
* Caches vcards locally (based on ETags)
* Can detect synchronisation conflicts with If-Match If-None-Match http headers. Unfortunately apache < 2.2.8 does not support them properly so there's a switch to force them off.
* This is also a good base for implementing carddav (though I personally don't understand why we need carddav anyway when it works nice with webdav)

Issues:
* No GUI for setting up new addressbooks yet
* It would be nice to have a better way to report errors to the user. For example if someone else has changed the contact on the server. We can only give a general "Other Error" type message.
Comment 1 MatzeB 2008-07-21 19:53:07 UTC
Created attachment 114946 [details] [review]
addressbook on webdav
Comment 2 Ross Burton 2008-07-21 20:56:52 UTC
Oh this is so cool, thanks.  I believe CardDav has useful extensions like decent searching, but I've not looked.

I've had a very quick look at the source and it seems reasonable.  Srini, would it be reasonable to commit this as soon as possible?  Even if Evolution doesn't have a UI for it, other clients can use it.
Comment 3 Srinivasa Ragavan 2008-07-22 04:14:42 UTC
Ross, IIUC Matzeb has a cooked a UI already for Evolution plugins. I want to take it for 2.23.6 due Aug 1st week. Thanks.
Comment 4 MatzeB 2008-07-22 23:03:48 UTC
Created attachment 115057 [details] [review]
evolution GUI plugin for webdav addressbooks

This a first attempt at a GUI for adding webdav addressbook sources. So far it works, though there's room for usability improvements:

* Showing webdav:// as protocol is confusing - as we really use http:// or https://
* We should detect if someone encodes the username in the URL (http://myname@server/), extract the username and fill in the username field
* Depending on wether Use SSL is selected rewrite URL to start with http:// or https://
* That IfMatch checkbox is confusing (though I fear that lots of apaches out there have a version < 2.2.8, so lots of users will need that option)
* When removing addressbooks evolution tells me that "This address book will be removed permanently." which isn't really true: It's not removing the addressbook on the server but just the reference to it.

Anyway lots of the other plugins have similar problems, so I guess this is ready for a release.
Comment 5 MatzeB 2008-07-22 23:08:34 UTC
Created attachment 115058 [details] [review]
evolution GUI plugin for webdav addressbooks

some source cleanups
Comment 6 Srinivasa Ragavan 2008-07-26 10:37:45 UTC
Akhil, can you do a test run on it?  I want it to be in prolly this week intime for the next release.
Comment 7 MatzeB 2008-07-27 20:33:39 UTC
Created attachment 115386 [details] [review]
addressbook on webdav

Improved version of backend:
- do the right thing when server returns weak ETags correctly
- removed debug printfs
Comment 8 MatzeB 2008-07-27 20:36:12 UTC
Created attachment 115387 [details] [review]
evolution GUI plugin for webdav addressbooks

Improved version of GUI plugin:
- Enter complete URLs with http:// and https:// consequently remove use_ssl switch and determine that from the URL
- add auth and user entries, so the password boxes tell you the correct username/server
Comment 9 MatzeB 2008-07-27 20:38:59 UTC
I did some more intensive testing/source code auditing and found the following unresolved points:

- backend goes into endless loop if the submitted password is wrong (this is critical... maybe someone with deeper evolution password manager knowledge can tell me why this is happening)
- It seems like you have to do some special setup to support proxy servers. Unforunately I don't have a proxy server for testing here at the moment.
Comment 10 Akhil Laddha 2008-07-29 09:22:16 UTC
MatzeB, i applied you patches on trunk, i was able to build without any error. I tried to set up local webdev but didn't succeed. I tried this url http://test.webdav.org/ but it didn't work for me. If you are aware of any server where i can try your patch, please let me know. I got two crashes when i was trying to add random address book. Please find them below.
Comment 11 Akhil Laddha 2008-07-29 09:23:39 UTC
Created attachment 115480 [details]
Gdb traces of evolution process

Evolution crashed when i tried to view property of address book
Comment 12 Akhil Laddha 2008-07-29 09:27:15 UTC
Created attachment 115481 [details]
Gdb traces of evolution process

Evolution crashed when tried to add a new address book.
Comment 13 Srinivasa Ragavan 2008-07-31 11:29:53 UTC
I think its important we commit it for 2.23.6. Basic thing works, we can fix the rest after 2.23.6.

string/ui needs to be announced.
Comment 14 MatzeB 2008-08-03 18:21:33 UTC
Some comments to Akhil Laddhas issues:

- test.webdav.org doesn't seem to be working correctly (I couldn't connect with any webdav software I have here, it always tells me the directory does not exist)
- You probably additonally hit the wrong password results in endless-loop problems  which I described above. In this case evolution-data-server will just hang forever and you probably hit other evolution bugs when the data-server hangs.
Comment 15 MatzeB 2008-08-03 18:22:38 UTC
Created attachment 115784 [details] [review]
addressbook on webdav

- fixed password handling. You should never get endless loops if the password is wrong.
Comment 16 MatzeB 2008-08-03 18:30:30 UTC
Another note: I tested some more test-servers on the net out there. It turns out that some of them (I tried www.testrumpus.com) do not remember the mime-type, although vcards got uploaded with text/x-vcard, the server later always reported them as application/binary so the plugin did not pick them up... I guess at some point we should create a quirks mode which ignores Content-Type and just looks at .vcf suffix.
Comment 17 Srinivasa Ragavan 2008-08-04 03:26:25 UTC
Push it for 2.23.6, feature freeze. Lets fix more bugs after the release. Thx Matzeb.
Comment 18 Suman Manjunath 2008-08-04 04:32:32 UTC
Patch in e-d-s committed to SVN trunk as r9254
http://svn.gnome.org/viewvc/evolution-data-server?view=revision&revision=9254

Patch in evolution committed to SVN trunk as r35902
http://svn.gnome.org/viewvc/evolution?view=revision&revision=35902

String additions (if any) need to be announced to gnome-doc-list and gnome-i18n. 
Comment 19 Suman Manjunath 2008-08-04 06:35:46 UTC
Announced. 
http://mail.gnome.org/archives/gnome-doc-list/2008-August/msg00009.html
Comment 20 Per Thomas Jahr 2008-11-30 19:25:03 UTC
*** Bug 336224 has been marked as a duplicate of this bug. ***
Comment 21 xavier.bestel 2009-11-07 20:13:17 UTC
Maybe this bug should be closed.