hi all,

just a quick note to let you know that i've merged the listen digest-delivery branch back to the trunk... that branch will be going away shortly.

there is, alas, no UI for the digest stuff yet, but the functionality is all in place. here's a brief overview:

- in addition to the IMembershipList and IWriteMembership list interfaces for managing subscribers and allowed senders, we now have IMembershipDigestList and IWriteMembershipDigestList interfaces (which subclass the earlier ones) which add a distinction btn digest subscribers and non-digest subscribers. digest subscribers do not receive messages right when they come in, but instead receive the digest when the mailing list's send_digest method is called (see below).

- someone must already be a subscriber before they can become a digest subscriber. the provided IWriteMembershipDigestList adapter exposes make_digest_subscriber and unmake_digest_subscriber methods to toggle subscribers in and out of digest mode.

- there is now an IDigestMailingList interface that subclasses IMailingList, adding the send_digest method. the default mailing list implementation now provides this interface. when a message comes in, if there are any digest subscribers, then they will not receive the message immediately; instead, a copy of the message is popped into the list's digest storage (stored as an annotation on the mailing list object).

when the send_digest method is triggered, the messages are pulled out of digest storage, a digest message is constructed, and it's sent out to all of the digest subscribers. the send_digest method will not be triggered automatically, it's up to the site admin to set up a job to do this.

this is all fairly rudimentary... there's no way to specify the digest interval, the digest just accumulates until send_digest is called, at which point it's cleared. if you switch to digest subscription mid-cycle, then you'll get some messages twice (once individually and then again as part of the first digest you receive). similarly, if you switch OUT of digest mode mid-cycle, you may miss some messages.

the code's in pretty good shape, however. we've been using it in production for the last month or so on the livablestreets.com site, and people have been fairly happy with it. hopefully you will be too.

-r


--
Archive: 
http://www.openplans.org/projects/listen/lists/listen-dev/archive/2009/01/1231382280430
To unsubscribe send an email with subject "unsubscribe" to 
[email protected].  Please contact [email protected] 
for questions.

Reply via email to