> On 08 Feb 2016, at 11:59, Timo Sirainen <tss at iki.fi> wrote: > > On 08 Feb 2016, at 11:01, Nagy, Attila <bra at fsn.hu> wrote: >> >> Hi, >> >> Nearly every popular programming language has an LMTP/POP/IMAP implementation, most of them suck in many different ways. >> I don't know any server or library which provides a well-established, compatible protocol frontend with an open backend API, which could be used to easily make a custom storage backend for the LMTP/POP/IMAP frontend in any language, in any programming paradigm, irregardless of the frontend implementation. >> >> Dovecot is very close to this: it speaks IMAP to the backend, but you still have to make a nearly complete IMAP implementation, which is a PITA. >> >> Therefore I am curious about your opinion: what about an HTTP-based open backend (lib-storage) API to Dovecot? > > We're planning on implementing http://jmap.io/ to Dovecot v2.3. It's close enough to how Dovecot works internally (although we'd still need the threading support) and also at least attempting to become a standard. We haven't really started it yet though, so now would be a good time to give any alternative suggestions or complaints about jmap :)Oh, you were thinking about ability to provide IMAP/etc support for other random servers, and have Dovecot act as kind of a middleware and translate the requests. Maybe the answer is still jmap though? It would require jmap lib-storage backend similar to imapc, which would be doable, although not really something we're right now planning to implement.
On 02/08/16 11:16, Timo Sirainen wrote:>> On 08 Feb 2016, at 11:59, Timo Sirainen <tss at iki.fi> wrote: >> >> On 08 Feb 2016, at 11:01, Nagy, Attila <bra at fsn.hu> wrote: >>> Hi, >>> >>> Nearly every popular programming language has an LMTP/POP/IMAP implementation, most of them suck in many different ways. >>> I don't know any server or library which provides a well-established, compatible protocol frontend with an open backend API, which could be used to easily make a custom storage backend for the LMTP/POP/IMAP frontend in any language, in any programming paradigm, irregardless of the frontend implementation. >>> >>> Dovecot is very close to this: it speaks IMAP to the backend, but you still have to make a nearly complete IMAP implementation, which is a PITA. >>> >>> Therefore I am curious about your opinion: what about an HTTP-based open backend (lib-storage) API to Dovecot? >> We're planning on implementing http://jmap.io/ to Dovecot v2.3. It's close enough to how Dovecot works internally (although we'd still need the threading support) and also at least attempting to become a standard. We haven't really started it yet though, so now would be a good time to give any alternative suggestions or complaints about jmap :) > Oh, you were thinking about ability to provide IMAP/etc support for other random servers, and have Dovecot act as kind of a middleware and translate the requests. Maybe the answer is still jmap though? It would require jmap lib-storage backend similar to imapc, which would be doable, although not really something we're right now planning to implement. >Yeah, the opposite, in this case a jmap backend to Dovecot. BTW, I think jmap is too high level and implementing a jmap server is very much like implementing an IMAP one. I much more think of a pluggable, easy (remote) storage API, which has much less to do with IMAP, but can offer capabilities, which can help Dovecot (like the search and indexes).
On 08 Feb 2016, at 12:56, Nagy, Attila <bra at fsn.hu> wrote:> > On 02/08/16 11:16, Timo Sirainen wrote: >> Oh, you were thinking about ability to provide IMAP/etc support for other random servers, and have Dovecot act as kind of a middleware and translate the requests. Maybe the answer is still jmap though? It would require jmap lib-storage backend similar to imapc, which would be doable, although not really something we're right now planning to implement. >> > Yeah, the opposite, in this case a jmap backend to Dovecot. > BTW, I think jmap is too high level and implementing a jmap server is very much like implementing an IMAP one. > > I much more think of a pluggable, easy (remote) storage API, which has much less to do with IMAP, but can offer capabilities, which can help Dovecot (like the search and indexes).What kind of use cases are you thinking for this remote storage API? What kind of remote storages would implement it, and what kind of installations would use them?