GNOME Bugzilla – Bug 601202
Evo will delete your addressbook on the server with no warning
Last modified: 2009-11-27 08:40:53 UTC
I've been having lots of problems getting evolution-mapi working, so I've been adding and deleting MAPI accounts. I got the system into a state where the MAPI account had been deleted, but I could still see the MAPI Calendar and Addressbook entries ("Contacts" in the addressbook). I right-clicked on that and selected "delete" to get rid of it, and now my entire addressbook ON THE EXCHANGE SERVER has been deleted. This is not, IMO, what one expects (I expected it to just delete the entry for that addressbook in the local Evo instance, not on the server--there should be a separate operation, much harder to use, for deleting things on the server), but even if you feel that this is the correct behavior for that operation, there's no way Evo should be deleting an entire addressbook without at least warning the user as to what's happening ("This operation will delete the addressbook "Contacts" and all its contents on the Exchange server; to recover it you will need to reload it from your Exchange server backup" or whatever) and ask if they really want to proceed. The older OWA backend for Evolution could never really adversely impact your account on the Exchange server, which made me very comfortable using it. I really liked it that way. So far, in a matter of two days, the evolution-mapi backend has completely deleted the contents of my inbox and now completely deleted my local contacts addressbook on the Exchange server. In neither case did it warn me about the consequences of what it was going to do, nor ask me whether I wanted to do it. If the MAPI backend is going to provide so much control and power over the Exchange accounts then it HAS to provide more safety as well.
looks like i can even delete task and notes also without any warning :-(
Created attachment 147533 [details] [review] Evolution patch Add the delete flag for standard folders to use to disable delete option in the popup. Added it to Address book, Tasks and Memos
Created attachment 147534 [details] [review] Evolution MAPI Set the esource property for the standard address book and for GAL to disable deletion.
For the changes to reflect, the esources would need to be refreshed. Disabling and enabling the MAPI accounts should fix this for configured accounts.
How about making rename also disable ? If user renames (task/memo/GAL) then also it will be set back to original on disabling and enabling the account.
With patches applied, i see a minor issue, when i select contacts or gal, i see menu > edit > delete address book option is enabled. So still i can delete contacts address book. It will be good handle that case also. Nice work, Bharath.
may be rename case, we can handle separately as that's not a blocker, bug 601644
Created attachment 147624 [details] [review] Evolution patch This should fix the Edit Menu option too
The first patch looks ok, just consider some migration code for 0.30 which will set the same on already created ESource-s without the enable/disable clicking request. Please commit. The second patch looks good to, just use 'gchar' instead of 'char' and provide some similar for a master source tree too. Thanks.
Comment on attachment 147534 [details] [review] Evolution MAPI Committed to master http://bit.ly/8hhL0R Committed to gnome-2-28 branch http://bit.ly/5Cj5ot
Comment on attachment 147624 [details] [review] Evolution patch Committed to gnome-2-28 http://bit.ly/6LXR45 Interesting, it is fixed in master :-)
With the mapi side fix, this issue should be fixed in master as well. Closing the report.