Trying to run an election with foundation.gnome.org software



Hi all,

I'm trying to figure out how the voting software for the foundation
works. It doesn't appear to be documented anywhere I can find.

So far, the information I have is:

* There's a file /home/admin/secret/anonvoting which contains DB auth
details:
<?php
$mysql_host="XXX";
$mysql_user="XXX";
$mysql_password="XXX";
$mysql_db="XXX";
?>
* The database contains 6 tables, but I only have the schema for 5:
"elections";
"election_choices";
"election_anon_tokens";
"election_votes";
"election_tmp_tokens";
"foundationmembers";

 CREATE TABLE `elections` (
   `id` int(11) NOT NULL auto_increment,
   `type` enum('elections','referendum') NOT NULL default 'elections',
   `name` varchar(150) NOT NULL default '',
   `voting_start` datetime default NULL,
   `voting_end` datetime default '0000-00-00 00:00:00',
   `choices_nb` int(11) NOT NULL default '0',
   `question` text NOT NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8
 CREATE TABLE `election_anon_tokens` (
   `id` int(11) NOT NULL auto_increment,
   `anon_token` varchar(200) NOT NULL default '',
   `election_id` int(11) NOT NULL default '0',
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8
 CREATE TABLE `election_choices` (
   `id` int(11) NOT NULL auto_increment,
   `election_id` int(11) NOT NULL default '0',
   `choice` varchar(150) NOT NULL default '',
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

 CREATE TABLE `election_tmp_tokens` (
   `election_id` int(11) NOT NULL default '0',
   `member_id` int(11) NOT NULL default '0',
   `tmp_token` varchar(200) NOT NULL default ''
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

CREATE TABLE `election_votes` (
   `id` int(11) NOT NULL auto_increment,
   `choice_id` int(11) NOT NULL default '0',
   `anon_id` int(11) NOT NULL default '0',
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

* The software that uses these is in the module foundation-web, in
foundation.gnome.org/vote.

Some questions I don't have the answers to are:

* Which tables do I need to populate to initialise the electorate, and
how? I guess I create an entry in the elections table, one row per
candidate in election_choices with election_id being a foreign key to
elections.id
* I don't know whether I need to populate election_anon_tokens or
election_tmp_tokens with electorate details.
* How are the anonymous tokens sent by email generated?
* How are ballots generated and sent?

One technical issue is that I'm running a first past the post "one man
one vote" election, not our "one man N votes" system, I guess I need to
change the election scripts to handle that.

Someone pointed me at Selectricity, which might be what I'll go with if
I can easily limit the electorate.

Cheers,
Dave.

-- 
Dave Neary
GNOME Foundation member
bolsh gnome org


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]