GroupServer combines Web and email servers, and connects them
to different back-end storage facilities.
By doing this, people can share messages using the Web and email
A Web server (such as
nginx) is used to
mediate connections between browsers and the core GroupServer
Email messages are sent and received through the
GroupServer itself is written in
framework ― specifically
GroupServer mediates between email and the Web, ensuring that
all users have a similar experience, no matter what software
is used by the group members.
It contains all the logic for the security, joinability, and
membership of the groups;
bounce detection, moderation, digest compilation, and the
modification of user and group settings is all handled by
the core GroupServer software.
The security of data â including users, posts and files â
is handled by this layer.
The static Web pages, delivered by GroupServer (such as this one)
are stored in ZODB.
The ZODB also stores the structure of the sites, such as
which group belongs to which site.
The messages posted to groups, and information about
users, as well as some secondary data, is stored in
The connection between Zope and PostgreSQL is made using the
Finally, files that are added to groups, such as
message attachments, are stored using the
standard file-system of the host machine.
(1 and 5) is used to specify the content of Web pages.
is used to generate Web feeds of the messages
posted to groups.
The standards for email, including
are followed as closely as possible, while remaining
compatible with as many existing email systems as
Unicode is used
throughout GroupServer, so people may author content, and send and
receive messages, using character sets other than the Latin
alphabet used for the English language.
Each of GroupServer's four main components
(a web server, a mail server, an object database, and a
can be placed 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
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.