rate.png

Drupal 7

"The cck model for voting with Drupal" (source)

This module provides flexible voting widgets for nodes and comments.

Administrators can add multiple widgets. By default, there are 8 widget types to choose from:

  • Thumbs up
  • Thumbs up / down
  • Number up / down
  • Fivestar
  • Emotion (this makes me mad, angry...)
  • Yes / no
  • Slider
  • Custom

By using "custom" you can customize the rating buttons and Voting API mode. Widget types can be extended by other modules. Other features include:

  • Views integration
  • Nodes get an extra tab with voting results per widget, which shows:
    • Total vote count
    • Average rating
    • Total points (for thumbs up / down)
    • Vote count per button
    • Chart of vote count per button, per day
  • Multiple ratings on the same node (i.e. for "comfort", "location", "services" etc.)
  • Voting can be closed at a configurable period after node creation
  • Start- and enddates can be configured per node, per widget

Dependencies

  • Voting API is used for storage of voting results.
  • Chart is used for displaying the vote results in a chart (optional).
  • Date is required for the Rate Expiration module (optional).

Drupal 8

The 8.x-2.x branch provides, among other, the following features:

  • Multiple rate widgets on a single entity possible
  • Single rate widget on multiple entities possible
  • Voting on comments and other entity types
  • Result functions per widget/entity combination and entity summary (multiple widgets)
  • Customizable result summary (twig-template)
  • Up/down (number up/down, thumbs up/down, yes/no) voting
  • Fivestar voting (can determine number of stars) and Emotion widget
  • Voting Results tab for nodes
  • Voting via AJAX only
  • Undoing votes by clicking on the voted option
  • Widget label, description and result summary customizable
  • Position of label, description, result summary (relative to widget or hidden)
  • Disable widget (Read-only widget) based on permission, rollover, user setting
  • Vote rollover for registered and anonymous users
  • Voting deadline field in the voted entity (locking the widget if date passed)
  • Views integration - just add a field holding the ID of the entity to vote and the rate widget (with customizable display)

The new rate API offers several hooks to override rate option values and data, create custom templates or have a custom workflow to determine, whether a user can cast a vote or not.

Upgrading from 7.x

The 8.2 version supports migration from Rate 7.x. Since D7 end-of-life is scheduled for Nov 2022, it is a good idea to think migrating Rate 7.x. in the foreseeable future.

Upgrading from 8.x-1.x

CAUTION: There is no direct upgrade path from 8.x-1.x to 8.x-2.x, as both versions are using completely different concepts to create and store the rate widgets. You will have to recreate your custom rate widgets manually in 8.x-2.x.

Upgrading from 8.x-2.x

This upgrade is straight forward. There are no known issues so far with upgrading from 8.x-2.x.

Further information

For more information, see this screencast

Your feedback is very welcome is the issue queue. You are also welcome to translate this module in your language or rate this module at drupalmodules.com.

Supporting organizations: 
Development and maintenance of the 8.x codeline
Development and maintainance of versions prior to 8.x
Development and maintenance of automated tests and bug fixes for 8.x

Project information

Releases