~barry/mailman/events-and-web

« back to all changes in this revision

Viewing changes to src/mailman/docs/WebUIin5.rst

 * Some additional documentation on related components such as Postorius and
   hyperkitty have been added, given by Stephen J Turnbull.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
================================
 
2
Set up Postorius in five minutes
 
3
================================
 
4
 
 
5
This is a quick guide for setting up a development environment to work on
 
6
Mailman 3's web UI, called Postorius.  If all goes as planned, you should be
 
7
done within 5 minutes.  This has been tested on Ubuntu 11.04.
 
8
 
 
9
In order to download the components necessary you need to have the `Bazaar`_
 
10
version control system installed on your system.  Mailman and mailman.client
 
11
need at least Python version 2.6.
 
12
 
 
13
It's probably a good idea to set up a virtual Python environment using
 
14
`virtualenv`_.  `Here is a brief HOWTO`_.
 
15
 
 
16
.. _`virtualenv`: http://pypi.python.org/pypi/virtualenv
 
17
.. _`Here is a brief HOWTO`: ./ArchiveUIin5.html#get-it-running-under-virtualenv
 
18
.. _`Bazaar`: http://bazaar.canonical.com/en/
 
19
 
 
20
 
 
21
GNU Mailman 3
 
22
=============
 
23
 
 
24
First download the latest revision of Mailman 3 from Launchpad.
 
25
::
 
26
 
 
27
  $ bzr branch lp:mailman
 
28
 
 
29
Install and test::
 
30
 
 
31
  $ cd mailman
 
32
  $ python bootstrap.py
 
33
  $ bin/buildout
 
34
  $ bin/test
 
35
 
 
36
If you get no errors you can now start Mailman::
 
37
 
 
38
  $ bin/mailman start
 
39
  $ cd ..
 
40
 
 
41
At this point Mailman will not send nor receive any real emails.  But that's
 
42
fine as long as you only want to work on the components related to the REST
 
43
client or the web ui.
 
44
 
 
45
 
 
46
mailman.client (the Python bindings for Mailman's ReST API)
 
47
===========================================================
 
48
 
 
49
Download from Launchpad::
 
50
 
 
51
  $ bzr branch lp:mailman.client
 
52
 
 
53
Install in development mode to be able to change the code without working
 
54
directly on the PYTHONPATH.
 
55
::
 
56
 
 
57
  $ cd mailman.client
 
58
  $ sudo python setup.py develop
 
59
  $ cd ..
 
60
 
 
61
 
 
62
Django >= 1.3
 
63
=============
 
64
 
 
65
Postorius is a pluggable Django application.  Therefore you need to have
 
66
Django (at least version 1.3) installed.
 
67
::
 
68
 
 
69
  $ wget http://www.djangoproject.com/download/1.3.1/tarball/ -O Django-1.3.1.tar.gz
 
70
  $ tar xzf Django-1.3.1.tar.gz
 
71
  $ cd Django-1.3.1
 
72
  $ sudo python setup.py install
 
73
  $ cd ..
 
74
 
 
75
 
 
76
Postorius
 
77
=========
 
78
 
 
79
::
 
80
 
 
81
  $ bzr branch lp:postorius
 
82
  $ cd postorius
 
83
  $ sudo python setup.py develop
 
84
 
 
85
 
 
86
Start the development server
 
87
============================
 
88
 
 
89
::
 
90
 
 
91
  $ cd dev_setup
 
92
  $ python manage.py syncdb
 
93
  $ python manage.py runserver
 
94
 
 
95
The last command will start the dev server on http://localhost:8000.
 
96
 
 
97
 
 
98
A note for MacOS X users (and possibly others running python 2.7)
 
99
=================================================================
 
100
 
 
101
*Note: These paragraphs are struck-through on the Mailman wiki.*
 
102
 
 
103
On an OS X 10.7 (Lion) system, some of these steps needed to be modified to
 
104
use python2.6 instead of python. (In particular, bzr is known to behave badly
 
105
when used python2.7 on OS X 10.7 at the moment -- hopefully this will be fixed
 
106
and no longer an issue soon.)
 
107
 
 
108
You will need to install the latest version of XCode on MacOS 10.7, which is
 
109
available for free from the App Store.  If you had a previous version of XCode
 
110
installed when you upgraded to 10.7, it will no longer work and will not have
 
111
automatically been upgraded, so be prepared to install again.  Once you have
 
112
it installed from the App Store, you will still need to go run the installer
 
113
from ``/Applications`` to complete the installation.