← Back to team overview

openerp-expert-framework team mailing list archive

Q: state of email infrastructure at trunk?

 

It was only yesterday that I managed to merge latest trunk, so I noticed the 
"mail_gateway" module that depends on "smtpclient", "fetchmail".

Q: where is powermail? What is the strategy behind email handling in OpenERP?
Is there some forum/blog/mail thread that I may have missed about that?

IMHO, mail handling should be considered an "infrastructure provision" for the 
ERP, not just a set of static modules that are forced to be there.

Excuse me if I come late into a discussion that has already been made.

The fact that "mail_gateway" is required by some essential modules, and that 
in turn, requires "fetchmail" and/or "smtpclient" gives me a few creeps. I 
consider it bad to force some client or server (= open ports) functionality in 
OpenERP, as a requirement for CRM etc. And that is only a matter of political 
correctness in the dependency graph (note that I do not absolutely object the 
technical side of that).

My counter proposal would be to have a "base_email" (or even the same 
"mail_gateway") module, that would offer *only* an abstraction of mail services 
to modules. If some fields have to be added to res.partner, res.company etc, 
we'd better add them directly in the "base" module, since the mailing 
functionality is bound to be there, at each OpenERP installation, anyway.
The abstraction module should offer services[1] like "send_email(...)" and 
"register_email_handler(...)". The first function should issue a warning if 
called w/o proper implementation.
As an extension, the base_email API could also offer GUI elements (such as sub-
forms etc.) for email handling, eg. "list of emails", "email form" and so on.
Then, old or the powermail modules could kick in and implement email handling.
In the future, somebody could even write an alternate implementation, w/o need 
to affect any other modules (hopefully).




[1] excuse me, again, if that's what powermail or mail_gateway already do.