Numbas is open source
We encourage any kind of contribution to the Numbas project, whether it’s a bug fix, a new feature or extension, documentation, or just a suggestion of a feature you’d like to have.
We are always interested in feedback from users, especially those with interesting ideas on how to develop and improve the system.
Here’s how you can contribute to the Numbas project
- Report bugs, or suggest features you’d like to see, on our issue trackers.
- Write about how you use Numbas.
- Write some documentation.
- Add a feature or fix a bug by contributing code.
- Translate Numbas into your language.
Report a bug or suggest a feature
The easiest way to lets us know about something is to email email@example.com. If you’d like to discuss it with the Numbas community, post on the numbas-users mailing list. Or, if you’ve found a bug and have a GitHub account, create an issue on our issue tracker.
Features added to Numbas as a result of suggestions from users include:
- Give one of several feedback messages on results screen based on the student’s score
- The “shopping basket” for questions
- The quantities extension
Write about how you use Numbas
Writing about how you use Numbas is a great way of spreading the word, and disseminating good practice. Blog posts can be just as effective as research papers in communicating success stories, as well as lessons learned.
We’re always on the look-out for case studies we can higlight on our blog. If you’ve used Numbas and have something to share, get in touch.
Some examples of Numbas users sharing their experiences:
- Jenny Koenig wrote about how she used Numbas to prepare some tests on essential maths for medics, vets and biologists.
- The TEAME project has set up a website to share their experience of incorporating e-assessment at Cork Institute of Technology and the University of Cork.
Related blog posts
- An Analysis of Computer-Based Assessment in the School of Mathematics and Statistics
- End-of-year survey of Newcastle’s students’ attitudes to CBAs
Write some documentation
One of the most helpful ways you can contribute to Numbas is to improve the documentation. Even if you just fix a typo, that will make the documentation better for everyone who reads it.
Every page in our online documentation has an “Edit on GitHub” link at the top. Once you’ve created a free account on GitHub, you can edit any page inside your web browser.
The documentation is created in the reStructuredText format, using Sphinx; if you’re making a big change, you will find the reStructuredText primer useful.
Numbas development is coordinated through our GitHub account. We are constantly adding changes and improvements, often with the help of our global community of users.
We have two main repositories on GitHub – the Numbas runtime and the editor. In addition to those, there are smaller repositories for things like extensions or VLE integrations. They’re all under the Numbas organization on GitHub.
We keep track of bugs and feature requests on the GitHub issue tracker. Tasks which would be relatively easy for a newcomer to the project to complete are marked with the label “good first issue”.
To make changes to the Numbas runtime or editor, you should set up a development environment on your own computer. Follow our comprehensive installation instructions for Windows, Mac, and Linux.
If you fix a bug or add a feature to Numbas and want to include it in the main codebase, fork our GitHub repository and create a pull request into our
master branch. Don’t worry if your feature is incomplete – we can point you in the right direction or help to finish it off.
Numbas in your own language
Numbas supports full localisation. Translations already exist for over a dozen languages.
It’s very easy to translate Numbas to a new language!
Head to our translation management site to get started translating Numbas into your language. You only need to give your name and email address.
Existing translations also need to be kept up to date! You can help by making sure that your language is in sync with the English translation.
- Documentation on the interface language setting
- Numbas runtime translations on POEditor
- Numbas LTI tool provider translations on POEditor: server-side strings and client-side strings are handled separately