Temporary location of Voting Software Source code.
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. |
||
---|---|---|
bin | ||
include | ||
vote | ||
.cvsignore | ||
.gitignore | ||
autogen.sh | ||
configure.in | ||
MAINTAINERS | ||
Makefile.am | ||
README | ||
rules.common |
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