Skip to content

nttks/edx-ora2

 
 

Repository files navigation

Open Response Assessment Travis build status Coverage badge

User docs

Installation

The intent of this project is to be installed as Django apps that will be included in edx-platform.

But development is done in the Workbench which is part of the xblock-sdk. Currently Ubuntu 12.04 is assumed. You can setup everything in a Vagrant instance.

To do so install the latest VirtualBox >= 4.3.12 and the latest Vagrant >= 1.6.5.

Clone the repo:

mkdir orastack
cd orastack
git clone [email protected]:edx/edx-ora2.git

Create the Vagrant instance:

ln -s ./edx-ora2/Vagrantfile ./
vagrant plugin install vagrant-vbguest
vagrant up

The first vagrant up will fail when setting up shared folders (because the user ora2 does not exist) so do:

vagrant provision
vagrant reload

Now you can ssh into the vagrant machine:

vagrant ssh
sudo su ora2

To install all dependencies:

make install-sys-requirements
make install
make install-dev

Running the Development Server

./scripts/workbench.sh

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

./scripts/workbench.sh 0.0.0.0:9000

Combining and Minifying JavaScript and Sass

To reduce page size, the OpenAssessment XBlock serves combined/minified versions of JavaScript and CSS. This combined/minified files are checked into the git repository.

If you modify JavaScript or Sass, you MUST regenerate the combined/minified files:

# Combine/minify JavaScript
make javascript

# Combine/minify CSS (from Sass)
make sass

Make sure you commit the combined/minified files to the git repository!

Running Tests

To run all unit tests:

make test

To limit Python tests to a particular module:

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

To run just the JavaScript tests:

make test-js

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

make test-js-debug

There are also acceptance and accessibility tests that run can be run against a sandbox. For more information, about how to run these from your machine, check out test/acceptance/README.rst.

i18n

You will need to:

  1. Install i18n-tools.
  2. Configure Transifex, as described in the docs.
  3. Install gettext.

To extract strings and push to Transifex

./scripts/i18n-push.sh

To pull strings from Transifex

./scripts/i18n-pull.sh

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted.

Please see LICENSE.txt for details.

How to Contribute

Contributions are very welcome. The easiest way is to fork this repo, and then make a pull request from your fork. The first time you make a pull request, you may be asked to sign a Contributor Agreement.

Reporting Security Issues

Please do not report security issues in public. Please email [email protected]

Mailing List and IRC Channel

You can discuss this code on the edx-code Google Group or in the edx-code IRC channel on Freenode.

Packages

No packages published

Languages

  • Python 65.9%
  • JavaScript 18.5%
  • HTML 7.8%
  • CSS 7.1%
  • Other 0.7%