Tuesday, August 5, 2014

Why I love MediaWiki

MediaWiki is one of the most used wiki engines on the planet, with very good reason.

Granted, it has its flaws, but having used several types of wiki engines, it does the job I want with as little hassle as possible, and it's why I'm a firm Mediawikianist.

The reason I chose MediaWiki for setting up All The Tropes was largely due to the similarities between it and PmWiki, the wiki engine used by TV Tropes, not to mention, in terms of flexibility offered most to all of the features I wanted for closed room reverse engineering of TV Tropes (cloning or making equivalent versions of their features without ripping off their site code) out of the box, with a lot of the rest covered by various extensions, scripts, and CSS stylesheets.

In the process of doing all this, I discovered several features that were hard to implement or were discarded as inferior and were done better on MediaWiki, for the following reasons:

* Wiki Trails - PmWiki has a "bread crumb trail" category system, in which the pages are linked by a common trail leading from one page to the next on a trail defined by links between tags on what TV Tropes called index pages, and what would be categories on MediaWiki (and newer versions of PmWiki, which TV Tropes forked from before their implementation).

I discarded this in favor of tag based categories because Wiki Trails are not implemented by default in MediaWiki, and because, frankly, it made little sense to include them even by means of a template due to their redundancy and the expensiveness of the feature on the server. While it worked fine on TV Tropes largely flat filed database (with a MySQL backend caching custom styling and other site specific code), MediaWiki uses a relational database by default, so using a tag based category system plays best to the strengths of MediaWiki, not to mention is easier to update.

* Content Dumps - As my associate Brent Laabs discovered, even though he acquired a raw dump of TV Tropes' content from June-July 2012, converting it for use on another wiki was a massive pain in the ass, mostly due to all the custom changes done to the PmWiki engine powering TV Tropes. By contrast, it is very easy to dump all content from a MediaWiki wiki in XML or SQL format for use on another, with all site specific code included (this does not cover anything added by specific extensions, but over 99% of these can be addressed by downloading the same extensions used by the original wiki), and this can even be done even if you don't have access to the server. This was important to me for two reasons: One, I'm a fierce advocate of reuse rights for wiki content (with proper attribution), and partially because TV Tropes has taken steps to make it harder to fork their site ever since our initial dump, despite that violating no laws which we are aware of (quite the opposite, given the content was dumped under a free license and redistributed under the terms of that license)

* History Preservation - PmWiki uses a, to be blunt, utterly pisspoor page history schema. Instead of saving an entire revision of a page, they only save the changes to the page, which makes page reversion (if necessary) a serious pain in the ass. Worse, given the shoddy setup Fast Eddie has (or maybe he's just being cheap on server space, could be both), he periodically deletes older history logs, which leave incomplete histories lying around for a lot of things, which means that if someone ever took him to court over something like copyright issues and his website logs were examined for evidence, it would look like he purposely shredded evidence. True, under Creative Commons, you are only obligated to save the most recent changes, but given how he has illegally switched licenses not once but twice (from CC BY SA to CC BY NC SA to retroactively claiming private ownership over everything submitted, which violates Creative Commons), maybe he is being smart by shredding evidence. However, since I'm convinced it's a good idea to have complete histories in the event of a legal dispute, MediaWiki is excellent in this regard. On a related note, page moves are logged and can be reversed easily if need be. That is done via manual copy-paste on TV Tropes, which leads to even more messed up history records.

* Unicode Support - To this day, certain aspects of Unicode show up poorly on TV Tropes, and for a modern day Web 2.0 website, that is, in technological terms, utterly pathetic and shows a poor lack of support for custom characters if needed or required.

* Password Security - In this thread, Fast Eddie is revealed to not give a damn about password security, on the grounds that he basically can't be bothered and it's not like someone is going to packet leech that and do bad things with it, an arrogant and idiotic assumption that makes wonder why the blue hell anyone would trust a site with security that shitty. In MediaWiki, your password is entered into a database as an encrypted salted hash, which isn't utterly immune to being compromised by a really determined hacker, but it's way the hell better than the inexcusably poor security on the unencrypted connections used by TVT, and is more than sufficient to defeat most skript kiddie and casual hacker attacks......

....and while I could go on and on, short version is, MediaWiki does a far better job in most respects that TV Tropes' fork of PmWiki absolutely fails at, and unless something better comes along, I'm a proud and very satisfied user of MediaWiki.


No comments:

Post a Comment