Forum OpenACS Development: acs-mail, acs-messaging et al.
I have some thoughts and questions I would like to bring forward as
well as some ideas on where to go. I really don't think a straight
port is the thing to do so here goes:
- Do we really have to derive a mail package from acs-object?
- acs-messaging could be left as is and just stripped of its mail handling parts. I am not sure in practice that using content repository is needed, but to get rid of that is a complete rewrite and remodel.
- I am really worried (again) about scalability. I am not sure how how optimized Content Repository is and even so that goes through acs- object at some point. Think lots of querys.
- acs-mail, if it is not going to use acs-object, could be a lot lighter weight if the query was done in tcl instead of pl/sql, but I don't really have a preference. I am thinking more of portability here.
acs-notifications can be stubbed out in acs-mail and the aggregation added at a later date.
In short, make acs-mail a mail only package, eliminate acs- notifications and move its public interface into acs-mail, and delete any mail related code from acs-messaging and leave it as a seperate package. A side effect of this is that a package like bboard will need to call acs-mail on its own if it needs/wants to send mail. I think this is cleaner in any case.
In fact, with aDACS 4 design, it went beyond impractical. aDACS 4 modules were never designed as a whole system. So that in the aDACS 4 Tcl kernel parameters, we have the strings for system administrator email addresses, etc., and no standard/official/approved/designed way to associate *the system administrator* with an actual user_id (http://www.arsdigita.com/bboard/q-and-a-fetch-msg?msg%5fid=000XpY), and then the notifications package stumbled along requiring user_ids for message recipients:
Say I want my ad_tripwire module to use the ACS Notifications system to notify the web admin that he just got hacked and gave up all his credit card records. ACS Notifications takes a userid, not an email address. How do we get the Admin's email address or his userid?Oh man, Jon, I hope you will clarify this.