[Mediawiki-l] Announcing Electowidget 0.1.0: a plugin for MediaWiki

Rob Lanphier robla at robla.net
Sun Oct 30 02:00:03 UTC 2005


Hi all,

I'm proud to announce the first release of Electowidget (v0.1.0), a
plugin for MediaWiki:

http://electorama.com/electowidget

Electowidget is designed to be an extremely flexible framework for
implementing many different web-based ballot designs, election tallying
methods, and output formats, including Approval, Copeland, Definite
Majority Choice, Instant Runoff, Minmax (margins and wv), Plurality,
Range, Schulze (margins, wv and wv-mod [Debian]), and Smith set, and
allows chaining these together.

You can see Electowidget in action by looking at the examples listed
here:
http://wiki.electorama.com/wiki/Electowidget

Electowidget is useful for both conducting online polls, and for
documenting and comparing sample sets of ballots.

My implementation strategy may not have been the best, and is something
I'm willing to change around.  In particular, it requires a small patch
to MediaWiki 1.5.1, because I'm overriding a couple of key classes in
MediaWiki (Article and EditPage), and I needed a way of hooking the
instantiation of those classes.  Since I overrode those classes, that
means that any changes to the function calls in these classes affects
compatibility with Electowidget.

For MediaWiki 1.6 (or 2.0 or whatever), I plan to rewrite the glue layer
between MediaWiki and Electowidget, hopefully with some guidance from
people on this list.  I'd like to make sure that Electowidget plugs in
cleanly into the next version of MediaWiki (no patch).  If I'm really
lucky, it'll even plug into 1.5.2, but I'm not counting on that.

The biggest problem that I need to address is performance.  In
particular, nothing gets cached right now.  That means every reload
results in a retallying of a possibly really complicated election.  This
is bad.  I know this.  ;-)  That's one of the biggest reasons for
rewriting the glue layer.

Anyway, if you have some time, please mess around with it and let me
know what you think.

Thanks
Rob





More information about the MediaWiki-l mailing list