DanielWalker
Community Member

CANVAS ** SHOULD NOT ** automatically rename student files on download!

Jump to solution

It should be an OPTION to have CANVAS override the (in my case, carefully specified) names of the students' submitted files, when I come to download them. (They are computer m-files; I need to run them through a program that depends on the naming convention). What should be a simple "download" becomes hours of additional programming and general messing around, to undo this. A simple email attachment down-loader does the job far better, but oh no, my organisation  has bought into this second-rate ILE, and insists on its use. What a waste of time.

Labels (1)
0 Kudos
1 Solution
DanielWalker
Community Member

Problem now solved, using email. (Amazing, isn't it, how email systems miraculously manage quietly to do their thing, and handle large numbers of file attachments without messing things up). I came here thinking this was Canvas Support. And 24 hours later, it does indeed seem to be the closest thing on Earth to that. Thanks to the two chaps who tried to help.

View solution in original post

0 Kudos
15 Replies
gnoack
Community Champion

Hi @DanielWalker 

I assume you are referring to the bulk download from the assignment page, which downloads as a zip folder.  If you think about it, it has to add a student name to each file, or how else would you be able to differentiate between student files within the folder? Not everyone requires students to use the same file naming conventions that you might. What if a student uploaded a file with an incorrect name, or another student's name?  Canvas adding the student's name ensures integrity.

In Speedgrader, you can download files without the name change, but you have to do so one at a time on each student's grading page. That might save your some time.

You might also consider using a cloud storage folder such as a Google Drive, DropBox, or OneDrive. You could link to the folder on the assignment page and have students drop their files there.

You could also explore apps that rename files, such as  https://www.den4b.com/products/renamer

I hope that helps.

 

I did think about it. CANVAS would be able to differentiate between the student files, in the same way as I do; because each student named their files with unique names. Yes, some students are guaranteed to "mess up" on naming. I can deal with that. But I cannot download and process potentially thousands of m-files, one by one, by hand. Not everyone might need this option, but its absence is just one more reason why I find this tool so poor. I would love to revert to email submission, combined with an attachment down-loader, to harvest submission files, but due to the policies of my organization, I am now obliged to use this awful product for student submission management. CANVAS might be great for grading essays, but it is virtually useless for the sort of things I've needed to do, and that I used to be able to do, pre-CANVAS, without any problem, and here's the thing: I didn't have to be.  I can write my own code to rename the thousands of files, but I should not have to be spending time writing code to fix file names that CANVAS broke: not when we are paying large sums to use this.

0 Kudos

Hi @DanielWalker,

I know it's probably not the ideal solution for you, but what if you had the students zip their submission up and submit the zip file?  It would be an extra step to uncompress the zip files, but it's probably way easier than what you're doing now.

As @gnoack mentioned, there are a lot of reasons Canvas changes the filename... One is for integrity while grading.  Another one is that if you bulk download, you can also bulk-upload those files back.  Without having the identifying info, bulk re-upload would be way more difficult (and a lot of instructors do use that functionality).

Just trying to offer something that might help a bit.  I understand how frustrating it is to have to use a new platform that doesn't do exactly what you'd like.

-Chris

Thank you, Chris. Since it all has to be automated, I have decided to dispense with CANVAS and use email submission, with a free automated attachment downloader [which, incidentally, gives me the choice , just like CANVAS should, of appending or prepending, or not, all manner of identifier information to the downloaded files, of which there will be thousands]. You are dead right - it is frustrating to end up on a user self-help group, when what one wanted was to obtain technical assistance from, and provide user feedback to the supplier of an expensive product that is causing one of its users trouble. Once again, thanks. Dan. 

0 Kudos

@DanielWalker -

I am a little confused about your issue with Canvas (not that I think it is great for what you are stating).  You mention that you hate what it does with the filenames and that you have to do extra work with the file names - I follow that.  Then you mention how you want to go back to the old way of having emails with a downloader capability.  I don't see how the email method is easier and quicker than what can be done with Canvas. 

Furthermore, it sounds like you are writing programs of some sort to do your processing, so I do not know why you could not setup something to process the files as they come from Canvas to get them in the form you want.

I guess the complexity arises if this is multiple m-files submitted by the students for one assignment as opposed to a single m-file.  If it is multiple m-files, then I would use @chriscas suggestion and restrict the assignment to zip files only and have the students zip all their m-files.  if it is a single m-file, then restrict the file type to m-files only.  The zip file method works great in both ways - one the zip file has the Canvas naming convention and then when you unzip it, you get the m-files named the way you want.  for single m-files, you just have to process the files differently.

you did not mention what type of programing you are using to process the files downloaded (I know MATLAB for the m-files, I am referring to the programming you do to create the files in the form you want).

I use bash and occasionally perl on Linux to do my processing of downloads for my programming class.  Once you have a script written to do the work, there is not much work required.  It is just a matter of looking at what Canvas is giving you and then writing the scripts to process that information the way you want.  If you do not have this capability, then yes what Canvas does with the files is a pain when you just want/ need  answer.m  and get smith_john_456634_346346346_answer.m instead. 

if you want I can provide the general outline of what I do using bash to process submissions I need to grade.

Ron

Thank you for your thoughts, Ron. Yes, I have been writing automated Matlab code-marking programs for about 20 years. It's not that I cannot write code to undo this renaming; it is simply that when I know I can have ca. 100 students email me (say) 10 files each, and then press a button and have those ca. 1000 files downloaded into a folder on my PC, ready for me to execute from a test harness, I am on principle not going to spend additional time coding, to solve a(nother) problem caused by Canvas. CANVAS is nothing more than an impediment to what I have to do, and what peeves me is that is didn't need to be, because if an email system can deliver files without messing up their names, then so too could a ILE: at least as an option. I can - in fact, earlier today did - by-pass canvas, by asking the candidates to resubmit their files by email, and the files are now appearing, just as I need them, so I can concentrate on my job, rather than on unnecessary programming.

[This aspect of my work has arisen out of schemes that provide candidates with numeric, design-based problems, relating to air and space vehicle flight mechanics, where the parameters provided to each candidate are unique, but not just random numbers, or the results of simple formulae that Canvas could probably cope with. This is part of a response to the fact of students, these days, being awarded degrees based on large numbers of credits gained through "open book" tests and exams, over which academics have no control.] Regards, Daniel

Regards, Daniel 

0 Kudos

PS, Ron, I've just seen the end of your message. Thanks for the offer, but I am not skilled enough at Linux, C, to make use of that. In any case, our students have unique ID numbers, so I specify that student with ID nnnnmmm emails me files named according to some simple rule; e.g. mfile1_nnnnmmm.m through to mfile999_nnnnmmm.m. Regarding zip files: I do not know how one would automate that, and automating this is essential. Moreover, the problem goes away, with email. But thank you again. Daniel.

0 Kudos

@DanielWalker .

Daniel -
Thanks for the information.  It provides a little more insight.  I am not sure how your testing system is setup and how it runs with the files (whether it is mfile1... for each student and then mfile2... for each student.  Or if it is all mfiles for student 1 then all mfiles for student 2.).

However, if you need all the mfiles from all the students in one directory with your naming convention, then I would have them submit their files in a zip file.  When you download all submissions from Canvas you get a zip file containing all the individual zip files.  Obviously the first unzip is trivial to get your 100+ student zip files.  It is the second zip that is an issue.  I did a quick google search on unzipping multiple files in windows and found this page.  Now the issue is the files are all probably unzipped but in directories with a Canvas type name and you have to move all the files from those directories into one directory.  Another google search on moving files from multiple folders to one folder gives this page.  Several methods there and once you have done it once or twice probably pretty easy to do.

Obviously not the one-click here it is method, but not overly time consuming.  Based on looking what I just wrote, Linux is much, much easier to use to perform the same task(less than 1 minute to get one directory with all individual files in it).  If you know terminal window commands for Windows, I imagine it would not be too bad with it as well.

To address why Canvas names the files the way it does vs email.  with email it is one-to-one so there is no need to specifically state that the attachment came from student 1 - you know that because you are looking at that email.  In canvas you have 100 students submitting to an assignment, so when you download all of the submitted work, Canvas cannot just say here are 100 files all named project1.txt  there has to be a distinction.  You require that distinction in the way students are to name the files, but Canvas has no way of knowing that - hence the naming convention it puts on the files.

Hopefully the above information helps some.

Ron

Ron - I greatly appreciate you and others taking the trouble to set out, and at such length, ideas for solutions. That has given me things to think about, in the medium term. Granted, I should probably have persevered with Linux, but I am where I am, and since I have a push-button solution that doesn't need this step, that is what I will use, for the present.

The automated m-file marking systems I have written, over many years, have been entirely in MATLAB. They have error-trapping, so students' files crashing do not take the whole system down, which can take hours to mark and grade 4500-5000 mfiles; also, file handling, as well as dealing with common naming problems. I have programmed them in such a way to award marks to reward, in an intelligent way, certain types of incorrect answer. The downside is that the whole thing is not particularly well engineered, from a software point of view - that I admit. It is really, I suppose, that I am losing the energy to keep adding extra, unnecessary functionality, albeit requiring relatively simple coding, just so I can tow a line and use CANVAS, which I think it is apparent is not really capable of doing what I need to do. (All this is on top of what I am really supposed to be doing, which is teaching flight mechanics etc).

To reiterate: the reason I have been trying to do these things could be summed up as to provide formal assessment tests that are robust against plagiarism. My approach has been to provide each student with their own (for example) helicopter data, carefully parameterized in terms of randomized masses, numbers of rotor blades, disk loadings, and about seven other key variables that come from helicopter design codes. I was unable to find any way that CANVAS would allow me even to communicate the individualized parameter sets (question data) individually to each student, of which there could potentially be several hundred. The result: I have a choice between getting MATLAB to email each student, or I end up publishing a spread-sheet on CANVAS that can be seen by all, which I do not want to do. 

My systems have almost invariably relied on a rigid file-naming convention:

e.g. modulecode_year_studentID_assignmentNo.m

aee123_201415_12349876_a1.m

(In the past, I have awarded 5% marks simply for submitting a correctly named file; another 5% for a file that ran without crashing!)

All the best, Dan.

0 Kudos

@DanielWalker -

Thanks for the follow up.  You are welcome for the ideas.  It is always hard to follow what people are trying to do just from a text description.  Actually being able to see what is being done would make it much easier to offer possible solutions.

One thing that does have me confused is the downloading of the email solutions.  Do you have to do that one student at a time?  My guess is that you download the files for one student, run your grading program and have their grade.  Then you do the next student.   I can see how that would be easy to proceed through - although take a little bit of time.  

Hopefully you have enough information to consider some way to be able to download all submission from Canvas and then modify the filenames so that the grading process could actually be sped up.  And just to throw another twist in on what I mentioned previously, if you have late submissions possible, Canvas will put _LATE_ into the filename.

Good luck and glad to know that you are working hard to keep the students from cheating.

0 Kudos

Hello, Ron. No, not one at a time. I have had as many as 305 students each email me 10 files, which I can download in one single step. And each file might produce multiple variables. I can put those 3050 uniquely named m files where I like, and as long as matlab knows where to look, my marking m-files just mark them all. Once it is configured, in two clicks I get to a spreadsheet or text file containing marks and feedback, which I can also have Matab email to candidates. I would integrate this to canvas, if it were straightforward. 

I had a case a few years ago where a professional in Canada emailed to bring to my attention that one of my candidates had put my coursework on a website and paid USD30 to someone in Pakistan to do it for him. He thought he was being clever, by using an alias. He’d overlooked that the unique numerical parameters that I had emailed only to him identified him. I was told recently by students I teach that WhatsApp and Messenger groups were set up specifically to facilitate cheating, during the on-line tests that were used during the height of the pandemic. My system of randomised data helped thwart that, but I am definitely an outlier. Others are simply in denial.

0 Kudos

Daniel -

That is quite the system you have setup that will do that kind of download and setup.  I can definitely see the frustration in having to go to an LMS for downloading the information.  However, what you don't like with the naming convention is followed by every LMS that I have ever worked with.

I don't think it is denial so much as not knowing a way to prevent it from happening - or making it easily trackable.

Ron

0 Kudos
SusanNiemeyer
Community Contributor

Sorry, but your rant is a bit too much. A lot of the folks answering questions here are just fellow instructors who are volunteering their time and energy to lend a helping hand to colleagues. I'm just a community college instructor myself. If you're going to respond to a fellow instructor with another long rant about how much you hate Canvas, I doubt anyone is going to want to help you.

Call it what you like. The initial reply ("help") started along the lines "if you think about it" (which I had).  FYI, I only ended up here, on what I now realize is a user help group, because this 2nd rate tool directed me here. That seems to be the default "technical support": ask other users, who don't know. Perhaps someone from CANVAS reads these columns. (I doubt it). DJ Walker

 

 

0 Kudos
DanielWalker
Community Member

Problem now solved, using email. (Amazing, isn't it, how email systems miraculously manage quietly to do their thing, and handle large numbers of file attachments without messing things up). I came here thinking this was Canvas Support. And 24 hours later, it does indeed seem to be the closest thing on Earth to that. Thanks to the two chaps who tried to help.

0 Kudos