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 -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
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

Reply via email to