As part of my new found involvement with the Talk Euro project (aiming to produce an online, commentable, annotatable version of the EU constitution) I’ve been considering how to use Moveable Type to keep track of different versions of a particular clause or article in a document.

The issue is that the constitution (and the other documents we hope to then use the toolset with) will inevitably be amended over time and it would be good to be able to keep track of those amendments and to present comments on previous versions of an article to those reading the latest version.

The most elegant solution I’ve come up with so far is a plugin that will scan the keywords field of the entry for notes of the form previously:xx where xx is the ID of a previous version of this article and extract all comments made on any entries located. The plugin then provides a container tag that can be used to display those comments. In practice, the user will probably want to then disable comments on the previous version of the article, and offer some link from the old version to the new one.

For those who are interested, you can download the initial version here, but note that I haven’t even gotten as far as testing it; version 0.1 is simply to illustrate how the process might work.

Before releasing it for any serious usage, I’d want to add sorting of comments/trackbacks, and a way of attaching a note to each entry to indicate which previous entry it comes from (as well as the obvious refactoring, etc). And of course once that’s all stabilised, a PHP version will follow.