MediaWikiDoc:Subwikis

From HypertWiki
Revision as of 16:15, 16 June 2005 by Woozle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Techniques: Software: MediaWiki: Subwikis

Benefits of Subwikis

The basic question is this: Is there any need for the idea of subwikis?

I've been experimenting around with loading the same wiki data from different files on the same server, so that I could have:

  • Definitely Needed
    • A different logo, different CSS styles (different default and maybe different styles available)
    • Different links on the sidebar (or same links, but they bring up text appropriate to the project)
    • A different default page (Main Page)
  • Would be a big help
    • A different default namespace, so that new articles were automatically prefixed with the subwiki's project name, and articles prefixed with that name were automatically shown without it in the title
    • Articles written for the main wiki or for other subwikis would show up with their logo & CSS

I originally started out with the idea of just creating a separate wiki for each project. At some point, squeakymewmew seemed to be unhappy with this idea -- she seemed to want (though it was never 100% clear to me) for all my wiki projects to mingle together indistinguishably in the squadwiki.

I can understand the idea of wanting all those pages to be sociable and mingle with their peers, so as to better enhance the value of the main wiki -- but when each project has its own purpose and vocabulary, this gets very confusing. For example, if you see an article called "shipping", is it an issuepedia article about ethical issues involved in the shipping industry? Or is it a page about vbz.net's shipping policies, or some information about where to ship Sluggite Exchange items? If you have entirely separate wikis for issuepedia and vbzwiki, or at least separate *sections* where it's clear what the context of any article is, there's no ambiguity.

I've pretty much convinced myself, then, that each wikiproject does need to have its own context, where people can safely post an article with a name like "groups" and know that it refers to, say, the Linux "groups" command, because you're in the LinuxWiki.

Furthermore, it looks pretty easy to set up a group of wiki projects so that they can all link transparently to each other -- e.g. with the default config of MediaWiki, you can just say [[WikiPedia:Article Name]] and it will create a link to the appropriate wikipedia article (in English) formatted as an intra-wiki link (as opposed to an external link with the little boxes after).

So the big question then is: what are the advantages, if any, of sharing data between wiki projects? And is it worth the bother of trying to do so? So far, here's what I've come up with:

  1. Commonality of users: create an account on one wiki, and you have an account on all of them. Log in to one, you're logged in to all (this may be difficult due to the nature of cookies, but it's still a nice idea.) Even nicer would be if [[User:Yourname]] pointed to the same page, or at least pulled up the same text, across all wikis. Perhaps there's some way to share just the userbase between wikis? I think I've even seen discussion of this in the mailing lists. (Some of the issues regarding this are discussed here.)
  2. Interwiki searching: The "main" wiki would let you search all the subwikis, whereas searching one of the subwikis would just search within that context. (Perhaps there would be a "[x] search all wikis" option.) Is this useful? Not sure.
  3. Interwiki article movement: In a masterwiki-subwiki arrangement like this, articles which are arguably "interdisciplinary" could be posted in the main wiki, and perhaps later moved to a subwiki if their focus resolved into something more appropriate for one or the other. This would not work as well with separate wikis; the article would have to be replaced with a "forwarding" link on one side, requiring an extra click-through from the user. This could be solved with a little custom-coding to return an http forward instead of a link, but much code would have to be written to allow forwarded pages to be maintained. Also, it often happens that a topic-area starts out small and it only later becomes apparent (after many, many articles have been written) that a separate wiki would be useful -- and while moving a large number of articles from regular space into a namespace isn't exactly quick, it's a lot easier than copying-and-pasting them into the new wiki while leaving forwarding links in the old locations.

So we have two things which might be accomplished in other ways, and one which might not be useful. Suggestions? Thoughts?

That's all from me for now. --Woozle 21:16, 10 Jun 2005 (CDT)

Notes on First Attempt

I was able to get as far as having the front page and other pages of the Hypertwiki to load from a different URL, utilizing a different directory and index.php file on the same server, but I was not able to get it to display nicely (i.e. with the proper stylesheet). Instead, it displayed in the format usually used for printing. I was unable to figure out why it was not displaying correctly; the correct stylesheet data appeared to be loading, the stylesheet's contents appeared correct, and the Page Info tool shows all the images.

In order to get this far, the following changes were needed (some were only to change the wiki's home dir from /wiki to /):

  • modifications to localSettings.php -- several fairly obvious changes
  • one modification to includes/DefaultSettings.php: "$wgServer = '';"

I hate to give up when it seems so close... but I just don't have the time to come to a deeper understanding of MediaWiki at the moment.

Update: It seems very likely that the entire problem with my earlier attempt was that .htaccess needed to contain a line to tell Apache to deliver .css files as CSS rather than plaintext. Apparently many browsers (including FireFox) will ignore CSS if it isn't sent with the right mime type. --Woozle 15:04, 11 Jun 2005 (CDT)