Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elections #628

Open
1 task done
jamesgeddes opened this issue Nov 21, 2022 · 1 comment
Open
1 task done

Elections #628

jamesgeddes opened this issue Nov 21, 2022 · 1 comment
Labels
enhancement New feature or request epic Issues which contain a body of work that should be broken down into specific tasks P1 Issues that are both high impact and urgent

Comments

@jamesgeddes
Copy link
Contributor

jamesgeddes commented Nov 21, 2022

What's your idea?

Gap

The Geek.Zone/Election occurs every year to give all members the opportunity to select the Trustees who they wish to represent them for the coming twelve months. Organising this is currently done manually, which clearly takes significant time and can be error-prone.

Timeframe

Hard deployment deadline: 2023-07-01T00:00

The service must be tested and ready for production use by 2023-07-01T00:00 ahead of the Call for Returning Officer on 2023-08-06.

Requirements

Summary

Design and build a service that allows elections to be organised automatically within Geek.Zone/Web, and then votes to be collected via an external provider.

P1
  • create the election with the chosen electronic voting provider.
  • check candidate eligibility
    • candidate must have been a member for >5 days before Call for Candidates
    • email must be confirmed
  • get all data from the election once voting has concluded.
  • collect all required information from each candidate
    • name of Trustee seat
    • hustings video (maximum 3 minutes)
    • proposing member
    • Commitment confirmation
      "I confirm that I understand the responsibilities of this post and am willing and able to commit to executing its duties to the best of my ability for 12 months."
  • post hustings videos to the Geek.Zone Elections YouTube channel on "Publish candidate profiles"
  • inform members via the required medium at the appropriate times (see Schedule below).
  • allow the Returning Officer to approve or reject the election setup. If no response, assume approved.
  • allow the Returning Officer to approve or reject the election result. If no response, assume approved.
P2
P3
  • If >1 members offer to be Returning Officer, the nominated returning officer should be the member whose membership start epoch time is the smallest.
  • Add the Geek.Zone video ident to the start and end of each hustings video
  • Automatically reject hustings videos if they contain profanity.
  • Automatically reject hustings videos if they contain nudity.
P4
  • Ask incumbent Trustees that are not constitutionally required to retire if they wish to stand for re-election (see Re-election below)

Constraints

Seats

The Trustee seats available for election are as follows.

Name of Seat Number of Officers
Chair of Trustees 1
Treasurer 1
Secretary 1
Trustee for Geek.Zone/Coventry 1
Trustee for Geek.Zone/London 1
Trustee for Geek.Zone/Chelmsford 1
Trustee
Voting Methods
  • All candidates stand against Ron Weasley - Re-open Nominations. If Ron is elected, the election process for that seat starts again.
  • For seats that can have more than one officer, candidates only stand against Ron.
  • Elections must use the best proportional representation method available. The Meek STV is preferred.
Providers

We must use an external GDPR-compliant electronic voting provider to conduct the election to ensure impartiality. Everything else should be done within Geek.Zone/Web to ensure ease of use.

You will need to find an electronic voting provider who can satisfy the requirements of this epic. Previously, we have used OpaVote to conduct our elections, however, they do not provide an API that can create elections. While we would like to continue to do so, on 2020-07-18 when asked if they had any plans to extend the API so that we can automatically create an election, OpaVote replied "Yes, but not soon."

Schedule

The Election & AGM schedule is as follows.

Event Description Communication Medium Recipient DateTime
Call for Returning Officer Update Email
Blog Post
All members 30 Days before Call for Candidates
Call for Candidates Update Email
Blog Post
All members 30 Days Before Notice of Election
Notice of Election Constitutional Email
Blog Post
Wiki article
All members 20 Days Before Voting Commences
Call for candidates closes Secure API Electronic voting provider Immediately before Create election
Create election and populate with required data Secure API Electronic voting provider Immediately before Election Setup Verification request
Election Setup Verification request Email Returning Officer 2 days before Voting Commences
Publish candidate profiles Wiki article Public Immediately before Voting Commences
Voting Commences Update Email
Blog Post
All members 30 Days Before AGM
Notice of AGM Constitutional Email
Blog Post
Wiki article
All members 20 Days Before AGM
Voting Reminder Update Email
Blog Post
All members 15 Days before AGM
Voting Reminder Update Email
Blog Post
All members 5 Days before AGM
Voting Concludes Update Email
Blog Post
All members 2 days before the AGM
Election Result Verification Request Email Returning Officer 2 days before the AGM
AGM start Update Email
Blog Post
All members Last Saturday, every November, 19:00
Publish election result if Returning officer has approved Wiki Public 1 hour after AGM start
Re-election

It is required by the Geek.Zone/Constitution that "one-third of the trustees shall retire from office" ahead of each AGM. To ensure transparent democracy as well as simplicity, we have thus far taken the convention that all Trustees voluntarily stand for re-election every year, regardless of whether they are constitutionally required to do so.

User Story

As the Returning Officer, I want the administration of Geek.Zone elections to be automated so that I can focus on my core duties.

Impact

High

Urgency

Now

Code of Conduct

  • I agree to follow this project's Code of Conduct

Please note!

This is our biggest requirement, hence the epic label. Please split this ticket into child tickets that you can do in one sitting.

@jamesgeddes jamesgeddes added enhancement New feature or request epic Issues which contain a body of work that should be broken down into specific tasks labels Nov 21, 2022
@geekzonebotold geekzonebotold added the P1 Issues that are both high impact and urgent label Nov 21, 2022
@SamWinterhalder
Copy link
Contributor

@Freshrojek Are you around atm to team up on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request epic Issues which contain a body of work that should be broken down into specific tasks P1 Issues that are both high impact and urgent
Projects
None yet
Development

No branches or pull requests

3 participants