RFC: Config complexity [was: I have issue where it does not send ...]
Moved from mailman-users@mailman3.org.[1]
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 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?
Steve
Footnotes: [1] https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/...
Stephen J. Turnbull wrote:
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 fell foul of this myself to be honest and it took me a while to get it right in my head. One thing I was wondering is if the name of Mailman-Suite is possibly misleading, especially as there used to be a Mailman-Bundler in the past. Something like Mailman Web Bootstrapper (though that possibly needs refining).
Andrew.
On 5/2/20 4:53 AM, Andrew Hodgson wrote:
I fell foul of this myself to be honest and it took me a while to get it right in my head. One thing I was wondering is if the name of Mailman-Suite is possibly misleading, especially as there used to be a Mailman-Bundler in the past. Something like Mailman Web Bootstrapper (though that possibly needs refining).
I agree that the name of the mailman-suite project is wrong because all it is is an example Django project for Postorius and Hyperkitty whereas the mailman-suite-doc project is aptly named as it is the source for <https://docs.mailman3.org/en/latest/> and does cover everything (so far; maybe in the not too distant future we will have Affinity and Empathy too). I was thinking along the lines of mailman-web or even mailman-web-example. Something more in line with its README which says
============================= Mailman Suite example project
This example project is meant to give you a quick development setup for using both Hyperkitty and Postorius in a single Django instance, providing you a web interface for Mailman 3 configuration and web access to the archives.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, May 1, 2020, at 9:20 PM, Stephen J. Turnbull wrote:
Moved from mailman-users@mailman3.org.1
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 /etc/mailman3
to sys.path. Someday, I envision it to even provide uwsgi/gunicorn/some other WSGI (or even ASGI soon;) server so you could have something like
mailman-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.
-- thanks, Abhilash Raj (maxking)
participants (4)
-
Abhilash Raj
-
Andrew Hodgson
-
Mark Sapiro
-
Stephen J. Turnbull