There are plenty of ways to contribute to this project. If you think you've found a bug please submit an issue. If there is a feature you'd like to see then please open an ticket proposal for it. If you've come up with some helpful examples then you can add to our example project.
Getting the Source
The source code is hosted on Bitbucket. You can download the full source by cloning the hg repo:
hg clone https://bitbucket.org/mlavin/django-selectable
Feel free to fork the project and make your own changes. If you think that it would be helpful for other then please submit a pull request to have it merged in.
Submit an Issue
Issues are also used to track new features. If you have a feature you would like to see you can submit a proposal ticket. You can also see features which are planned here.
Submit a Translation
We are working towards translating django-selectable into different languages. There are not many strings to be translated so it is a reasonably easy task and a great way to be involved with the project. The translations are managed through Transifex.
Running the Test Suite
There are a number of tests in place to test the server side code for this project. To run the tests you need Django and mock installed and run:
tox is used to test django-selectable against multiple versions of Django/Python. With tox installed you can run:
to run all the version combinations. You can also run tox against a subset of supported environments:
tox -e py26-1.4.X
This example will run the test against the latest 1.5.X, 1.4.X, and 1.3.X releases using Python 2.6 and 3.2 for 1.5+. For more information on running/installing tox please see the tox documentation: http://tox.readthedocs.org/en/latest/index.html
Client side tests are written using QUnit. They can be found in selectable/tests/qunit/index.html. The test suite also uses Grunt and PhantomJS to run the tests. You can install Grunt and PhantomJS from NPM:
# Install grunt requirements npm install -g grunt phantomjs jshint # Execute default grunt tasks grunt