MarkUs System Administrator Documentation
MarkUs is a ruby-on-rails based online assignment submission system that allows markers to annotate submitted documents, and provide feedback to students, online. The
MarkUs software is currently maintained by the Computer Science department at the University of Toronto and is being used by some courses here at the University of Waterloo. Our implementation of the software has a hook in place to auto-execute marking scripts that live on the course account against a submission, effectively providing something like auto-testing feedback.
System Specifications
Hardware
MarkUs runs over several machines:
-
markus002.student.cs
-
postgres.student.cs
Software
-
markus002.student.cs
runs the apache and server that implements https://markus.student.cs.uwaterloo.ca
.
- The account
markus
on markus002.student.cs
runs the ruby-on-rails instances that are basically the individual MarkUs course instances.
-
postgres.student.cs
hosts the PostGreSql server that contains MarkUs databases for courses.
- Requires the following debian packages to run: I'm not sure, but do you think we should include version numbers?
- ruby
- ruby-dev
- rdoc
- libopenssl-ruby
- postgresql
- libpq-dev
- subversion
- libsvn-ruby
- apache2
- libapache2-svn
Authentication and Authorization Information
Some systems demand authentication before they can be managed. List the information required to gain access to the system. Please do not put passwords on this page. This page will be public and accessible by Google.
People
- Administrator: Omar Nafees (omnafees)
- Point of contact (expert): Omar Nafees (omnafees)
- Major clients:
- CS 135
- Uses MarkUs for all assignments
- Are there any important details about this client? Who is the POC? Is there anything unique about what they might ask for or how they use MarkUs?
- CS 136
- Uses MarkUS for assignment questions that do not require that code be compiled
- Are there any important details about this client? Who is the POC? Is there anything unique about what they might ask for or how they use MarkUs?
Terminology
For example:
- Definitum
- In a definition the word being defined is the definitum
- Is a fancy word that nobody ever really uses
- MarkUs
- A marking system in which students can submit their code and faculty can provide feedback and assign grades
- Originates from the University of Toronto
Guides to the Completion of Scheduled Tasks
Halfway through every term
Set up new instances of MarkUs for each course using it in the upcoming term
This process typically starts a couple months before the relevant term to prevent unneeded rush.
- Contact ISC's to acquire a list of courses that will be using MarkUs in the upcoming term. Typically, this list does not vary from year to year, meaning that you can probably use the list from the year before (not the term before) to help prevent some courses from being forgotten. The list of courses using Markus in prvious terms is included for your convenience: It might be useful to include the specific year of these terms in the table. I just pulled this list from ST#87461. Please also review this list. I made a few assumptions based on what I read in the first summary of the ST item.
Fall | Winter | Spring |
CS 115 | CS 115 | CS 115 |
CS 116 | CS 116 | CS 116 |
CS 135 | CS 135 | |
CS 136 | CS 136 | CS 136 |
CS 230 | CS 230 | |
CS 234 | | CS 234 |
CS 240 | CS 240 | CS 240 |
CS 246 | CS 246 | CS 246 |
- Process feedback from ISC's about MarkUs What does this entail?
- Upgrade MarkUs Is there a place where we can check for updates to see if they are available? How do we upgrade if they are available?
- Clean out last year's databases and SVN repositories, then restart the relevant instances. Is there a time that would be too early to do this? I guess it would be a bad idea to clear out stuff that is still being used, eh? It would be good to state this concern explicitly along with when would be a good time.
- Create directory in markus@markus002:~/ and update configuration accordingly It might not be clear what it means to update the configuration accordingly. More details here would be helpful
- Create database on postgres.student.cs %Again, this could use some more specific detail.
- Add proxy info to /etc/apache/sites-available/markus Will people acting on your behalf know how to do this?
- Check if markus@markus002 can ssh into course@linux.student.cs What will this accomplish? What do they do if they cannot SSH into it?
- Check that course@linux.student.cs can ssh into markus@markus002 What will this accomplish? What do they do if they cannot SSH into it?
- Start the server of the new MarkUs instance.
Guides to the Completion of Common Requests
Implement an instance of MarkUs for a brand new course
I'm just guessing here, but I suspect that this (see section heading) is something that needs to be done sometimes. There's probably a lot that we can scavenge from the "Set up new instances of MarkUs for each course using it in the upcoming term" section to fill this up.
Also, can you think of any other common requests that you've seen for this system?
Common Failures/Bugs & Troubleshooting
Can you think of any common problems that have arisen while maintaining this system?
Current Discussions Related to the System
Some systems have important long-term changes that are being discussed. If needed, a summary of each discussion may be included here.
See Also
Related ST Items
Related Twiki Pages
Related EDocs
Related External Links
Topic revision: r28 - 2016-12-13
- YiLee