"Array" is the only option when reviewing after upgrade from 2.4.8 to 3.0

After upgrading from 2.4.8 to 3.0, “Array” is the only option coming up as an answer when reviewing. Is there a way to fix this?

Thank you,


Please post screenshot of error that you see. Which php version you use?

Hi vvucic,

Below is the screenshot of what users are seeing in the review section. All answer options are set to “Array”


We are currently using PHP 5.3.


Thanks ajnyga. It looks like the user in that post retried the upgrade. I already tried to re-do the upgrade in our TEST environment multiple times and the issue still occurs. Even updated PHP, still no luck.

Are there database scripts I can run to fix the issue?

are you trying to upgrade to 3.0 not

Yes. I upgraded to version 3.0 from 2.4.8. I tried upgrading to but had major issues. Upgrading to 3.0 was the only way I was able to get the upgrade to successfully complete.

There are a lot of bugs in 3.0 so I would suggest that you tried upgrading.

The problem in this particular case is in the upgrade script at least in 3.0.0 and 3.0.1 so rerunning the upgrade will not help. The error itself is fairly easy to fix from the upgrade script however, see [OJS] Upgrade issue: custom review form items are displayed as "Array" · Issue #1782 · pkp/pkp-lib · GitHub

I tried the fix and was able to upgrade successfully in my test environment. The issue I am having is that the upgrade in production was done a week back and users have already added new content to the journal. Is there anyway to fix this review piece without having to revert the database and lose data?

@bozana knows best if there is a fix when upgrading from 3.0 to 3.1 for this issue.

Alternatively, you could of course try modifying the database. Maybe create a similar form in test environment and see how it is saved to the database, and then try to modify the existing form in the production journal accordingly. But I am not sure if there are possible problems hidden in the solution.

Hi @abalbuena


I assume that the old review form elements have not changed since upgrade of the production system – they should never change because the old responses are bind to it and would not work any more.

Were those old review forms used in the meantime (after the production upgrade)? Could they be used at all, when the DB entries were wrong?
Have maybe new review forms been created and used, since production upgrade?

If the old review forms were not used and new forms not created, you could probably apply that function fixReviewForms again.
If the old review forms were used, I have no idea what is the result of it, how the entries in the DB look like. Could you in this case provide an example of how the entries in the DB table review_form_element_settings and review_form_responses look like: for the old entries before the upgrade and for the new entries after the upgrade?
If new forms and elements have been created and used after the upgrade, could you tell till which review_form_element_id were the old review forms? – so that that fix can be applied only for review_form_element_ids < that number.


Hi All,

The journal manager was able to recreate the review templates. Everything is good now.

Thank you