Skip to content

groupserver/gs.group.type.discussion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This product provides code to support discussion groups, which are the most common type of group in GroupServer. The complex posting rules for a discussion group are implemented by this product. The discussion group code is enabled by changing the marker interface.

Posting Rules

The core User Can Post system1 provides one rule: is the person blocked from posting. A discussion group provides six additional rules, with their associated viewlets.

Has a Profile:

Checks to see if the person posting has a profile. The other way to look at this is the person is not anonymous.

Member:

Checks to see if the person posting is a group member.

Working Email Address:

Checks to see if the person posting has a verified email address. This prevents spamming, because you know that whoever posts has a working address.

Posting Limit:

Each group has a maximum posting rate2. This rule ensures that no-one exceeds the rate.

Required Site Properties:

This rules ensures everyone has completed sign-up.

Required Group Properties:

Each group can have some properties that are required for just the group3. This rule ensures that each member has the properties set.

Marker Interface

A group is turned into a discussion group by changing the marker interface for the group folder to IGSDiscussionGroup. This marker interface has the following inheritance tree:

gs.group.base.interfaces.IGSGroupMarker
    △
    │
gs.group.type.discussion.interfaces.IGSDiscussionGroup

Resources


  1. See the gs.group.member.canpost product for more information: <https://source.iopen.net/groupserver/gs.group.member.canpost/>

  2. See the gs.group.messages.ratelimit product for more information: <https://source.iopen.net/groupserver/gs.group.messages.ratelimit/>

  3. There is no interface for the administrator to set the required group-properties. However, they can be set in the ZMI: add the property IDs to the required_properties attribute of the mailing list.

Releases

No releases published

Packages

No packages published

Languages