Here is a list of things we would like to work on.
Group upload and management
There are several problems to address here, and anyone working on this should consult closely with us to make sure they understand the issues thoroughly. Groups and their repos are created either when a student logs in and navigates to an assignment, or when an instructor uploads a group list.
One issue is that the group upload using a csv file ignores the repo name in the csv file and auto-generates the repo name (group_xxxx). This is done to avoid name collisions, but it would be better if we can check to see if the repo name already exists, and if the membership is already the same.
Another issue is performance. We get a 502 proxy error when we run it through Apache for large numbers of groups (>400). The CSV upload deletes existing groups when it does the upload, so we can’t even do it incrementally. Two possible solutions to this problem are to refactor the code so that we can do the upload incrementally, or refactor the code so that the operation is run as a background task, so that the proxy error does not cause the transaction to abort.
We also want a way to create the repos and/or the directory in the repos in an automated way for individual assignments so that instructors can add starter code. Issue #2180 describes this in more detail
Complete work on the Git backend
We are nearly completion on a Git backend to allow student submissions to be stored in a Git repository. The remaining todo list is in #1855.
Remove the last calls to the Prototype library
We switched to jQuery some time ago, but there still remain a few places where Prototype code remains. We would like to finish getting rid of this.
Report on TA activity
It would be nice to see summary data of what TAs have done. Metrics such as ratio of assignments marked, average number of annotations per submission, and a distribution of marks for each TA would help instructors identify differences in how the TAs are grading.
4. UI of student interface
When a student navigates to an assignment, the landing page could use some UI work. The tab is labeled Assignments which isn’t correctly because it is a particular assignment. We also need to look at what information is displayed and whether there is a better way to organize it.
We could also look at issues with the results view of the assignment. Binuri mentioned that the students don’t see the weights in the rubric view.
5. Working on the production setup instructions
We occasionally run into problems that we can’t replicate on our development environment, and we also don’t do a very good job of supporting our system administrators who deploy several instances of MarkUs running under the Apache web server. We would like to put together a set of instructions for both these purposes. It would be great to be able to easily configure a virtual server running a production instance (or multiple instances of MarkUs).
UI of grader interface
Change marking status to a “complete” button. Include more info for TAs (x/y submissions complete)
(Relevant issues: #2118)
Dig into and update existing code. The goal is to reach a proof of concept stage where a single test can be run by clicking a button. There is likely a lot of refactoring to do starting with getting the test-framework branch up to date with master.
The existing design has results being sent back in XML. At least one of the auto-testers we are working with uses JSON, which seems like a more sensible format, so modifying our design to use JSON is the ultimate goal.
There are a few issues that with PDF annotations that would be worth looking into (#2011, #2043, #1936, #1935, #1109, 2042). A user has also reported a wish list of additional features including: switching between portrait and landscape, moving and resizing annotations. We also notice some problems with annotations on Chrome that could be investigated.