Move the backend to EDS

Registered by Danielle Foré

TL;DR, it gives us online accounts and exchange support and allows us to drop a ton of security-related code. We can focus on making the client great.

Blueprint information

Status:
Started
Approver:
None
Priority:
Undefined
Drafter:
Danielle Foré
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
Accepted for trunk
Implementation:
Slow progress
Milestone target:
milestone icon juno-beta1
Started by
Zisu Andrei

Whiteboard

The current POC resides at: https://github.com/matzipan/eds-sample

Some Camel documentation: https://wiki.gnome.org/Apps/Evolution/Camel
Camel library reference: https://developer.gnome.org/camel/stable/
Some EDS documentation and reference: https://developer.gnome.org/eds/3.20/
Even though this would mostly apply to Camel developers, it's still good info:
* http://www.imapwiki.org/ClientImplementation
* http://dovecot.org/client-commandments.txt
* http://dovecot.org/imap-client-coding-howto.html

(?)

Work Items

Work items:
[tintou] Finish up on the EDS GIR work: INPROGRESS
[matzipan] Write a POC mail reading app: INPROGRESS
Workout what's necessary for Online/Offline switching : TODO
UI for FolderItem and IdentityItem management (add, rename, delete) : TODO
Hookup the Gtk-based ConversationView to view mails : TODO
View/download attachments : TODO
UI for mail searching : TODO
Make the UI react to change events from server (folders deleted, emails deleted, emails recieved) : TODO
Write POC for mail sending: TODO
Make attachments sending work: TODO
Make EDS work with POA : TODO
Integrate POC in pantheon-mail: TODO

This blueprint contains Public information 
Everyone can see this information.