create new tag
view all tags


Rating widget for TWiki forms using "line of stars" style input field


This module adds a line-of-stars rating bar to TWiki forms and TWiki applications.

Using the color picker in TWikiForms

This package adds a rating type to TWikiForms. The result of the rating is captured as an integer, and displayed as a line of stars. For example,

To use it in a TWiki form, use the type rating, with the optional modified +small for small stars:

Type Description Size Value
rating starrating Line-of-stars rating bar. Number of stars for rating Initial value
rating+small starrating-small Like rating, but with small stars.    

Example form definition:

| *Name*     | *Type*       | *Size* | *Values* |
| Supplier   | text         | 40     |          |
| Quality    | rating+small | 10     | 5        |
| Order Date | date         |        |          |
A topic with this form looks like this when in edit mode:

Using the Contrib in a Plugin

A typical application of this widget is its use to capture a rating under the control of a plugin, such as the the TWiki:Plugins.VotePlugin. It is straightforward to use in this role. The API to the contrib is:

TWiki::Contrib::RatingContrib::renderRating($name, $size, $small, $value, $input_attrs) -> $html


  • $name is the name you want to give to the input element that will get the rating value
  • $size is the total width of the rating bar, typically 5 or 10
  • $small is a boolean; if true, use small (10px) stars in place of the default (25px) stars
  • $value is the current value of the rating. This may be a floating-point value, but should be in the range 0..$size
  • $input_attrs is a hash that contains additional attributes to be assigned to the input element used to capture the rating value. Typically the only attribute callers will need to use is onchange, which should be set to a callback that will be invoked when the value in the input is changed. If you pass undef for this parameter, then the line of stars will be "read only".
The contrib will automatically look after the CSS and Javascript it needs to load to work.

For example, let's say we want to generate a conventional form that contains a line of stars prompt. We want the value of the rating bar to be submitted along with everything else in the form.

my $html =
   CGI::form({action="some url", method=>"post"},
       TWiki::Contrib::RatingContrib::renderRating('rating', 5, 0, 0, {})

Say instead that we want to generate an alert when a line of stars has its value changed:

$html = TWiki::Contrib::RatingContrib::renderRating('rating', 5, 0, 0,
        {onchange=>'javascript: alert("Rated")'})
Of course, when you use the onchange event, you don't need a form. This model is good if you want (for example) to update values using a REST handler.

Installation Instructions

  • For an automated installation, run the configure script and follow "Find More Extensions" in the in the Extensions section.

  • Or, follow these manual installation steps:
    • Download the ZIP file from the extension home on twiki.org (see below).
    • Unzip RatingContrib.zip in your twiki installation directory.
    • Set the ownership of the extracted directories and files to the webserver user.
    • Install the dependencies (if any).

Contrib Info

Contrib Author(s): Crawford Currie http://c-dot.co.uk
Copyright: © 2007 C-Dot Consultants;
© 2007-2015 TWiki:TWiki.TWikiContributor
License: GPL (GNU General Public License)
Contrib Version: 2015-01-07
Change History:  
2015-01-07: TWikibug:Item7568: Code refactor
2013-07-25: TWikibug:Item7151: Fix warning if value is empty -- TWiki:Main.PeterThoeny
2010-12-03: TWikibug:Item6609: Add screenshots -- TWiki:Main.PeterThoeny
2010-11-27: TWikibug:Item6609: In TWikiForms type table, automatically list the rating form field type defined in this contrib -- TWiki:Main.PeterThoeny
2010-07-27: TWikibug:Item6530 - doc fixes
2006-07-27: First version
Dependencies: None
Contrib Home: http://twiki.org/cgi-bin/view/Plugins/RatingContrib
Feedback: http://twiki.org/cgi-bin/view/Plugins/RatingContribDev
Appraisal: http://twiki.org/cgi-bin/view/Plugins/RatingContribAppraisal

Related Topics: TWikiContribs, DeveloperDocumentationCategory, AdminDocumentationCategory, TWikiPreferences

Physics WebpagesRHUL WebpagesCampus Connect • Royal Holloway, University of London, Egham, Surrey TW20 0EX; Tel/Fax +44 (0)1784 434455/437520

Topic revision: r0 - 08 Jan 2015 - TWikiContributor

This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding RHUL Physics Department TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.RatingContrib.