Stephen Turnbull has proposed merging lp:~stephen-xemacs/mailman/docs-20130720 
into lp:mailman.

Requested reviews:
  Mailman Coders (mailman-coders)

For more details, see:
https://code.launchpad.net/~stephen-xemacs/mailman/docs-20130720/+merge/176021

Minor doc improvements:
- major rewrite of MTA.rst
- to graphs in 8-miles-high.rst
- requires exactly Python 2.7 (don't imply 2.8 will ever happen) in 
INTRODUCTION.rst
- refactor some parts of START.rst

-- 
https://code.launchpad.net/~stephen-xemacs/mailman/docs-20130720/+merge/176021
Your team Mailman Coders is requested to review the proposed merge of 
lp:~stephen-xemacs/mailman/docs-20130720 into lp:mailman.
=== modified file 'src/mailman/docs/8-miles-high.rst'
--- src/mailman/docs/8-miles-high.rst	2013-03-19 01:31:52 +0000
+++ src/mailman/docs/8-miles-high.rst	2013-07-20 18:39:23 +0000
@@ -37,10 +37,12 @@
      node [shape=box, color=lightblue, style=filled];
      msg [shape=ellipse, color=black, fillcolor=white];
      lmtpd [label="LMTP\nSERVER"];
+     rts [label="Return\nto Sender"];
      msg -> MTA [label="SMTP"];
      MTA -> lmtpd [label="LMTP"];
      lmtpd -> MTA [label="reject"];
      lmtpd -> IN -> PIPELINE [label=".pck"];
+     IN -> rts;
      lmtpd -> BOUNCES [label=".pck"];
      lmtpd -> COMMAND [label=".pck"];
    }
@@ -49,7 +51,9 @@
 whether the post (or administrative request) will be processed.  If not
 allowed, the message pickle is discarded, rejected (returned to sender), or
 held (saved for moderator approval -- not shown).  Otherwise the message is
-added to the `pipeline` (i.e. posting) queue.
+added to the `pipeline` (i.e. posting) queue.  (Note that rejecting at this
+stage is *not* equivalent to rejecting during LMTP processing.  This issue is
+currently unresolved.)
 
 Each of the `command`, `bounce`, and `pipeline` queues is processed by a
 *pipeline of handlers* as in Mailman 2's pipeline.  (Some functions such as
@@ -60,7 +64,8 @@
 posted messages for distribution to the list membership end up in the `out`
 queue for injection into the MTA.
 
-The `virgin` queue is a special queue for messages created by Mailman.
+The `virgin` queue (not depicted above) is a special queue for messages created
+by Mailman.
 
 .. graphviz::
 
@@ -97,12 +102,13 @@
         subgraph rules {
           rankdir=TB;
           node [shape=record];
-          approved [label="<in> approved | { <no> | <yes> }"];
-          emergency [label="<in> emergency | { <no> | <yes> }"];
-          loop [label="<in> loop | { <no> | <yes> }"];
-          modmember [label="<in> member\nmoderated | { <no> | <yes> }"];
-          administrivia [group="0", label="<in> administrivia | <always> "];
-          maxsize [label="<in> max\ size | {<in> no | <yes>}"];
+          approved [label="<in> approved | { <no> no | <yes> }"];
+          emergency [label="<in> emergency | { <no> no | <yes> }"];
+          loop [label="<in> loop | { <no> no | <yes> }"];
+          modmember [label="<in> member\nmoderated | { <no> no | <yes> }"];
+          administrivia [group="0",
+                        label="<in> administrivia | { <no> no | <yes> }"];
+          maxsize [label="<in> max\ size | {<no> no | <yes>}"];
           any [label="<in> any | {<no> | <yes>}"];
           truth [label="<in> truth | <always>"];
 
@@ -114,6 +120,7 @@
           DISCARD [shape=invhouse, color=black, style=solid];
           MODERATION [color=wheat];
           HOLD [color=wheat];
+          action [color=wheat];
         }
         { PIPELINE [shape=box, style=filled, color=cyan]; }
 
@@ -130,7 +137,8 @@
         modmember:no -> administrivia:in;
         modmember:yes -> MODERATION;
 
-        administrivia:always -> maxsize:in;
+        administrivia:no -> maxsize:in;
+        administrivia:yes -> action;
 
         maxsize:no -> any:in;
         maxsize:yes -> MODERATION;
@@ -145,7 +153,7 @@
 Configuration
 =============
 
-Uses `lazr.config`_, essentially an "ini"-style configuration format.
+Mailman 3 uses `lazr.config`_, essentially an "ini"-style configuration format.
 
 Each Runner's configuration object knows whether it should be started
 when the Mailman daemon starts, and what queue the Runner manages.

=== modified file 'src/mailman/docs/INTRODUCTION.rst'
--- src/mailman/docs/INTRODUCTION.rst	2013-01-01 14:05:42 +0000
+++ src/mailman/docs/INTRODUCTION.rst	2013-07-20 18:39:23 +0000
@@ -82,7 +82,7 @@
 Requirements
 ============
 
-Mailman 3.0 requires `Python 2.7`_ or newer.
+Mailman 3.0 requires `Python 2.7`_.
 
 
 .. _`GNU Mailman`: http://www.list.org

=== modified file 'src/mailman/docs/MTA.rst'
--- src/mailman/docs/MTA.rst	2012-12-30 23:24:26 +0000
+++ src/mailman/docs/MTA.rst	2013-07-20 18:39:23 +0000
@@ -2,34 +2,75 @@
 Hooking up your mail server
 ===========================
 
-Mailman needs to be hooked up to your mail server (a.k.a. *mail transport
-agent* or *MTA*) both to accept incoming mail and to deliver outgoing mail.
-Mailman itself never delivers messages to the end user; it lets its immediate
-upstream mail server do that.
-
-The preferred way to allow Mailman to accept incoming messages from your mail
-server is to use the `Local Mail Transfer Protocol`_ (LMTP_) interface.  Most
-open source mail server support LMTP for local delivery, and this is much more
-efficient than spawning a process just to do the delivery.
-
-Your mail server should also accept `Simple Mail Transfer Protocol`_ (SMTP_)
-connections from Mailman, for all outgoing messages.
-
-The specific instructions for hooking your mail server up to Mailman differs
-depending on which mail server you're using.  The following are instructions
-for the popular open source mail servers.
-
-Note that Mailman provides lots of configuration variables that you can use to
-tweak performance for your operating environment.  See the
+Mailman needs to communicate with your *MTA* (*mail transport agent*
+or *mail server*, the software which handles sending mail across the
+Internet), both to accept incoming mail and to deliver outgoing mail.
+Mailman itself never delivers messages to the end user.  It sends them
+to its immediate upstream MTA, which delivers them.  In the same way,
+Mailman never receives mail directly.  Mail from outside always comes
+via the MTA.
+
+Mailman accepts incoming messages from the MTA using the `Local Mail
+Transfer Protocol`_ (LMTP_) interface.  Mailman can use other incoming
+transports, but LMTP is much more efficient than spawning a process
+just to do the delivery.  Most open source MTAs support LMTP for local
+delivery.  If yours doesn't, and you need to use a different
+interface, please ask on the `mailing list or on IRC`_.
+
+Mailman passes all outgoing messages to the MTA using the `Simple Mail
+Transfer Protocol`_ (SMTP_).
+
+Cooperation between Mailman and the MTA requires some configuration of
+both.  MTA configuration differs for each of the available MTAs, and
+there is a section for each one.  Instructions for Postfix are given
+below.  We would really appreciate contributions of configurations for
+Exim and Sendmail, and welcome information about other popular open
+source mail servers.
+
+Configuring Mailman to communicate with the MTA is straightforward,
+and basically the same for all MTAs.  In your ``mailman.cfg`` file,
+add (or edit) a section like the following::
+
+    [mta]
+    incoming: mailman.mta.postfix.LMTP
+    outgoing: mailman.mta.deliver.deliver
+    lmtp_host: 127.0.0.1
+    lmtp_port: 8024
+    smtp_host: localhost
+    smtp_port: 25
+
+This configuration is for a system where Mailman and the MTA are on
+the same host.
+
+The ``incoming`` and ``outgoing`` parameters identify the Python
+objects used to communicate with the MTA.  The ``deliver`` module used
+in ``outgoing`` is pretty standard across all MTAs.  The ``postfix``
+module in ``incoming`` is specific to Postfix.  See the section for
+your MTA below for details on these parameters.
+
+``lmtp_host`` and ``lmtp_port`` are parameters which are used by
+Mailman, but also will be passed to the MTA to identify the Mailman
+host.  The "same host" case is special; some MTAs (including Postfix)
+do not recognize "localhost", and need the numerical IP address.  If
+they are on different hosts, ``lmtp_host`` should be set to the domain
+name or IP address of the Mailman host.  ``lmtp_port`` is fairly
+arbitrary (there is no standard port for LMTP).  Use any port
+convenient for your site.  "8024" is as good as any, unless another
+service is using it.
+
+``smtp_host`` and ``smtp_port`` are parameters used to identify the
+MTA to Mailman.  If the MTA and Mailman are on separate hosts,
+``smtp_host`` should be set to the domain name or IP address of the
+MTA host.  ``smtp_port`` will almost always be 25, which is the
+standard port for SMTP.  (Some special site configurations set it to a
+different port.  If you need this, you probably already know that,
+know why, and what to do, too!)
+
+Mailman also provides many other configuration variables that you can
+use to tweak performance for your operating environment.  See the
 ``src/mailman/config/schema.cfg`` file for details.
 
 
-Exim
-====
-
-Contributions are welcome!
-
-
 Postfix
 =======
 
@@ -131,12 +172,19 @@
 .. _`mydestination`: http://www.postfix.org/postconf.5.html#mydestination
 
 
+Exim
+====
+
+Contributions are welcome!
+
+
 Sendmail
 ========
 
 Contributions are welcome!
 
 
+.. _`mailing list or on IRC`: START.html#contact-us
 .. _`Local Mail Transfer Protocol`:
    http://en.wikipedia.org/wiki/Local_Mail_Transfer_Protocol
 .. _LMTP: http://www.faqs.org/rfcs/rfc2033.html

=== modified file 'src/mailman/docs/START.rst'
--- src/mailman/docs/START.rst	2013-01-01 14:05:42 +0000
+++ src/mailman/docs/START.rst	2013-07-20 18:39:23 +0000
@@ -25,25 +25,33 @@
 implementation is provided).  The web interface (known as `Postorius`_) and
 archiver (known as `Hyperkitty`_) are in separate development.
 
-Contributions are welcome.  Please submit bug reports on the Mailman bug
-tracker at https://bugs.launchpad.net/mailman though you will currently need
-to have a login on Launchpad to do so.  You can also send email to the
[email protected] mailing list.
+
+Contact Us
+==========
+
+Contributions of code, problem reports, and feature requests are welcome.
+Please submit bug reports on the Mailman bug tracker at
+https://bugs.launchpad.net/mailman (you need to have a login on Launchpad to
+do so).  You can also send email to the [email protected] mailing
+list, or ask on IRC channel #mailman on Freenode.
 
 
 Requirements
 ============
 
 Python 2.7 is required.  It can either be the default 'python' on your
-``$PATH`` or it can be accessible via the ``python2.7`` binary.
-If your operating system does not include Python, see http://www.python.org
-downloading and installing it from source.  Python 3 is not yet supported.
+``$PATH`` or it can be accessible via the ``python2.7`` binary.  If
+your operating system does not include Python, see http://www.python.org
+for information about downloading installers (where available) and
+installing it from source (when necessary or preferred).  Python 3 is
+not yet supported.
 
 In this documentation, a bare ``python`` refers to the Python executable used
 to invoke ``bootstrap.py``.
 
-Mailman 3 is now based on the `zc.buildout`_ infrastructure, which greatly
-simplifies testing Mailman.  Buildout is not required for installation.
+The Mailman 3 build is now based on the `zc.buildout`_ infrastructure, which
+greatly simplifies testing Mailman.  Buildout is not required for installation
+of Mailman from a package.
 
 During the beta program, you may need some additional dependencies, such as a
 C compiler and the Python development headers and libraries.  You will need an
@@ -149,8 +157,9 @@
 ``bin/mailman start`` to start the runner subprocess daemons, and of course
 ``bin/mailman stop`` to stop them.
 
-Postorius is being developed as a separate, Django-based project.  For now,
-all configuration happens via the command line and REST API.
+Postorius, a web UI for administration and subscriber settings, is being
+developed as a separate, Django-based project.  For now, the most flexible
+means of configuration is via the command line and REST API.
 
 
 Mailman Web UI
@@ -167,16 +176,16 @@
 of Mailman 3 beta 1, and comes in several components.  In particular, it
 requires a `Django`_ installation, and Bazaar checkouts of the `REST client
 module`_ and `Postorius`_ itself.  Building it is fairly straightforward,
-however, given Florian Fuchs' `Five Minute Guide` from his `blog post`_ on the
+based on Florian Fuchs' `Five Minute Guide` from his `blog post`_ on the
 Mailman wiki.  (Check the `blog post`_ for the most recent version!)
 
 
 The Archiver
 ------------
 
-In Mailman 3, the archivers are decoupled from the core engine.  It is useful
-to provide a simple, standard interface for third-party archiving tools and
-services.  For this reason, Mailman 3 defines a formal interface to insert
+In Mailman 3, the archivers are decoupled from the core engine.  Instead,
+Mailman 3 provides a simple, standard interface for third-party archiving tools
+and services.  For this reason, Mailman 3 defines a formal interface to insert
 messages into any of a number of configured archivers, using whatever protocol
 is appropriate for that archiver.  Summary, search, and retrieval of archived
 posts are handled by a separate application.

_______________________________________________
Mailman-coders mailing list
[email protected]
http://mail.python.org/mailman/listinfo/mailman-coders

Reply via email to