- Author
- Contact
Bill Bushey <wbushey@gmail.com>
- Date
2015-04-27
- Organization
- Copyright
This document is licensed under a Creative Commons Attribution-Share Alike 3.0 New Zealand License by OnlineGroups.Net.
The gs.group.messages.topic.digest.base
product provides the core infrastructure for creating and sending topic digests in a GroupServer group. The notifier constructs the digests and places them in an email message. The messages are normally constructed from various digest viewlets. This process is coordinated by the Digest groups page and the Send digest page
The Digest groups form, gs-group-messages-topic-digest-groups.html
in the site context, returns a list of groups that can possibly receive a digest as a JSON object. It uses gs.auth.token
1 for authentication.
The list is calculated by looking up the groups that have a member on digest mode (they have a digest
entry in the setting
column of the the email_setting
table). The returned JSON object is a list of site-identifiers and group-identifiers that can be used with the send digest page.
A site wide form is available at gs-group-messages-topic-digest-send.html
to initiate the sending of a topics digest to a group. It uses gs.auth.token
2 for authentication.
The form creates notifier for the group on the site, and calls notify()
.
The notifier for a group creates some multiadaptors to create the messages3. It adapts the group and request to an object that conforms to the gs.group.messages.topic.digest.base.interfaces.ITopicsDigestNotifier
. The adaptors are sorted by their weight
, and the first one is selected. The subject, plain-text message and HTML form of the message is created from the adaptor, and then this is sent to all group members that wish to receive the digest.
GroupServer ships with two digests by default:
The gs.group.messages.topic.digest.base.viewlets.TopicsDigestViewlet
is a gs.group.base.GroupViewlet
that provides the topicsDigest
property. This property is an instance of the gs.group.messages.topic.digest.base.topicdigest.BaseTopicsDigest
class, that provides a list of topics to appear in the digest.
- Code repository: https://github.com/groupserver/gs.group.messages.topic.digest.base
- Questions and comments to http://groupserver.org/groups/development
- Report bugs at https://redmine.iopen.net/projects/groupserver
See Looking Up Adapters Using Multiple Objects for more on multiadaptors.↩