On Thu, Oct 6, 2016 at 10:08 AM, <matt...@udel.edu> wrote: > So, I've been playing around with the handin server these days. > > My purposes of the handin require students to submit images using the > htdp image and universe libraries. > > First, I would like to note that for the images, you must turn off > textualization/create-text in your checker: > > (check: > ; Get timestamp of the submission and add it to header and report
([*] Is there some code that does the addition described here?) > :language 'racket > :requires '(bsl-plus-image) > :create-text? #f > :textualize? #f > > My issues follow: > > 1) Initially, there is a conflict with one of the image functions and > [...]) (I don't know about these issues...) > 2) Afterwards, there is a permission denied error: > [2|2016-10-06T09:49:28] ERROR: Error in your code -- > [2|2016-10-06T09:49:28] file-exists?: `exists' access denied for libobj.dylib > [...] > As of now, I expose my path. I'm not sure how to create a better > solution than the one mentioned stating to add the following lines at > the top of your checker.rkt The "/" in the additional setting is a path, and the `read` allows reading any file under that path. So instead of "/", just use a path that includes only stuff that should be OK to read, including the "libobj.dylib" file. (I don't use OSX so I don't know where it is.) > 3) Finally, I found a very serious issue in the collection's handin > server code. students are not able to submit because of the server > was trying to write to a grading/text.rkt even though I specified > not to! I've traced the issue to the collection's handin server. > > From (collection-path "handin-server"), > > /Library/Racket/6.6/pkgs/handin/handin-server/checker.rkt: > > Starting around line 467 the below code is the culprit! > Essentially, at the bottom of the below segment, regardless if you > checked if you were creating a text file in your checker.rkt, it will > attempt to write the text with the below code: > (when (thread-cell-ref added-lines) (write-text)) > > Essentially, to fix this issue, you may replace it with > (when (and (thread-cell-ref added-lines) create-text?) (write-text)) That does look like a bug, but I think that a proper solution would make `add-header-line!` throw an error if there is no textualization happenning, except that getting the textualization flag there might be tricky, so a bit hackier solution is to make the code that you're talking about throw an error, so instead of (when (thread-cell-ref added-lines) (write-text)) it would be something like (untested): (when (thread-cell-ref added-lines) (unless create-text? (error* "bad checker: no text created, but header lines added")) (write-text)) This is better than what you're suggesting, which would silently ignore the added lines. If you do have some code that adds header lines (my [*] question at the top) then that's the problem, and the error should be a configuration error. (The thing is that additional headers are written to a generated text file -- there's no code that edits the student's media-format submission file.) -- ((x=>x(x))(x=>x(x))) Eli Barzilay: http://barzilay.org/ Maze is Life! -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.