Differences between revisions 15 and 38 (spanning 23 versions)
Revision 15 as of 2010-02-22 21:55:17
Size: 7294
Editor: p@state-of-mind
Comment:
Revision 38 as of 2016-03-02 17:35:48
Size: 5447
Editor: SimonHanna
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma page-filename DEV/versions/8978903
= New Web Interface =
Mailman 3 comes with a new architecture which allows for a separation between the web user interface (WUI) and the mailing list engine. In fact, you can run Mailman 3 with no WUI at all, or integration Mailman 3 with the rest of your web site by accessing the REST admin interface.
## page was renamed from DEV/Web Interface
#pragma page-filename DEV/versions/4489286
Line 5: Line 4:
For standalone systems, we want to develop and ship our own updated WUI. The original Mailman 2 user interface was designed in the late 1990's so it's clearly dated, and the technology backing it is ancient, inflexible and non-standard. Today, there are tons of great Python-based web frameworks, and of course {{{JavaScript}}} is all the rage today. We want a modern, good looking, well-organized WUI that can be used with Mailman 3 but is optional for those sites that want to heavily customize their use of Mailman. {{{#!wiki warning
'''This page is obsolete! The information included is probably invalid and thus should be used with care'''
}}}
= New Web Interface (Postorius) =
Line 7: Line 9:
Here are some [[../Web UI Mockups|Web UI Mockups]]. Postorius is the main component of the administrative interface of [[../Mailman 3.0|Mailman 3]]. It is an application based on the Django framework and is currently [[https://launchpad.net/postorius/trunk/1.0.0b1|in beta]]. The project is hosted on Launchpad:
Line 9: Line 11:
Here then are some guidelines, along with historical notes about previous attempts to update the Mailman WUI. [[https://launchpad.net/postorius|https://launchpad.net/postorius]]
Line 11: Line 13:
The Mailman WUI will be developed on [[https://edge.launchpad.net/mailmanweb|Launchpad]], and discussions will be conducted on the [[http://mail.python.org/mailman/listinfo/mailman-developers|mailman-developers]] mailing list. Postorius depends on mailman.client, the Python bindings to Mailman's REST interface:
Line 13: Line 15:
Please add your name to this list if you are interested in helping out! [[https://launchpad.net/mailman.client|https://launchpad.net/mailman.client]]
Line 15: Line 17:
 * [[~barry/Home|Barry Warsaw]]
 * [[~p@state-of-mind.de/Home|Patrick Ben Koetter]]
== Design rationale ==

Mailman 3 comes with a new architecture which allows for a separation between the web user interface (WUI) and the mailing list engine. In fact, you can run Mailman 3 with no WUI at all, or integrate Mailman 3 with the rest of your web site by accessing the REST admin interface via mailman.client.

For standalone systems, we are developing and shipping our own updated WUI. The original Mailman 2 user interface was designed in the late 1990's so it's clearly dated, and the technology backing it is ancient, inflexible and non-standard. Today, there are tons of great Python-based web frameworks, and of course `JavaScript` is all the rage today. We want a modern, good looking, well-organized WUI that can be used with Mailman 3 but is optional for those sites that want to heavily customize their use of Mailman. Thus: Postorius!
Line 18: Line 24:
Line 19: Line 26:
 1. Progressive enhancement; i.e. can use {{{JavaScript}}} for dynamic aspects, but must remain usable for non-{{{JavaScript}}} browsers, and must be friendly to screen readers.
 1. WUI templates must support internationalization by allowing us to mark up translatable texts for inclusion in the {{{gettext}}} catalog. Technology must integrate with Python's {{{gettext}}} module and/or Mailman's i18n infrastructure.
 1. Progressive enhancement; i.e. can use `JavaScript` for dynamic aspects, but must remain usable for non-`JavaScript` browsers, and must be friendly to screen readers.
 1. WUI templates must support internationalization by allowing us to mark up translatable texts for inclusion in the `gettext` catalog. Technology must integrate with Python's `gettext` module and/or Mailman's i18n infrastructure.
Line 22: Line 29:
 1. {{{JavaScript}}} library must be GPLv3 compatible (framework TBD).  1. `JavaScript` library must be GPLv3 compatible (framework TBD).
Line 24: Line 32:
Exactly which templating system we'll choose is TBD. A couple of thoughts though:
Line 26: Line 33:
 * It would be nice to use the same templating system in the WUI and core engine. I'd like to be able to use templates for all email that Mailman sends
 * It should be friendly to [[DEV/Internationalization]]. Meaning it should be possible to extract texts from templates and add them to a [[http://www.python.org/doc/current/library/gettext.html|gettext]] catalog.
 * Of course, written in Python :-)
Here's a table of templating system candidates:
We chose the '''Django''' templating system. Some thoughts we were considering:
Line 31: Line 35:
{{{#!table
'''Framework'''
|| '''Pros'''
|| '''Cons'''
==
[[http://www.cheetahtemplate.org/|Cheetah]]
||
||
}}}
= Previous work =
(This should probably be moved off onto a separate page - BAW)
 * It would be nice to use the same templating system in the WUI and core engine. I'd like to be able to use templates for all email that Mailman sends
 * It should be friendly to [[../Internationalization|Internationalization]]. Meaning it should be possible to extract texts from templates and add them to a [[http://www.python.org/doc/current/library/gettext.html|gettext]] catalog.
 * Of course, written in Python
Line 43: Line 39:
== 2006 Summer of Code ==
 1. [[..//2006/08/20/Summer of Code summary|Summer of Code summary]] - the project for 2006 concentrated on new ideas for the web UI, and [[../~mindlace|~mindlace]] has an excellent summary here of what was tried
  1. [[../StyledPages|StyledPages]]
  1. [[../TemplatingNotes|TemplatingNotes]]
== "Simple" versions of interfaces ==
From [[http://www.mail-archive.com/mailman-developers@python.org/msg11021.html]]
== Developing Postorius ==
Line 50: Line 41:
{{{
List admin:
   Jason said:
   #1. Manage subscriber list
       I think this needs bulk un/subscribe. Strong warnings about legal requirements should be present. Perhaps with localised links to guidance.
       Should also put individual moderation here. Perhaps some other options.
   #2. Manage digest/non digest options
       I'm not sure this is absolutely required in a simple interface.
   #3. Emergency moderation
       Yes!
   #4. Archives (Public/private settings), navigate to archives, (maybe censor an archived message).
The Mailman WUI (a.k.a. Postorius) is developed on [[http://launchpad.net/postorius|Launchpad]] (code, code review, and bug reports), and we discuss it on the [[http://mail.python.org/mailman/listinfo/mailman-developers|mailman-developers]] mailing list. Please also see the bottom of the page for more resources (including mockups, feature suggestions, and prior work).
Line 62: Line 43:
   Cristóbal added:
   #5 3 PRESETS:
       announce-only list vs.
       moderated discussion vs.
       open discussion
   #6 List Description
       web landing page description
       footer content
A quick 5 minute guide (if you're lucky) to get Postorius installed for development can be found here:
Line 71: Line 45:
   I would add:
   #7 search for a list member.
   #8 Display/export entire membership list.
   #9 Add/remove a moderator
   #10 contact a system administrator to
       Request list removal,
       Request a new list, or
       Get help
[[../A 5 minute guide to get the Mailman web UI running|A 5 minute guide to get the Mailman web UI running]]
Line 80: Line 47:
Site admin:
----------
   site management (define lists, and list ownership, apply emergency moderation):
   #1 Display lists, with ownership and emergency moderation status.
       Perhaps sort/filter by owner or domain, style or moderation status, traffic.
   #2 Add a list with a preset style/change style.
   #3 Disable or Delete a list, and/or list archive.
   #4 Change a list owner or moderator.
   list management:
   #5 disable list features (eg, to prevent the owner from changing footer content).
   #6 manage a list - with full feature set
   #7 become list owner - (so you can see the effect of disabling features)
}}}
A guide to run Postorius using Apache is part of the Postorius documentation:
Line 94: Line 49:
== Other Specific suggestions ==
=== Member/subscriber Interface ===
From [[http://www.mail-archive.com/mailman-users%40python.org/msg49681.html]]:
[[http://packages.python.org/postorius/setup.html|http://packages.python.org/postorius/setup.html]]
Line 98: Line 51:
{{{
It is not obvious from the list information page how one would obtain a password reminder.
You have to click the "Unsubscribe or edit options" button to get to the page with the
password reminder button. This really needs to be FAR more obvious. It really should be
an item on the very first page a user sees.
}}}
Some preliminary notes on testing new code in Postorius (this is still a draft...):
Line 105: Line 53:
=== List Admin interface ===
From [[http://www.mail-archive.com/mailman-users%40python.org/msg49698.html]]
[[http://packages.python.org/postorius/development.html|http://packages.python.org/postorius/development.html]]
Line 108: Line 55:
{{{
I think the admin UI suffers from:
Line 111: Line 56:
  1. Too many options.
  2. Weak categorization.
  3. Typographically bad, e.g. no visual cues about significance, related options, etc.
     and right-aligned labels make it difficult to skim down through a page.
  4. Labels are too verbose, contributing with noise to the overall view, and the "Details
     for «the_mailman_option_name»" under each label does not help in this regard.
}}}
Please add your name to this list, and email the mailman-developers list, if you are interested in helping out!
Line 119: Line 58:
From [[http://www.mail-archive.com/mailman-users%40python.org/msg49700.html]] (this is [[../~terri|~terri]])  * [[barry|Barry Warsaw]]
 * Patrick Ben Koetter
 * [[terri|terri]]
 * <<MailTo(anna DOT granudd AT gmail DOT com,Anna Granudd)>>
 * <<MailTo(f AT state-of-mind DOT de,Florian Fuchs)>>
 * Claudia Fleiner
 * [[benste|benste]]
 * Toshio Kuratomi
 * Sumana Harihareswara
Line 121: Line 68:
My solution (to the problem of there being so many options) would be to have an "expert" and a "simple" interface. Three reasons:
Line 123: Line 69:
 1. Even '''as''' an expert, I'd love to have a small interface that met my most common needs.
 1. Choosing what options to keep and which to toss would likely slow down the process so much that we'd never get a new interface.
 1. Giving people access to files is more of a pain than letting them interact through a web UI. (eg - don't have to worry about shell access, bad file syntax, etc.)
----
== Wish List / Random Ideas ==

 * "moderate_all" option for admins: "Consider an admin that is reviewing a bunch of bounces/spam, etc. It might be handy for him to have some buttons to freeze the list (eg. moderate-all) in that context without having to navigate over to a different section to set that flag." (wacky via irc)
 * showing the Log in the WUI (C Nulk via Mailinglist)
 * allowing a user 'to be on vacation' (wacky via IRC)

== More resources ==
Line 130: Line 79:
 * [[DEV/mailman3 in virtualenv|mailman3 in virtualenv]]
 * [[DEV/Design|Design work]] and [[DEV/Web UI Mockups|Web UI Mockups]]
 * [[DEV/Views|Views]] that Mailman 3 should support
 * [[DEV/Requirements|Requirements, such as accessibility]]
Line 132: Line 85:
 * [[DEV/Suggestions for new Mailman 3.0 UI|Suggestions for new Mailman 3.0 UI]]
* [[DEV/Views|Views]]
 * [[DEV/Web Interface Status|Web Interface Status]]
* [[DEV/Web UI Mockups|Web UI Mockups]]
 * [[DEV/mailman3 in virtualenv|mailman3 in virtualenv]]
 * [[DEV/Suggestions for new Mailman 3.0 UI|Suggestions for new Mailman 3.0 UI (old)]]
 * [[DEV/Web Interface Status/2012|Old status updates]]

----

This page is obsolete! The information included is probably invalid and thus should be used with care

New Web Interface (Postorius)

Postorius is the main component of the administrative interface of Mailman 3. It is an application based on the Django framework and is currently in beta. The project is hosted on Launchpad:

https://launchpad.net/postorius

Postorius depends on mailman.client, the Python bindings to Mailman's REST interface:

https://launchpad.net/mailman.client

Design rationale

Mailman 3 comes with a new architecture which allows for a separation between the web user interface (WUI) and the mailing list engine. In fact, you can run Mailman 3 with no WUI at all, or integrate Mailman 3 with the rest of your web site by accessing the REST admin interface via mailman.client.

For standalone systems, we are developing and shipping our own updated WUI. The original Mailman 2 user interface was designed in the late 1990's so it's clearly dated, and the technology backing it is ancient, inflexible and non-standard. Today, there are tons of great Python-based web frameworks, and of course JavaScript is all the rage today. We want a modern, good looking, well-organized WUI that can be used with Mailman 3 but is optional for those sites that want to heavily customize their use of Mailman. Thus: Postorius!

Guidelines

  1. Modern, easy to use web user interface for users, list admins, and site admins.
  2. Progressive enhancement; i.e. can use JavaScript for dynamic aspects, but must remain usable for non-JavaScript browsers, and must be friendly to screen readers.

  3. WUI templates must support internationalization by allowing us to mark up translatable texts for inclusion in the gettext catalog. Technology must integrate with Python's gettext module and/or Mailman's i18n infrastructure.

  4. WUI template system must be Python-based (framework TBD) and GPLv3 compatible.
  5. JavaScript library must be GPLv3 compatible (framework TBD).

Templating systems

We chose the Django templating system. Some thoughts we were considering:

  • It would be nice to use the same templating system in the WUI and core engine. I'd like to be able to use templates for all email that Mailman sends
  • It should be friendly to Internationalization. Meaning it should be possible to extract texts from templates and add them to a gettext catalog.

  • Of course, written in Python

Developing Postorius

The Mailman WUI (a.k.a. Postorius) is developed on Launchpad (code, code review, and bug reports), and we discuss it on the mailman-developers mailing list. Please also see the bottom of the page for more resources (including mockups, feature suggestions, and prior work).

A quick 5 minute guide (if you're lucky) to get Postorius installed for development can be found here:

A 5 minute guide to get the Mailman web UI running

A guide to run Postorius using Apache is part of the Postorius documentation:

http://packages.python.org/postorius/setup.html

Some preliminary notes on testing new code in Postorius (this is still a draft...):

http://packages.python.org/postorius/development.html

Please add your name to this list, and email the mailman-developers list, if you are interested in helping out!

  • Barry Warsaw

  • Patrick Ben Koetter
  • terri

  • Anna Granudd <anna DOT granudd AT gmail DOT com>

  • Florian Fuchs <f AT state-of-mind DOT de>

  • Claudia Fleiner
  • benste

  • Toshio Kuratomi
  • Sumana Harihareswara

Wish List / Random Ideas

  • "moderate_all" option for admins: "Consider an admin that is reviewing a bunch of bounces/spam, etc. It might be handy for him to have some buttons to freeze the list (eg. moderate-all) in that context without having to navigate over to a different section to set that flag." (wacky via irc)
  • showing the Log in the WUI (C Nulk via Mailinglist)
  • allowing a user 'to be on vacation' (wacky via IRC)

More resources


MailmanWiki: DEV/Postorius Web Interface (last edited 2016-03-02 17:35:48 by SimonHanna)