libebook currently has a set of predefined status codes which can be
returned as a result to an operation
(GNOME_Evolution_Addressbook_Success,
GNOME_Evolution_Addressbook_RepositoryOffline, ...). This is fine to
report most common problems. However at least in my ebook-webdav backend
there are several situations which don't really match one of the
predefined error codes. For example:

- Another user has modified a contact while we were editing it:
Uploading is not allowed anymore to not accidentally overwrite the
changes.
- The server is misconfigured and returns a bad mime-type after
uploading a contact
- The server reports access denied with a detailed error message
(Example: "This server is down for maintenance and will be back online
tomorrow. For emergencies call XXXXX")

For the first 2 I can only report an "Other" error which will result in
a completely useless error message for the user: "Error adding contact:
Other error..." In the last I case the more detailed error message would
be valuable additional info for the user.

I think it would be a good idea to have an additional API to report more
details along the error messages. Do you agree with this? It's probably
not optimal as you don't want translatable strings in evolution and
can't even translate the messages returned by the server. I still think
this would be way better than "Other Error".

Greetings,
        Matthias Braun

_______________________________________________
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers

Reply via email to