Review's comment in not visible in the exported archive file.

Issue #98 resolved
H E created an issue

Fire stores reviewer's comments in a file (fire_comment_file = 'FIRE_COMMENT.txt') which is stored in the same directory as the students submission. However this file is not accessible when you export the submission archive. The reason is the following line of code: https://bitbucket.org/cse-fire/fire/src/387a0d23a2ae829113c0d9fb9f46b6b69cfe4de6/fire/filestore.py?at=master&fileviewer=file-view-default#filestore.py-189

The reason for excluding this file is to avoid confusion when students see this file among her own submission files. I faced the same problem in this commit which I don't really know how to deal with. Export all submission

Things to consider: - Why Fires stores the reviewer's comment in the file system ! - What can go wrong if a student upload a file with the same name ('FIRE_COMMENT.txt' or 'fire_info.txt' in my case ) ?

Comments (7)

  1. Evgeny Kotelnikov

    This is not a reviewer's comment. This is a comment that the student might provide together with the uploaded files.

    If a student tries to upload FIRE_COMMENT.txt, an error message should be displayed. This is not implemented yet.

    There is a bug indeed, the comment file does not end up in the archive.

  2. H E reporter

    "This is a comment that the student might provide together with the uploaded files !"

    As I see there is also a "comment" column in "submissions" table. Do you mean there is redundancy too ?!

  3. H E reporter

    Hmm , https://bitbucket.org/cse-fire/fire/src/f292e92283b0ae4fdee90372bb4c0560a13aae3b/fire/views/students.py?at=develop&fileviewer=file-view-default#students.py-236

    line 236 : "comment" variable :

        comment = request.POST['comment'] if 'comment' in request.POST else ""
        if not comment and draft:
            comment = draft.comment
    
        submission = Submission(lab, submitter, comment, physical_submission)
        submission.assign_grader()
    
        try:
            filestore.materialise(draft, submission)
        except OSError, e:
            log.error(e)
            request.flash_fire(type='error', msg="Submission failed due to unknown error. Please report this incident.")
            return HTTPFound(location=request.route_path('student_lab', lab=lab.id))
    
        if comment:
            filestore.store_comment(submission, comment)
    
  4. Log in to comment