Skip to content
Platform for public deliberation. Check out ChalkboardIt to see it at work.
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
app
config
db
lib
log
public
script
test
vendor/assets
.gitignore
.rvmrc
Gemfile
Gemfile.lock
LICENSE.txt
README.markdown
Rakefile
config.ru

README.markdown

ConsiderIt & ChalkboardIt

ConsiderIt helps large groups of people make decisions. Each person crafts a pro/con list, where they can author points and/or include points by other people that they think are important. From this information, the important factors - pro and con - can be identified. Moreover, ConsiderIt sheds lights on the sticking points for opposers, as well as the common ground that both supporters and opposers find important.

ChalkboardIt is the primary hosted deployment of ConsiderIt. ConsiderIt was initially created to support the Living Voters Guide, a citizen-powered voters guide for WA state.

ConsiderIt is open source for non-commercial use, under the AGPL license. More details about licensing.

The creator and maintainer is Travis Kriplean.

Licensing

Non-commercial use of ConsiderIt

ConsiderIt is licensed under the open source AGPL license for non-commercial use. In addition to the normal stipulations of the GPL, the AGPL adds the requirement that if you use ConsiderIt as part of a website, you must include a link to your source code, even if you haven't redistributed it per se. If this is problematic for you for some reason, we will most likely be quite happy to simply have a "powered by ChalkboardIt" link in the footer of your webpage. Contact us to discuss it.

Commercial use of ConsiderIt

For use of ConsiderIt in a commercial context, an agreement can be struck with us. Commercial use covers non-profits who create a revenue stream based on use of a product that includes ConsiderIt. Contact us if you are interested.

Use of ConsiderIt in a closed-source proprietary product

We are open to selling an alternate license that waives the AGPL conditions so that ConsiderIt can be incorporated into a closed-source proprietary product, or even for vendors who wish to repackage ConsiderIt under a different name and add additional value through closed modules. Contact us to discuss this possibility.

Installation

Here are installation instructions, along with some hints in case of problems (mostly Macintosh-specific).

  • Manage ruby / rails installs with RVM. After installing rvm, install ruby 1.93:

        rvm install 1.9.3
    

    Good mac install directions here. You can use RVM to install Ruby in a personal directory or in the system directory. Personal directory is recommended in any case; for linux this is also useful if you don't have root access. On the Mac, RVM will install a recent version of Ruby, but also leave the built-in version of Ruby intact at /usr/bin/ruby.

    The suggested script for installing rvm is:

        bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
    

    If this doesn't work, try downloading and saving the script, and running it directly as a shell script. After you're done, check that you have the correct version of ruby (should be 1.9.3):

        ruby -v
    

    Set this as the default in RVM so you don't have to switch each time you open a new shell:

        rvm --default use 1.9.3
    
  • Clone from git repository into your workspace using the following command. Note that you will have to set up your ssh keys with github first (see github linux setup).

        git clone git@github.com:tkriplean/ConsiderIt.git
    
  • Go into the ConsiderIt directory:

      cd ConsiderIt
    

    An RVM project file (.rvmrc) already exists in the project. When you first cd into the directory, RVM should recognize this and ask if you trust it. You should say yes.

  • Install a SQL database if needed. We've been using MySQL.

  • Install ImageMagick. For the Macintosh the recommended technique is to use MacPorts. This involves building from source and takes a while -- no dmg file, unfortunately. However, this has worked fine on various Macs, so you probably won't have any trouble.

  • Install gems. First deal with the problematic mysql gem (at least it's problematic on the mac and ubuntu 11.04); and then install everything else. To install the mysql gem on the Mac, first try this:

        sudo env ARCHFLAGS="-arch x86_64" gem install mysql -with-mysql-config=/usr/local/mysql/bin/mysql_config
    

    Or with MAMP:

        sudo env ARCHFLAGS="-arch x86_64" gem install mysql -with-mysql-config=/Applications/MAMP/Library/bin/mysql_config
    

    accessing MAMP mysql via terminal:

        mysql --socket=/Applications/MAMP/tmp/mysql/mysql.sock -u root -p
    

    To install the mysql gem on Ubuntu remove the socket from config/database.yml. Make sure that the you have created the password in config/database.yml for the user and hostname that you have specified. When the host is not specified in the Ubuntu version of mysql it does not default to 'localhost'.

    Now install the other gems. The Gemfile in the ConsiderIt directory specifies a particular version of rails, so specify that.

        gem install rails -v '3.0.6'
        bundle install
    

    As noted, the mysql gem is problematic on the Macintosh. The mysql2 gem is touted as superior to the mysql gem, so you can try that if the instructions above don't work. However, the most recent version of mysql2 didn't install correctly. Installing an older version (0.2.7) worked on a Macbook air running Snow Leopard (version 10.6.8). You'll first need to fix a path problem for Ruby mysql2 gem to find the correct library by putting this in your .profile file:

        export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
    

    Then this should install the gem itself:

        sudo env ARCHFLAGS="-arch x86_64" gem install mysql2 -v 0.2.7 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
    

    If you use mysql2 rather than mysql, edit the Gemfile by replacing this line: gem 'mysql' with

        gem 'mysql2', '0.2.7'
    

    Also replace mysql (the adaptor) in config/database.yml with mysql2.

    Neither of these techniques worked on a desktop Mac Pro running Leopard (version 10.5.8). There were various problems, including not being able to find the library. To get this working I ended up removing the version of mysql installed from the dmg file and installed it using Macports. (There must be a better way but this worked.) Here are directions for completely removing MySQL if you end up needing to do this: http://akrabat.com/computing/uninstalling-mysql-on-mac-os-x-leopard/

    Then install MySQL using Macports:

        sudo port install mysql5
        sudo port install mysql5-server
    

    After this, a simple

        sudo gem install mysql
    

    worked.

  • Update config/database.yml as necessary. If you used the mysql2 gem, you'll need to change the adaptor accordingly. Also edit the user name or password to taste.

  • Create the database

      rake db:create
      rake db:migrate
    

    On Ubuntu 11.04 create fails with an error saying that it cannot find the Javascript runtime. If you get this error install node.js from

        https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
    

    On Ubuntu 11.04 you will also come accross the error "rake aborted! stack level too deep". To fix this run these commands instead: bundle exec rake db:create bundle exec rake db:migrate

  • Start the web server:

      rails server
    

    (run with --help for options)

  • (optional) Deployment

  • More Troubleshooting. If you are still having trouble with rails or with the mysql interface, try making a trivial test application with rails, as described here

        rails new test_app
        cd test_app
        bundle install
        rails s
    

    Then point a browser to http://localhost:3000 and see if it works. Be sure and click the "About your application’s environment" link as part of the test since that queries the database.

    This first version of the test application uses the built-in database sqlite3. If this works, next try using mysql -- change the Gemfile to use mysql (or mysql2) rather than sqlite, and also edit config/database.yml to use mysql as well. Run "bundle install" again and start up rails -- if things still work then you know that rails and the mysql gem are OK and the problem is elsewhere.

Something went wrong with that request. Please try again.