diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..67150012 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +## 2.5 + +- Initial release diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..ffbf1223 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,92 @@ +# Contributing to Metamaps + +Active involvement from the community is essential to help make Metamaps as beneficial for communities as it can be. You can help by reporting bugs, fixing bugs, adding features, contributing new modules and by providing feedback. + + +## Reporting bugs and other issues + +If you think you've encountered a bug, do the following: + +1. Make sure you are working with the latest version of the Metamaps `master` branch. +2. Browse through the [issues][metamaps-issues] to check if + anyone else has already reported. If someone has, feel free to add more + information to that issue to help us solve it. +3. If no one has yet submitted the issue you are encountering, add it in! Please be sure + to include as much information as possible, include errors, warnings, + screenshots, links to a video showing the problem or code that can reproduce + the issue. + + +## Contributing code + +Metamaps is made possible by open source +contributors like you. We're very interested in getting help from the greater +community, but before you start it's important that you become acquainted with +our workflow. Following these guidelines below will make collaboration much +smoother and increase the chances that we will accept your pull request without +hiccups. + + +### Development Process + +Our development process is very similar to the approach +described in the well-known article [A Successful Git Branching Model by Vincent +Driessen][git-branching-model]. Here's an overview: + +* Our `master` branch is the branch upon which + Metamaps developers should be basing their work on. The `master` branch is not guaranteed to be stable. +* All commits intended for `master` should take place on your own personal + fork, and be submitted via pull request when ready. +* Only maintainers can accept pull requests from forks into the core Famo.us + repository. +* Please squash your commits into a single commit before making a pull request. + +### Getting started + +1. Make sure you have a [GitHub account](https://github.com/signup/free) +2. [Fork metamaps][fork-metamaps] +3. Keep your fork up to date. Metamaps is a fast moving project, and things are + changing all the time. It's important that any changes you make are based on + the most recent version of metamaps, since it's possible that something may + have changed that breaks your pull request or invalidates its need. +4. Make sure you have a [Contributor License Agreement][cla] on file. +5. Read on ... + + +### Contributor License Agreement + +Before we can accept any contributions to Metamaps, we first require that all +individuals or companies agree to our Contributor License Agreement (CLA). The e-mail +address used in the pull request will be used to check if a CLA has already been +filed, so be sure to list all email addresses that you might use to submit your +pull requests when filling it out. Our CLA can be found [here][cla]. + +### Testing and Linting + +TODO + + +### Branch grouping tokens + +All pull requests submitted to Famo.us should occur on a new branch. For these +branches, we at metamaps use a short token indicating the nature of the branch in +question followed by a solidus (`/`) and a kebab-cased string describing the +branch. We are using the following tokens: + + bug // bug fixes + wip // work in progress + feat // feature + +Bug fixes follow a [slightly different format](#bug-fixes). + +### Bug fixes + +If you'd like to contribute a fix for a bug you've encountered, first read up on +[how to report a bug](#reporting-bugs-and-other-issues) and report it so we are +aware of the issue. By filing the issue first, we may be able to provide you +with some insight that guides you in the right direction. + +[metamaps-issues]: https://github.com/Connoropolous/metamaps_gen002/issues +[git-branching-model]: http://nvie.com/posts/a-successful-git-branching-model/ +[fork-metamaps]: https://github.com/Connoropolous/metamaps_gen002/fork +[cla]: http://metamaps.cc/cla diff --git a/Metamaps AGPL License.txt b/LICENSE similarity index 93% rename from Metamaps AGPL License.txt rename to LICENSE index c5a113d7..58777e31 100644 --- a/Metamaps AGPL License.txt +++ b/LICENSE @@ -1,7 +1,7 @@ - GNU AFFERO GENERAL PUBLIC LICENSE +GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 - Copyright (C) 2007 Free Software Foundation, Inc. [http://fsf.org/] + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -617,4 +617,45 @@ Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS - + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/MacInstallation.md b/MacInstallation.md new file mode 100644 index 00000000..1333ed77 --- /dev/null +++ b/MacInstallation.md @@ -0,0 +1 @@ +TODO diff --git a/README.md b/README.md new file mode 100644 index 00000000..af6e92c4 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +Metamaps +======= + +Welcome to the Metamaps GitHub repo. + +## About + +Metamaps is a free and AGPL open source technology for changemakers, innovators, educators and students. It enables individuals and communities to build and visualize their shared knowledge and unlock their collective intelligence. You can find out about more about the project at the [blog][site-blog]. + +You can find a version of this software running at [metamaps.cc][site-beta], where the technology is being tested in a private beta. + +Metamaps is created and maintained by a distributed, nomadic community comprised of technologists, artists and storytellers. You can get in touch with us at team@metamaps.cc or @metamapps on twitter. + +To get connected with the community interested in Metamaps, join our [Google+ community][community]. + +## Installation + +Depending on which OS you are using, the instructions for getting set up with a local installation of the Metamaps software will vary. Because the software has both Node.js components, and RubyOnRails, getting set up with your local copy can take 1 to 2 hours. +- [For Windows][windows-installation] +- [For Ubuntu][ubuntu-installation] +- [For Mac][mac-installation] + +## Contributing + +Cloning this repository directly is primarily for those wishing to contribute to our codebase. Check out our [contributing instructions][contributing] to get involved. + +## Documentation + +- TODO + +## Community + +- If you would like to report a bug, please check the [issues][contributing-issues] section in our [contributing instructions][contributing]. +- To participate in discussions and a public forum about Metamaps, join the [Google+ community][community] +- For contributors, read more instructions in [CONTRIBUTING.md][contributing]. + +## Licensing information +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or(at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + +The license can be read [here][license]. + +Copyright (c) 2014 Connor Turland + + +[site-blog]: http://blog.metamaps.cc +[site-beta]: http://metamaps.cc +[community]: https://plus.google.com/u/0/communities/115060009262157699234 +[license]: https://github.com/Connoropolous/metamaps_gen002/blob/master/LICENSE +[contributing]: https://github.com/Connoropolous/metamaps_gen002/blob/master/CONTRIBUTING.md +[contributing-issues]: https://github.com/Connoropolous/metamaps_gen002/blob/master/CONTRIBUTING.md#reporting-bugs-and-other-issues +[windows-installation]: https://github.com/Connoropolous/metamaps_gen002/blob/master/WindowsInstallation.md +[mac-installation]: https://github.com/Connoropolous/metamaps_gen002/blob/master/MacInstallation.md +[ubuntu-installation]: https://github.com/Connoropolous/metamaps_gen002/blob/master/UbuntuInstallation.md diff --git a/README.rdoc b/README.rdoc deleted file mode 100644 index c90f8df3..00000000 --- a/README.rdoc +++ /dev/null @@ -1,89 +0,0 @@ -== Metamaps -Metamaps is a free and open source technology for changemakers, innovators, educators and students. It enables individuals and communities to build and visualize their shared knowledge and unlock their collective intelligence. You can find out about more about the project at http://blog.metamaps.cc. - -You can find a version of this software running at http://metamaps.cc, where the technology is being beta tested in a private beta, if you're not up to the task of running your own version. - -Metamaps is created and maintained by a distributed, nomadic community comprised of technologists, artists and storytellers. You can get in touch with us at team@metamaps.cc or @metamapps on twitter. - -To get connected with the community interested in Metamaps, join our G+ community. https://plus.google.com/u/0/communities/115060009262157699234 - -To contribute to Metamaps, fork this repository, and submit a pull request! - -==Running Metamaps On Your Local Machine - -First off, Metamaps runs on Ruby On Rails. Ruby 1.9.3 and Rails 3.2. You'll need to get Ruby and Rails installed on your computer if you don't already have it. We recommend using the Rails Installer, which you can download from Mac or Windows at http://railsinstaller.org/en (see the notes below about Ubuntu). This will get you set up perfectly with the right versions of Ruby, and Rails for running your local version of Metamaps. - -It uses postgreSQL 9.2 as a database. You can install that for your computer from here: http://www.enterprisedb.com/products-services-training/pgdownload . During installation you can choose whatever database password you like. Make sure to note it down! - -Once you install those, open a 'command prompt with ruby and rails'. - -Navigate to the folder that you want to download the metamaps files to and run the following: (use your forked git repository address if it's different than this repo. You will also need to go to your Github account settings and add the SSH key that was placed in your clipboard earlier) - git clone git@github.com:Connoropolous/metamaps_gen002.git - cd metamaps_gen002 - -Now you're in the main directory. - -Install all the gems needed for Metamaps by running - $ bundle install - -Setting up the database: - -1) Copy /config/database.yml.default and rename the copy to /config/database.yml then edit database.yml with your text editor and set the password to whatever you chose when you set up the PostGres database. - -2) In a terminal: - $ rake db:create - $ rake db:schema:load - $ rake db:fixtures:load - -Running the server: - - $rails s #runs the server - -Navigate your browser to localhost:3000 once you have the server running - -Sign in with the default account - -email: user@user.com - -password: toolsplusconsciousness - -OR create a new account at /users/sign_up, and use access code 'qwertyui' - -Start mapping and programming! - - -==Installing on Ubuntu - -There can be trouble installing on Ubuntu - -Try installing postgresql and libpq-dev. - -It's also recommended using Ruby Version Manager (rvm) - $rvm reinstall ruby-1.9.3-p125 - -execjs might complain there is no runtime, if so add gem 'therubyracer' to the Gemfile - - -== Finding Your Way Around The Code - -Here are the important folders/files: - -config/database.yml: This file is your database configuration. If it doesn't exist, copy it from config/database.yml.default and then get it set up. config/database.yml is in .gitignore - -app/assets/javascripts/application.js: Global Javascript - -app/assets/javascripts/Jit/*: These files handle all code that uses the Javascript Infovis Toolkit, so realistically, most code for laying stuff out is in here. - -app/assets/controllers/*: These files define actions you can do on the different database objects. So for instance, what happens when you edit a Synapse? Check in app/assets/controllers/synapse_controller.rb, in the edit block - -app/assets/views/*.html.erb: Files in here define either html that is displayed when a certain action is called (like edit, or create) on a thing. E.G. app/assets/views/topic/new.html.erb would have a form for creating a new topic. We don't use that way very much anymore though. "Partial" views can be called elsewhere in ruby code and are prefixed with an underscore. So we focus more on the files starting with an underscore. Read through the comments at the top of each file to understand what they all do. - -app/assets/views/*.js.erb: Javascript that is called in response to, e.g., editing or creating a topic, synapse, etc. - - -== Licensing Information -This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or(at your option) any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses. diff --git a/Ubuntu README.rdoc b/UbuntuInstallation.md similarity index 57% rename from Ubuntu README.rdoc rename to UbuntuInstallation.md index b468eb4c..348ad5c1 100644 --- a/Ubuntu README.rdoc +++ b/UbuntuInstallation.md @@ -1,101 +1,109 @@ Firstly this walkthrough is done with a 14.04 32bit install of Ubuntu. -All Commands are quoted with "" which are not to be included in the command. - All commands that I could are terminal based. Lets check if all updates for the system are installed first in terminal type -"sudo apt-get update" + sudo apt-get update now we need to install git -"sudo apt-get install git" + sudo apt-get install git lets get our RVM installed (Ruby Version Manager) now this is fun because the package you will get from apt-get is outdated. so we are going to use CURL to get RVM -"sudo apt-get install curl" + sudo apt-get install curl then lets install RVM with curl like this -"curl -L get.rvm.io | bash -s stable" + curl -L get.rvm.io | bash -s stable -"PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting" + PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting -"[[ -s "$HOME/.profile" ]] && source "$HOME/.profile"" + [[ -s "$HOME/.profile" ]] && source "$HOME/.profile" -"[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"" + [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" -"source ~/.rvm/scripts/rvm" + source ~/.rvm/scripts/rvm now we can actually install RVM -"rvm requirements" + rvm requirements running this will check your system for requirements as well so you will need to put your system password in. alright now we can download metamaps from the master using git -"git clone https://github.com/Connoropolous/metamaps_gen002.git" + git clone https://github.com/Connoropolous/metamaps_gen002.git now there is a couple other things we are going to need which is nodejs, postgresql, libpq-dev and redis-server -"sudo apt-get install nodejs" + sudo apt-get install nodejs -"sudo apt-get install postgresql" + sudo apt-get install postgresql -"sudo apt-get install libpq-dev" + sudo apt-get install libpq-dev -"sudo apt-get install redis-server" + sudo apt-get install redis-server Install the specific version of ruby needed this will take some time *Note you will get a warning about this being an outdated version* -"rvm install ruby-1.9.3-p125" + rvm install ruby-1.9.3-p125 Now we also need to rename your database file which is in ./config/database.default.yml to database.yml now run inside your metamaps_gen002 folder -"bundle install" + bundle install in your top lvl directory for metamaps this is a lengthy process so you might want to go and make a coffee or something :) alright now we need to make sure your postgres password is the same as it is listed in the DB file so we are going to set it by -"sudo -u postgres psql" + sudo -u postgres psql Select postgres like this -"\password postgres" + \password postgres set the password to 3112 Then to quit -"\q" + \q now we can run the rake install and db creation -"rake db:create" + rake db:create -"rake db:schema:load" + rake db:schema:load + + rake db:fixtures:load -"rake db:fixtures:load" - -Execute the server : "rails s" +Execute the server: + + rails s and dont forget to run realtime too open a new terminal navigate to ./realtime and run -"nodejs realtime-server.js" + nodejs realtime-server.js -Now your all set enjoy your personal server of metamaps :) +Now you're all set enjoy your personal server of metamaps :) +Navigate your browser to localhost:3000 once you have the server running +Sign in with the default account +email: user@user.com +password: toolsplusconsciousness + +OR create a new account at /join, and use access code 'qwertyui' + +Start mapping and programming! diff --git a/WindowsInstallation.md b/WindowsInstallation.md new file mode 100644 index 00000000..0e8dcd4e --- /dev/null +++ b/WindowsInstallation.md @@ -0,0 +1,42 @@ +First off, Metamaps runs on Ruby On Rails. Ruby 1.9.3 and Rails 3.2. You'll need to get Ruby and Rails installed on your computer if you don't already have it. We recommend using the Rails Installer, which you can download from Mac or Windows at http://railsinstaller.org/en (see the notes below about Ubuntu). This will get you set up perfectly with the right versions of Ruby, and Rails for running your local version of Metamaps. + +It uses postgreSQL 9.2 as a database. You can install that for your computer from here: http://www.enterprisedb.com/products-services-training/pgdownload . During installation you can choose whatever database password you like. Make sure to note it down! + +Once you install those, open a 'command prompt with ruby and rails'. + +Navigate to the folder that you want to download the metamaps files to and run the following: (use your forked git repository address if it's different than this repo. You will also need to go to your Github account settings and add the SSH key that was placed in your clipboard earlier) + + git clone https://github.com/Connoropolous/metamaps_gen002.git + cd metamaps_gen002 + +Now you're in the main directory. + +Install all the gems needed for Metamaps by running + + bundle install + +Setting up the database: + +1) Copy /config/database.yml.default and rename the copy to /config/database.yml then edit database.yml with your text editor and set the password to whatever you chose when you set up the PostGres database. + +2) In a terminal: + + rake db:create + rake db:schema:load + rake db:fixtures:load + +Running the server: + + rails s + +Navigate your browser to localhost:3000 once you have the server running + +Sign in with the default account + +email: user@user.com + +password: toolsplusconsciousness + +OR create a new account at /join, and use access code 'qwertyui' + +Start mapping and programming!