X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/a16962155a3c3c6616bfe32c7216f3631836d38c..f55c18a56705cbe340a1234d9083ad4e1055f0d4:/README?ds=sidebyside diff --git a/README b/README index 22f3eb7..5ce586b 100644 --- a/README +++ b/README @@ -1,9 +1,57 @@ =============================================== -=== Depedendencies ============================ +=== 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 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 + +By default, this will create a working copy with the latest +*development* version of our code. If you want the latest production +version (i.e., what we're running on the site), you need to switch to +the live version of the software which is kept in a branch called +"live." Once you cloned the repository above, you can switch into the +directory (i.e., run "cd selectricity") and then run the following +command: + + git checkout -b live origin/live + + +=============================================== +=== Getting Help and Contributing ============= +=============================================== + +If you have a question, you can always email the core team at: + + team@selectricity.org + +If you want to get involved in development, want to discuss +selectricity, or want to participate, please subscribe to our mailing +list here: + + http://mailman.mit.edu/mailman/listinfo/selectricity + + +=============================================== +=== Dependencies ============================== =============================================== To use Selectricity, you'll need to install the following gems in -addition to rails and its dependencies: +addition to Ruby on Rails (gem:rails), MySQL (gem:mysql), and its +dependencies: * rmagick * gruff (http://nubyonrails.com/pages/gruff) @@ -19,7 +67,15 @@ 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 + apt-get install imagemagick libmagick9-dev ruby1.8-dev libwmf-bin rdoc \ + libopenssl-ruby1.8 libreadline-ruby1.8 libmysqlclient15-dev + +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. =============================================== @@ -28,81 +84,6 @@ On Ubuntu, you can install install the dependencies with: * 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 -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. - -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")=> # - - - + * Justin Sharps