[ http://issues.apache.org/jira/browse/OFBIZ-435?page=all ]
Si Chen reassigned OFBIZ-435:
-----------------------------
Assignee: Si Chen
> Re-factor and improve email sending to contact lists
> ----------------------------------------------------
>
> Key: OFBIZ-435
> URL: http://issues.apache.org/jira/browse/OFBIZ-435
> Project: OFBiz (The Open for Business Project)
> Issue Type: Improvement
> Components: marketing
> Reporter: Si Chen
> Assigned To: Si Chen
>
> Re-factor sending of email to contact lists in the following way:
> 1. A separate service will be used to send comm event when there is a
> contactListId on the commevent and the commevent type is "Email".
> 2. The new sendEmailToContactList will not use a global transaction but
> rather will use a separate transaction for each address on the contact list.
> If there is a service error from any particular sendMail, it will skip that
> email and move on.
> 3. UtilValidate.isEmail will be re-factored into two methods, isEmail(String
> email) which just calls isEmail(email, false) and isEmail(String email,
> boolean requireDot) which is the current isEmail code, except that the block
> for checking "." will be turned on if requireDot is true. where requireDot
> will force
> 4. Each email will be cleaned up with a .trim() first and then validated
> using UtilValidate.isEmail(infoString, ".")
> 5. A new entity ContactListCommStatus will be created with keys
> contactListId, commEventId, contactMechId, processedTimestamp to record when
> an email has been sent to a contactMechId. Before any email is sent, we will
> check if there is a not null processedTimestamp for this email address
> (contactMechId) for the commEventId and contactListId. If so, then it will
> no longer be sent. After an email is sent, a record (by direct
> delegator.create to speed things up) will be created in
> ContactListCommStatus. This will make contact lists "transactional" in the
> sense that it can recover in the middle of a list.
> 6. A new field ContactList.logSentCommEvents (indicator) will be created.
> If it is set to "N", then communicationEventId will be passed into the
> sendMail service so that the storeCommEventAsEmail service will not be
> triggered. This will prevent mass marketing emails from being stored for all
> recipients and clogging up the database, while still allowing important
> emails (recall notifications, etc.) to be stored.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira