Thursday, January 10, 2008

Forking and Disambiguating

In the past, Wikibooks had a de facto policy against forking material. The policy said, in effect, that each subject would be afforded only one book. This policy served an important purpose: We didn't want books to be forked every time two authors had a minor disagreement. We wanted people to work together, to focus their efforts, and not to create parallel books that were essentially the same with minor differences.

The previous forking policy has basically be abandoned, and replaced with a new de facto variant (I say "de facto" because it isn't actually written down anywhere). We now do allow multiple books on a single topic, although we require that the "Definition" of the books must be different. That is, they must have a different scope, or a different reading level, or target audience, or whatever. Books still can't be forked over minor arguments in vocabulary, formatting, organization, etc.

The problem arises now, how do we disambiguate between multiple books on the same subject? We have a whole organizational namespace, the "Subject:" namespace that would provide convenient disambiguation between related books, but the "Subject:" namespace isn't searchable by default. If somebody is searching for one of our C++ books, for instance, they can't find the page [[Subject:C++]] with any ease. That is, unless we redirect the page [[C++]] to the relevant subject page, but that seems to me to be a waste of effort. We can't possibly redirect every page to a relevant subject page, and it would be foolhardy to even try.

There are some details that still need to be hashed out, and so far only a few books are causing a problem in this area. With any luck we'll find a nice elegant solution. What we might need is for the developers to change our search function to include the Subject: namespace by default.

1 comment:

  1. It's not too difficult. Ask a dev to set the variable "wgNamespacesToBeSearchedDefault" -- details at http://en.wikipedia.org/wiki/Help:Custom_namespaces

    ReplyDelete