User:Leucosticte

Wikispaces and langspaces
Right now I am working on a project that might be described as a "multi-dimensional namespace" project or something along those lines. Basically, what I want to do is create a wiki farm with more than one language and wiki, while avoiding the need for multiple databases. This will make it possible to import dumps of, say, enwikiquote, enwiki, frwiki, etc. without having any title collisions.

So, there will be wikispaces, langspaces, and namespaces. This will require adding two additional fields to the page table, like this:

There will also be  and   tables, or maybe global variables, so that the system knows which wikispace and language keys go with which wikispace and language names, respectively. The various wikispaces and languages on the wiki farm will be accessed by parameters to index.php, or by putting the page title as, e.g.,, in the url. The default wikispace will be the "meta" wikispace, and the default langspace will be English.

The task is a bit daunting because there are so many references in the core, and probably some extensions, to, where I will now need to also in some cases put   and. To be honest, the thought of trying to debug issues resulting from all these changes is a bit scary. But what I am seeking to accomplish, I believe, will be quite helpful in implementing some desired features, such as unified RecentChanges and watchlists for the whole wiki farm.

I was going to put my code online, but I am really bad at figuring out how to set up svn and git repositories, unless someone helps me.

Usage
I have considered whether it's best to use colons to separate wikispaces, langspaces, namespaces, and page titles. It creates a potential issue if, for example, there is a wiki entitled Wikipedia and a namespace entitled Wikipedia. One way to deal with this ambiguity is to, by default, on the mirrored pages use the same interwiki scheme as on the mirrored wiki.

Override
The  namespace will contain pages with code to partially or completely override the content of mainspace pages with the same page titles. It is designed to replace Extension:FrontBackMatterForcedWikilinks.

Function
The  namespace will contain callbacks. Authorized users will be able to create pages in this namespace which then allow for Tags and/or ParserFunctions of the same names as those page titles to automatically go into effect.