X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/dc635b6d39be19a09a428282b6d639d029908df6..6b988cf46f0efdcad41e51c425e4ea2d462f5425:/README diff --git a/README b/README index 341ef6d..9980f41 100644 --- a/README +++ b/README @@ -1,9 +1,42 @@ -Contributors to Selectricity Include: +=============================================== +=== Depedendencies ============================ +=============================================== + +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. + + +=============================================== +=== Contributors to Selectricity Include ====== +=============================================== * Benjamin Mako Hill * John Dong * Justin Sharps +=============================================== +=== Log ======================================= +=============================================== + 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 @@ -22,4 +55,57 @@ 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 +charges. + +08/03/07 +Handy trick: use the command 'gem_server' from a shell to create a server at +http://localhost:8008 that is an easy to navigate locally-hosted website with +all the documentation on local gems you have in a easy to read format. + +jlsharps: I added the Gruff plug-in today, which is viewable under the folder +vender/plugins/gruff. I installed it directly using the Gruff plug-in and +included controller generate utility. The version 0.1.2, which doesn't seem to +be the latest version. I've looked into it and it see and it seems that the +latest version is 0.2.8. However, I wasn't sure how including a gem w/o a plugin +would function in end-game rails so I just what I used for now. If you guys +(mako of john) know how to do it, it'd probably be better to upgrade, but it +didn't seem like the best use of my time right now. I got the plug-in here: +http://topfunky.net/svn/plugins/gruff. You can get the gruff gem v 0.2.8 by +typing "sudo gem install gruff", I believe it's also hosted on RubyForge. + +I created the GraphsController for Gruff methods to use. In Pollarize I put them +in the ApplicationContorller file, so they would be accessible to all. While +that it also an option here, it would also mean there wouldn't be much room for +playing around because everything in the Application file has to be perfect or +it seems to throw Error Code 500 (basically everything breaks). The show() +is a sample sample provided with Gruff. + +Documentation is here:http://gruff.rubyforge.org/ Alternately, if you have the +gem installed, you can use the ri command, or the above mentioned gem_server. + +If you guys want more helpful stuff here, let me know. + +====================================== +=== 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")=> # + + + + +