 dce402d2ad
			
		
	
	
		dce402d2ad
		
	
	
	
	
		
			
			foundationmembers was a table specific to the GNOME Foundation. This new table, election_voters, allows creation of an electorate based on a list. README is updated to explain how to use this table.
		
			
				
	
	
		
			69 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Setting up an election:
 | |
| 
 | |
| 0. vote/include/election-sql.php expects a secret config file that exists
 | |
|    only on the server and is included as PHP code.  It's hard coded currently
 | |
|    to: /home/admin/secret/anonvoting currently.
 | |
| 
 | |
|    The file should look something like this:
 | |
| 
 | |
| <?php
 | |
|        $mysql_host = "localhost";
 | |
|        $mysql_user = "someuser";
 | |
|        $mysql_password = "somepassword";
 | |
|        $mysql_db = "somedb";
 | |
|        $committee_name = "The Vote Masters";
 | |
|        $committee_email = "elections@example.org";
 | |
| ?>
 | |
| 
 | |
| 1. When I deploy, I create an account for the election, as the mysql root user:
 | |
|    mysql -u root -p
 | |
|    Password: <MYSQLROOTPW>
 | |
| 
 | |
|    Then Run these commands at the mysql> prompt:
 | |
|      CREATE USER 'someusername' identified by 'somepassword';
 | |
|      CREATE DATABASE somedbname;
 | |
| 
 | |
|    Then, exit, and at the main command line run:
 | |
|    msyql -u root -p -D somedbname < ..../vote/include/schema.sql
 | |
| 
 | |
|    Then run this again:
 | |
|    mysql -u root -p
 | |
|    Password: <MYSQLROOTPW>
 | |
| 
 | |
|    and at the mysql command line, run these grant commands:
 | |
| 
 | |
|    GRANT SELECT on somedb.elections TO someuser@localhost;
 | |
|    GRANT SELECT on somedb.election_choices TO someuser@localhost;
 | |
| 
 | |
| 
 | |
| 2. Create an election, with something like this:
 | |
|    mysql -u root -D somedb -p
 | |
| 
 | |
|       SET NAMES 'utf8';
 | |
|       INSERT t INTO elections (type, name, voting_start, voting_end, choices_nb,   question) VALUES ("elections", "2011 Spring Election", "2011-05-29 00:00:00", "2011-06-12 23:59:59", "7", "Which candidates would you like to see Elected?");
 | |
| set @el_id = @@IDENTITY;
 | |
| INSERT INTO election_choices (election_id, choice)
 | |
|     VALUES
 | |
|     (@el_id, 'Candidate 1'),
 | |
|     (@el_id, 'Candidate 2'),
 | |
|     (@el_id, 'Candidate 3'),
 | |
|     (@el_id, 'Candidate 4');
 | |
| INSERT INTO election_voters (election_id, email_address)
 | |
|     VALUES
 | |
|     (@el_id, 'voter1@example.org'),
 | |
|     (@el_id, 'voter2@example.org'),
 | |
|     (@el_id, 'voter3@example.com'),
 | |
|     (@el_id, 'voter4@example.net');
 | |
| 
 | |
|     INSERT INTO election_tmp_tokens (election_id, election_voter_id, tmp_token)
 | |
|         SELECT @el_id, id, SUBSTRING(MD5(RAND()) FROM 1 FOR 24) AS tmp_token
 | |
|         FROM election_voters where election_id = @el_id;
 | |
| 
 | |
|      select @el_id;
 | |
| 
 | |
| That number you see at the end is this election's id.  The URL you'll give out
 | |
| is thus something like:
 | |
| 
 | |
|   http://example.org/vote?election_id=THAT_NUMBER
 | |
| 
 | |
| 
 |