I have been working on a new sub-project Mailman Web[1][2]. This project
basically combines Postorius and Hyperkitty together in a single package which
you can easily use to serve Mailman's web interface.
The basic motivation behind this was to make it simpler for people to install
the web interface *and* make it easier for people to configure Mailman's web
ui.
Both Postorius and Hyperkitty are based on Django Web Framework, which uses
settings.py as its default configuration language. While it is quite convenient
for Python developers to be able to put Python statements in configuration to
join/edit/configure settings. However, I think a traditional INI, or TOML style
configuration is easier for non-developers without having to worry about
PYTHONPATH, valid Python sytax etc, etc.
For this reason, I decided to combine all the projects together into a Django
project which can be easily installed and run:
$ pip install mailman-web
# Export Settings for commands to just work.
$ export DJANGO_SETTINGS=mailman_web.settings
$ django-admin migrate
$ django-admin runserver
This should get you default settings for running. If you want to customize your
installation, which you almost always would need to in a prod environment, you
can create a config file at one of these locations (which are searched in
following order):
- /etc/mailman-web.toml
- /etc/mailman3/mailman-web.toml
- ./mailman-web.toml
Note that we support only TOML as the configuration language[3][4] because of
its simplicity. I would have loved to use INI, like Mailman Core, but it turns
out to be way too simple to represent more complex data structures like maps
and tables, that is commonly used in Django's Settings.
This project is currently in alpha stage (I created it today!), but can be
installed with pip[5] and in my basic tests works. There isn't much in the
project itself beyond some configurations.
I also took this opportunity to document all the settings that are used in
Mailman Web (both Postorius and Hyperkitty) together[6]. This is documented in
code and so I really hope that it won't go out of date like many other places
;-) Improvements to docs is very welcome, just a modification of a comment and
is quite easy to propose right in your
web browser using Gitlab!
Any questions, comments or suggestions are welcome. You can open issues for
feature requests on gitlab[1] too.
[1]: https://gitlab.com/mailman/mailman-web
[2]: https://mailman-web.readthedocs.io/en/latest/
[3]: https://github.com/maxking/django-settings-toml
[4]: https://github.com/toml-lang/toml
[5]: https://pypi.org/project/mailman-web/
[6]: https://mailman-web.readthedocs.io/en/latest/settings.html
--
thanks,
Abhilash Raj (maxking)
_______________________________________________
Mailman-Developers mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3
Security Policy: https://wiki.list.org/x/QIA9