The CodeWiki was really the original impetus for my writing my own Wiki tools, but it's turning out to be the last part I'm actually going to implement.

Essentially, the purpose of the CodeWiki is to provide documentation and definition facilities for code. That means online editing, for instance, patch management, the whole nine yards. A long-term project, indeed.

But simpler parts of it will already be quite useful, so I expect to be hitting some of this functionality relatively soon. We shall see.

Compare this with LXR (Linux Cross Referencer), which is a project for cross-referencing all identifiers in a given codebase. That's a useful indexing tool, and CW should have something like that (perhaps not to the same level of detail), but I'm focused more on the documentation of the code, that is, writing commentary explaining it and its structure.

Another extension to LXR's capability would be transclusion, by means of which detailed structure can be abstracted out for purposes of documentation. This is a literate-programming concept, so it's nothing new, but I'm still not seeing it in online tools. So that is something the CodeWiki will do.

LXR indexes into a database. I don't think that's necessarily the right way to go, and indeed they see performance hits for a number of queries. Instead, I suspect that my strategy of publishing the index into HTML files which are then assembled as needed will probably end up being more efficient -- not in terms of storage space, but in terms of query-time performance.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.