Editing Maemo.org team/Creating an election

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
These are the steps required to create a new election for the [[Community Council]] - essentially the same process applies for a referendum.
These are the steps required to create a new election for the [[Community Council]] - essentially the same process applies for a referendum.
-
 
-
 
-
== The new Admin Interface ==
 
-
The new admin interface can be accessed by active system administrators and Council.  The interface was designed to handle simple to medium election setups.  Very complex elections are possible via the interface, but may at times be easier to do with direct SQL access.
 
-
 
-
; Admin Control Panel
 
-
: The admin control panel is the primary page seen after logging in.  From here, you select the Election you wish to work on, and the action you wish to do involving this election.  Once both drop downs are properly updated, hit the "Apply" button to move forward in your task.  You can always return to this page (without saving changes) by hitting the "Return to ACP" button.
 
-
 
-
== Vital steps in starting a new election ==
 
-
Starting a new election requires a few updates to occur in the voting both:
 
-
 
-
; Updating the electorate
 
-
: The electorate is the table of valid voters.  This still under construction at the time of this writing, and is a highly manual process still.  To update this, an admin must copy columns of the login table from the Midgard system into a table in the voting database. ('''Admin Note:''' The script "update-midgard-table.php" currently does this, but must be run as root to accomplish this task.)  From there, the interface can be used to update the e-mail and/or find and add new members to the electorate table.
 
-
 
-
; Create New Election
 
-
: The second step is setting up the actual election/referendum.  This sets up a new election in the database, and provides selections for settings for the election. '''Note:''' Always verify the dates of the election, and ensure they are in the future.  The admin interface will lock out editing of an election if it's slated to start on or before the date indicated. Once the election is added, it should auto-forward you to the next step in the process.
 
-
 
-
; Edit Options/Candidates
 
-
: Here, the Apply button will loop you back to this page so you can enter multiple selections at once.  You can return here from the main menu to make changes until the day of the election.  When all candidates are entered, select "Next" to move to the next step.
 
-
 
-
; Make/Edit Mail Template
 
-
: The next step is creating a mailing template for this election.  This sets up the e-mail form used to send tokens to voters.  A default template will be loaded based on the type of election, or from a previously edited and saved template, if you return to this step later.  '''Note:''' For elections where you will not be sending an e-mail (eg cloned token elections), this stop is optional.  After saving the template, you will be forwarded on to the token interface.
 
-
 
-
; Make/Clone/Mail Tokens
 
-
: This interface changes based on the state of the token database.  If tokens already exist for this election, an indicator will show you how many tokens exist.  This can be compared to the number of valid electorate to be sure all members have tokens.  Here, you can make new tokens for an election or clone them from another election.  Once tokens are present options to mail out tokens will show up, and options to clone or make new tokens will go away.  Once tokens are made and mailed out, or cloned, you can return to the control panel.  Your election should start on the dates given, and people should receive the tokens over the next few days.
 
-
 
-
=== A few notes on token and token generation ===
 
-
: Tokens are random bits made to allow anonymous voting access.  They are destroyed as the voter "pulls the lever" and makes their choices permanent in the voting interface.  For this reason, one can not and should not clone tokens from an active or past election (and the admin interface will not allow such actions to happen).
 
-
: Tokens also are electorate specific, so updating the user list and making new tokens just for those users is somewhat of a task.  It can be done, and hopefully soon the interface will handle that task.  But currently it's a manual process to do so.  (See notes below on how to do this.)  With the addition of the admin interface, the hope is to allow future elections to all use the same electorate group, by appending new members and updating old ones.  Elections prior to this reset the electorate interface every time.
 
-
 
-
== Other Admin Functions ==
 
-
Below is a list of all admin functions and how they currently work.
 
-
 
-
; Add An Admin Function (Election Selection Irrelevant)
 
-
: This allows existing admins to add new admin accounts.  The rights on sub-admins are the same as the admin creating them.  Note that the username and e-mail must be double checked, and that the initial login password is mailed directly to the user.  This should be used by out-going Council to add new Council to the admin interface.
 
-
 
-
; Remove An Admin Function (Election Selection Irrelevant)
 
-
: For super admins, this allows the addition or removal of any account.  For standard admins, this allows them to remove themselves as an admin.  This functionality is meant mainly as a maintenance function, and as a way for outgoing Council to relinquish admin rights as they exit.
 
-
 
-
; Change User Info (Election Selection Irrelevant)
 
-
: This option allows you to update your own user information, be that your e-mail address or password for the system.  Super admins may be able to update e-mail and/or force a new user password/token to be sent to other users.
 
-
 
-
; Create New Election (Election Selection Irrelevant)
 
-
: This one is somewhat self-explanatory.  It creates a new election in the election database.  That user is walked through all steps of creating an election from this menu item.
 
-
 
-
; Edit Existing Election (Valid on future elections only)
 
-
: This item allows you to edit existing future elections.  It does not allow users to edit active or past elections.  For this reason, when creating or editing an election, be conscious of the date selections, as after you hit save, that start date is when it becomes non-editable.
 
-
 
-
; Delete Existing Election (Valid on future elections only)
 
-
: This allows you to remove a pending election, in case you screwed up in some way that would make editing it not an option.  Use this sparingly, as most things can be edited to be fixed.
 
-
 
-
; Edit Options/Candidates (Valid on future elections only)
 
-
: This allows you to update, add, or remove candidates or choices from elections and referendums.  You can change these in the same way you would edit an election, and changes are bared once the election is active (or past).
 
-
 
-
; Make/Edit Mail Template (Valid on future elections only)
 
-
: This creates or edits the template used to mail out information about the election selected.  This is used by the e-mailer to send out tokens for this election.  For cloned elections, this step can be skipped.
 
-
 
-
; Make/Clone Mail Tokens (Valid on future elections only)
 
-
: This interface is somewhat complex.  It allows admins to create new tokens for new elections.  It also allows for cloning of other future elections, so if you want to hold two or three elections with the same token for each user, that's viable.  (This is done to cut down the number of e-mail sent out, to keep us off spam lists.)  This interface changes based on if tokens are available, if other future elections are available for cloning, etc.
 
-
 
-
; Compute Results of Vote (Valid on '''past''' elections only)
 
-
: This function allows for the entering of election results.  Be default, the system should auto-generate the results and present them for entering into the database as final an approved.  This should work for referendums and runoff elections now.  If an error occurs, consult and admin.
 
-
 
-
 
-
== Resending Vote Tokens ==
 
-
 
-
Under the new interface, any voter can force their own vote token to be mailed to them.  The admin may need to update the user's e-mail address with the web interface as documented above, but should never have to extract, e-mail, or see a user token with this system.  The voter simply needs to visit the login page for the on-going election or referendum they want to participate in, and use the "Get Token" button.  This will ask them for their username and e-mail address.  If they match (in the voting database) and the voter has a valid token, it will re-mail them automatically.
 
-
 
-
 
-
== This is how Elections were done before the admin interface ==
 
; Get list of maemo.org accounts
; Get list of maemo.org accounts
Line 160: Line 90:
Awk script to generate the table:
Awk script to generate the table:
-
<source lang="php" >
+
<source lang="awk">
BEGIN{ FS="\t";
BEGIN{ FS="\t";
print "{|\n|-\n! Username\n! Real name\n! Karma";
print "{|\n|-\n! Username\n! Real name\n! Karma";
Line 186: Line 116:
And we're all done! The election will run until its closing date, at which point you can [[../Generating election results | generate the results]]
And we're all done! The election will run until its closing date, at which point you can [[../Generating election results | generate the results]]
-
; Resending tokens
+
== Resending tokens ==
Sometimes token emails get caught in spam filters, or accidentally deleted, or the first email address associated with their account is dead, or whatever. You can find the anonymous token associated with someone as long as they have not voted yet.
Sometimes token emails get caught in spam filters, or accidentally deleted, or the first email address associated with their account is dead, or whatever. You can find the anonymous token associated with someone as long as they have not voted yet.
In a Plain Old mysql client, run the following query:
In a Plain Old mysql client, run the following query:
-
<source lang="sql">
 
  select e.id, e.username, e.firstname, e.lastname, e.email,
  select e.id, e.username, e.firstname, e.lastname, e.email,
         t.election_id, t.tmp_token
         t.election_id, t.tmp_token
  from electorate as e, election_tmp_token as t
  from electorate as e, election_tmp_token as t
  where e.id=t.member_id and e.username='<username>';
  where e.id=t.member_id and e.username='<username>';
-
</source>
 
You can also look using "LIKE" on the username, first name or last name if you need to. This will give you the email/tmp_token pairing which the person can then use to vote, and which you can then send on to them, after verifying that they are who they say they are.
You can also look using "LIKE" on the username, first name or last name if you need to. This will give you the email/tmp_token pairing which the person can then use to vote, and which you can then send on to them, after verifying that they are who they say they are.
[[Category:Community]]
[[Category:Community]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)