New MediaWiki extension: Ratings

MediaWiki Ratings extensionA few weeks back I started work on a new MediaWiki extension to provide decent rating functionality. The reason: I got sick of all the crappy rating extensions out there and decided to write one that both works and has sane code. The new extension is called “Ratings“.

The Ratings extension provides a tag extension that when embedded in a page allows users to rate different “properties” of the page. Quite simple. It also adds a votesummary hook which allows embedding a summary as seen below into pages for any property of any page.

The extension is written in such a way it’s easy to add additional types of rating (interface) elements. It exposes 2 API modules, one to obtain all rating data needed on a page, and one to submit votes.

It’s not quite finished yet, as I can’t get the rating interface quite right. I tried 2 jQuery rating star plugins, both messing up their position in the page after onload. Therefore I have not made any release yet, and definitely recommend against using this extension on any production wiki. I’m not planning to put any more time into this issue (I already wasted some hours on it >_>), so feel absolutely free to fix the layout issues (you can contact me for details, or try out the extension yourself and spot the obvious), or to put in your own favourite rating element. (source code)

MediaWiki Ratings extension showing a summary of current ratings

4 thoughts on “New MediaWiki extension: Ratings”

  1. Hey,

    Firstly, thanks for using my allRating plugin in your mediawiki extension.

    Would you like me to try and fix the positioning problem you speak of? If you can show me an example, I’d be happy to help in any way.

    Thanks,
    Dan

  2. This plugin does not allow changing the value of the rating element after page load. I tried adding the functionality myself but failed to get it working. It’s needed because the value is not known when the HTML is generated (as it’s chached), but gets obtained via an HTTP request after page load. I’d be great if you could add it. I don’t actually have layout issues with this plugin. I tried using it after having layout problems with the other one 🙂

  3. Can you not just run the plugin after the http request? I’ll knock up an example and try and work out if its even possible to attach an event that checks for input option changes through ajax requests.

    Dan

  4. I could do that yes, but it’s not optimal. The idea is to have the control (with stars or whatever other stuff) visible (but disabled) as soon as possible, and then set the value and enable it when the current rating has been obtained. Waiting with the whole thing will make it look more sluggish to users, esp as initiating the control causes a (partial) reflow of the page.

    It is definitely possible to do this; the other jQuery plugin I tried actually could.

    I’d be totally awesome if you could add it though, so I can release an initial version of this extension 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.