Size: 2949
Comment:
|
Size: 2525
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#pragma page-filename DEV/versions/15171647 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. This has been tested on Ubuntu 11.04. |
#pragma page-filename DEV/versions/17891435 This is a quick guide to setup a development environment to work on Postorius, Mailman 3's web ui. If all goes as planned, you should be done within ~5 minutes. This has been tested on Ubuntu 11.04 and OS X 10.8.1. Please note that the Python provided by apple for OSX ''will not work''; you need to install your own version of python (e.g. using fink or macports). The [[../Mac Mailman development setup guide|Mac Mailman development setup guide]] has instructions using homebrew if you need additional instructions. |
Line 4: | Line 4: |
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. | {{{#!wiki warning |
Line 6: | Line 6: |
== GNU Mailman 3 == | Warning: Mailman install has changed! |
Line 8: | Line 8: |
First download the latest revision of Mailman 3 from launchpad. | The mailman core install process has changed and this document may not be perfectly up to date yet. Please take a look at the docs in src/mailman/docs/START.rst if you have trouble. }}} == Set up your environment == Install the essentials {{{$ sudo apt-get install bzr python-setuptools python-dev build-essential postfix}}} Get the sources |
Line 11: | Line 20: |
$ bzr branch lp:mailman }}} |
(postorius)$ bzr branch lp:mailman (postorius)$ bzr branch lp:mailman.client (postorius)$ bzr branch lp:postorius (postorius)$ bzr branch lp:~mailman-coders/postorius/postorius_standalone}}} |
Line 14: | Line 25: |
Install and test: | If you get permission errors on this step, your ssh key is probably not in sync with what is on launchpad.net. == Install Django == |
Line 17: | Line 30: |
$ cd mailman $ python bootstrap.py $ bin/buildout $ bin/test }}} |
(postorius)$ pip install django==1.4 (postorius)$ pip install django-social-auth}}} == Set up sources == === GNU Mailman 3 === {{{ (postorius)$ cd mailman (postorius)$ python setup.py install}}} |
Line 26: | Line 45: |
$ bin/mailman start $ cd .. |
(postorius)$ mailman start (postorius)$ cd .. |
Line 32: | Line 51: |
== mailman.client (the Python bindings for Mailman's ReST API) == Download from launchpad: |
=== mailman.client (the Python bindings for Mailman's ReST API) === |
Line 37: | Line 54: |
$ bzr branch lp:mailman.client }}} |
(postorius)$ cd mailman.client (postorius)$ python setup.py develop (postorius)$ cd ..}}} |
Line 40: | Line 58: |
Install in development mode to be able to change the code without working directly on the PYTHONPATH. | === Postorius === |
Line 43: | Line 61: |
$ 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. Also install the django-social-auth application (added because of open Id work going on). {{{ $ 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 $ sudo python setup.py install $ cd .. }}} == mailmanweb == {{{ $ bzr branch lp:postorius $ cd postorius $ sudo python setup.py develop }}} |
(postorius)$ cd postorius (postorius)$ python setup.py develop (postorius)$ cd ..}}} |
Line 71: | Line 68: |
$ bzr branch lp:~mailman-coders/postorius/postorius_standalone $ cd postorius_standalone $ python manage.py syncdb $ python manage.py runserver |
(postorius)$ cd postorius_standalone (postorius)$ python manage.py syncdb (postorius)$ python manage.py runserver |
Line 77: | Line 73: |
The last command will start the dev server on [[http://localhost:8000|http://localhost:8000]] | == Profit! == |
Line 79: | Line 75: |
== A note for MacOS X users (and possibly others running python 2.7) == On an OS X 10.7 (Lion) system, some of these steps needed to be modified to use python2.6 instead of python. (In particular, bzr is known to behave badly when used python2.7 on OS X 10.7 at the moment – hopefully this will be fixed and no longer an issue soon.) You will need to install the latest version of XCode on MacOS 10.7, which is available for free from the app store. If you had a previous version of XCode installed when you upgraded to 10.7, it will no longer work and will not have automatically been upgraded, so be prepared to install again. Once you have it installed from the app store, you will still need to go run the installer from /Applications to complete the installation. |
Now go to [[http://localhost:8000|http://localhost:8000]] to see the web UI for mailman! |
This is a quick guide to setup a development environment to work on Postorius, Mailman 3's web ui. If all goes as planned, you should be done within ~5 minutes. This has been tested on Ubuntu 11.04 and OS X 10.8.1. Please note that the Python provided by apple for OSX will not work; you need to install your own version of python (e.g. using fink or macports). The Mac Mailman development setup guide has instructions using homebrew if you need additional instructions.
Warning: Mailman install has changed!
The mailman core install process has changed and this document may not be perfectly up to date yet. Please take a look at the docs in src/mailman/docs/START.rst if you have trouble.
Set up your environment
Install the essentials
$ sudo apt-get install bzr python-setuptools python-dev build-essential postfix
Get the sources
(postorius)$ bzr branch lp:mailman (postorius)$ bzr branch lp:mailman.client (postorius)$ bzr branch lp:postorius (postorius)$ bzr branch lp:~mailman-coders/postorius/postorius_standalone
If you get permission errors on this step, your ssh key is probably not in sync with what is on launchpad.net.
Install Django
(postorius)$ pip install django==1.4 (postorius)$ pip install django-social-auth
Set up sources
GNU Mailman 3
(postorius)$ cd mailman (postorius)$ python setup.py install
If you get no errors you can now start Mailman:
(postorius)$ mailman start (postorius)$ 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)
(postorius)$ cd mailman.client (postorius)$ python setup.py develop (postorius)$ cd ..
Postorius
(postorius)$ cd postorius (postorius)$ python setup.py develop (postorius)$ cd ..
Start the development server
(postorius)$ cd postorius_standalone (postorius)$ python manage.py syncdb (postorius)$ python manage.py runserver
Profit!
Now go to http://localhost:8000 to see the web UI for mailman!
Comments
It looks like bootstrap.py was removed in late July, marked as obsolete. I followed these instructions to get mailman and postorious running, except I replaced the bootstrap.py step with the following:
virtualenv --system-site-packages /path/to/your/installation $ source /path/to/your/installation/bin/activate $ python setup.py install
Now, if you get weird errors, remove the --system-site-packages from your virtualenv and try again. I guess depending on how your system is setup, it may or may not work with that option.
I wrote up a guide on how to get hyperkitty up and running for development, and it includes the full modified steps I ran based on this document to get mailman 3 working. That guide is here:
https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide
The latest setup guide is available here: http://gnu-mailman.readthedocs.org/en/latest/src/mailman/docs/WebUIin5.html