Application for granting and revoking student permissions on share drives to enable them to submit assignments securely.
Created for The University of Auckland ISOM Department in 2006
Technologies: C#, WPF
For at least 15 years, the ISOM department's method of accepting electronic assignment submissions from students has been to create a set of folders on a shared drive (designated the Q drive) to which both staff and students have access. Each course has a folder which staff and students can access (using a group permission), and each student has a folder that only they and the staff members can access.
The original solution was a set of Excel macros that would take a spreadsheet of the current semester's students and generate a batch file to create the folders for each student. Then staff members would either modify the permissions or run a batch script to make the folders visible or invisible to the student.. However, this was a very difficult and cumbersome process, there were frequent errors, and the less technically savvy staff weren't able to use it at all.
Around 2000, I wrote a VB6 application to automate the process somewhat. It took the Excel class roster generate by our learning management systems, the course name, and a couple of parameters, and generated the required batch files for the staff member to run at an appropriate time. This worked very well and was widely used within the department.
However, in 2006, I decided it could be done better. Sometimes if someone manually edited the permissions outside the scripts, there would be unexpected results, and it was very difficult to tell if the permissions on the folders were set correctly. I wrote an application in C# that would visually show the permissions with colour coding to indicate who could access any given folder. This made it very easy to spot folders that the students could access when they weren't supposed to, and individual student folders that other people had access to.
Soon, I integrated the logic from the older application so that as well as showing the current permissions, it would generate and run the scripts to change the permissions. I linked it directly to the learning management system to access lists of students so that staff would no longer have to export and import Excel files with student rolls. This made it possible for staff to generate folders and to open and close an assessment at the click of a button.
To ensure only staff members would have access, the app required authentication against the learning management system.
The learning management system was used to generate a list of all the courses the staff member was teaching, so they could administer any of them.
The folders screen showed the current structure of the folder and provided the user with the ability to control the status of folders, by making them Open (visible) or Closed (invisible) and Readable or Writable. From here they could also create new submission folders.
The Folder Screen shows the folders colour coded to indicate the status (provided the user is connected to the University of Auckland domain). These are the colour codes used, which allow the staff member to easily see the status of each folder and to spot problems.
Create Folder Set
Gradually the requirements for creating new folders expanded. The simple case is creating a folder for an assignment, and within that an empty folder for each student in the course. Extensions were added to allow group folder (multiple students sharing the same submission folders) and stream folders (folders for only a sub-section of the class). Extensions were also added to allow the student folders to be created with some subfolders inside them (e.g. part1 and part2) or with content inside them (used to provide some starter resources during tests).
As the extensions grew more complicated, I added a preview window so that staff members could easily understand the implications of each choice.
These systems have been in continual use in the department, and have been very well received by staff members.