-
-
Notifications
You must be signed in to change notification settings - Fork 949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SAK-40851 Assignments: Allow Students to use Rubrics for the Peer #8822
Conversation
assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java
Outdated
Show resolved
Hide resolved
assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java
Outdated
Show resolved
Hide resolved
assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java
Outdated
Show resolved
Hide resolved
assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-grading.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-grading.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-grading.js
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple more changes. Keep going :)
assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java
Outdated
Show resolved
Hide resolved
assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentToolUtils.java
Outdated
Show resolved
Hide resolved
59b6764
to
bc5caf9
Compare
assignment/tool/src/webapp/vm/assignment/chef_assignments_student_view_submission.vm
Show resolved
Hide resolved
rubrics/api/src/main/java/org/sakaiproject/rubrics/logic/repository/EvaluationRepository.java
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-grading.js
Outdated
Show resolved
Hide resolved
502cf75
to
195543d
Compare
assignment/tool/src/webapp/vm/assignment/chef_assignments_student_review_edit.vm
Outdated
Show resolved
Hide resolved
assignment/tool/src/webapp/vm/assignment/chef_assignments_student_review_edit.vm
Outdated
Show resolved
Hide resolved
assignment/tool/src/webapp/vm/assignment/chef_assignments_student_view_grade.vm
Outdated
Show resolved
Hide resolved
de14165
to
bc3cb6f
Compare
Hi; Among today's changes is an effort to decouple rubrics from assignments. |
f39c66f
to
5451956
Compare
// Only one peer review for an assignment submission per student. | ||
if (a.getAllowPeerAssessment()) { | ||
List<PeerAssessmentItem> reviews = assignmentPeerAssessmentService.getPeerAssessmentItems(s.getId(), a.getScaleFactor()); | ||
if(reviews.size() > 1) { log.warn("More than one peer review were found for Rubric assignment"); } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There could be reviews for multiple submissions, it's possible. If not now, in future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The limitation to 1 peer-review per assignment is for two reasons: our client asked us that way and the second reason so that the teacher's screen can be clearly qualified and because in the repository only 1 evaluator allows (already either by submission or by student id).
If in the future someone wants something else, it is already outside the scope of this ticket, it would be a change like any other.
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
webcomponents/tool/src/main/frontend/js/rubrics/sakai-rubric-association.js
Outdated
Show resolved
Hide resolved
c85f828
to
839ec15
Compare
Greetings; I have been working on all the suggestions you have made to this pull request. Above all, I have made enough effort to separate the logic of Assignment and Rubrics. Answering some of your questions: The limitation to 1 peer-review per assignment is for two reasons: our client asked us that way and the second reason so that the teacher's screen can be clearly qualified and also because Evaluationrepository only allows 1 evaluator (either by submission or by student id). If in the future someone wants something else, it is already outside the scope of this ticket, it would be a change like any other. Thank you for all your comments. |
I don't know whether making this change limited to one submission at this stage is wise. So, not differentiating between different submissions from the student is limiting the functionality in the future, and probably enforcing the need fo a db conversion script when that functionality (peer rubrics evaluation per submission) inevitably gets asked for. Decisions we make now will have effects down the line. I know UPV may have asked for just one peer review per assignment, but that just seems a false restriction when you could work out an evaluated_item_id scheme to handle multiple submissions. Maybe I'm over thinking it - I'm just aware that we have been asked for full submission histories to be visible to instructors. Which submission would the peer review apply to? Could we ever find that out under your scheme? |
Hi Adrian. The way I see it we're only adding a self-contained new functionality (two, in fact). This means it doesn't affect what was already in Sakai but also it can't anticipate every future use case. Functionally we're just giving some users more useful tools and not removing anything. I feel this is the way contributions usually work in the Sakai project, the code has been adapted to match the standards as it should but going much further will only mean postponing it for something that might or might not happen. If we had a different approach that could be applied smoothly then I'd agree with you, but changing the design at this stage is not feasible. If this was the level for every other addition to the project then I'm pretty sure 21 would look like 12... Of course you'll have the last word, just giving my 2 cents. |
@bgarciaentornos Can't you just change the design to be able to differentiate between submissions? Use both the student's user id and the assignment submission id as the evaluated entity id? I think the feature's great, but I don't want to be in the position where we have to do a complicated db conversion because of a hasty decision now, just for the sake of what seems a small change to the way this is currently working. If we wanted to make peer or self assessments submission specific in the future we literally would not be able to do a conversion script - we'd just have to delete all the current peer evaluations. If you add this now, no need in future. This is a community decision though - I just know I wouldn't be happy if this was my design. I'd be worried about not tying it to an actual submission and making work in the future. The trouble with adding code that isn't future proof and that creates the need for a complicated db conversion later on, is that nobody wants to do that work later and we end up with more technical debt that nobody wants to touch. Some Sakai school: "Can we show the students peer reviews for all the submissions? Not just their latest one?" @ern What do you think? Am I over thinking this? |
Does this work in the new grader? The new grader's been in since 20.0 and I don't see us maintaining two grading interfaces into the future. I see the new grader as being the grader, so I'd like this feature to work with grader when it goes in. Maybe this should be the subject of a T&L call on a Wednesday? |
Hi, Adrian; |
@MRutea @bgarciaentornos @ern |
@adrianfish |
Shall we remove the draft status and mark it ready? As far as I can tell all the comments have been addressed? |
c2e7b97
to
ed7f85b
Compare
64f2445
to
3327021
Compare
@@ -203,6 +203,7 @@ | |||
import org.sakaiproject.exception.ServerOverloadException; | |||
import org.sakaiproject.javax.PagingPosition; | |||
import org.sakaiproject.message.api.MessageHeader; | |||
import org.sakaiproject.rubrics.logic.model.ToolItemRubricAssociation; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not used import
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
try { | ||
Optional<ToolItemRubricAssociation> rubricAssociation = rubricsService.getRubricAssociation(RubricsConstants.RBCS_TOOL_ASSIGNMENT, assignmentId); | ||
if (rubricAssociation.isPresent() && rubricAssociation.get().getParameter(RubricsConstants.RBCS_STUDENT_SELF_REPORT)) { | ||
context.put("rubricSelfReport", true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find a little strange that this method put a parameter inside the context. Maybe this method should only return true or false and then insert the returned value from the controller, instead of doing it from this utils method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Thank you!
@@ -46,8 +46,12 @@ | |||
import org.sakaiproject.assignment.api.model.Assignment; | |||
import org.sakaiproject.assignment.api.model.AssignmentSubmission; | |||
import org.sakaiproject.assignment.api.model.AssignmentSubmissionSubmitter; | |||
import org.sakaiproject.cheftool.Context; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not need of importin Context if "hasRubricSelfReview" method only returns a boolean value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
const doAssociateCheck = document.getElementById("do-associate-radio"); | ||
const numberReviews = document.getElementById("new_assignment_peer_assessment_num_reviews"); | ||
|
||
//page-loading |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Identation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
const confirmButton = document.getElementById("confirm"); | ||
confirmButton && confirmButton.addEventListener("click", saveRubric); | ||
const postButton = document.getElementById("post"); | ||
postButton && postButton.addEventListener("click", saveRubric); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Identation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
tool-id="sakai.assignment" | ||
entity-id="$assignment.Id" | ||
evaluated-item-id="$submitter" | ||
></sakai-rubric-student> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ident
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amended.
@@ -39,6 +39,8 @@ class SakaiRubricAssociation extends RubricsElement { | |||
associateValue: { attribute: "associate-value", type: Number }, | |||
fineTunePoints: { attribute: "fine-tune-points", type: String }, | |||
hideStudentPreview: { attribute: "hide-student-preview", type: String }, | |||
studentSelfReport: { attribute: "student-self-report", type: String }, | |||
showSelfReportCheck: { attribute: "show-self-report-check", type: String }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both should be Boolean
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok.
but studentSelfReport is a string ->"Allow students to self-report their work"
console.log(error); | ||
}); | ||
|
||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix all this block identation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
a6a0b87
to
471f31f
Compare
@josecebe |
SAK-40851 Assignments: Allow Students to use Rubrics for the Peer SAK-40851 Assignments: Allow Students to use Rubrics for the Peer SAK-40851 Assignments: Allow Students to use Rubrics for the Peer
This is being replaced by the work done in S2U-34, see #11950 and the original commits for the s2u-22x branch. |
SAK-40851 Assignments: Allow Students to use Rubrics for the Peer