I couldn't sleep just now, and a realisation came to me.
When you see a thing enough times, it tends to fade into the mental background, until you forget why it was there in the first place. This has happened to us, and I'll tell you where: categories and locales. Allow me to explain.
Way back when we were using UseModWiki to run "grubstreet", we came up with the idea of categories and locales. Certain nodes had a magic quality - at least, we agreed they did, although the software didn't know any better - of "containing" other nodes. At the time, no functionality was available to us to record metadata, so things were done by naming nodes "Category This" or "Locale There".
However, the creation of the OpenGuides software changed the situation. Now we can to designate what categories nodes are in properly, and mark some nodes as being nodes themselves by being in "Category Category". The analogous situation exists for locales. So why are we still naming pages "Category Whatever" and "Locale Something"?
Prepending these definitions to node names is ugly, in a Pompidou Centre pipes-on-the-outside kind of way, confusing for new users ("Locale Wherever" was always an awkward construction), redundant in light of proper metadata (incidentally, "Category Category" should just be "Categories") and, most tellingly, causes a variety of ontological problems such as nodes called "Fred" that have to be redirected to "Category Fred", separate nodes for a place and the _locale_ of a place, and so on, examples of which crop up on RecentChanges all the time. This is clearly what the XP people call a "code smell"[0].
How to remedy this situation, as far as I can see:
1) Warn the users. 2) Change the code so that nodes no longer have "Category" or "Locale" prepended to their names. 3) Find all the pages that fit the pattern of "Fred" and "Category Fred" and merge the latter into the former - automatically for cases where the former contains only a redirect, and manually for everything else (not many cases, hopefully). 4) Munge all links pointing to "Category X"/"Locale Y". 5) Erm, that's it? Did I miss anything?
Comments, please. I'd like to mark this as priority for OpenGuides 0.32; Kake, if you haven't got time at the moment I can look into it. Would it require any changes to CGI::Wiki?
Ta,
Earle.
[0] http://c2.com/cgi/wiki?CodeSmell