Size: 2599
Comment:
|
Size: 1343
Comment: archiving old info, updating beta status
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#pragma page-filename DEV/versions/10715337 | #pragma page-filename DEV/versions/10354696 |
Line 3: | Line 3: |
This page should serve as a place to update everyone on the current state of development, but also to discuss the progress and/or decisions being made while developing. | |
Line 5: | Line 4: |
== Components == The Mailman Web UI consists of three components: |
== Postorius == |
Line 8: | Line 6: |
1. a '''REST client module''' that handles all communication with Mailman 1. "'''mailman-django'''": a reusable Django app that makes use of the client module and delivers the web front-end 1. a '''django project/site''' that includes mailman-django Why not just ship one thing? Because this way we cover a number of different scenarios, i.e.: |
Postorius is the main component of the administrative interface of 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 13: | Line 8: |
* Use 1., 2. & 3. if you have Mailman installed but are not running an existing Django site. * Use 1. & 2. if you already have an existing Django web site and would like to entend it with a Mailman interface. * Use 1. if you are developing a completely different Python application that needs to communicate with Mailman. === The REST client module === A current draft contains two classes: |
[[https://launchpad.net/postorius|https://launchpad.net/postorius]] |
Line 19: | Line 10: |
'''MailmanRESTClient:''' Example Methods: get_lists(), get_list(), new_list(), join_list(), etc. | Postorius depends on mailman.client, the Python bindings to Mailman's REST interface: |
Line 21: | Line 12: |
'''MailmanRESTClientError:''' Exception Class | [[https://launchpad.net/mailman.client|https://launchpad.net/mailman.client]] |
Line 23: | Line 14: |
It currently uses urllib and urllib2 to talk to Mailman but this has to be changed to use httlib to make use of the DELETE and PUT request methods (since Mailman's REST Server now uses Restish). | For more on the design rationale behind Postorius, please see [[DEV/Web Interface]]. |
Line 25: | Line 16: |
=== mailman-django === A reusable Django app. Lives outside the Django project, somewhere on the Python path. Directory structure so far: |
=== Development === |
Line 28: | Line 18: |
{{{ mailman-django/ media/ mailman-django/ css/ img/ js/ templates/ mailman-django/ lists/ members/ }}} |
A quick 5 minute guide (if you're lucky) to get Postorius installed for development can be found here: |
Line 39: | Line 20: |
The "mailman-django" folders inside "media" and "templates" may seem redundant but help maintain clarity and prevent conflicts when integrating the app into an existing environment. | [[../A 5 minute guide to get the Mailman web UI running|A 5 minute guide to get the Mailman web UI running]] |
Line 41: | Line 22: |
=== The Django website/project === Uses the standard set of files when doing: |
A guide to run Postorius using Apache is part of the Postorius documentation: |
Line 44: | Line 24: |
{{{ django-admin.py startproject mailmanweb }}} |
[[http://packages.python.org/postorius/setup.html|http://packages.python.org/postorius/setup.html]] |
Line 48: | Line 26: |
Could further be reduced to only contain settings.py and urls.py. | Some preliminary notes on testing new code in Postorius (this is still a draft...): |
Line 50: | Line 28: |
== Test Server == A test server with a basic setup of the web UI is currently being set up. |
[[http://packages.python.org/postorius/development.html|http://packages.python.org/postorius/development.html]] |
Line 53: | Line 30: |
== Features to be implemented first == 1. Ability for users to subscribe, manage subscriptions, unsubscribe, change emails 1. Admin ability to create/delete lists via pre-defined styles 1. Users ability to customize their subscirptions 1. Moderation 1. Aite admin ability to create domains, add and modify styles 1. List admin ability to customize lists |
=== Old updates === [[DEV/Web Interface Status/2012]] |
Web UI - Status
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
For more on the design rationale behind Postorius, please see DEV/Web Interface.
Development
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