Monday, November 20, 2006

How to make MediaWiki better

MediaWiki, at least when used to support Wikipedia, could use at least two additional features.

The first is a workflow system. Right now, there are four outcomes that can occur when someone goes to edit an article. First, the user may be refused permission to edit at all. Second, the edit may be accepted and stored. Third, the edit may be rejected due to an edit conflict. Fourth, the edit may be rejected because it contains content deemed inappropriate (e.g. links to a "bad image" or to a spamblocked URL). I would like to have the option to add a fifth option: defer the edit until it has been reviewed by a content administrator. (Edits made by a content administrator would possibly bypass these checks.) This could be used to deal with editors who are on probation, or for edits which insert certain URLs which are frequently, but not always, spam (e.g. youtube, myspace). Right now, Wikipedia cannot add youtube.com to the spam link list because doing so makes editing [[YouTube]] impossible. This would allow people to edit articles containing questionable content, subject to a review process. (A generalized improvement of the methodology by which certain content is unacceptable would be useful too.)

The other addition would be the ability to add an expiration date to an article. This would be useful in the case that an article contains content which will be known to be out of date at some future date. Upon expiration, the article will generate a work queue item. Users with privileges on a work queue will be presented (upon request) with items on the work queues they have access to and asked to resolve them; in this case by updating the page. This could also be used to handle, e.g., AfD closures, RfA closures, proposed deletion, and lots of other things. I believe there's already a tasks extension, which is not implemented on the English Wikipedia for reasons that are not known to me, but I think this goes somewhat beyond what is offered by that extension.

I'm starting to think that I'd be better off reengineering MediaWiki rather than continuing the port, keeping these (and other) considerations in mind. MediaWiki's design is rather wedged, and I don't see any real value in continuing off of that design.

4 comments:

  1. Wonderful post, Kelly. Here's my two cents.

    1)Make the workflow feature only apply to unregistered users. Give them a note at submission that if they register and make ~xx edits the restriction will be gone. A content administrator would then be every registered user with some edits. I think this would be more palatable in the beginning. Obviously, this would remove the thrill of instant gratification for vandals and reduce spam, hopefully without discouraging anon edits too much.

    2) Stable version/release mechanism. Software can help but really isn't needed. The community has all the tools they need but, sadly, not the will.

    Getting back to 1). It's very risky; wikipedia really doesn't have the personel to be "content" administrators. And the current bunch of administrators has a shocking high percentage of idiots. So we need to be careful not to give this subgroup more power.

    Personally, I think there is more to gain by working on 2), which will alleviate a sense of futility that people feel when they work hard to improve articles.

    ReplyDelete
  2. Note that on dewiki, a feature somewhat like 1) will be instituted, making all edits by anons be approved before the articles are actually changed.

    ReplyDelete
  3. Yes, indeed, the so-called "stable versions" feature that was promised to us at Wikimania to be delivered "within a month or so". That was four months ago, and not only is it not here, but neither is single-user login, which was supposed to come before it. Don't expect me to hold my breath any longer on the prospect of the current development team actually carrying through on those promises....

    ReplyDelete
  4. Excellent post, and well worth the (brief) read. :)

    I like the idea of page expirations, which presumably would integrate tightly with that perennial idea for stable page versions -- so, stable versions are marked for review after a variable period of time. I'd love that.

    ReplyDelete