<commit_before># Rhizi
A collaborative editor for organizing, communicating, and analyzing data in graph form.

It is licensed under the GNU AGPL v3, see LICENSE for more details.

Patches or pull requests are welcome but we require a contributor license agreement, see TBU

# Dependencies

Database:
- Neo4J DB server >= 2.1.5 - http://neo4j.com/download/

Server:
- Flask - http://flask.pocoo.org/
- Apache Ant >= 1.9.0
- Python 2.7
- python-enum
- python-gevent
- python-gevent-websocket
- python-six
- python-socketio
- python-futures >= 2.2.0

Client
All of the following are already bundled but noted here for reference:
- jquery
- d3
- Bacon.js
- underscore
- feedback - https://github.com/ivoviz/feedback (it also bundles html2canvas)
- FileSaver

For rebuilding client css from scss saource files you will need:
- sass (scss tool)

Build dependencies:
- ant
- make

For rz-backup:
- python-click >= 3.3 (not tested with anything prior)

# Installation
## Apt based systems: Debian / Ubuntu
<code># apt-get install \
ant \
python-flask \
python-socketio \
python-gevent \
python-six \
python-pip \
ruby-sass
</code>

## Generic
use pip to install all requirements

 $ pip install flask
 $ pip install gevent-socketio

# Running instructions
## Running Rhizi Locally
To run Rhizi locally:
- Run neo4j locally on the default 7474 port
<code>neo4j console</code> or <code>neo4j server</code> after intalling neo4j: we use 2.2.1 from http://neo4j.com
- Launch run-local.sh:<br>
<code>$ ./run-local.sh</code>

Or perform the following by hand:

- Invoke the local deployment Ant target:<br>
<code>ant -f ./build.ant deploy-local</code>
- Run rhizi-server.py:<br>
<code>$ cd deploy-local && python bin/rz_server.py --config-dir=etc</code>

Command line use documentation can be viewed with:
:$ python rz_server.py -h

## Configuration
Rhizi configuration is currently documented in code, see <code>src/server/rz_server.py#Config</code>

## User addition
Through the sign up page you can add users.

## Changing users roles
This is possible through the src/local/rz_cli_tool as follows:
./src/local/rz_cli_tool.py --config-dir res/etc --user-db-path res/user_db.db --email <EMAIL> --role-add admin

# Development
Build currently uses Apache Ant(http://ant.apache.org/) and [make](https://www.gnu.org/software/make/)

To update the css files you need [sass](http://sass-lang.com/). To rebuild the css files issue make from the top level directory:

 $ make
<commit_msg>tiny typo<commit_after># Rhizi
A collaborative editor for organizing, communicating, and analyzing data in graph form.

It is licensed under the GNU AGPL v3, see LICENSE for more details.

Patches or pull requests are welcome but we require a contributor license agreement, see TBU

# Dependencies

Database:
- Neo4J DB server >= 2.1.5 - http://neo4j.com/download/

Server:
- Flask - http://flask.pocoo.org/
- Apache Ant >= 1.9.0
- Python 2.7
- python-enum
- python-gevent
- python-gevent-websocket
- python-six
- python-socketio
- python-futures >= 2.2.0

Client
All of the following are already bundled but noted here for reference:
- jquery
- d3
- Bacon.js
- underscore
- feedback - https://github.com/ivoviz/feedback (it also bundles html2canvas)
- FileSaver

For rebuilding client css from scss saource files you will need:
- sass (scss tool)

Build dependencies:
- ant
- make

For rz-backup:
- python-click >= 3.3 (not tested with anything prior)

# Installation
## Apt based systems: Debian / Ubuntu
<code># apt-get install \
ant \
python-flask \
python-socketio \
python-gevent \
python-six \
python-pip \
ruby-sass
</code>

## Generic
use pip to install all requirements

 $ pip install flask
 $ pip install gevent-socketio

# Running instructions
## Running Rhizi Locally
To run Rhizi locally:
- Run neo4j locally on the default 7474 port
<code>neo4j console</code> or <code>neo4j server</code> after installing neo4j: we use 2.2.1 from http://neo4j.com
- Launch run-local.sh:<br>
<code>$ ./run-local.sh</code>

Or perform the following by hand:

- Invoke the local deployment Ant target:<br>
<code>ant -f ./build.ant deploy-local</code>
- Run rhizi-server.py:<br>
<code>$ cd deploy-local && python bin/rz_server.py --config-dir=etc</code>

Command line use documentation can be viewed with:
:$ python rz_server.py -h

## Configuration
Rhizi configuration is currently documented in code, see <code>src/server/rz_server.py#Config</code>

## User addition
Through the sign up page you can add users.

## Changing users roles
This is possible through the src/local/rz_cli_tool as follows:
./src/local/rz_cli_tool.py --config-dir res/etc --user-db-path res/user_db.db --email <EMAIL> --role-add admin

# Development
Build currently uses Apache Ant(http://ant.apache.org/) and [make](https://www.gnu.org/software/make/)

To update the css files you need [sass](http://sass-lang.com/). To rebuild the css files issue make from the top level directory:

 $ make

{'fraction_non_alphanumeric': 0.11144883485309018, 'fraction_numerical': 0.0121580547112462, 'mean_word_length': 3.7552986512524087, 'pattern_counts': {'":': 0, '<': 39, '<?xml version=': 0, '>': 47, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5658820', 'n_tokens_mistral': 1653, 'n_tokens_neox': 1567, 'n_words': 569}