When selecting Add Reviewer the blue arrow does not drop down the reviewer data on most of the entries - but it does on some. I cannot see what is triggering some to work and most not to work?
I’m working with Sue and can follow up that this is a (browser independent) JS error as seen from the browser console…
Further to this, I have reviewed the thread here https://forum.pkp.sfu.ca/t/reviewer-list-wont-load-ojs-3-0-2-0/29677 which seems to centre around a PHP Warning: json_encode(): Invalid UTF-8 sequence in argument
Our error is different - some of the reviewer’s pop_List_Panel_Item_details expand (about 1 in 10) but most just do not expand. I tried inserting the debug line
Something like this before line 162
error_log(print_r($jsonObject, true));
This served to show that jsonObject is correctly generated for both good and bad reviewers - so seem that the issue is occurring between this point and the HTML served.
Nothing else looks concerning in error_log
I have also gone into the database and trawled for odd characters, eg.
select username, email from users inner join user_interests on user_interests.user_id=users.user_id inner join controlled_vocab_entry_settings on user_interests.controlled_vocab_entry_id=controlled_vocab_entry_settings.controlled_vocab_entry_id where setting_name='interest' and setting_value like '%;%';
And deleted any interest values with punctuation characters - also this does not fix the issue
Please can someone help?
@asmecher I see that you have been very helpful in other threads on this site, please can you provide a steer as to what may be causing this … our hosting provider (Kualo) has not been able to help…??
What version of OJS are you using?
Regards,
Alec Smecher
Public Knowledge Project Team
Hi and thanks!
Current version: 3.2.1.1 ( 9 October 2020 - 01:26 PM)
we are planning to upgrade to Open Journal Systems 3.3.0.3 soon
Hi @SteveRoe,
Did you find anything in your PHP error log? If you’re also getting warnings like…
PHP Warning: json_encode(): Invalid UTF-8 sequence in argument
…then it’s likely a data error in some rows of your database relating to the character set configuration.
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @asmecher - I attach my error_log - I just re-hit the Add Reviewer page / expanders at 16:26 ish … also showing a bunch of lines before in cases that helps.
I would be a bit surprised if the DB table has bad characters since I went through and manually rooted out punctuation (’;’, ‘&’) and so on and did not see anything non UTF-8 like.
This is the first time I have seen this error line which looks a bit related…
[02-Mar-2021 16:26:36 UTC] PHP Warning: assert(): No status key could be found for ReviewAssignment
Hi @SteveRoe,
The assertion failure may be relevant; it looks like you have a review assignment with an unexpected status value. Is there any chance that there are code modifications to lib/pkp/classes/submission/reviewAssignment/ReviewAssignment.inc.php
? The status constants are determined using getStatus
, and the assertion failure comes from getStatusKey
; at a glance all the cases generated by getStatus
are properly covered by getStatusKey
.
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @asmecher -
No PHP has been touched from the standard build. We use the default template. I have made some changes to the default config.inc.php around session values and date formats. It’s en_US only otherwise.
Short update - I think I have eliminated the getStatus warning from the possibilities. That leaves me back at square one. Any other guidance, please?
Long update - Here’s what I did…
-
Insert some additional error_log ing at line 604 in ReviewAssignment.inc.php (just above the assert)
error_log(print_r('status=' . $status, true));
-
Checked this was coming out in the log
[05-Mar-2021 08:54:43 UTC] status=10
[05-Mar-2021 08:54:43 UTC] PHP Warning: assert(): No status key could be found for ReviewAssignment on 605 failed in /home/academic/public_html/lib/pkp/classes/submission/reviewAssignment/ReviewAssignment.inc.php on line 605 -
Patched ReviewAssignment.inc.php to suppress the error
603 case REVIEW_ASSIGNMENT_STATUS_CANCELLED:
604 return ‘submission.review.status.cancelled’; -
Retested - now no error - but the drop down list still fails in same way (it is consistently the same reviewers who can/can’t expand the drop down)
-
Since ‘date math’ also features in ReviewAssignment.inc.php, and since I have changed the date format config, I also took a look at the dates stored in the DB… these all look to be sensible
(db date query imageattached)…
I also temporarily reverted the date format changes in config.inc.php
to check if that was creating the issue - that did not resolve the issue ;-(
Also,I noticed this comment on thread OJS 3.1.0.1 Problem with prepared emails - #27 by RickMath
I suspect the changed date formats allowed some bad data to enter the system in your test submission. I’d suggest trying with a new test submission to see if the behavior is improved.
So I have created a brand new Submission to rule out bad data arising from date format change coming in via the Submission dates.