GroupServer 15.11 — Limoncello to ward off summer

Authors:Michael JasonSmith;
Contact:Michael JasonSmith <>
Copyright:This document is licensed under a Creative Commons Attribution-Share Alike 4.0 International License by


The major changes to GroupServer in the Limoncello release include HTML formatting of posts, better notifications, and more ways to connect with other systems. You can get Limoncello immediately.

Changes to GroupServer

The most visible change to GroupServer in this release is HTML formatting of posts. Limoncello also includes an updated topic digest, a new profile status notification, the introduction of restricted groups, updated member management, easier sharing of links, new web hooks, more code documentation, and an improved German translation of GroupServer. Finally, there have been some minor improvements.

HTML formatting of posts

The formatting of posts is the largest change in the Limoncello release of GroupServer. Both post formatting in email and post formatting on the web has been changed.

Post formatting in email

GroupServer now will format email messages from a group using HTML — in addition to sending a plain-text version of the message.

The HTML form of the message includes additional metadata about the post:

  • The profile image of the person who made the post
  • The name of the topic that the post belongs to
  • The name of the person who made the post, and a link to their profile
  • The full name of the group, and a link to the group
  • Links that make it easy to
    • Reply to the post
    • Start a new topic
    • View the topic on the web
    • Leave the group
    • Switch to a daily digest of topics

The HTML version of the message body is generated from the plain text version of the post. The formatting follows what is used on the web, which is discussed further in the next section.


We hope to generate the HTML form of an email from the submitted HTML in a future version of GroupServer. This task is tracked in Feature 3676.

Sending a HTML formatted message based on a plain-text email closes Feature 4160.

Post formatting on the web

The formatting of the message body the web has been changed to follow the updates in post formatting in email.

  • Text in *asterisks* is made bold (as with prior releases).
  • Quoted text (> like this) is now muted.
  • URLs and site names are made into links, as before.
    • The host name in links is now made bold, so people can more easily see where the link goes.
    • Long URLs are now shown in a small-font, so they take up less room.
  • Email addresses are made clickable.
    • All email addresses are shown in the body of the email messages that are sent from the group.
    • All email addresses are still shown on the web in private, restricted, or secret groups.
    • As before, addresses shown on the web in public groups are hidden. However, if the address is either the group email address or the support address for the site then the address is now shown.
  • Posts on the web still embed videos from YouTube and Vimeo. In this release the videos are now embedded using <iframe> elements. Embedding cannot be done in the email messages sent from the group, so the videos are kept as URLs.
  • Bottom quoting and the signature is still hidden. However, the system has been improved in the Limoncello release.
    • The closing (such as “Yours sincerely…” or “Kind regards…”) is now always shown in messages.
    • Extraneous CSS added to the bottom-quoting by Mozilla Thunderbird is now hidden by default.
    • The Rest of post section of a message on the Post page is now open by default. This makes following the link from the email message to the archive easier.

Attachments are still stripped, and replaced with links to the files on the web. The file-sizes of attached files now look better; empty files are explicitly labelled as empty.

In addition to the user-visible changes, the code for that displays the posts on the web has been refactored and documented.

Updated topic digest

Group members can opt to receive a daily topic digest from a group — rather than getting an email message every time someone posts. The Limoncello release includes significantly updates to the look of the digest, and the tools for sending the digests.

  • The digests look like standard email notification, closing Feature 3985.
  • The digest now includes a photo of the most recent person to post to each topic.
  • It is now easier to
    • Find the group from the digest,
    • Post to a new topic, and
    • Change your email settings.

The sendigest command, which is run once a day by cron to send the digests, has also been updated. It is now faster, and now has a --verbose option for producing verbose output, including a percentage-progress indicator.

Because the new profile status notification reminds people that they are in groups the weekly topic digest, which was sent when there was no activity in a group for a week, is no longer sent.

Profile status notification

GroupServer now has the ability to send out a notification that reminds people about their profile status, what groups they are in, and encourages the group members to enhance their profiles. The new What is going on in your groups notification is designed to be sent out once a month (towards the start of every month). The system includes a new sendprofile command — which works much like the senddigest command that sends out the daily digest of topics (see Configuring cron for more information).

There are also two new email-commands: Status off and Status on. The former records that the person wishes to stop receiving the monthly summary, the latter turns it on. Both work for a support group.

The creation of a profile status notification closes Feature 370.

Restricted groups

A new privacy level has been added to GroupServer in the Limoncello release: restricted groups. Everyone that is a member of the site can see a restricted group, and the posts within it. It joins the three existing privacy levels:

  • Public, where the group and posts are shown to everyone,
  • Private, where only group-members can see the posts, and
  • Secret, where only members can see the group and posts.

The different privacy levels can be set from the Change privacy page, linked from the Admin area of the group page.

Allowing the restricted group-type to be set closes Feature 4169.

Configurable Reply-to

The Reply-to header for posts sent from a group can now be easily configured — using the Reply to property on the General group properties page, which is linked from the Admin section of the group page. In the Rakı release of we added the ability for GroupServer to change the Reply-to header to the email address of author of the post, the group, or both (see Email processing). However, there was never an easy way to change what the value should be. Adding this ability closes Feature 4051.

Updated member management

The Manage members page has been updated to make it easier to use.

  • 48 people are now shown on every page, rather than just 20.
  • The Manage many members page is now shown when there is more than 48 members in a group, rather than 127.
  • The list of people on the Manage many members page is now sorted by name.

Web hooks

For a long time GroupServer has used web hooks to expose functionality to outside systems. For example, the scripts mbox2gs, smtp2gs, senddigest and the new sendprofile (see Profile status notification) all use web hooks.

Thanks to Team Z some generic web-hooks have been added:

  • Discover all the groups on a site.
  • Add someone to a group.
  • Search for someone by email address.
  • List all the site members.
  • Remove someone from a group.

The is also a new overview of the avaliable hooks (see Connecting external systems).

Implementing the web-hooks closes Issue 262.

German translation of GroupServer

Far more of the GroupServer user-interface has been translated into German, thanks to the diligent work of Cousin Clara.

Code documentation

The documentation for the low-level system continues to improve in the Limoncello release. Many system now have documentation available on Read the Docs, including all the scrips that are generated during installation. The document components of GroupServer are listed as sub-projects of GroupServer on Read the Docs.

Minor improvements

  • Email notifications should render better in IBM Notes, and Microsoft Outlook on Windows.
  • Some memory leaks have been fixed.
  • The rewriting of the Subject of an email message when the post has been forwarded from another group has been fixed.
  • The WAI-AIRA roles have been improved, closing Issue 4156.
  • An error with a link in the Unknown email address notification has been fixed.
  • An error with a link to the profile from the Member has left notification has been fixed.
  • The scripts that use web hooks now handle 301 redirects correctly, closing Bug 4162.
  • Links in email messages can now use TLS as the protocol (https://) closing Bug 4171. For more information see the document for Secure connections: TLS, SSL, and HTTPS.
  • Email notifications now use Hello as the opening salutation, rather than Dear.
  • A fix for an incorrect link to Support in the Welcome message that is sent when someone is added to a group has been added.
  • A problem with mailto links that set a Subject failing in Google GMail has been fixed.
  • When non-member tries to unsubscribe from a group they are now sent an email telling them that they are not a member. Different messages are sent to people with and without profiles.
  • Required-widget checking now works if Google Chrome or Opera auto-fill (a.k.a auto-complete) the fields

Get Limoncello

To get Limoncello go to the Downloads page for GroupServer and follow the GroupServer Installation documentation. Those who already have a functioning installation can update an existing GroupServer system.

Update an Existing GroupServer System

To update a system running the Rakı release of GroupServer (15.03) to Limoncello (15.11) carry out the following steps.

  1. Add the profile_notification_skip table to the relational database. (The table records those that have chosen to skip the new Profile status notification.)

    1. Download the SQL definition of the table.

    2. Execute the SQL using the following command:

      $ psql -U {psql_user} {psql_dbname} -f {filename}

      Where {psql_user} and {psql_dbname} are the names of the PostgreSQL user and relational-database used by GroupServer (as recorded in config.cfg, see GroupServer installation). The final argument is the name of the SQL file you downloaded (probably 01-skip.sql).

      Alternatively, if you get a password authentication failed error with the above command, the following command may be more successful depending on your database configuration:

      $ sudo -u postgres psql {psql_dbname} -f {filename}
  2. Download the Limoncello tar-ball from the GroupServer download page.

  3. Uncompress the tar-ball:

    $ tar xfz groupserver-15.11.tar.gz
  4. Change to the directory that contains your existing GroupServer installation.

  5. Copy the new versions of the configuration files to your existing GroupServer installation:

    $ cp ../groupserver-15.11/[biv]*cfg  .
  6. Run buildout in your existing GroupServer installation:

    $ ./bin/buildout -N
  7. Restart your GroupServer instance (see Starting and stopping GroupServer).

  8. Update cron so it sends the new monthly profile status notification.