In order to simplify ODA development environment installation and configuration, we use VirtualBox+Vagrant+Ansible to provision a consistent development machine.
Launching Vagrant will create a new Ubuntu 16.04 VM in VirtualBox, then provision ODA using Ansible:
vagrant up
Once Vagrant has provisioned the VM, you can login using:
vagrant ssh
Most of ODA's core code is Django. We use the typical Django Python unittest
framework for testing:
vagrant ssh
cd site/oda
./manage.py test
ODA's core application can be started using:
vagrant ssh
cd site/oda
./manage.py runserver 0.0.0.0:8000
The Vagrantfile exposes port 8000
on localhost, so you may access ODA using
http://localhost:8000.
-
Ensure the bug was not already reported b searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability of ODA will generally not be accepted.
-
Suggest your change in the TBD mailing list and start writing code.
-
Do not open an issue on GitHub until you have collected positive feedback about the change. GitHub issues are primarily intended for bug reports and fixes.
- Ask any question about how to use ODA in TBD mailing list.