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.
- Have a sysop change the Sitenotice to indicate nominations and referenda proposals are open.
- Once nominations close, place the election information on the election user's wiki page and have a sysop change the Sitenotice to indicate the election is in progress.
- 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).
Change the wiki Site notice
So that members are aware that they may nominate candidates for the various open seats and work on referenda proposals, have a sysop change the Site notice to indicate this. Here is some wiki text that, suitably modified, can be used for this purpose:
<br/ > {| align=center style="width:70%; border: solid 3px orange; padding: 3px;" |- |style="background:orange;"|<center>'''<big><span></span> <date> Election</big>''' |- |align=center| The Call for Nominations for the <date> election opens on <beginning of nominations period>, and will end on <end of nominations period>.<br /> To make your nominations and proposed referenda, please visit [[CZ:Election<date>]].<br /> |}
To modify this wiki text appropriately, replace <date> where ever it appears by the election date, <beginning of nominations period> with the date/time of the beginning of the nominations period and <end of nominations period> with the date/time of the end of the nominations period.
Modify the election user's wiki page to contain the election information
When nominations close, create the election page. This follows a similar procedure for creating the nominations and referenda pages, except the election page is the main page of the election user.
Go to the election user's main page. 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 user's main page (i.e., edit the election user's main page, get rid of all text in the edit box; paste the modified text into the edit box and hit Save).
To inform the membership of the election, have a sysop change the Site notice to indicate it is open. Here is some wiki text that, suitably modified, can be used for this purpose:
<br/ > {| align=center style="width:70%; border: solid 3px orange; padding: 3px;" |- |style="background:orange;"|<center>'''<big><span></span> <date> Election</big>''' |- |align=center| '''Voting in the <date> election is open until <end date of election>.'''<br /> '''To view a list of nominees and proposed referenda, please [[User:Election<date>|click here]].'''<br /> |}
To modify this wiki text appropriately, replace <date> where ever it appears by the election date, <end date of election> with the date/time of the end of the election and User:Election<date> with the Election user name.
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.