Hi all,
Just quick heads-up about what I'm spending my idle time doing at EuroPython 2010. I've begun work on the blueprint https://blueprints.launchpad.net/nav/+spec/unified-source-tree , which was proposed by Kristian about a year ago.
The blueprint is spot-on: As we've managed to reduce the number of programming languages involved in NAV, and as we are introducing more testing, having the subsystem structure in the the source code tree sucks. Basically, all the code that's left in the subsystem directory is Python code, and most of it is installed into the same package hierarchy. This means it makes no sense to split the source up into multiple "sub-project" directories.
So here's what I've done so far:
I've taken everything out of the subsystem directory and dispersed it into a new layout (as described by the full specification at http://metanav.uninett.no/devel:blueprints:unified_source ).
Also, we've been porting more and more of the web-based subsystems to Django. mod_python is officially dead, so we should really get up to speed on moving the legacy apps away from the native mod_python interface. A first baby step towards cleaning up some things here has been done on my branch:
Only static media files are installed in the Apache DocumentRoot (@webroot@) now. All python code goes in the library.
All the .htaccess files have been deleted. A top-level etc/apache/apache.conf contains the default vhost config for NAV, which defaults to a Django handler (and using our existing mod_python headerparserhandler). Any exceptions to this rule can be configured by dropping a file in etc/apache/subsystems which uses <Location> to configure the exception.
Exceptions from the default have been added for all native mod_python-interfacing apps and for static media.
Now, a few words of warning: - This has not been tested yet. It's just a bunch of rampant changes to the directory structure, with some added config changes.
- I found a several pieces of old documentation that was patently wrong or otherwise outdated. Rather than attempt at updating it, I deleted it.
- We're still stabilizing 3.6, some of which involves adding new files. Merging series/3.6.x on to this branch when new files have appeared will require manual intervention in the merge working copy before committing. Files will not be magically added to the correct subdirectories on merge, since mercurial doesn't version directories, only files.
- If you're working on a feature branch, please clone it and do a test-merge of my branch to see how it affects your changes. Until I'm satisfied that my changes work, changes should only be merged onto my branch, not the other way around.
- Not sure I'll have time to test the changes properly before I get back from EuroPython and finish my three weeks of vacation.
So, finally: The branch is located here: http://metanav.uninett.no/hg/features/unified-source-tree/
So much for being "quick" ...
Cheers from Birmingham!