summaryrefslogtreecommitdiff
path: root/src/SW/Sietima/document.en.rest.txt
blob: 846c504321b89a53bb795b747668ac32ecc16a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
====================================================
Sietima, a mailing list manager construction toolkit
====================================================
:CreationDate: 2016-08-29 12:20:04
:Id: SW/Sietima
:tags: - perl
       - software
 
What is it
==========
 
Sietima is a mailing list manager construction toolkit, written in
Perl 5. It's an exercise in modularity, a showcase of the latest
features of Perl 5, and an actually usable mailing list manager.
 
History
=======
 
Once upon a time, there was a mailing list manager called Siesta,
written by Richard Clamp, Greg McCarrol and Simon Winstow. You can
still look at the `Subversion repository`_`development mailing list
archives`_`the slides of the talk Richard gave`_ at `YAPC::EU
2003`_, and `the full history as written by Simon`_.
 
It is completely plugin-driven, and has per-user configuration. I
still run a few lists on Siesta.
 
Fast forward 13 years: Perl and CPAN have come a long way. Can we
write a better list manager now? How hard can it be? That's why I
started writing Sietima.
 
Construction toolkit?
=====================
 
Sietima provides a bunch of modules you can plug together to make your
ideal mlm. Writing new plugins to add features should be as easy as
possible. It is currently not a "just works" application, although the
repository includes an `example application`_ that works.
 
Is it production-ready?
=======================
 
Yes! I'm using Sietima to run three mailing lists on this
domain. Since I use ``qmail``, I have the following configuration:
 
``/var/qmail/users/assign`` contains lines like::
 
    +the-list:mailinglists:1016:1004:/var/qmail/mailinglists/:-:the-list:
 
  so messages sent to ``the-list@thenautilus.net`` (and all addresses
  of the form ``the-list-*@thenautilus.net``) are routed to the
  ``mailinglists`` user
 
``/var/qmail/mailinglists/.qmail-the-list`` is::
 
    |/usr/local/sietima/bin/sietima-the-list send
 
  so messages sent to the list go through the list-specific program
 
``/var/qmail/mailinglists/.qmail-the-list-bounce`` is::
 
    &dakkar@thenautilus.net
 
  so bounces go to me (I haven't written VERP or bounce handler
  plugins)
 
``/usr/local/sietima/bin/sietima-the-list`` looks very much like the
  `example application`_
 
Contributing
============
 
Check out `the source code`_, push your branch somewhere, then `email
me about it`_. Or `ask me to give you write access to the repository`_.
 
.. _`Subversion repository`: https://siesta.svn.unixbeard.net/trunk/siesta/
.. _`development mailing list archives`: http://siesta.unixbeard.net/siesta/archive/siesta-dev/lurker_15.html
.. _`the slides of the talk Richard gave`: http://unixbeard.net/~richardc/talks/siesta/
.. _`YAPC::EU 2003`: http://conferences.mongueurs.net/ye2003/talk/355
.. _`the full history as written by Simon`: http://www.thegestalt.org/simon/siesta-article.pod
 
.. _`example application`: /cgit/Sietima/tree/example/sietima
 
.. _`the source code`: /cgit/Sietima/
.. _`email me about it`: mailto:dakkar@thenautilus.net?subject=Code%20for%20Sietima
.. _`ask me to give you write access to the repository`: mailto:dakkar@thenautilus.net?subject=Please%20allow%20me%20to%20push%20to%20Sietima