Differences between revisions 20 and 28 (spanning 8 versions)
Revision 20 as of 2012-09-05 08:59:35
Size: 3761
Editor: mindlace
Comment: Added os x note
Revision 28 as of 2015-01-11 23:28:19
Size: 2701
Comment: link to Postorius, explain that this will also install core and client, link to HyperKitty install
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma page-filename DEV/versions/15564855
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.
#pragma page-filename DEV/versions/13303871
This is a quick guide to setup a development environment to work on [[DEV/Web Interface|Postorius, Mailman 3's web UI]] (and, in the process, install the core Mailman engine and Mailman.client as well). 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.

Also, this 5-minute guide will not help you install HyperKitty, the web-based list archiver; for that, see [[https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide|this guide]].

{{{#!wiki warning

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.
}}}
Line 8: Line 17:
{{{$ sudo apt-get install bzr python-setuptools python-dev build-essential}}} {{{$ sudo apt-get install bzr python-setuptools python-dev build-essential postfix}}}
Line 10: Line 19:
{{{#!wiki caution

OS X Users

The below has you installing & using [[http://mxcl.github.com/homebrew/|homebrew]]. You may get your python & bazaar some other way, but staying with the system python will cause you problems.
}}}

{{{
$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
$ brew install python
$ echo "export PATH=/usr/local/share/python:$PATH" >> ~/.bash_profile
$ source ~/.bash_profile
$ brew install bazaar
$ pip install distribute}}}

Install virtualenv and virtualenvwrapper:

{{{
$ pip install virtualenv
$ pip install virtualenvwrapper
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bash_profile
$ echo "source `which virtualenvwrapper.sh`" >> ~/.bash_profile
$ export WORKON_HOME=$HOME/.virtualenvs
$ source virtualenvwrapper.sh }}}

Create the postorious virtual environment:

{{{
$ mkvirtualenv postorius
New python executable in postorius/bin/python
Installing setuptools............done.
Installing pip...............done.
virtualenvwrapper.user_scripts creating {your_home_directory}/.virtualenvs/postorius/bin/predeactivate
virtualenvwrapper.user_scripts creating {your_home_directory}/.virtualenvs/postorius/bin/postdeactivate
virtualenvwrapper.user_scripts creating {your_home_directory}/.virtualenvs/postorius/bin/preactivate
virtualenvwrapper.user_scripts creating {your_home_directory}/.virtualenvs/postorius/bin/postactivate
virtualenvwrapper.user_scripts creating {your_home_directory}/.virtualenvs/postorius/bin/get_env_details
(postorius) $}}}

Now you should see (postorius) before your prompt.

For setup on Windows, and more advanced setup, see the [[http://virtualenvwrapper.readthedocs.org/en/latest/install.html|Virtualenvwrapper documentation]].


== Get the sources ==
Get the sources
Line 64: Line 29:
== Install Django ==

{{{
(postorius)$ pip install django
(postorius)$ pip install django-social-auth}}}
Line 77: Line 36:
(postorius)$ python bootstrap.py
(po
storius)$ bin/buildout
(postorius)$ bin/test
}}}
(postorius)$ python setup.py install}}}
Line 85: Line 41:
(postorius)$ bin/mailman start (postorius)$ mailman start

This is a quick guide to setup a development environment to work on Postorius, Mailman 3's web UI (and, in the process, install the core Mailman engine and Mailman.client as well). 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.

Also, this 5-minute guide will not help you install HyperKitty, the web-based list archiver; for that, see this guide.

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.

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

Máirín Duffy

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.

Máirín Duffy

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

maxking

MailmanWiki: DEV/A 5 minute guide to get the Mailman web UI running (last edited 2018-04-20 06:16:05 by maxking)