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:
- a Question and Answer system for peer-based problem solving
- a rich text and Markdown research note and wiki editor
- wiki editing and revision tracking
- tagging and tag-based content organization
- email notification subscriptions for tags and comments
- a search interface built out of our growing API
- a user dashboard presenting recent activity
- a privacy-sensitive, Leaflet-based location tagging system and community map
(Above: draft of our Data model)
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 under-represented 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
- In the console, download a copy of the source with
git clone https://github.com/publiclab/plots2.git.
- Enter the new plots2 directory with
- Install gems with
bundle install --without production mysqlfrom the rails root folder, to install the gems you'll need, excluding those needed only in production. You may need to first run
bundle updateif you have older gems in your environment from previous Rails work.
- Make a copy of
db/schema.rb.exampleand place it at
- Make a copy of
config/database.yml.sqlite.exampleand place it at
rake db:setupto set up the database
- (optional, not recommended) Install solr engine
rails generate sunspot_rails:install
- (optional, not recommended) Start the solr server in foreground by using
bundle exec rake sunspot:solr:start
- (optional, not recommended) Index your search database in solr server using
bundle exec rake sunspot:reindex
- Start rails with
passenger startfrom the Rails root and open http://localhost:3000 in a web browser.
- Wheeeee! You're up and running! Log in with test usernames "user", "moderator", or "admin", and password "password".
rake testto 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.
Make sure to use ruby-2.3.4. To check your ruby version run
ruby -v.If you are using some other version then install ruby-2.3.4 with
rvm install 2.3.4. Later to use ruby-2.3.4, run
rvm use 2.3.4. Always make sure that you are using the correct ruby version since it might go back to its original version if you close the terminal. You might have to redo the entire installation process after switching to a different version.
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.
Bugs and support
To report bugs and request features, please use the GitHub issue tracker provided at https://github.com/publiclab/plots2/issues
Publiclab.org 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' drop-down located in the footer section of the page. All the guidelines and best practices for I18n can be found here.
To add new languages or for additional support, please write to email@example.com
Help improve Public Lab software!
- Join the 'firstname.lastname@example.org' discussion list to get involved
- Look for open issues at https://github.com/publiclab/plots2/issues
- We're specifically asking for help with issues labelled with help-wanted tag
- Find lots of info on contributing at http://publiclab.org/wiki/developers
- Review specific contributor guidelines at http://publiclab.org/wiki/contributing-to-public-lab-software
- Some devs hang out in http://publiclab.org/chat (irc webchat)
- Join our gitter chat at https://gitter.im/publiclab/publiclab
New to open source/free software? Here is a selection of issues we've made especially for first-timers. We're here to help, so just ask if one looks interesting : https://publiclab.github.io/community-toolbox/#r=all
We also have a slightly larger list of easy-ish but small and self-contained issues: https://github.com/publiclab/plots2/labels/help-wanted