The website - a collaborative research sharing platform and wiki.
Ruby HTML JavaScript CSS
Latest commit 4237b4b Jan 20, 2017 @ryzokuken ryzokuken committed with jywarren Fix issues with bootstrap-lightbox CSS (#1200)
* Fix issues with bootstrap-lightbox CSS

* Update Gemfile.lock
Failed to load latest commit information.
app Fix issues with bootstrap-lightbox CSS (#1200) Jan 21, 2017
config sunspot conf fix (#1206) Jan 20, 2017
db Counter fixes (#1180) Jan 20, 2017
doc drupal_tag => tag (#1178) Jan 10, 2017
lib Update test.rake (#1203) Jan 20, 2017
public Move i18n library to bower dependencies Nov 4, 2016
script styling for plots2 Oct 22, 2012
spec/javascripts Broken question-comment design fix. Fixes #977 (#1139) Jan 4, 2017
static styling for plots2 Oct 22, 2012
test fixes to header markdown (#1186) Jan 20, 2017
vendor/assets rake tasks nicely failing Apr 4, 2013
.bowerrc fontawesome, js/css assets all loading, working on post form #197 Mar 4, 2015
.gitignore Gemfile.lock generated with no ruby version specified... (#1168) Jan 6, 2017
.travis.yml moved solr-dependent tests into a managed rake test:solr task (#861) Oct 5, 2016 CONTRIBUTE updated. Fixes #1048 (#1059) Dec 5, 2016
Dockerfile Update Dockerfile (#1195) Jan 19, 2017
Gemfile Fixes #425 - Make page views unique (#1153) Dec 31, 2016
Gemfile.lock Gemfile.lock generated with no ruby version specified... (#1168) Jan 6, 2017 various refinements to install instructions, development sqlite db, c… Mar 29, 2016
LICENSE adding license file Feb 23, 2015 basic tag-based testing and tag aliasing Oct 21, 2016
README.environment various refinements to install instructions, development sqlite db, c… Mar 29, 2016 Add this is a part of a series about x -- closes #1036 (#1179) Jan 10, 2017
README.rdoc styling for plots2 Oct 22, 2012
Rakefile styling for plots2 Oct 22, 2012
bower.json Upgrade bootstrap-lightbox to v0.7.0 (#1173) Jan 8, 2017 styling for plots2 Oct 22, 2012
docker-compose.yml [Staging] Changes to enable staging instance. (#1089) (#1092) Dec 13, 2016 updated to in and Nov 8, 2016

Build Status badge Join the chat at

The content management system for the Public Lab research community, the plots2 web application is a combination of a group research blog of what we call "research notes" and a wiki. Read more about the data model here.

It features a Bootstrap-based UI and a variety of community and attribution features that help the Public Lab community collaborate on environmental technology design and documentation, as well as community organizing. Originally a Drupal site, it was rewritten in 2012 in Ruby on Rails, and has since extended but not entirely replaced the legacy Drupal data model and database design.

Some key features include:


We welcome contributions, and are especially interested in welcoming first time contributors. Read more about how to contribute below! We especially welcome contributions from people from groups underrepresented in free and open source software!

Code of Conduct

Please read and abide by our Code of Conduct; our community aspires to be a respectful place both during online and in-­person interactions.

Table of Contents

  1. Simple Installation with Cloud9
  2. Prerequisites
  3. Testing
  4. API
  5. Bugs and Support
  6. Data model


  1. In the console, download a copy of the source with git clone
  2. Enter the new plots2 directory with cd plots2.
  3. Install gems with bundle install --without production mysql from the rails root folder, to install the gems you'll need, excluding those needed only in production. You may need to first run bundle update if you have older gems in your environment from previous Rails work.
  4. Make a copy of db/schema.rb.example and place it at db/schema.rb.
  5. Make a copy of config/database.yml.sqlite.example and place it at config/database.yml
  6. Run rake db:setup to set up the database
  7. Install static assets (like external javascript libraries, fonts) with bower install
  8. (optional) Install solr engine rails generate sunspot_rails:install
  9. (optional) Start the solr server in foreground by using bundle exec rake sunspot:solr:start
  10. (optional) Index your search database in solr server using bundle exec rake sunspot:reindex
  11. Start rails with passenger start from the Rails root and open http://localhost:3000 in a web browser.
  12. Wheeeee! You're up and running! Log in with test usernames "user", "moderator", or "admin", and password "password".
  13. Run rake test to confirm that your install is working properly. For some setups, you may see warnings even if test pass; see this issue we're working to resolve.

Bundle exec

For some, it will be necessary to prepend your gem-related commands with bundle exec, for example bundle exec passenger start; adding bundle exec ensures you're using the version of passenger you just installed with Bundler. bundle exec rake db:setup, bundle exec rake db:seed are other examples of where this might be necessary.

Internationalization now supports Internationalization and localization, though we are in the initial stages. This has been accomplished with rails-I8n.

To see it in action, click on the 'Language' dropdown located in the header/footer section of the page. All the guidelines and best practices for I18n can be found here.

Translations are arranged in the yaml files here, which are organized in the similar way to views files. An example for adding translations can be found here.

To add new languages or for additional support, please write to


Help improve Public Lab software!

First Time?

New to open source/free software? Here are a selection of issues we've made especially for first-timers. We're here to help, so just ask if one looks interesting :

We also have a slightly larger list of easy-ish but small and self contained issues: