peoplemap is a Rails-based web application designed to support the collection & analysis of information about social relationships. At present, this uses a fairly simple user-driven CRUD model to permit manual entry of data. Eventually this will mature with data visualisation tools like network charts, timeline visualisation, graphs, etc and I will add tools to pull data from CSV and live sources like Twitter, Facebook, LinkedIn, etc.
This project is (or (ahem) will be once it matures sufficiently to deserve it) protected under a Creative Commons Attribution-Share Alike 2.5 Australia License see http://creativecommons.org/licenses/by-sa/2.5/au/ for more details.
This project has just started, so expect a great deal change in these files over coming months. Nothing is stable yet!!! If you've got suggestions for improving approaches that I'm taking in building this thing, please let me know, or make a fork and get to it! There are plenty of bugs, so expect things to break, but if you find something, add it to the issues list and I'll get to it as quickly as I can.
THINGS TO DO:
- search & index support with more mature lists
- Maturing the interface & consolidating display logic for common views
- user management
- admin tools
- maturation and extension of the data visualisation (network visualisation, timeline charts, graphs, etc)
- dataset management (allow users to save collections of nodes/edges)
- data loading tools
== Getting Started
Apologies for the limited install info - I'll try to extend this information in future. Feel free to contact me if you're trying to get it working.
1. Install Jruby, then Rails, etc
2. Make sure you have neo4j and lucene jars installed into your CLASSPATH
3. Download and add Andreas Ronge's neo4j wrapper (http://github.com/andreasronge/neo4j/tree/master) and add it to your project vendor/plugins folder - make sure you compile from the latest source - don't use the current gem!!!!
4. Install HAML (gem install haml)
5. Install plugin: selenium-remote-control-1.0.1 (optional for running automated test suite)
6. Install selenium-client (gem install selenium-client) (optional for running automated test suite)
INSTALLATION NOTES FOR UBUNTU 9
Here are detailed instructions for getting this rolling on a clean Ubuntu 9 VirtualBox image using Aptana Studio as the IDE. If you have suggestions for improving this, please let me know - I'm sure there are better ways... :-)
0. Install a JDK (ie sudo apt-get install openjdk-6-jre-headless)
1. Install Git (ie sudo apt-get install git-core)
2. Download JRuby from http://www.jruby.org/download, extract to your home folder eg home/sasha/jruby-1.3.1
3. Add the following line to ~/.profile
4. At a command line, type source ~/.profile to reload these environment variables
5. Open a command line and issue the following commands:
gem install rails // I'm assuming you only have JRuby installed, otherwise type jruby -S gem install etc
gem install calendar_date_select
gem install haml
git clone git://github.com/andreasronge/neo4j.git
6. cd to install/dir/neo4j (downloaded earlier via Git) then run rake gem:install
7. From command line git clone git://github.com/sashaagafonoff/peoplemap.git (some users may wish to fork instead)
8. Download (http://www.aptana.com) and extract Aptana Studio to your home folder, run and add RadRails plugin (Git is also useful)
9. Run Aptana, go to Window | Preferences | Ruby | Installed Interpreters, remove the reference to the existing JRuby VM and create a new one pointing to your JRuby location (eg /opt). If you don't have any other instances of Ruby on your machine, Aptana may prompt you to use JRuby, but warn against doing it. Do it anyway.
10.From Aptana, create new Rails project in folder from peoplemap Git repository, tell Aptana to generate app, but skip overwriting any files it wants to recreate
11.Start the server and navigate to http://0.0.0.0:3000/people
Note that neo4j operates under a dual free/commercial license, so check the conditions before you use it for anything.
- Neo4j.rb: MIT, see the LICENSE file github.com/andreasronge/neo4j/tree/master/LICENSE.
- Lucene: Apache, see lucene.apache.org/java/docs/features.html
- Neo4j: Dual free software/commercial license, see neo4j.org/
- haml: MIT, see http://haml-lang.com/docs/yardoc/MIT-LICENSE.html
- Prefuse Flare library: GNU license - see http://www.gnu.org/copyleft/fdl.html
Good luck! Drop me a line if you are trying it out - I'm keen to hear views...
THINGS TO NOTE:
- the index pages are not designed to handle large volumes yet. I won't implement an indexing, search or recent nodes capabilities for a few iterations yet.
- I've just added some pretty basic network visualisation of the underlying relationship data using the Prefuse Flare library (using the Radial Tree layout). Plenty of work to do in this area, and network retrieval is only working with outgoing links. Watch this space...