~barry/mailman/events-and-web

« back to all changes in this revision

Viewing changes to src/mailman/docs/ArchiveUIin5.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 the archive ui in five minutes
 
3
=====================================
 
4
 
 
5
The `hyperkitty`_ application aims at providing an interface to visualize and
 
6
explore Mailman archives.
 
7
 
 
8
This is a `Django`_ project.
 
9
 
 
10
Requirements
 
11
============
 
12
 
 
13
- A mail archive in `maildir format`_ (no, you don't need a running Mailman
 
14
  3!)  Eventually hyperkitty will support `mbox format`_ for backward
 
15
  compatibility with *Pipermail*, and *zipped maildirs* seem like a good idea
 
16
  to save space.  **Beware:** Although you'd think that we would be able to
 
17
  manipulate the venerable *mbox* format safely and efficiently, that doesn't
 
18
  seem to be the case.  *Maildir* archives are **strongly** preferred, because
 
19
  they are more robust to program bugs (whether in Mailman, hyperkitty, or in
 
20
  the originating MUA!)
 
21
- Django is the web framework that supports the UI.
 
22
- `bunch`_ DOES WHAT?
 
23
- The `notmuch mail indexer`_ is used to generate indexes (and requires
 
24
  `Xapian`_).
 
25
- hyperkitty itself, which is a UI, and not responsible for maintaining the
 
26
  message archive itself.  (Since the archive is in `maildir format`_, any
 
27
  modern MTA or MDA can build one for you.)
 
28
 
 
29
 
 
30
Get it running (under virtualenv):
 
31
----------------------------------
 
32
 
 
33
It is generally a good idea to use `virtualenv`_ to create a stable
 
34
environment for your Python applications.
 
35
 
 
36
- Create the virtualenv::
 
37
 
 
38
    % virtualenv mailman3
 
39
 
 
40
- Activate the virtualenv::
 
41
 
 
42
    % cd mailman3
 
43
    % source bin/activate
 
44
 
 
45
You don't *have* to use virtualenv, though, and if you don't want to, just
 
46
omit the preceding steps.  Continue with these steps.
 
47
 
 
48
- Install Django and dependencies::
 
49
 
 
50
    % easy_install django
 
51
    % easy_install bunch
 
52
 
 
53
- Install notmuch -- these are bindings that come with the notmuch C library.
 
54
  The easiest way is probably to install them for your OS vendor and then
 
55
  symlink them into the virtualenv similar to this::
 
56
 
 
57
    % yum install -y python-notmuch
 
58
 
 
59
- Note: on a multiarch system like Fedora, the directories may be lib64 rather
 
60
  than lib on 64 bit systems.  Next::
 
61
 
 
62
    % cd lib/python2.7/site-packages
 
63
    % ln -s /usr/lib/python2.7/site-packages/notmuch .
 
64
 
 
65
- Note: this is the version of notmuch I tested with; others may work::
 
66
 
 
67
    % ln -s /usr/lib/python2.7/site-packages/notmuch-0.11-py2.7.egg-info .
 
68
 
 
69
- Install the hyperkitty sources::
 
70
 
 
71
    % git clone http://ambre.pingoured.fr/cgit/hyperkitty.git/
 
72
 
 
73
 
 
74
Running hyperkitty
 
75
------------------
 
76
 
 
77
- Start it::
 
78
 
 
79
    % cd hyperkitty
 
80
 
 
81
- Put the static content where it should be::
 
82
 
 
83
    % python manage.py collectstatic
 
84
 
 
85
- Run the Django server::
 
86
 
 
87
    % python manage.py runserver
 
88
 
 
89
 
 
90
.. _`hyperkitty`: https://launchpad.net/hyperkitty
 
91
.. _`Django`: http://djangoproject.org/
 
92
.. _`notmuch mail indexer`: http://notmuchmail.org
 
93
.. _`bunch`: http://pypi.python.org/pypi/bunch
 
94
.. _`Xapian`: http://xapian.org/
 
95
.. _`maildir format`: http://en.wikipedia.org/wiki/Maildir
 
96
.. _`mbox format`: http://en.wikipedia.org/wiki/Mbox
 
97
.. _`virtualenv`: http://pypi.python.org/pypi/virtualenv