<commit_before>.. image:: https://travis-ci.org/edx/edx-ora2.png?branch=master
    :alt: Travis build status


.. image:: https://coveralls.io/repos/edx/edx-ora2/badge.png?branch=master
    :target: https://coveralls.io/r/edx/edx-ora2?branch=master
    :alt: Coverage badge


`User documentation available on ReadTheDocs`__.

__ http://edx.readthedocs.org/projects/edx-open-response-assessments


This is an initial prototype for redesigning Peer Grading and general Open Ended
Submission Evaluation. This project is in the early stages of development and is
not ready for general use.


Installation
============

The intent of this project is to be installed as Django apps that will be
included in `edx-platform <https://github.com/edx/edx-platform>`_.

For JavaScript minification and unit tests, you must `install NodeJS <http://nodejs.org/>`_.

To install dependencies and start the development ("workbench") server:

.. code:: bash

    ./scripts/workbench.sh

By default, the XBlock JavaScript will be combined and minified.  To
preserve indentation and line breaks in JavaScript source files:

.. code:: bash

    DEBUG_JS=1 ./scripts/workbench.sh

Additional arguments are passed to ``runserver``.  For example,
to start the server on port 8001:

.. code:: bash

    ./scripts/workbench.sh 8001


Celery Workers
==============

Some of the OpenAssessment APIs execute tasks asynchronously using `celery <http://docs.celeryproject.org>`_.
The tasks are executed by worker processes.

First, you will need to `install RabbitMQ <http://http://www.rabbitmq.com/download.html>`_.

Once RabbitMQ is installed, you can start a worker process locally:

.. code:: bash

    ./scripts/celery-worker.sh



Running Tests
=============

To run the Python and Javascript unit test suites:

.. code:: bash

    ./scripts/test.sh

To limit Python tests to a particular module:

.. code:: bash

    ./scripts/test-python.sh openassessment/xblock/test/test_openassessment.py

To run just the JavaScript tests:

.. code:: bash

    ./scripts/test-js.sh

To run the JavaScript tests in Chrome so you can use the debugger:

.. code:: bash

    ./scripts/js-debugger.sh


Quality Check
=============

Install pylint:

.. code:: bash

    pip install pylint==0.28.0

Check for quality violations:

.. code:: bash

    pylint apps

Disable quality violations on a line or file:

.. code:: python

    # pylint: disable=W0123,E4567


<<<<<<< HEAD
Vagrant
=======
<commit_msg>Fix some small things in the readme<commit_after>.. image:: https://travis-ci.org/edx/edx-ora2.png?branch=master
    :alt: Travis build status


.. image:: https://coveralls.io/repos/edx/edx-ora2/badge.png?branch=master
    :target: https://coveralls.io/r/edx/edx-ora2?branch=master
    :alt: Coverage badge


`User documentation available on ReadTheDocs`__.

__ http://edx.readthedocs.org/projects/edx-open-response-assessments


This is an initial prototype for redesigning Peer Grading and general Open Ended
Submission Evaluation. This project is in the early stages of development and is
not ready for general use.


Installation
============

The intent of this project is to be installed as Django apps that will be
included in `edx-platform <https://github.com/edx/edx-platform>`_.

For JavaScript minification and unit tests, you must `install NodeJS <http://nodejs.org/>`_.

To install dependencies and start the development ("workbench") server:

.. code:: bash

    ./scripts/workbench.sh

By default, the XBlock JavaScript will be combined and minified.  To
preserve indentation and line breaks in JavaScript source files:

.. code:: bash

    DEBUG_JS=1 ./scripts/workbench.sh

Additional arguments are passed to ``runserver``.  For example,
to start the server on port 8001:

.. code:: bash

    ./scripts/workbench.sh 8001


Celery Workers
==============

Some of the OpenAssessment APIs execute tasks asynchronously using `celery <http://docs.celeryproject.org>`_.
The tasks are executed by worker processes.

First, you will need to `install RabbitMQ <http://http://www.rabbitmq.com/download.html>`_.

Once RabbitMQ is installed, you can start a worker process locally:

.. code:: bash

    ./scripts/celery-worker.sh



Running Tests
=============

To run the Python and Javascript unit test suites:

.. code:: bash

    ./scripts/test.sh

To limit Python tests to a particular module:

.. code:: bash

    ./scripts/test-python.sh openassessment/xblock/test/test_openassessment.py

To run just the JavaScript tests:

.. code:: bash

    ./scripts/test-js.sh

To run the JavaScript tests in Chrome so you can use the debugger:

.. code:: bash

    ./scripts/js-debugger.sh


Quality Check
=============

Install pylint:

.. code:: bash

    pip install pylint==0.28.0

Check for quality violations:

.. code:: bash

    pylint openassessment

Disable quality violations on a line or file:

.. code:: python

    # pylint: disable=W0123,E4567


Vagrant
=======

{'fraction_non_alphanumeric': 0.11965985017209961, 'fraction_numerical': 0.009718566511439562, 'mean_word_length': 3.655984919886899, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 11, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5844109', 'n_tokens_mistral': 1598, 'n_tokens_neox': 1445, 'n_words': 527}