Differences between revisions 1 and 2
Revision 1 as of 2011-11-14 08:26:21
Size: 3217
Editor: f@state-of-mind
Comment:
Revision 2 as of 2011-11-14 08:26:59
Size: 64
Editor: f@state-of-mind
Comment: Page renamed to DEV/A 5 minute guide to get the Mailman web UI running
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma page-filename DEV/versions/13303878
This is a quick guide to setup a development environment to work on Mailman 3's web ui. If all goes as planned, you should be done within ~5 minutes. It has been tested on Ubuntu 11.04.

In order to download the components necessary you need to have the Bazaar VCS installed on your system. Mailman and mailman.client need at least Python version 2.6.

== GNU Mailman 3 ==
First download the latest revision of Mailman 3 from launchpad.

{{{
$ bzr branch lp:mailman
}}}

Install and test:

{{{
$ cd mailman 
$ python bootstrap.py
$ bin/mailman
$ bin/test
}}}

If you get no errors you can now start Mailman:

{{{
$ bin/mailman start
$ cd ..
}}}

At this point Mailman will not send nor receive any real emails. But that's fine as long as you only want to work on the components related to the ReST client or the web ui.

== mailman.client (the Python bindings for Mailman's ReST API) ==
Download from launchpad:

{{{
$ bzr branch lp:mailman.client
}}}

Install in development mode to be able to change the code without working directly on the PYTHONPATH.

{{{
$ cd mailman.client
$ (sudo) python setup.py develop
$ cd ..
}}}

== Django >= 1.3 ==
The web ui is a pluggable Django application. Therefore you need to have Django (at least version 1.3) installed.

{{{
$ wget http://www.djangoproject.com/download/1.3.1/tarball/ -O Django-1.3.1.tar.gz
$ tar xzf Django-1.3.1.tar.gz
$ cd Django-1.3.1
$ python setup.py install
$ cd ..
}}}

== mailman-django ==
This Django app contains the code for the web ui. Thanks go out to Anna Granudd and Benedict Stein who started this app as part of their Google Summer of Code projects in 2010 and 2011.

We're currently transitioning the code from the branches we used for GSoC to an 'official' web ui location on launchpad to continue the work there. For now the latest working code can be found here (this will change within the next days...):

{{{
$ bzr branch lp:~flo-fuchs/mailmanwebgsoc2011/transition
}}}

Install it, also in development mode:

{{{
$ cd transition
$ (sudo) python setup.py develop
$ cd ..
}}}

== Setup a simple Django project to host the web ui ==
The last thing you need to set up is a Django site to host the web ui application. This sample project contains all necessary settings to get the application up and running using Django's development server:

{{{
$ bzr branch lp:~flo-fuchs/mailmanweb/django_dev_setup
}}}

Now change to the branch dir, let Django create a db file and start the dev server:

{{{
$ cd django_dev_setup
$ python manage.py syncdb
$ python manage.py runserver
}}}

Now direct your browser to: [[http://localhost:8000]]

== Logging in ==
Authentication against the ReST API is not yet implemented, but there's a dummy AuthBackend in mailman-django that mimics auth behaviour. To login use the credentials hard-coded in:

{{{
./transition/src/mailman_django/auth/restbackend.py
}}}

----

 * [[DEV/Mac Mailman development setup guide|Mac Mailman development setup guide]]

----

<<IncludeComments>>
#REDIRECT DEV/A 5 minute guide to get the Mailman web UI running

MailmanWiki: DEV/A 5 Minute Guide to Get the Mailman Web UI Running (last edited 2011-11-14 08:26:59 by f@state-of-mind)