Forum OpenACS Improvement Proposals (TIPs): TIP#127 (Approved) optional object_id parameter to acs_mail_lite::send

Request notifications

We are using mail tracking to keep track of when someone was sent an email. We'd like to associate the email with an object_id so we can determine if a particular message regarding that object was sent to a particular user.

The use case, in assessment we want to email users their score after they have completed an assessment. This is done by an administrator regularly. To keep track of who has already received the email we pass in the object_id to acs_mail_lite::send which is propagated to the send callback which triggers mail tracking.

This is pretty simple and doesn't change the behavior of existng code if the object_id is unspecified.

Well, and you might want to add that this is part of complex_send already and works perfectly fine, but was just forgotten when the code from complex send was salvaged to enhance ::send. So in your application you might just replace ::send with ::complex_send and off you go.

You would have to apply the patch which I posted in the bug tracker though.. It makes complex send just a wrapper for ::send, providing additional capabilities (like passing in folders and group_ids) but use ::send for the actual sending.

Approve (daveb's TIP, complex send is not supported by us)
I approve Dave's initial proposal.
May i make the suggestion that, if complex send is not supported by the OCT and it resides in a core package and noone else but me has taken an interest in it, therefore noone will patch the buggy version with the patch provided in the bug-tracker, that you quietly remove complex-send altogether as it is broken code which will not be fixed.
Note: object_id was already in the datamodel, so in this case adding the parameters to the procedures just let's us actually use that column.
tip approved
good suggestion to reduce confusion. At least, it should be marked in the code as deprecated.
As agreed, complex-send stuff has been removed and won't go into 5.5