Read This First
As Qualyzer's code and documentation grow in size, we created this page to provide a simple roadmap to newcomers. Welcome new Qualyzer contributor! Please follow the steps in the roadmap and do not be afraid to explore as you read on. If you find any mistake in the steps or in the documentation, please write them down, this will come in handy in the last steps :-)
Step 1. Try Qualyzer
You should at least have a basic idea what Qualyzer does and why it was needed in the first place!
Step 2. Set up your development environment
We wrote a complete procedure to set up your development environment.
Take note of the versions of the tools: we usually use the latest version of the tools, except for a few ones such as Eclipse.
Step 3. Run Qualyzer
If you followed the procedure to set up your development environment, you should be able to run the current version of Qualyzer from inside Eclipse. Look for a green sign (like a play button) and select the run configuration named "ca.mcgill.cs.swevo.qualyzer.product".
Qualyzer should open and you should be able to perform all the steps you performed in the Getting Started tutorial.
Step 4. Run the test suite
In the run configurations, select "ca.mcgill.cs.swevo.qualyzer.tests" to run the test suite. It should be all green :-)
Then, use the coverage tool to run the tests again (this is the play button to the left of the run configurations button. It has a green and red bar). Note the coverage score: one of your goals will be to improve this score!
Step 5. Learn more about your tool
This step is important but often overlooked. Do you want to learn something useful out of your experience with Qualyzer or do you want to fight with every single tool you will use? Having a good understanding of the underlying tools and libraries we use can make the difference between a pleasant experience and a bad one.
In no particular order:
- Learn Mercurial (see also our own material).
- Learn RCP, the platform we use to build Qualyzer (see our own material).
Step 6. Learn about the code and the process
We have a relatively lightweight process that you should be familiar with. It describes the coding and the commit conventions.
Then, try to locate how the following features are implemented in the code. You should use the debugging mode and breakpoints to help you:
- The creation of a participant.
- The playing of an audio file.
- The validation of fields (e.g., if you try to create an investigator with the same name as another investigator).
- How a text fragment can become bold when selecting the bold button.
If you encounter some difficulties, take a look at the FAQ we wrote for developers. It contains many pointers in the code.
Step 7. Fix your first bug: the documentation
At this point, you may have noted that some of the documentation is outdated, misleading, or unclear.
Your first task will be to fix the documentation. Remember though that good documentation should stay concise.
Step 8. Fix your second bug
We should now determine with you what your next task will be. We will look for a small bug or feature that is relatively easy to implement but that will have a positive and noticeable impact on Qualyzer.