I've been scrolling through the forums and noticed that a lot of people want support for X or Y programming language. Lets say.... python for example. At this moment, this means hacking our way into the apache2 plugin.
I would suggest (and partly volunteer if I find enough time) to split out plugins and implement a more generic hook system allowing plugins to hook into eachother.
This way, we could easily split out configuration of a vhost depending on what 'addons' the user has selected.
My plans for the moment are:
1. Implement a minimalistic hook system
to allow 'addons' to hook into apache2. This by exploring the plugin class and see how it would all fit together. Plugin hooks are different from how the module registeres events (and calls them) as they will return a value/string/array/.... that can be used by the plugin.
2. Implement a way for 'addons' to generically store their configuration
in the database. Now, all configuration is stored in the web_domain database, meaning, we have to adjust the schema each time we add support for a new 'language' or other apache feature. I was thinking of serialize/de-serialize. Other options would be to use JSON.
Also: addons should be able to override the default configuration loading by overloading load_configuration($domain_id)
and save_configuration($domain_id, $config_array)
3. Migrate current apache2 features/languages
to use this new system
5. Add support for additional stuff
like python through mod_python and/or mod_wsgi.
I'm not sure how long it will take me and how much time I can free up for this rather... thorough change. But before I even started, I wanted to hear some opinions on this approach. It would drastically simplify adding new apache features / expanding apache features imho.