Project Review Wednesday: Election

There are currently 112 new Drupal contributors awaiting review of their first project. This is a great place to contribute to the community and learn about interesting upcoming projects, for example...

Module: Election

What does it do?

The Election Module does elections in Drupal. And it does this in a very Drupal 7 way, by creating entity types for everything involved in elections, e.g. candidates, and using a modular structure for election methods. So if you wanted to do something crazy like divide your voters into, say, 50 different groups and have everyone vote individually, but then have their votes represented collectively as a single group, roughly (but not exactly) weighted by the number of people in each group (whether or not they voted) the last time you counted... well, you could do that. That would be a crazy way to do an election, but you could do it with this module.

Potential Uses

UCLU is apparently using this for real elections. If that seems a little too obvious, maybe you could settle where you're going to lunch with a single transferable vote election.

Look Useful? Review it!

If this sounds like something you'd like to see readily available on Drupal.org, you should review it and help make that happen.

Review It

Pro Tip: If you've never reviewed a project application before, you can find instructions for reviewers on Drupal.org and the Code Review group is happy to help more people get involved.

4 Comments

That would be a crazy way to run an election. No one would ever do that, let alone base a government around it.

Yes, you could run an incredibly convoluted election using this module. But the module itself is designed to be easy to use!

(disclaimer: after working with Drupal for more than a year you may find that pretty much anything looks easy to use)

Sounds promising. I definitely need to pull up my socks and invest some time in looking into this.

To be usable in online communities, it would probably need Borda count method though - if you're going to elect, for example, the administrator of an organic group, you need not the most-loved but the least-hated candidate.

Drave Robber: actually, you can almost do this already. You could run an "STV election" with this module, and then download the ballot file and run it through the OpenSTV program, which apparently supports the Borda count (see http://www.openstv.org/other-methods). Unfortunately, OpenSTV is no longer as open as it was.

Otherwise of course you're welcome to write a module which integrates with Election... Your module could add a new 'election type' for a Borda election, and then it could handle its own counting and results display. No documentation on that as yet, although the election_referendum and election_stv submodules serve as examples.

Add a comment

About the Author

Scott Reynen

Technology Director

Scott has worked on the web most of his life. He hosted his first site on a server with less computing power than his current phone. He's seen a lot change on the web over the years, but the things that drew him to the web — online community, web standards, and quick iteration — are still here. Those things have most recently drawn Scott to the Drupal community, where he helps to manage groups.drupal.org, local Denver meetups, and several popular modules on drupal.org.

Read More Scott's Blog Posts