]> projects.mako.cc - selectricity-live/blobdiff - README
fix security issue
[selectricity-live] / README
diff --git a/README b/README
index a019cc45f8778a3bdf93739687cc0e6018d981c9..afa0a254c62471f21751d52f69a0e31de1d923cc 100644 (file)
--- a/README
+++ b/README
@@ -9,32 +9,25 @@ 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
-tree.  At the moment, we're hosting our code at Gitorious which is a
-free software hosting provider. You can download Gitorious at the
-project page by following detailed instructions at Gitorious:
+source repository. You'll need the Git version control system or
+source control manager to check it. You can get it here:
 
-  http://gitorious.org/selectricity
+  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:
 
-===============================================
-=== Getting Help and Contributing =============
-===============================================
-
-If you have a question, you can always email the core team at:
-
-  team@selectricity.org
+  git clone http://projects.mako.cc/source/selectricity/.git
 
-If you want to get involved in development, want to discuss
-selectricity, or want to participate, please subscribe to our mailing
-list here:
+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:
 
-  http://mailman.mit.edu/mailman/listinfo/selectricity
-
-In terms of bugs and documentation, we current plan to build this out in
-our Gitorious wiki so feel free to get started with your own efforts
-along these lines there:
-
-  http://gitorious.org/selectricity/pages/Home
+  git checkout -b live origin/live
 
 
 ===============================================
@@ -66,7 +59,6 @@ Our server configuration uses Mongrel (installed from gems) behind an
 Apache2 load balancing proxy using mod_proxy.
 
 
-
 ===============================================
 === Contributors to Selectricity Include ======
 ===============================================
@@ -75,5 +67,79 @@ Apache2 load balancing proxy using mod_proxy.
  * John Dong          <jdong@ubuntu.com>
  * Justin Sharps      <jlsharps@mit.edu>
 
+===============================================
+=== 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")
+=> #<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?