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.