summaryrefslogtreecommitdiff
path: root/src/mailman/docs/START.rst
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/docs/START.rst')
-rw-r--r--src/mailman/docs/START.rst235
1 files changed, 0 insertions, 235 deletions
diff --git a/src/mailman/docs/START.rst b/src/mailman/docs/START.rst
deleted file mode 100644
index 94db25146..000000000
--- a/src/mailman/docs/START.rst
+++ /dev/null
@@ -1,235 +0,0 @@
-.. _start-here:
-
-================================
-Getting started with GNU Mailman
-================================
-
-Copyright (C) 2008-2016 by the Free Software Foundation, Inc.
-
-
-Contact Us
-==========
-
-Contributions of code, problem reports, and feature requests are welcome.
-Please submit bug reports on the Mailman bug tracker at
-https://gitlab.com/mailman/mailman/issues (you need to have a login on Gitlab
-to do so). You can also send email to the mailman-developers@python.org
-mailing list, or ask on IRC channel ``#mailman`` on Freenode.
-
-
-Requirements
-============
-
-For the Core, Python 3.4 or newer is required. It can either be the default
-'python3' on your ``$PATH`` or it can be accessible via the ``python3.4``
-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 2 is not supported.
-
-You may need some additional dependencies, which are either available from
-your OS vendor, or can be downloaded automatically from the `Python
-Cheeseshop`_.
-
-
-Documentation
-=============
-
-The documentation for Mailman 3 is distributed throughout the sources. The
-core documentation (such as this file) is found in the ``src/mailman/docs``
-directory, but much of the documentation is in module-specific places. A
-prebuilt HTML version of `Mailman 3 documentation`_ is available at
-pythonhosted.org, as is `Postorius documentation`_. `HyperKitty
-documentation`_ is available at ReadTheDocs.
-
-The `Development Setup Guide`_ is a recent step-by-step explanation of
-how to set up a complete Mailman 3 system including the Mailman 3 core
-and basic client API, Postorius, and HyperKitty.
-
-Testing Mailman 3
-=================
-
-To run the Mailman test suite, just use the `tox`_ command::
-
- $ tox
-
-`tox` creates a virtual environment (virtualenv) for you, installs all the
-dependencies into that virtualenv, and runs the test suite from that
-virtualenv. By default it does not use the `--system-site-packages` so it
-downloads everything from the Cheeseshop.
-
-You do have access to the virtualenv, and you can use this to run individual
-tests, e.g.::
-
- $ .tox/py34/bin/python -m nose2 -vv -P user
-
-Use `.tox/py34/bin/python -m nose2 --help` for more options.
-
-If you want to run the full test suite against the PostgreSQL database, set
-the database up as described in :doc:`DATABASE`, then create a `postgres.cfg`
-file any where you want. This `postgres.cfg` file will contain the
-``[database]`` section for PostgreSQL, e.g.::
-
- [database]
- class: mailman.database.postgresql.PostgreSQLDatabase
- url: postgres://myuser:mypassword@mypghost/mailman
-
-Then run the test suite like so::
-
- $ MAILMAN_EXTRA_TESTING_CFG=/path/to/postgres.cfg tox -e pg
-
-If you want to run an individual test against PostgreSQL, you would do it like
-so::
-
- $ MAILMAN_EXTRA_TESTING_CFG=/path/to/postgres.cfg .tox/pg/bin/python -m nose2 -vv -P user
-
-Note that the path specified in `MAILMAN_EXTRA_TESTING_CFG` must be an
-absolute path or some tests will fail.
-
-
-Building for development
-------------------------
-
-To build Mailman for development purposes, you can create a virtual
-environment outside of tox. You need to have the `virtualenv`_ program
-installed, or you can use Python 3's built-in `pyvenv`_ command.
-
-First, create a virtual environment (venv). The directory you install the
-venv into is up to you, but for purposes of this document, we'll install it
-into ``/tmp/mm3``::
-
- % pyvenv /tmp/mm3
-
-Now, activate the virtual environment and set it up for development::
-
- % source /tmp/mm3/bin/activate
- % python setup.py develop
-
-Sit back and have some Kombucha while you wait for everything to download and
-install.
-
-Build the online docs by running::
-
- % python setup.py build_sphinx
-
-If ``setup.py`` fails to recognize the ``build_sphinx`` command, then
-just install Sphinx in your virtualenv::
-
- % pip install sphinx
-
-This will automatically add the ``build_sphinx`` command to
-``setup.py``, so just re-run the command.
-
-Then visit::
-
- build/sphinx/html/index.html
-
-in your browser to start reading the documentation. Or you can just read the
-doctests by looking in all the 'doc' directories under the 'mailman' package.
-Doctests are documentation first, so they should give you a pretty good idea
-how various components of Mailman 3 work.
-
-Once everything is downloaded and installed, you can initialize Mailman and
-get a display of the basic configuration settings by running::
-
- $ mailman info -v
-
-
-Running Mailman 3
-=================
-
-What, you actually want to *run* Mailman 3? Oh well, if you insist. You will
-need to set up a configuration file to override the defaults and set things up
-for your environment. Mailman is configured using an "ini"-style
-configuration system.
-
-``src/mailman/config/schema.cfg`` defines the ini-file schema and contains
-documentation for every section and configuration variable. Sections that end
-in `.template` or `.master` are templates that must be overridden in actual
-configuration files. There is a default configuration file that defines these
-basic overrides in ``src/mailman/config/mailman.cfg``. Your own configuration
-file will override those.
-
-By default, all runtime files are put under a `var` directory in the current
-working directory.
-
-Mailman searches for its configuration file using the following search path.
-The first existing file found wins.
-
- * ``-C config`` command line option
- * ``$MAILMAN_CONFIG_FILE`` environment variable
- * ``./mailman.cfg``
- * ``~/.mailman.cfg``
- * ``/etc/mailman.cfg``
- * ``argv[0]/../../etc/mailman.cfg``
-
-Run the ``mailman info`` command to see which configuration file Mailman will
-use, and where it will put its database file. The first time you run this,
-Mailman will also create any necessary run-time directories and log files.
-
-Try ``mailman --help`` for more details. You can use the commands
-``mailman start`` to start the runner subprocess daemons, and of course
-``mailman stop`` to stop them.
-
-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 Shell
--------------
-
-The `Mailman 3 documentation`_ has examples which use the Mailman shell to
-interact with Mailman. To start the shell type ``mailman shell`` in your
-terminal.
-
-There are some testings functions which need to be imported first before you
-use them. They can be imported from the modules available in
-``mailman.testing``. For example, to use ``dump_list`` you first need to
-import it from the ``mailman.testing.documentation`` module.
-
-
-Mailman Web UI
---------------
-
-The Mailman 3 web UI, called *Postorius*, interfaces to core Mailman engine
-via the REST client API. It is expected that this architecture will make it
-possible for users with other needs to adapt the web UI, or even replace it
-entirely, with a reasonable amount of effort. However, as a core feature of
-Mailman, the web UI will emphasize usability over modularity at first, so most
-users should use the web UI described here.
-
-
-The Archiver
-------------
-
-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.
-
-A new archive UI called `Hyperkitty`_, based on the `notmuch mail indexer`_
-and `Django`_, was prototyped at the PyCon 2012 sprint by Toshio Kuratomi.
-The Hyperkitty archiver is very loosely coupled to Mailman 3 core. In fact,
-any email application that speaks LMTP or SMTP will be able to use Hyperkitty.
-
-
-.. _`Postorius`: https://gitlab.com/mailman/postorius
-.. _`Hyperkitty`: https://gitlab.com/mailman/hyperkitty
-.. _`Django`: http://djangoproject.org/
-.. _`REST client module`: https://gitlab.com/mailman/mailmanclient
-.. _`Five Minute Guide the Web UI`: WebUIin5.html
-.. _`blog post`: http://wiki.list.org/display/DEV/A+5+minute+guide+to+get+the+Mailman+web+UI+running
-.. _`notmuch mail indexer`: http://notmuchmail.org
-.. _`five minute guide to Hyperkitty`: ArchiveUIin5.html
-.. _`Pycon 2012 sprint`: https://us.pycon.org/2012/community/sprints/projects/
-.. _`Python Cheeseshop`: http://pypi.python.org/pypi
-.. _`virtualenv`: http://www.virtualenv.org/en/latest/
-.. _`pyvenv`: https://docs.python.org/3/library/venv.html
-.. _`Mailman 3 documentation`: http://www.pythonhosted.org/mailman/
-.. _`Postorius documentation`: http://www.pythonhosted.org/postorius/
-.. _`HyperKitty documentation`: https://hyperkitty.readthedocs.org/en/latest/development.html
-.. _`Development Setup Guide`: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide
-.. _tox: https://testrun.org/tox/latest/