Voting for posts in Drupal: module options.

Slashdot and Digg have inspired everyone to appreciate user voting. Like any new feature, “vote for this post” can be delivered in many different ways, and so there are multiple Drupal modules in the same niche, making my life miserable: now I have to choose between them!

Ok, Let’s find out.

Fivestar

What is does:

  • creates a pretty AJAX set of stars for users to vote with
  • integrates with View, CCK and Form API
  • compatible with jQuery 1.0 and 1.1
  • creates “Vote on this” block
  • pretty, pretty, pretty

I like:

  • star images are configurable
  • number and placement of stars is configurable per content type
  • Voting API is put into a separate module, very reusable.
  • permissions allow to lock out anonymous (fraudulent) voting

I regret:

  • you have to use Views to create reports – now I have to learn Views! (exciting and distressing)
  • the voting widget is inserted into content, not into links – I wonder if using a special CCK field is a better way to go

Bottom Line: very pretty out of the box, but most of its strengths reside in its integration with other Drupal features/modules. Might be challenging for a newbie.

NodeVote

– very similar to FiveStar – vote for nodes.

  • three built in blocks: “Most Voting Users”, “Most Voted for Nodes”, “Highest Ranking Nodes”
  • voting can be limited to specific content types
  • integration with userpoints module

I like:

  • options not to show the vote results till the user has voted on the node
  • option to prevent user from voting on her own post
  • built-in blocks

I dislike:

  • no pretty AJAX

Bottom Line: not as pretty as FiveStar, but easier to deploy – a solution for Drupal beginners?

The ? Module

There is one more voting module out there with pretty AJAX effects. It has a funky name that I cannot recall. Cannot find it through semi-random search either. Darn!

Drupalit

What it does:

  • vote for posts
  • limit voting to content types
  • voting results are absolute, not normalized like in nodevote and fivestar

I like:

  • voting widget can be (optionally) manually placed with a function call
  • flood control
  • different voting power for different roles
  • blocks for Daily, Monthly, Weekly, Latest, and Hottest
  • DiggIt-style voting widget

I am worried:

  • there might be a Views integration… it’s not clear
  • there is NO documentation – no README
  • the author has not touched the support queues in several months… – no to blame, gods, NO! – everyone gets distracted with life beyond the computer sometimes, but unless your PHP is good, support availability is an issue

Bottom line: sexy diggit UI, no solid support. Could be a good source of code/features for a custom implementation.

Simple Karma

– very spohisticated, focused on comments. Allows users to give each other karma for good comments, buries low karma comments. Extremely configurable

  • requires jQuery 1.2.1

I’d write more, but Simple Karma is a bit beyond my goals right now, so no time to research.

Drigg

Drigg is coming. It’s done, it’s in testing, it will be out in a week.

  • It is based on Karma,
  • it’s live at FSDaily
  • looks like Digg (or not)
  • has nifty little tricks for jump-starting a new site
  • works for posts (an comments?)

I got a feeling that it will take DrupalIt out of the running.

I can’t wait…

Vote Up / Down

What it does:

  • a digg-like voting system
  • builds on VotingAPI
  • integrated with seven (7) other modules
    • votingapi
    • links
    • actions
    • voting_actions
    • views
    • userpoints
    • Content Recommendation Engine
  • can be seen live here
  • provides several RSS feeds as well
  • well documented

Final thoughts

Well, it looks like VotingAPI has a lot of momentum, so if I had to choose between nodevote and fivestar, fivestar would win.

Drupalit is about to be superseded by Drigg.

For sophisticated deployments it’s Drigg or Vote Up/Down. Drigg might be less work and might have simple_karma’s comment vote. Or not. Vote Up/Down is more integrated with others, which can be a good and a bad thing, depending on your personal feelings.

I’ll play with Vote Up/Down while waiting for Drigg.

Advertisements

About this entry