Analysis of MediaWiki

From WhyNotWiki
Jump to: navigation, search

(specific problems with MediaWiki and motivation for replacing it; also things I like about it and wish to copy/retain)

MediaWiki  edit   (Category  edit)


  • The lists on these two articles may overlap / be maintained in parallel (bad?):
    • Analysis of MediaWiki: design flaws but also things about its design that I like about it
    • MediaWiki to do for practical, to-do items for ways to make MediaWiki tolerable to use and work around some of its design flaws.
  • MediaWiki bugs and solutions if it's really a bug and not just a complaint/design flaw


What I like about MediaWiki (things to copy)

  • Bi-directional links: when you link to a page A from B, it keeps track of that. You can ask A, "What links here?" and it will know about B.
  • Templates/transclusion
  • The syntax (for the most part)
  • ...

What I don't like about MediaWiki

  • The smallest object allowed/possible is the article. Sometimes I want to have smaller objects (like each heading). I guess this is solvable using smaller articles that I then transclude into the larger one.
  • Revision history is lost when you cut and paste from one article to another. How would I solve this? I'd probably have some sort of "split" command, whereby 1 article becomes 2 articles, each of which inherits the revision history (ancestry) from its parent. Sort of like how svn move works in Subversion, allowing people to make "branches" and "tags".
  • Permissions don't allow restricting viewing of certain private pages
  • It's slow. One could at least create the impression of speed by using Ajax...perhaps when one clicked Save, for instance.

Smallest objects are articles

For example, I want a "What I like about ..." and "What I don't like about ..." section. I want them both to be on the same page (at least until they grow to be really big, at which point I might want to separate them), but I want them to be separate entities, which I can include separately in other paces, which have their own revision histories, etc.

The process for adding an article to a category is too much work

You have to click Edit, wait for the page to load, scroll to the bottom, type in the full link to the category name (and spell it right!)...

Complex templates look heinous!

An example of such a one can be found on Wikipedia: . They even have a category devoted simply to keeping track of all their ugly ("esoteric") templates.

I would want to use a Ruby-base templating language for templates so that even complex logic could be expressed beautifully and succinctly.

Edit link uses section=id, and section ids change!

So if I have a stale copy of a page and sections have been added since loading the page, the edit links will lead to the wrong section!

What I would do differently if I wrote a wiki

Make it super easy/quick to add an article to a category

Click "Add to category". A list of commonly used / last used categories shows up immediately (Ajax). You click on one and it adds it (in the background, with Ajax).

If your desired category isn't in the list, just start typing it in the search box. It will start listing matches as you type. Either finish typing or select a match from the list.

For any internal link show an Edit link as well

*(unless this option was disabled for current user)

I often take an index/category page, middle click on each link to open in a new tab, and then I have to click edit on every single one of those pages to start edit mode. I want to get to edit mode sooner, easier!!

(Including for search results... show edit link for every page listed as a hit)

Search: show matching sections?

Rather than just show the matching sentence as context for keyword searches, show the whole section? And have edit link to edit that section?

Make less of a distinction between normal articles and category pages

Perhaps I would do away with the idea of a stand-alone article and require every article to be associated with at least one category.

(That is, the categories themselves would be the only pages. Articles could not be pages -- they could only be included on article pages.)

Then to view articles, you search for / go to the category's page, which:

  • includes the text inline for any articles that have this category as their primary category.
  • includes links to all categories and articles that have specified this category as one of their categories.

Another way of looking at it is: Articles themselves would not have titles; instead, they would belong to categories with the name of the title you want to give the article. So you see that the category itself is the page, which then just includes all of its member articles onto the page.

Personal tools