CZ:Elections/How to
Running a CZ election is fairly easy. These instructions document the steps necessary to accomplish this.
Some basic information
Basic workflow
The election committee, appointed by the Management Council, is responsible for running a CZ election. Its work is roughly divided into the following steps:
- Create the email account that will be used to receive the election ballots.
- Create the election "user" on the wiki.
- Create and place the nominations and referenda proposal wiki pages.
- Once nominations close, create and place the Election wiki page.
- Once voting completes, count the ballots and update the Election wiki page.
- Provide the election results to the Management Council for audit.
Keeping things organized and secure
Certain lessons have been learned from previous elections. This has led to some conventions that simplify organizing the election information, so it is easily navigated. In particular, there are two page names under which all election information exists.
The first is the election information page name. This exists in the CZ namespace and comprises the word "Election" followed by the election date. For example, for the election of June 2012, this page would be named CZ:Election June 2012. All information about the election exists on subpages of this page.
The second is the election user page name. This has the same form as the election information page name, but it exists in the User namespace. For example, for the election of June 2012, this page would be named User:Election June 2012. This page must be created by registering the user "Election June 2012" through the normal registration process. That is required because ballots will be emailed by voters to this user's email address using the normal "Email this user" feature of the wiki.
In addition, an external email account must be created. Instructions for this are given in the section Create the email account.
To ensure the integrity of the election, the email account name and password as well as the election user password must be kept private. Only the members of the election committee should know this information, with the exception that after the election completes the MC auditor must be given the email account name and password in order to conduct the audit.
Create the email account
Ballots in the election are emailed by each citizen to the election user. Since the election user is a virtual person, the election committee must create an email account somewhere that will receive the emailed ballots. In the past, election committees have created this account on gmail, but any email provider will do (e.g., Yahoo).
The main issue with this account is its name and password must be known only to the election committee (and the Management Council auditor after the election closes). Keeping the email account's name secret is important, since if it is widely known, anyone could email a ballot to it and thereby corrupt the election. (It is trivial for someone to send email so it appears to come from a particular sender. Thus, an intruder could get a list of citizendium users; filter that list so it comprises inactive members; and send email to the election email account pretending to be those users.)
To ensure the email account name is private, it should be composed in a way that provides little opportunity for someone to guess it. Email addresses like CZ.Election@gmail.com or CZ.Election.June.2012@yahoo.com should never be used. Instead, a simple security technique known as a nonce (which is a fancy name for something used only once) provides the necessary security. A simple nonce that will work is a random number of sufficient length appended to a short prefix. For example, the account name might be CZ.xxxxxxxx@gmail.com, where xxxxxxxx is replaced by a random 8 digit number.
Of course, that raises the question, how does the election committee get an 8 digit random number. Fortunately, there are sites that generate random numbers. For example, the site randomizer.org will generate a number between 10,000,000 and 99,999,999 in about a second. To use the form it provides, set the fields as follows:
How many sets of numbers do you want to generate? 1
How many numbers per set? 1
Number range (e.g., 1-50):
- From: 10000000 (1 followed by 7 zeros)
- To: 99999999 (eight 9s)
- From: 10000000 (1 followed by 7 zeros)
Do you wish each number in a set to remain unique? Yes
Do you wish to sort the numbers that are generated? No
How do you wish to view your random numbers? Place Markers Off
This should produce a number of 8 digits. Once the random 8 digit number is available, create the external email account using the name indicated above, e.g., CZ.xxxxxxxx@gmail.com, where xxxxxxxx is the 8 digit random number just constructed. The name of the account and its password should be shared only with the other members of the election committee. After the election is over, the MC auditor will also require this information to complete the election audit, but the information should not be shared before the election completes.
If you haven't created an email account before, you can read these instructions explaining how to create a gmail account. If it is desirable to use Yahoo, you can read these instructions how to create a Yahoo email account.
Create the election user
Once the election email account exists, it is possible to create the election user. In order to create the election user, inform a constable (or someone with sysop privileges) that you are about to do so. This is necessary so the request will be granted.
Then log out of Citizendium and navigate to the login page. However, instead of logging in, use the: To obtain a user account, you must request one option. Fill in the election email account name. Select one "main area of interest" check box (it doesn't matter which one). In the Full Name box, fill in the election user name, e.g., Election June 2012. Provide enough text in the biography field to satisfy the requirement (i.e., 50 words). It doesn't need to make sense, you can just repeat the word "election" over and over again. Finally, click the Signature check box and then the request account button.
The constable or other sysop will grant the registration request and you will get an email in the election user email account asking you to confirm the registration. Do so. This will create the election user on the wiki.
Create and place the election's wiki pages
The election information has a standard format for each election. Therefore, the election committee can use the following templates, modifying them for the specific election. Modification is easy. Copy the wiki markup text after clicking the Edit button on the template page. Select all of the text on the template page, then copy and paste it into a text editor. (DON'T modify the templates. They will be used for future elections.) Globally replace the string "CZ:Election< date>" with the Election name, e.g., "CZ:Election June 2012". Then make the changes indicated below.
The election's nominations page
First, create the nominations page. This is a subpage of the main election page CZ:Election< date>. Specifically, the nominations page is: CZ:Election< date>/Nominations (e.g., for the June 2012 election, the nominations page is CZ:Election June 2012/Nominations).
Then copy the nominations template mediawiki markup to a text editor; execute the global replace described in the Create and place the election's wiki pages section; and make the following changes:
- Delete all unnecessary sections. For example, if the election is only for the Management Council, the Managing Editor and some Referenda, delete the sections corresponding to the Editorial Council and the Ombudsman.
- Modify the office holder user references. Specifically, the current holder of each council seat is referenced by something like [[User:<first Council member>|<first Council member>]]. Replace <first Council member> with the name of the actual council member whose term is expiring. Make the corresponding change for the Managing Editor or Ombudsman, if their seats are up for election.
- Fill in the dates for the Timetable section. These should be available in the Management Council motion that established the election.
- At the end of the text change [[election voting page|voting page]] to [[CZ:Election<date>/Election|voting page]]. For example, for the June 2012 election, change it to [[CZ:Election June 2012/Election|voting page]]
Finally copy all of the text from the text processor and paste it into the nominations page (i.e., edit the nominations page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).
The election's referenda page
First, create the referenda page. This is a subpage of the main election page CZ:Election< date>. Specifically, the referenda page is: CZ:Election< date>/Referenda (e.g., for the June 2012 election, the referenda page is CZ:Election June 2012/Referenda).
Then copy the referenda template mediawiki markup to a text editor; execute the global replace described in the Create and place the election's wiki pages section; and make the following changes:
- Discover how many valid ballots were cast in the previous election. Replace the string "xxx" in the Proposing referenda section with this number. Then multiply this number by 2/10. Round up to the next highest integer and replace the string "<20% of xxx>" with this integer.
- In the Citizen-initiated referenda section, change the string "<election date> to the actual date of the election, e.g., for the June 2012 election change it to "June 2012".
Finally copy all of the text from the text processor and paste it into the referenda page (i.e., edit the referenda page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).
Create the election's election wiki page
When nominations close, create the election page. This follows a similar procedure for creating the nominations and referenda pages.
First, create the election page. This is a subpage of the main election page CZ:Election< date>. Specifically, the election page is: CZ:Election< date>/Election (e.g., for the June 2012 election, the election page is CZ:Election June 2012/Election).
Then copy the election template mediawiki markup to a text editor; execute the global replace described in the Create and place the election's wiki pages section; and make the following changes:
- Delete all unnecessary sections. For example, if the election is only for the Management Council, the Managing Editor and some Referenda, delete the sections corresponding to the Editorial Council and the Ombudsman.
- Modify the office holder user references. Specifically, the current holder of each council seat is referenced by something like [[User:<first Council member>|<first Council member>]]. Replace <first Council member> with the name of the actual council member whose term is expiring. Make the corresponding change for the Managing Editor or Ombudsman, if their seats are up for election.
- Fill in the dates for the Timetable section. These should be available in the Management Council motion that established the election.
- Modify the Candidate tables so that only those who accepted their nomination show. It should be possible to simply copy the tables from the nominations page and delete those nominated who declined.
- Copy the text of each referenda that qualified for the election to the Referenda section. Segregate Citizen initiated and Council initiated referenda into the two subsections.
- Modify [[Special:EmailUser/<election user name>|E-mail this user]] so it contains the actual election user name. For example, for the June 2012 election modify it to read: [[Special:EmailUser/Election June 2012|E-mail this user]]
Finally copy all of the text from the text processor and paste it into the election page (i.e., edit the election page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).
Count the ballots and provide the election results to the Management Council for audit
Once voting is complete, process the ballots emailed to the election external email account. Use the voting method approved for the election (contact the Management Council if you are unsure which voting method to use).
When the committee has completely processed the ballots, contact the Management Council auditor (the Management Council chair unless he/she was running for reelection, in which case contact the Management Council member who is designated to perform the audit). Give the auditor the password to the election email account (this should not be shared with the auditor until the election committee has processed the ballots on their own) and inform him/her of the election results. The auditor will then independently process the ballots and compare the results he/she obtained with those of the election committee. If they agree, the auditor will inform the Management Council of the results. If they do not agree, the election committee and the auditor should work together to figure out the discrepancy.
Once the Management Council auditor verifies the vote, the election committee should fill in the vote tallies for each candidate and referenda on the election page ([[CZ:Election<date>/Election]]) and indicate who won seats and which referenda passed.