Formatting and whitespace changes in README to make it more markdown-y.

This commit is contained in:
Bradley M. Kuhn 2013-12-18 19:04:25 -05:00
parent a4a320a6b6
commit a20b46f973

79
README
View file

@ -1,4 +1,4 @@
Setting up an election:
# 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
@ -6,64 +6,63 @@ Setting up an election:
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";
?>
<?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;
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
msyql -u root -p -D somedbname < ..../vote/include/schema.sql
Then run this again:
mysql -u root -p
Password: <MYSQLROOTPW>
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;
GRANT SELECT on somedb.elections TO someuser@localhost;
GRANT SELECT on somedb.election_choices TO someuser@localhost;
GRANT SELECT,DELETE on somedb.election_tmp_tokens TO someuser@localhost;
GRANT SELECT on somedb.election_voters TO someuser@localhost;
GRANT SELECT,INSERT on somedb.election_anon_tokens TO someuser@localhost;
GRANT INSERT on somedb.election_votes TO someuser@localhost;
2. Create an election, with something like this:
mysql -u root -D somedb -p
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');
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;
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;
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
http://example.org/vote?election_id=THAT_NUMBER