Development of this version started in June 2007. It includes many new
features that have been tested by many sites who have installed alpha
and beta versions of Sympa over the last year. We'd like to thank the
beta testers, the contributors who have either developed a new feature,
or extended existing ones. Thanks to our many translators, too.
Download
Sympa 5.4
So, what's new ?
New session
management
Introduction of HTTP session in order to replace a lot of
cookies, for better usability and security.
- new session_table table (see the session
table description)
- new SympaSession.pm module (see internals)
- new features (see screenshot)
- from admin page list active sessions (#1 on the screenshot);
- from admin page change user email identity (#2 on the
screenshot);
- from admin page set log level for the current session (#3 on
the screenshot);
- from admin page activate online dump of Sympa variables (#4 on
the screenshot);
internal changes
- new task to purge old sessions from table (inactive delay to
remove session is set by the sympa.conf parameter
session_expiration_period (defaul 1 month);
- session starts at first hit usually with an anonymous user. The
session continues when the user log in;
- cookie lang replaced by a session parameter;
- cookie sympa-user removed;
- crawler detection, controlled by /etc/crawlers_detection.conf.
See documentation.
Customization
- Custom user attributes. This contribution from A.de
Bignicourt (UREC/CNRS) allows the use of per list custom user
attributes. Once the format of the attributes has been defined by the
list owner, a form will be presented to new list members on the
subscription web page. These custom attributes are either optional or
mandatory. The list owner will then see the provided user information
while taking the subscription decision. Custom attributes can later be
viewed from the review page and editsubscriber page. Custom attributes
are stored in a dedicated field of the subscriber_table DB table, as
XML data. See
documentation.
- Custom list parameters. Owners can define their own list
parameters and use them in authorization scenarios and mail templates. See
documentation.
- Custom button in main Sympa menu. Administrators can
define their own tabs in the Sympa web interface main menu. See
documentation.
- Improved avatars usage. User pictures are now shown (if
available) in the web archives. Pictures are shown to authenticated
users only, to prevent web harvesters to get them.
Security
- LDAPS This contribution by P.Baumgart (British
Telecom) allows LDAP alias manager to be LDAPS enabled and to be
configured via a separate configuration file. We've also added a new
'alias_manager' sympa.conf parameter that allows to use such alternate
mail aliases management scripts. See
documentation.
- XSS protection. Sympa escapes any HTML that is not
generated
by its templates (i.e. contained by parameters). Some exceptions are
the homepage file, which is filtered using the perl module
HTML::StripSripts.
- Session hijacking protection. Session ids are renewed each
time a click is done. This way, it is impossible to use a stolen
session id.
Internationalization
- Online help internationalized. The online user help found
in the
web interface (help tab and help links) has been converted to be
translated by the same system as the user interface. These strings are
gathered in a dedicated PO catalog ; you can translate it via our http://pootle.sympa.org
server. Use [%helploc%] tags anywhere in the
code to create strings that will be located in web_help.po catalogue.
- Five brand new translations! The following languages have
been
added to Sympa distribution, thanks to the recent work of contributors:
- Korean (Mark Smith and Kang Tae-Hee
Hewlett-Packard) (try it
| translate)
- Simplified Chinese (Mark Smith and Xun Yan
Hewlett-Packard) (try it
| translate)
- Tradional Chinese (Mark Smith Hewlett-Packard) (try it
| translate)
- Russian: Chernysh (try it
| translate)
- Catalan: Jordi Deu-Pons (try it
| translate)
- Numerous translations updated:
- German (Jens Krehbiel-Graether) (try it
| translate)
- French (D. Viñar Ulriksen) (try it
| translate)
- Italian (G. Donnini) (try it
| translate)
- Nederlands (K. Naut) (try it
| translate)
- Brazilian Portuguese (F. Lopes) (try it
| translate)
- Revised version of English translations (try it
| translate)
Please, feel free to come and help translating Sympa into your
language. You can use our online
translation tool. Any information regarding translation of Sympa
can be found on our
web site.
Performances
The performances - mainly regarding the web interface - have been
significantly improved. This was achieved, in particular, through:
- a reduction of the number of calls to do_log()
- a reduction of the locks in List::new()
- code factorization through a new Scenario.pm library
The discussions which lead to these improvements can be found here
and there.
Mail
- 'remove_outgoing_headers' (sympa.conf and list
parameter). This
parameter allows to define a list of SMTP header fields that should be
removed before a message is distributed to list members. Thus it even
makes it possible to remove the header fields that Sympa sets. The
existing 'remove_headers' can now be set in a list config file. See documentation.
- New
'ignore_x_no_archive_header_feature' sympa.conf parameter ; if
set to
'on', x-no-archive SMTP header field is ignored if found in an incoming
message (sympa will archive the message). See documentation.
Lists management
- 'allow_subscribe_if_pending' (sympa.conf parameter)
Contribution by C. Paul, evil-wire.org. Default value is "on".
If set
to "off", it is forbidden to add subscribers (through wwsympa) to a
list whose status is different from "open". See documentation.
- Users list is synchronized with inclusion sources (database,
LDAP, files,...) on the fly prior to execute some actions, such as
review, sending, which, etc. The lap between two synchronization is
defined by the list parameter 'distribution_ttl'. see documentation.
Bug fixes
We've done a significant effort to close most reported bugs in this
new version of Sympa. You can check the detailed list of bug fixes from
the
changelog.
|