Skip to content

CiviCRM extension which provides election functionality, including nominations, candidates and voting to CiviCRM.

License

Notifications You must be signed in to change notification settings

agileware/au.com.agileware.elections

Repository files navigation

Elections (au.com.agileware.elections) is a CiviCRM extension which facilitates an on-line election which is suitable for the establishment of committees, fulfilling of volunteer roles and other governing bodies for an organisation.

  1. Any number of positions can be advertised as being available.
  2. People can be nominated or nominate themselves for one or more of the advertised positions.
  3. People can vote for the nominees.
  4. Election results are calculated using the instant-runoff voting (IRV) method.
  5. Election results are then displayed and kept as a historical record.
  6. Multiple elections can be run concurrently.

Using this extension you can run as many elections you want using your CiviCRM site. This extension also provides the unique ability to control who can participate in each election using CiviCRM Groups and CiviCRM Smart Groups. So you can run elections for country, regional, state-based or any criteria at all.

Election process is based on the Voting features which were originally implemented in MemberDB

Each election has individual settings which provide these capabilities:

  1. Each election can be assigned unique dates for each stage of the process.
  2. Restrict participation in a specific election using CiviCRM Groups and CiviCRM Smart Groups.
  3. Number of nominations required for a person to become an eligible candidate for each election.
  4. Allow or disallow a user to change their vote.
  5. Anonymise votes after the election results are posted.

Viewing election results are shown below as an example.

Elections

Prerequisites

Installation

  1. Download this repository(whole extension folder) to your CiviCRM extension directory (available at 'System Settings / Resource URLs').
  2. In CiviCRM, go to 'System Settings / Extensions' and enable Elections.
  3. 'Elections' will now be available in the 'CiviCRM' menu.
  4. Click on the 'Elections' menu to display the Elections page.

Getting Started

Read the documentation to get started setting up your first election.

WordPress Short-codes

The following WordPress short-codes are available to seamlessly integrate elections with your WordPress website.

Election listing short-code

This is used on a page to list all active and completed elections.

[civicrm component="elections" hijack="0" action="visible" viewpageid="XXXX"]

When using the Election listing short-code, replace the XXXX (viewpageid) with the Post ID of the page where the Election information short-code embedded.

Election information short-code

This is used to display a single election which has been accessed from the election listing page.

[civicrm component="electioninfo"  hijack="0"]

When this page is accessed from the election listing page, the Election ID is passed to the Election information short-code using a URL parameter.

Sponsorship

Development of this CiviCRM extension and development of the PHP Unit Tests was kindly sponsored by Linux Australia.

Linux Australia

About the Authors

This CiviCRM extension was developed by the team at Agileware.

Agileware provide a range of CiviCRM services including:

  • CiviCRM migration
  • CiviCRM integration
  • CiviCRM extension development
  • CiviCRM support
  • CiviCRM hosting
  • CiviCRM remote training services

Support your Australian CiviCRM developers, contact Agileware today!

Agileware