On Sat, Jan 28, 2023 at 7:44 PM Mark Sapiro <mark@msapiro.net> wrote:
On 1/27/23 23:53, Odhiambo Washington wrote:
I have reread what you wrote now and I'm beginning to get the hang of
this
method. My observation is that it can only be _obvious_ to someone very familiar with Python config to decipher that *additional* settings *that can be augmented or overridden in /etc/mailman3/settings.py* can be obtained from: /PATH-TO/mailman_web/settings/{base|mailman}.py after they have noticed these two lines in the sample settings given in /etc/mailman3/settings.py:
from mailman_web.settings.base import *from mailman_web.settings.mailman import *
This is how it was always done in Mailman 2.1 and how it should have been done in Mailman 3's Django web UI from the start, but wasn't.
MM 2.1 had mm_cfg.py which had
from Defaults import * ################################################## # Put YOUR site-specific settings below this line.
[At first instance, it is not obvious that mailman_web.settings.base and mailman_web.settings.mailman are actually paths in Python - which magically translates to mailman_web/settings/base.py and mailman_web/settings/mailman.py]
This is very basic Python.
Granted, I am a slow learner, and perhaps already so mixed up after reading the myriad HOWTOs for installing MM3 that are available online. I am tempted to say there are many like me who are likely to miss "where to obtain" other settings from.
For example, my mind all along has been tuned to having a settings_local.py for overriding the settings.py. However, with this particular documentation, it would appear that everything is intended to just go into /etc/mailman3/settings.py.
In that method you had the defaults in settings.py which at the end imported settings_local.py.
This method has defaults in /PATH-TO/mailman_web/settings/{base|mailman}.py and those are imported at the beginning of settings.py which then has overrides. This is preferable because it allows things in settings.py like
HAYSTACK_CONNECTIONS['default']['PATH'] = 'some path'
to just override that one thing rather than having to redefine all of HAYSTACK_CONNECTIONS or import it from settings in settings_local.py.
Is it possible to modify the documentation to somehow make it obvious (in a language that a layman can easily understand, that those two "import *" _DO establish a base set of settings that can be augmented or overridden in /etc/mailman3/settings.py_ and that those settings are in what file(s) ?
Again, this is very basic Python, but if you submit a merge request to update
https://gitlab.com/mailman/mailman-suite-doc/-/blob/master/source/install/vi...,
we'll certainly consider it.
Hi Mark,
Before I wrote this email that you have responded to, I was in the process of writing another email to you offlist. I kept it in abbeyance. Now that you have mentioned https://gitlab.com/mailman/mailman-suite-doc/-/blob/master/source/install/vi...,, please show me how to import it, edit. Then I can submit a diff. Alternatively, I'd love to be given access to edit that document (and the edit can be reviewed before getting published) to make it easy to follow by someone with zero python background. I am willing to invest some time in improving it for laymen.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)