GroupServer 16.04 — Pastis proffered politely

Authors:Michael JasonSmith;
Contact:Michael JasonSmith <mpj17@onlinegroups.net>
Date:2016-03-01
Organization:GroupServer.org
Copyright:This document is licensed under a Creative Commons Attribution-Share Alike 4.0 International License by OnlineGroups.net.

Introduction

Of the visible changes to GroupServer in the Pastis release the most significant is the new Change email settings page. You can get Pastis immediately.

Changes to GroupServer

In Pastis the Email-settings page is easier to use with mobile phones. The other major update in this release is the updated base packages. Finally, there have been some minor improvements.

Email-settings page

The Change email settings page allows people to add email addresses, and set the addresses they prefer. The page has been updated so it is easier to use with mobile devices, with buttons allowing people to add and remove addresses from each list of addresses. Using drag-and-drop between the lists still works for those on desktop systems.

The underlying code now uses web-hooks and JSON to update the email settings. This results in a far-faster page than before.

Finally, the dependencies that the Change email settings page had on jQuery.UI and Twitter Bootstrap have been removed.

Updated base packages

The most visible dependency to change in Pastis is jQuery, which has been updated to version 1.12.0, from 1.9.1. This should be compatible with any customisation code that exists for GroupServer, as the API for jQuery remains the same. Following the change to jQuery

The Zope2 application framework, which supports GroupServer, has been updated to version 2.13.24 from 2.13.22. The buildout system — which controls most of the installation and update process — has been updated to use zc.buildout 2.5.0.

In addition packages such as dnspython, enum34, lxml, premailer, pytz, Pillow, redis, requests, and six have also been updated.

Minor improvements

  • The Admin section of the group page has been moved up, so it stays in once place while the dynamic Members and Recent files sections load.

  • The Manage members page is easier to use, it looks better, and includes internationalisation support. A coding error that prevented a group administrator from being a posting member of an announcement group has been corrected.

  • The German translation has been updated, thanks to Alice and Stephan G. Blendinger.

  • The code that detects bottom quoting has been improved, and long lines that are quoted look better.

  • The GroupServer documentation now has a Frequently asked questions section.

  • The From address used in the Confirm subscription notification has been fixed, so it is now set to the email-address of the group rather than the support email address. Thanks to Jp Maxwell for spotting the issue.

  • The installation script gs_install_ubuntu.sh uses bold and muted text to make the information hierarchy more clear.

  • The code that provides the image scaling handles some errors in a more robust way.

  • Deleting file-metadata using the ZMI handles the missing file-system data gracefully.

  • Deleting user objects using the ZMI handles the edge case of users being listed as part of a group but the group being absent from the user (and vice versa).

  • The system that provides the different lists of group-members (gs.group.member.base) has been updated so it is faster, better tested, and documented.

  • Joining, leaving, and requesting membership is now more robust, as these systems can better handle administrators that lack verified email addresses.

  • More unit tests have been added to many products that make up GroupServer, including the code that determines if someone can post. All the unit-tests can be run by the script generated by zc.recipe.testrunner:

    $ ./bin/testrunner -v -c -m "gs\..*"
    

    This script is run by the new continuous integration system provided by Travis CI.

  • The suffix-list in the DMARC code has been updated thanks to Baran Kaynak.

  • More JavaScript has been switched to use strict mode — including the code that supports Registration. In addition, the JavaScript code that makes up GroupServer has been updated to conform to the Google JavaScript Style Guide thanks to the use of the Google Closure Linter.

Get Pastis

To get Pastis 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 Limoncello (15.11) release of GroupServer to Pastis (16.04) carry out the following steps.

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

    $ cp ../groupserver-16.04/[bivz]*cfg  .
    
  2. Run buildout in your existing GroupServer installation:

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