As I’ve touched on before, one of the areas I’ve been exploring as part of the Social Documents projects is ways of managing document revisions. With a major United Nations summit coming up in September (and the 60th anniversary of the charter on Sunday) I’d like my UN Charter site to be better equipped to handle any amendments to the charter that might be made, but as more and more public documents come online it will be important to be able to look back through their histories and see how they’ve evolved.

The version management tool of choice for many coders is currently subversion, often coupled with trac for project management. So one avenue of exploration that seemed to make sense was to use that pairing to manage a multi-part document.

In order to get cross-referencing and formatting working, I decided to patch trac so that it would treat source code in the subversion repository as wiki text (a relatively straightforward patch as the system is nice and modular). It’s looking pretty good right now, though as yet I only have the Preamble and Chapter I of the charter in the repository.

What I’ve quickly come to realise is that hacking trac to form a core for a social document system would be a lot of work. The repository browsing is nice, but adding and navigating commenting features would be a fairly substantial amount of work, probably more than writing something from scratch. Using subversion at the core, however, may well be a solid way forward — it just needs the right front-end.