On Jun 3, Mark Sapiro wrote:
Eli Barzilay wrote:
That's easy:
ScriptAliasMatch "^/([a-z-]+/)([a-z]+)(/?.*)$"
"/usr/lib/mailman/cgi-bin/$2/$1$3"Or replace that "[a-z]+" with "admin|admindb|confirm|...".
Yes, although I think that
ScriptAliasMatch "^/mailman/([a-z-]+/)([a-z]+)(/?.*)$"
"/usr/lib/mailman/cgi-bin/$2/$1$3"is probably a bit closer.
(Well, I also don't use a "mailman" in the url -- it's on a lists.* domain name, so there's no need for another element in the url that says that it's a mailing list...)
In any case, this:
Changing the GetScriptURL method in Mailman/MailList.py to the following
def GetScriptURL(self, scriptname, absolute=0): return re.sub('/([^/]*$)', '/' + self.internal_name() + r'/\1', Utils.ScriptURL(scriptname, self.web_page_url, absolute))
Seems to work for the admin interface, and will work for more but I won't guarantee it will work for everything.
was the missing bit -- I've actually looked at this function, but couldn't figure out whether it should change, or maybe it's Utils.ScrintURL that should change. Now it's clear -- that this one adds the list name, and your regexp hacks it into the right place ("right" wrt what I want...). Thanks!
BTW, it just happens (really by accident) that someone pointed me at http://www.w3.org/Provider/Style/URI today -- it's a good summary of what bugs me with the default mailman url scheme: "pipermail" is related to the implementation of the archiver,
"pipermail" in public archive URLs exists only in the web server
Alias /pipermail/ /usr/local/mailman/archives/public/
and the Defaults.py setting
PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/pipermail/%(listname)s'
It's easily changed to anything you like.
Yeah -- and that was the first thing I did... Only then I became greedy. (But regardless, I think that it's a bad convention to use when "pipermail" doesn't really mean anything to the end users -- unless I'm missing some expression (I'm not a native English speaker).)
and the <verb>/<list> thing is something that after 5 years of moderating about 10 lists I still can't remember. It's especially bad with links like:
http://<host>/admin/<list>/members?letter=a
where the verb is on one side of the list name, and the arguments are on the other side. It seems much better to me to think about the interfaces as being part of the list. It would even work better with URL completion...
Join the mailman-developers@python.org list; see the thread at <http://mail.python.org/pipermail/mailman-developers/2010-June/021093.html>, and join the discussion.
(Unfortunately my plate is so full it's not even funny...)
-- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life!