Rowan Collins:
One thing that I was pondering when you posted about
this before is
whether the "special behaviour" of namespaces like "Image:",
"Category:", etc could be built into some kind of hooks mechanism.
Yes. These kinds of hooks are essential to Wikidata and Ultimate
Wiktionary (especially the latter). It will be possible to attach
different application classes to different namespaces. Wikidata will be
one such application, providing versioning, search and user interfaces
for arbitrary structured data. The methods in these classes will
themselves contain hooks for extensions and customizations.
Besides reducing some of the "magic" of namespaces like NS_IMAGE, and
the ability to add arbitrary structured content, Wikidata will have uses
even within the default namespaces. NS_IMAGE is an excellent example. It
is currently a table containing versioned structured content (the image
metadata) that is, however, completely separate from the image
description page (and still split in a CUR/OLD way). With Wikidata, this
would just be a customized wiki page with some added fields and special
hooks,
The best part is that the Wikidata design allows for translations, so
you could add something like a default caption to the image page as a
separate field, and translate it into all languages. When you type
[[Image:Foo.jpg|thumb]] anywhere, it would then use the default caption
in whatever language is appropriate. This could also be used on category
galleries. And I've posted here before on the uses of Ultimate
Wiktionary to translate category names. Commons will therefore be one of
the major beneficiaries of Wikidata, with the goal being a move towards
powerful, automatically localized tagging as the main method of
organizing content.
But even this just scratching the surface. Wikidata and UW are hugely
complex projects with enormous potential, if done right. Because they
are so complex, we are trying to implement milestones which are
independently useful. The namespace manager is one example, more will
follow. I'll post further details soon.
One note on namespaces: The namespace manager is _not_ intended to add
hundreds of namespaces to a wiki. Namespaces are for very large sets of
pages (or special functionality). The Cookbook: namespace on Wikibooks
is one example, the abandoned Jokebook: was another - but most books on
Wikibooks are probably too small to deserve their own namespace.
Some people will doubtlessly create wikis with hundreds or thousands of
namespaces, and run into some limitations. These may be addressed, but
in the Wikidata context, we're typically dealing with few namespaces.
For example, Ultimate Wiktionary, in spite of having a huge set of
tables, will probably only have one or two namespaces. There are
additional ways to restrict a set of content, and one idea I'm playing
with are link parameters. To get just the "animal" definitions of the
word dog in Ultimate Wiktionary, for example, you could use something
like [[en:Dog|related to=Animal]].
Erik