Poll creation and voting plugin


This is a fully featured database driven poll macro with permission controls for voting and polls creation. Google charts has been used for showing poll results. The purpose of this macro is to provide an easy way to integrate polls with Trac wiki and ticket pages.


  1. Response type: Poll creator can decide the response type for polls, ie whether you want single response poll(radio button poll) or multiple response poll (checkbox button poll).
  2. Google charts: Poll creator can decide which type of chart they want to use for showing poll results.
  3. Poll options: Poll option can be any valid english string or any Ticket number from Trac, EasyPoll will fetch summary for given ticket and use it as option text.
  4. Change vote: Poll creator can manage whether user can change their vote or not after casting it for the first time.

Permissions: EasyPoll introduces the following permissions: EASYPOLL_CREATE and EASYPOLL_VOTE:

  1. EASYPOLL_CREATE: User who has EASYPOLL_CREATE or TRAC_ADMIN permission can create easy polls in wiki or ticket page.
  2. EASYPOLL_VOTE: User who has EASYPOLL_VOTE or TRAC_ADMIN permission can vote on easy polls in wiki or ticket page.

Every logged in user on Trac can see EasyPoll, but can vote or create only if the user has sufficient permissions.


  1. EasyPoll as of now only supports ASCII characters.
  2. Don't use comma (,) while picking easy poll attributes. By design the comma (,) is used as an attribute separator.

Please provide your feedback/suggestions to hi.amigo@…. I would really appreciate it.

Bugs/Feature Requests

Existing bugs and feature requests for EasyPollMacro are here.

If you have any issues, create a new ticket.


Download the zipped source from here.


You can check out EasyPollMacro from here using Subversion, or browse the source with Trac.



[[EasyPoll(name = my first poll, title = What's the best programming language to start with?, response_type = single, options = Python : C : PHP : Java : Lisp, user_can_change_vote = false, chart_type = pie)]]


  1. name (required): name is used as a poll identifier, if you change the name value than it will be treated as new poll. Nowhere in the poll the name will be shown. Don't change the name of the poll after poll creation.
  2. title (required): title will be used as a poll title. You can change it whenever you want.
  3. options (required): options should be separated by colon (:) option can also have Ticket id as their option like options = #1 : #2 : #3 In this case the summary will be pulled out from the valid tickets and will be used as option text with ticket link.
  4. response (optional): response can take two values (1) multiple and (2) single. Default is (2) single option.
    1. multiple: multiple response type will generate poll with checkboxes, in this case user can choose multiple options.
    2. single: single response type will generate poll with radio buttons, in this case user can choose only one option.
  5. user_can_change_vote(optional): user_can_change_vote can take two values (1) false and (2) true. Default is (1) false.
    1. false: once user cast their vote, they cannot change their vote, Poll will be disabled for them, however they can see poll results.
    2. true: user can change their vote at any time and many times. Poll will always be enabled for them and they can see poll results.
  6. chart_type(optional): chart_type can take two values (1) pie and (2) bar. Default is (1) pie.
    1. pie: Pie chart will be used to show poll results.
    2. bar: Bar chart will be used to show poll results. User can see poll results only after casting their vote.

Sample Poll Example:

Recent Changes

11582 by itspanky on 2012-05-20 09:07:37
Readme file with installation instructions
11581 by itspanky on 2012-05-20 08:57:32
Readme file and .egg file
11580 by itspanky on 2012-05-20 06:57:32
db file added


Author: itspanky
Maintainer: Pankaj Meena

Last modified 4 months ago Last modified on Sep 5, 2016, 9:30:30 PM

Attachments (2)

Download all attachments as: .zip