Edit: the final decision was to add 2 columns to the Sumbission table. “Remark_result_ID” which links to a remark result, and “remark_request” to keep the request in text form.
So, after a discussion during last Friday’s meeting, it seems that the best way to do this is to add a column to the Submission table and create a new Results object per remark. I think this then leads to adding two columns in the SubmissionFile table, to keep track of remark request files OR adding a blob column to keep remark requests.
Please see previous post for the previous blog discussion.
From what I understand of the discussion, the new schema suggested is as follows. There is a remark_results column added to the Submission table, which is the id of the new result object created for the remark.
0) Only 1 remark_result ID may exist for one submission (no multiple remarks)
1) If this column is NULL, then it means there is no remark requested.
2) If there is an id there, it means there is a remark requested.
3) If the remark result object’s marking state is “unmarked” it means that the request has still not been reviewed by the professor, and the student can still cancel his or her request. The original mark is still released to the student.
4) (If the student cancels, the result object will be removed and the remark_results column in the Submission table will be NULL again).
5) If the remark result object’s marking state is “partial” it means that the professor has started looking into the request. At this point, the student can no longer cancel the request. Both the original and remarked grade are unreleased to the student.
6) If the remark result object’s marking state is “complete” then both the original and remarked grades are released to the student.
The remark request would be saved in a text file on the server, and the file name and path saved in the SubmissionFile table under the columns “remark_filename” and “remark_path.” We could also standardize the filename so that we only need path. The other option is to save it directly into a “remark_request” column in the SubmissionFile table as a blob.
Quick question… Do we want to save when (timestamp) the remark request was made? I guess this could be saved in the remark text file.