Selectricity XML-RPC
Voting Machinery By the Machinery, for the Machinery

Selectricity has a fully functional XML-RPC interface so that you can interface your own application with Selectricity. This API is documented in the doc/ subdirectry, under the class SelectricityService.

Usage

The XML-RPC service runs at /selectricity_service/vote of the server. All of the available methods are documented both below and in the RubyDoc generated documentation.

Important Note

Please note that the Rails framework automatically changes the case of a method name by capitalizing words separated by an underscore. For example, if you see this_method_name, the actual method name you need to call is actually ThisMethodName.

Example PHP Script

Here is a short PHP script that calls the Selectricity Service to output all active QuickVotes to a table. It assumes that you have the samples/utils folder from The PHP XML-RPC Library installed to utils/ in the include path.

<?
include("utils/utils.php");

$host="192.168.195.1";
$uri="/selectricity_service/vote";
$result = xu_rpc_http_concise(
  array(
    'method' => "ListQuickvotes",
    'host'  => $host,
    'uri'  => $uri,
    'port'  => 3000
  )
);
echo "<table border=1>\n";echo "<tr><th>Name</th>
<th>Description</th><th>ID</th>
<th>Candidates</th></tr>\n";
foreach($result as $i)
{ 
  
  echo "<tr><td>";
  echo $i['name'];
  echo "</td><td>";
  echo $i['description'];
  echo "</td><td>";
  echo $i['id'];
  echo "</td><td>";
  foreach($i['candidate_names'] as $cand)
  { 
    echo $cand . ", ";
  }
  echo "</td></tr>";
}
echo "</table>"


?>

Copyleft 2006 :: MIT Media Lab and Benjamin Mako Hill