GroupServer 10.11 — Kulfi Craved while Caving

Authors:Michael JasonSmith; Richard Waid; Alice Rose; Dan Randow
Contact:Michael JasonSmith <mpj17@onlinegroups.net>
Date:2010-11-30
Organization:GroupServer.org
Copyright:This document is licensed under a Creative Commons Attribution-Share Alike 3.0 New Zealand License by OnlineGroups.Net.

The changes below form the bulk of what is new in the Kulfi release of GroupServer:

All these enhancements will be available to new GroupServer installations, and those who update an existing groupserver system.

Work is now progressing on GroupServer 10.12 — Lemon Ice in the Cool of the Evening.

Group Properties Page

The page used to set the group properties has been simplified [1], following a discussion about the properties [2]. There are fewer properties, as many properties have been replaced by the group homepage about tab. The properties that remain have been given clearer names.

The new group properties page is now a standard zope.formlib form, rather than relying on the older GroupServer XForms code. This means that standard features of forms on GroupServer are present, such as popup help.

Delivery Settings Page

The page used to change the email delivery settings of a group member has been updated [3]. The biggest advantage to the new page is that administrators can now change the delivery settings of group members. For members the page looks and behaves much as it did before. However, the system has undergone a major rework behind the scenes. This will make the page easier to maintain, extend and change.

Start a Group

The start a group system has been simplified to a one-step process [4]. Rather than a separate Preview step the new system dynamically previews the URL and email address of the new group. It also dynamically checks if the group identifier is unique.

It is not possible to create announcement groups with the simplified system. However, announcement groups are still supported by GroupServer and will continue to be supported. To create an announcement group first create a discussion group. Then use the ZMI to change the group_template property to announcement.

Group Homepage About Tab

The new group homepage about tab replaces the little-used Charter page [5]. The new tab provides a blank area where a site administrator is free to write any HTML. The WYMeditor is used to edit the contents of the tab [6].

Management of a Group Member

A group administrator is now shown a Manage Member link when viewing the profile of a member [7]. This should make managing members even easier than before.

Set Password

The code used to set and reset passwords has been updated. Members will be shown better error messages when they follow password-reset links multiple times [8]. In addition all the Set Password pages have been updated to use a single text entry, rather than two password entries [9].

Notification Updates

Some notifications that are stored in the ZMI have been updated. In addition better feedback is given for those who fail to change the group-delivery settings by email [10].

Buildout

Buildout is the system that GroupServer uses to install the system. The buildout process has been improved in three ways. First, some issues with the environment relating to installing lxml have been resolved [11]. Second, the standard system is used to add the default administrator and user to the example group. This should reduce the chance of errors occurring in the future. Finally, summary information about the new GroupServer site is displayed at the end of the buildout process. This should make it easier to start and view the new GroupServer site.

Update an Existing GroupServer System

To update an existing GroupServer system to Kulfi you will have to update the package versions, update the SQL, and update the ZODB.

Update the Package Versions

Carry out the following steps to update the package versions.

  1. Download the Kulfi tar-ball from the GroupServer download page

  2. Uncompress the tar-ball.

  3. Copy the file groupserver-10.11/versions.cfg to your existing GroupServer installation.

  4. In your existing GroupServer installation run:

    $ ./bin/buildout -N
    

Update the SQL

The set password enhancements require an update to the relational database that stores GroupServer data. Carry out the following steps to update the database.

  1. In instance.cfg look up pgsql_dbname and the pgsql_user, and note their values.

  2. Run the following command:

    $ psql -U {psql_user} {psql_dbname} -c "ALTER TABLE "\
      "password_reset ADD COLUMN reset TIMESTAMP WITH TIME ZONE "\
      "DEFAULT NULL;"
    

Older installations will also have to update the table used to record invitations:

$ psql -U {psql_user} {psql_dbname} -c "ALTER TABLE "\
  "user_group_member_invitation ADD COLUMN initial_invite "\
  "BOOLEAN DEFAULT FALSE, ADD COLUMN withdrawn_date TIMESTAMP "\
  "WITH TIME ZONE, ADD COLUMN withdrawing_user_id TEXT;"

Update the ZODB

To get the notification updates into an existing GroupServer system you will have to update the email-templates in the ZODB. Email <support@onlinegroups.net> or GroupServer Development if you need a hand with this.

[1]The new group properties page closes Ticket 292
[2]The GroupServer Development group hosted a lively debate about topics
[3]Creating a new email-settings page closes Ticket 371
[4]Simplifying the process used to start a group closes Ticket 304
[5]Creating the About Tab closes Ticket 493
[6]GroupServer uses the excellent WYMeditor as its HTML editor. Pages that use the editor include Change Profile, Change Site Introduction and all pages that are editable with the Content Manager (such as About and Policies.
[7]Creating a link from the profile page to the manage member page closes Ticket 515
[8]Knowing when a password has been reset closes Ticket 326
[9]Why text entries are used to set passwords is explained in this blog post
[10]

The clean up to notifications closes three tickets:

  1. Ticket 205
  2. Ticket 231
  3. Ticket 531
[11]The lxml improvements should resolve the issues that Tom had when installing GroupServer