GroupServer

 

GroupServer Features

GroupServer provides a scalable architecture that allows people to use email or the web to participate in secure message board forums.

Participate Using Email or the Web

GroupServer allows people to use the web and email simultaneously! GroupServer is flexible, so members can work in whatever way is most suitable for them. Each member does not have to keep track of how other people are using the system: GroupServer ensures that all members see the same messages, no matter what interface they use.

Using email, GroupServer is like a mailing list, similar to Mailman or a newsgroup. Each group has a unique email address. A member of a group can post to the email-address of the group, and it will be relayed to all the other members of the group — after appropriate moderation and permission checking. A group member can have multiple addresses associated with his or her profile, and set up delivery on a group-by-group basis.

Using the web, a GroupServer group is like a message board forum. Members log in, browse their groups, read the topics discussed in the groups, and can post new messages to the topics. As well as viewing web-pages, conversations can be closely followed using web feeds. Each group member has a profile, which can be used to find out biographical information of the group members.

Private and Secure

In GroupServer, users do not need to create and remember arbitrary identifiers and system generated passwords. Email addresses are used as unique identifiers. In addition a user is never assigned a password by the system. Instead, the user creates a password when he or she logs in for the first time. If a user has difficulty logging in, the password-reset system sends out an email message that contains a link to the user's Set Password page. (The link can only be used once, just to be a bit more secure.)

GroupServer uses role-based access control (RBAC) provided by the Zope development framework. This allows almost any action, such as editing a page, to be restricted to an individual or a group. However, to reduce the tedium of securing groups, three simple settings can be used to set the privacy of a group:

  1. Public, where anyone can view the group and messages;
  2. Private, where anyone can view the group, but only group members can view the messages;
  3. Secret, where only group members can view the group and messages.

Because of the role-based access control, GroupServer provides multiple levels of delegation. Anonymous users can see the messages in public groups, but cannot post, allowing people to lurk in peace. Group members can post messages, while group administrators can alter the membership of the group. Site administrators can start groups, as well as alter the membership of any group. Zope administrators can alter the objects in the underlying system, including fine-grained permissions and page templates. Finally, system administrators have access to the underlying code that runs GroupServer, and can do just about anything!

Scalable

GroupServer is made of four main components: a web server, a mail server, an object database, and a relational database. Each component can be place on a separate machine, or multiple machines in the case of the database and web server. Even in a single-machine configuration, GroupServer can handle tens of thousands of users posting and viewing messages throughout the day.

GroupServer is more flexible than scaling a single site over multiple machines. A single machine can contain multiple Zope installations, and each Zope installation can contain multiple GroupServer instances, and each instance can contain multiple sites, and each site can contain multiple groups! This should provide enough flexibility for most situations.