[Mailman-Developers] Developing for mailman is hard

Ethan Fremen i at mindlace.net
Fri May 4 05:19:36 CEST 2007


Hi! I'm a spoiled young brat who used to have ambitions to be a graphic 
designer, did a couple of underground 'zines right around when this 
whole "web" thing started.

Anyway, so I got dragged kicking and screaming into the programming side 
of things- astute googling would find some posts of me complaining that 
there's no good GUI for Apache.

What drew me to mailman back in the mid 90's was the fact that it had a 
nice web interface, so I have always thought of mailman as a web app 
that happens to handle message processing.

Client side web development is really kind of dreamy; you edit the file, 
upload it to the server, see what's changed, lather rinse repeat.

PHP doesn't stray far from this model; most PHP "apps" are "drop this 
folder into your DOCHOME and give it DB privs" to set up.

Usually, developing for these apps can be done right from a checkout, or 
at the very least once the build process is complete there aren't any 
dependencies on it.

I can find no way to get anywhere close to this model in trying to 
improve the web UI.

To be clear, my ignorance of make, ant, and all that is pretty much 
nonexistent, so I'm hoping my most crucial problems are merely on 
account of that ignorance.

* running instance -> checkout issues.

I want to make changes to mailman python objects and get those changes 
back into a checkin. The closest I came to a working approach was: 1.) 
build mailman. 2.) fiddle settings so that the web UI doesn't interfere 
with other mailman install. 3.) remove the Mailman directory and symlink 
the Mailman directory from the repository.

This more or less works, but any time I want to add, rename or delete 
anything I have to fix all the makefile stuff in order for the branch to 
be buildable. I also can't re-run the build process without repeating 
the delete/symlink dance.

(also, the HTTPserver has to be restarted on each change... i vaguely 
fixed that on my branch, but I have no idea if that made it in elsewhere).

This will partially be mitigated if we move to a distributed source code 
model, because I can just maintain all the utterly gerfucked branches I 
need to and I won't be cluttering other people's revision logs with all 
sorts of SVN modifications.

How do you "round trip" between a test instance and source code?

* Templates bult on compile.

I want to make changes to the templates and then make sure they build 
properly in all languages, I have the right i18n strings, etc.

The UI templates seem to be built during compile time; while there is 
vast consensus that pre-building templates should change, is there any 
way to just rebuild templates from the command line?

There are a bunch of other itches I have, but this is the one that makes 
scratching most difficult for me at the moment.

Thanks for listening ;)

~ethan


More information about the Mailman-Developers mailing list