X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/dc635b6d39be19a09a428282b6d639d029908df6..4e89e6ec1729bb02239b3f6dd5d388ac0c5c9073:/README diff --git a/README b/README index 341ef6d..364f616 100644 --- a/README +++ b/README @@ -1,25 +1,89 @@ -Contributors to Selectricity Include: +=============================================== +=== Getting Selectricity ====================== +=============================================== + +Selectricity is free software and is distributed under the GNU Affero +General Public License version 3. You are free to use, modify, and +distribute, or rework Selectricity under the terms of that license. Of +course, we'd sure like it if you would send fixes back to us and tell us +about cool stuff you do with our software! + +The best way to get Selectricity is just to download it from our source +source repository. You'll need the Git version control system or +source control manager to check it. You can get it here: + + http://git-scm.com/ + +Once you have it, getting the source code is pretty easy. You just need +to check out a branch with a command like this: + + git clone http://projects.mako.cc/source/selectricity/.git + +This will give you the latest *development* version of our code. If you +want the latest production version (i.e., what we're running on the +site), you can grab that here: + + git clone http://projects.mako.cc/source/selectricity-live/.git + +=============================================== +=== Dependencies ============================== +=============================================== + +To use Selectricity, you'll need to install the following gems in +addition to Ruby on Rails, MySQL, and its dependencies: + + * rmagick + * gruff (http://nubyonrails.com/pages/gruff) + * sparklines (http://nubyonrails.com/pages/sparklines) + +To use Selectricity in development mode, you'll need to install the +following gems: + + * ruby-debug + +Also, you will need install the other applications installed first: + + * imagemagick (http://www.imagemagick.org/) + +On Ubuntu, you can install install the dependencies with: + apt-get install imagemagick libmagick9-dev ruby1.8-dev libwmf-bin + +Our server configuration uses Mongrel (installed from gems) behind an +Apache2 load balancing proxy using mod_proxy. + +You'll also need to have a MTA installed. We use Postfix and have not +tried it with any other system. Presumably though, anything that +provides '/usr/bin/sendmail' should work. + +=============================================== +=== Contributors to Selectricity Include ====== +=============================================== * Benjamin Mako Hill * John Dong * Justin Sharps -07/31/07 -jlsharps: I've added a user authentication system known as -"acts_as_authenticated" to the code. The plugin is the the vendor/plugins -directory. The two most noticeable changes are the AccountController and a -redone User model. I've left the UserController in place for now, but the -AccountController works in a different manner, so am switching over to that -gradually. I saved the 5 lines or so in the old User model, overwrote -it with the authenticated generator and then recopied the old stuff back in: -has_many :elections and the name() method. The generator also creates its own -migration file, but since we are using a create.sql file I adopted the -migration file into a new users table in the create.sql file. I have yet to -delete the old table because I haven't fully combed through the code yet and -determined how many of the old attributes (such as first_name, last_name) may -need to be retained. -http://technoweenie.stikipad.com/plugins/show/Acts+as+Authenticated is the -best site for documentation regarding acts_as_authenticaed. Also, currently -it only stores the user_id in the session, but i just found a guide to help -me make it store the entire user object, so I'll do that while my battery -charges. \ No newline at end of file +===================================== +=== XML-RPC INFO == +====================================== + +The XML-RPC API is still under development, but is somewhat functional already: + +To instantiate a client in Ruby, try something like: +client=ActionWebService::Client::XmlRpc.new(SelectricityAPI,"http://localhost:3000/selectricity_service/vote") + + +Getting the results of a quickvote is quite simple: +?> client.get_quickvote_results("test") +=> # + +Casting a quickvote: +client.cast_quickvote("test",1,[[1,2]]) + +To figure out what you're voting for: +>> client.get_quickvote_candidate_map("test")=> # + + + + +