Peer Review Feature - Backporting to 2.9.x
There are here a list of JIRAs related with Peer Review Feature, developed by Bryan Holladay (Longsight) and included in Sakai 10.
I have backported (with some help of Alex Ballesté) almost all the JIRAs for 2.9.x, but it seems that there aren't resources enough available to merge them and to do QA in 2.9.x, so I document the process and attach the patches right here, just in case somebody wants to include this cool feature in their 2.9 deployment as we plan to do soon at UPNA (Spain).
Our QA in our own test server has gone very fine. No issues found so far, except a minor i18n issue that we are going to send to JIRA. (Edit: reported as https://sakaiproject.atlassian.net/browse/SAK-27829)
Of course, if you find any issue or error in this document or in the patches, do not hesitate in documenting it here or just contact me to fix it.
Edit (2014-08-21): Bryan Holladay comments that he already backported Peer Review feature for 2.9.x in a branch for Duke. The patch does not apply well at all into 2.9.x because that branch has other local customizations.
Duke's 2.9.x branch is in https://source.sakaiproject.org/svn/msub/duke.edu/assignment/branches/assignment-2.9.x
The list of patches applied to that branch is in https://source.sakaiproject.org/svn/msub/duke.edu/assignment/branches/assignment-2.9.x/CUSTOMIZATIONS.txt
And if somebody wants to check the Peer Review patch applied to that branch (as I did), it can be downloaded with this command:
svn diff -r 311730:311731 https://source.sakaiproject.org/svn/msub/duke.edu/assignment/branches/assignment-2.9.x/ > patch.txt
Basic information
If you want to run the feature, there are some changes you must do previously in your installation:
Set the next property in your sakai.properties:
assignment.usePeerAssessment=trueCreate a new table in your database. The script (for MySQL) is included in https://source.sakaiproject.org/svn/reference/trunk/docs/conversion/sakai_10_0_mysql_conversion.sql
A similar script for Oracle can be found there. The SQL needed (for MySQL) is this one.-- ------------------------ -- -- SAK-23812 Peer Review feature for Assignments -- -- ------------------------ CREATE TABLE ASN_PEER_ASSESSMENT_ITEM_T ( SUBMISSION_ID varchar(255) NOT NULL, ASSESSOR_USER_ID varchar(255) NOT NULL, ASSIGNMENT_ID varchar(255) NOT NULL, SCORE int(11) NULL, REVIEW_COMMENT varchar(6000) NULL, REMOVED bit(1) NULL, SUBMITTED bit(1) NULL, PRIMARY KEY(SUBMISSION_ID,ASSESSOR_USER_ID) ); create index PEER_ASSESSOR_I on ASN_PEER_ASSESSMENT_ITEM_T (SUBMISSION_ID, ASSESSOR_USER_ID); create index PEER_ASSESSOR2_I on ASN_PEER_ASSESSMENT_ITEM_T (ASSIGNMENT_ID, ASSESSOR_USER_ID); -- -------------------- -- -- END SAK-23812 Peer Review feature for Assignments -- -- --------------------
The patch
This big patch includes the next JIRAs, all related to Peer Review. I have each JIRA isolated in a single patch that I will attach separately, in case somebody prefer to apply them step by step.
To apply it, put it in assignments folder and run (in Linux) the next command:
patch -p0 -l < patch_PeerReview_Completo_SAK-23812-25609-25610-25611-25638-25639-25644-25645-25660-25666-25719.patchImportant: You must also apply SAK-25897 separately in jobscheduler folder. Patch is attached below.
The JIRAs
https://sakaiproject.atlassian.net/browse/SAK-23812 - The main JIRA, with a lot of revisions. There are several conflicts with 2.9, mainly in AssignmentAction, but not difficult to adjust them.
https://sakaiproject.atlassian.net/browse/SAK-25609 - Subtask of SAK-23812. Straightforward backport.
https://sakaiproject.atlassian.net/browse/SAK-25610 - Subtask of SAK-23812. Straightforward backport.
https://sakaiproject.atlassian.net/browse/SAK-25611 - Subtask of SAK-23812. Straightforward backport.
https://sakaiproject.atlassian.net/browse/SAK-25638 - Straightforward backport.
https://sakaiproject.atlassian.net/browse/SAK-25639 - Three revisions. Issues backporting this patch because it collides with Group Submissions feature, not included in 2.9. Some diff tweaks were necessary.
https://sakaiproject.atlassian.net/browse/SAK-25644 - A minor issue with a property changed in another JIRA. Quite straightforward backport.
https://sakaiproject.atlassian.net/browse/SAK-25645 - Straightforward backport.
https://sakaiproject.atlassian.net/browse/SAK-25660 - A minor issue because 2.9 uses deprecated StringUtil instead StringUtils. Quite straightforward backport.
SAK-25666: Missing Status for a graded draft assignmentClosed - Straightforward backport.
SAK-25716: Peer review causes error with duplicated assignmentsResolved - Subtask of SAK-23812. It is a straightforward backport and it is included by error (my fault) in SAK-23812 patch, so you can ignore it.
SAK-25719: Peer Review - GB integration should be the same as normal assignments when review grades are added/removedClosed - Straightforward backport.
SAK-25897: Assignment peer review start date is just an approximation. It can start up to 10 minutes laterResolved - It is addressed in
SAK-26050: Lower the default interval for jobscheduler.invocation.intervalClosed - Straightforward backport. This patch is for jobscheduler tool.
Not backported JIRAs
There is a single JIRA that I have not been able to backport.
SAK-27787: Peer Assessment Student View or Reviews looks uglyClosed - Peer Assessment Student View or Reviews looks ugly
The reason is explained in the comments. This patch uses jQuery accordion widget, which seems to work oddly with 2.9 jQuery version.
A patch including a more recent jQuery library could be done, but I think that is not a good practice at all. And this issue is not a big deal IMHO. If anybody desire to apply it anyway, a patch for Duke University's 2.9.x is included in SAK-27787.