Adding voting to a web site

One of my web sites wanted to run a contest where people could vote on the best design.  After a period of time, then the voting would be closed and the best design would be made into a T-shirt.  Well, Drupal has a number of modules that support voting, so which one to choose?

This particular contest required that people could see thumbnails of the designs, and then vote on the one they liked best.  So I needed to provide a view of the designs, with voting information on each design.

I reviewed three voting modules for this case:

  • Fivestar - allows users to vote on a node using 1 to 5 stars.  Javascript makes the vote look really nice, but I could only get the voting to appear on node, and not on views.  This may be a bug, since Views complained that there was a "handler error."  I couldn't wait for a fix, if that was really the problem.  So I moved on.
  • Plus1 - allows users to vote, basically yes or no.  Each vote is a +1 to the count.  It worked fine in either nodes or views.
  • Nodevote - allows votes of 1-10.  You can see the voting in either a view or the node.  If you want to vote, you are taken to the node where you vote.  This was the solution favored by the site owner, so that is what we went with.  I configired it so that you can't see what the vote is for a particular item until after you vote, which is intended to reduce prior vores influencing future votes.  You can vote 1 to 10 for each item, giving a finer grained way to vote.

    There are several problems with this choice.  There is no way to stop the voting on a particular date and time.  There is no way to see what the vote is so far unless you vote, if configured to not show votes until a user votes.  My solutions to these problems are not elegant, but they will work.  On the date when voting closes, I will remove the view from the menu path on the site.  Actually, with the way announcements works on the site, this will happen automatically.  I will change the view to restrict it to only site administrators.

    Then I will need to change the configuration of Nodevote so that we can see the vote even though we haven't voted.  Now, the site owner can see how the vote turned out.

    Blocks provided by Nodeview will provide a glimpse of the status, but not really what I would have wanted.  Since Nodevote was developed before Voting API, it doesn't have some of the features of that API, such as integration with Views, so it won't be the best long term solution.  I guess I will need that fix to Fivestar for Views after all.

Comments

I like the idea and the

I like the idea and the options of a vote you have prepared in your website. Hope we could see more surprises and added features on it. Your work and scheme of ideas truly are cool! tampa seo