We are using:
- The Dojo framework.
- A fork of jsPlumb that uses AMD and Dojo.
- A fork of js-expression-eval that uses AMD and can accept variable names with spaces.
Here are the major components of the design:
- Session behavior which discusses saving, modifying, and sharing problems. It also describes the database tables.
- Major modes (STUDENT COACHED TEST AUTHOR)
- Graph (nodes and connectors)
- Node Editor
- Module Dependencies
- Model object (JSON format)
- Forum
- Kurt's design for the Pedagogical Module as well as Sachin's version
- Logging format
- Saving State
- Teacher Dashboard
- Problem Indexing
- Activities
We use a "Shared Repository Model." The basic idea is that everyone works on their own branch. When a developer wants something merged onto the master branch, they push their branch onto github and start a "pull request" (or send an email).
Our policy is that code is merged onto the master branch once it has been reviewed by at least one other person on the team. We will do any further coordination via the daily stand-up meetings. If you have a code revision that is "minor," such as a bug fix in a specific problem xml, or a change to the documentation, then you can make the change directly on the master branch.
You are not stuck using "your" branch for this purpose. It might be expedient to make topic-specific branches, such as "node-editor" to hold your changes. So feel free to create additional branches, if you feel the need.
It is a good practice to merge origin/master
onto your branch every
time you start working. This will reduce conflicts when you
try to merge your code back onto the master branch.
Place a link to the documentation
directory in your webserver root directory.
For the sever to properly translate the markdown, download a
markdown handler,
edit the path in the provided .htaccess
file, and install the files your
web-server root directory.
Also, modify the path to the style file in markdown/handler.php
.
Finally, you may need to activate AllowOverride
in your Apache configuration file.