merged in licensing changes (we'll have to undo this eventually)
[selectricity] / README
diff --git a/README b/README
index 341ef6d10113abd1522342fc74d46924d7f3df0f..859f0ca0341047616411411cf97299f9c1db8daf 100644 (file)
--- a/README
+++ b/README
@@ -1,25 +1,85 @@
-Contributors to Selectricity Include:
+===============================================
+=== Getting Selectricity ======================
+===============================================
+
+Selectricity is free software and is distributed under the MIT or
+BSD-like ExPat license. You are free to use, modify, and distribute, or
+rework Selectricity. 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 Bazaar version control system or
+source control manager to check it. You can get it here:
+
+  http://bazaar-vcs.org
+
+Once you have it, getting the source code is pretty easy. You just need
+to check out a branch with a command like this:
+
+  bzr branch http://projects.mako.cc/source/selectricity
+
+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:
+
+  bzr branch http://projects.mako.cc/source/selectricity-live
+
+===============================================
+=== 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.
+
+
+===============================================
+=== Contributors to Selectricity Include ======
+===============================================
 
  * Benjamin Mako Hill <mako@atdot.cc>
  * John Dong          <jdong@ubuntu.com>
  * Justin Sharps      <jlsharps@mit.edu>
 
-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")
+=> #<VoteResultStruct:0x336f92c @approval_winners=[1, 2], @borda_winners=[1], @plurality_winners=[1], @ssd_winners=[1], @errors=[], @condorcet_winners=[1]>
+
+Casting a quickvote:
+client.cast_quickvote("test",1,[[1,2]])
+
+To figure out what you're voting for:
+>> client.get_quickvote_candidate_map("test")=> #<CandidateMap:0x335bbc0 @errors=[], @candidate_names=["test", "test2"], @candidate_ids=[1, 2]>
+
+
+
+
+

Benjamin Mako Hill || Want to submit a patch?