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
On Mon, May 17, 2004 at 12:00:04AM +0100, Earle Martin wrote:
So why are we still naming pages
"Category Whatever" and "Locale Something"?
The locale "India(n)" is very different from the category "Indian". For someone who doesn't know London, I imagine it would be quite handy for them to be able to be easily tell that Mayfair is an area and not a type of food.
On Mon, May 17, 2004 at 10:23:43AM +0100, David Cantrell wrote:
The locale "India(n)" is very different from the category "Indian". For someone who doesn't know London, I imagine it would be quite handy for them to be able to be easily tell that Mayfair is an area and not a type of food.
Thankfully, our habit (on the London site, at least) has been to name categories with a little more precision, like "Indian Food". If any further confusion erupts, I would suggest the users actually read the pages in question rather than relying purely on their titles, or the page titles be clarified.
On Mon 17 May 2004, Earle Martin openguides@downlode.org wrote:
So why are we still naming pages "Category Whatever" and "Locale Something"? [...] 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).
If I understand this right, what you're asking for is that eg if a page is put into category Fred and locale Barney, then on viewing the page it should offer auto-generated links not to 'Category Fred' and 'Locale Barney' but to 'Fred' and 'Barney'. If so, then there are some internals that will need tidying up but the technical changes should be trivial. As Dave points out, it's the nontechnical aspects that need thought.
And as I said to Nick earlier, the one thing that would speed up development no end is for someone to get hold of a working ibook keyboard for me. Even typing this mail has been painful. Programming when your only access to the characters oujlOUJL79&(>. is via copy and paste is practically impossible.
Kake
On Mon, May 17, 2004 at 03:29:25PM +0100, Kate L Pugh wrote:
And as I said to Nick earlier, the one thing that would speed up development no end is for someone to get hold of a working ibook keyboard for me. Even typing this mail has been painful. Programming when your only access to the characters oujlOUJL79&(>. is via copy and paste is practically impossible.
What size of ibook is it?
Stephen
On Mon 17 May 2004, Stephen Stewart beowulf@carisenda.com wrote:
What size of ibook is it?
It's the one I got from Dave - I hope he can answer this question, cos I can't. I didn't realise they came in different sizes.
Kake
On Mon, May 17, 2004 at 04:12:56PM +0100, Kate L Pugh wrote:
On Mon 17 May 2004, Stephen Stewart beowulf@carisenda.com wrote:
What size of ibook is it?
It's the one I got from Dave - I hope he can answer this question, cos I can't. I didn't realise they came in different sizes.
12" G3 600, IIRC
On Mon, May 17, 2004 at 03:29:25PM +0100, Kate L Pugh wrote:
If I understand this right, what you're asking for is that eg if a page is put into category Fred and locale Barney, then on viewing the page it should offer auto-generated links not to 'Category Fred' and 'Locale Barney' but to 'Fred' and 'Barney'.
Yep, that's it.
If so, then there are some internals that will need tidying up but the technical changes should be trivial.
Hurrah. Would a migration script be needed for existing installs?
As Dave points out, it's the nontechnical aspects that need thought.
I think most of these can be covered by clearly defined policy on naming.
the one thing that would speed up development no end is for someone to get hold of a working ibook keyboard for me.
<hex> summon keyboard minions <dipsy> KEYBOARD MINIONS KEYBOARD MINIONS COME TO ME
I hope for your fingers' sake someone does :)
openguides-dev@lists.openguides.org