On Fri, May 1, 2020, at 9:20 PM, Stephen J. Turnbull wrote:
Moved from email@example.com
Mark Sapiro writes:
For what it's worth, The actual mail list management, i.e. receiving and delivering posts, only involves Mailman core and your mailman suite config file is only for Postorius and HyperKitty and doesn't affect Mailman core.
Aaargghh! We should not be doing this to users. If we're going to have a "mailman suite" project, there should be a single file for configuration of *all* installed components, at least for "vanilla" installations. (It's bad enough that in many installations one has to configure the webserver three times, once in a front-end like Apache or nginx, once in a wsgi dispatcher like uWSGI, and once in Django.)
I wonder if an interactive setup wizard would be useful to help with such issues?
I have thought of being able to unify the configuration files, but except the email configuration, everything else seems to be separate for django and core. A couple of settings like API URL, user and password Postorius' own URL could be removed if we are add the ability of either component's to read other's configuration.
I understand that it may take a ton of work and backward incompatibility to implement this, or even make substantial progress, so (until I have time to do it myself) I'm not seriously suggesting it at this time.
It occurred to me that we could have a short comment at the top of every config file that lists all the config files and what they control, with one marked "(this file)". Or something. WDOT?
That is a good idea, except I don't know yet how to do that yet. Especially, settings.py is huge mess and is often the hardest for me to figure out a good story for. We should definitely add headers on top of each config file template with the details about them.
The fact that Django expects it's settings to be a "module" and not really a file system path makes things interesting. I did start working on mailman-web project to make things easier, especially, this1 function & script.
The idea is to get rid of django-admin and manage.py mess and just have a single mailman-web CLI which would be able to read the configs from
/etc/mailman3/settings.py by just adding
sys.path. Someday, I envision it to even provide uwsgi/gunicorn/some other WSGI (or even ASGI soon;) server so you could have something likemailman-web start/stop` command which you could use as a systemd service like mailman core itself.
I do need to spend a bit more time on it to polish the solution. It is possibly something also which could read Mailman Core's configration and read the Email configs.