It seems you still have bugs with custom review forms when upgrading OJS. We did an upgrade from 3.2.1-4 to 3.5.0-1, Intermediate version was 3.3.0-20. So, the bug is within dropdown menus. In 3.2.1-4 menu looks like this:
in both cases value of response_value field in review_form_responses table equals 6. So in the old version “REVIEW” would be displayed in the dropdown while in the new version dropdown is blank since there is no option with value 6.
Btw. if i’m not clear, i’m referring to the actual reviews, not the review template.
Do you know if this is bug in 3.2 or in the upgrade process or maybe both? This is currently a showstopper for us for the upgrade. I don’t know why in the example above select item values in OJS 3.2 start with number 4 - maybe someone was editing/deleting options? During the upgrade to OJS 3.5 option values are converted 4 → 1, 5 → 2 etc. but the selected value is not converted properly, so for example if in OJS 3.2 you selected “The manuscript cannot be categorized” (option value 8) this will still be set as a selected value in OJS 3.5, although there is no more option value 8 but 4.
However in some journals everything is fine since options start with number 0. It seems the problem is only with the ones where options don’t start with a 0. Any advice on how we can solve this because we are now stuck Thx.
I think i solved it by repairing data in a OJS 3.5 database. I used this query to get all review responses from OJS 3.2 database, where first deserialized element key is > 0 and element type is 6 (dropdown):
SELECT * FROM review_form_responses rfs
WHERE rfs.review_form_element_id IN (
SELECT DISTINCT rs.review_form_element_id
FROM review_form_element_settings rs
LEFT JOIN review_form_elements re ON rs.review_form_element_id = re.review_form_element_id
WHERE setting_value REGEXP '^a:[0-9]+:{i:[1-9][0-9]*;' and re.element_type = 6);
Based on the review_form_element_id field values and review_id values that i got as a result of this query i wrote a little php script that includes this query:
UPDATE review_form_responses
SET response_value = response_value - 4
WHERE review_form_element_id = :review_form_element_id
AND review_id = :review_id";
on my OJS 3.5 database. In my case all results where +4 so i did -4 in this query. I did a quick test and it seems custom reviews are finally fixed but will do more checking.