Figure what accounts entail exactly and how various services fit into that picture
Closed, ResolvedPublic5 Story Points

Description

An account, from a user perspective, represents an account in one or the other service e.g. my kolabnow or google account. This typically entails at least a few different protocols e.g. imap, ldap and smtp and may hold various other information related to the account, such as identities or crypto information.

While this is bundled for the user as a single "thing". Code wise a variety of things are involved. So the question is pretty much "what goes where".
Sink is the abstraction layer that we use for remote storage, we configure imap access through it an access the data from the imap server via Sink.
It is not clear whether it would also be useful to use Sink as abstraction layer for other generalized mechanisms, such as mailtransport (smtp).

On one hand the API for sending mails could be rather different, on the other hand we need similar interfaces to i.e. see pending messages.

Simliar considerations can be made for things like ldap and probably many more.

Details

Ticket Type
Task
mollekopf created this task.Mar 8 2016, 9:44 AM
mollekopf moved this task from Backlog to Doing on the Sprint 201610 board.Mar 8 2016, 1:40 PM
mollekopf edited a custom field.

LDAP Should be in Sink because:

  • Access is backend specific
  • It provides contacts in addressbooks (just like a regular addressbooks), so we should have one query API.
  • The configuration for ldap belongs to the same service.

SMTP should be in Sink because:

  • Access is backend specific
  • smtp might be replaced with another mailtransport protocol (and the client shouldn't care). E.g. JMAP has a mechanism to send mail
  • the sent mail folder is with the resource as well
  • mailtransport may move to the server
  • The outbox needs to be persistent, and browsable similarly to a folder

Of course accounts can be of various granularity:

  • there might be vanilla smtp or ldap accounts, that provide nothing else and require full configuration
  • there might be a kolab account that comes with imap, smtp, ldap
  • there might be a generic imap account that comes with imap and smtp.
  • there might be a jmap account that provides everything but communications only over jmap
mollekopf closed this task as Resolved.Mar 3 2017, 2:23 PM
mollekopf claimed this task.