Error Upgrade OJS to 3.1.2 "You are trying to downgrade the product "" from version [] to version []"

Hello. sorry to disturb community
I have tried to perform upgrade from OJS to 3.1.2 but failed. Below - final part of upgrade tracelogs:

[code: Installer Installer::migrateStaticPagesToNavigationMenuItems]
[code: Installer Installer::migrateSRLocale]
[code: Installer Installer::migrateUserAndAuthorNames]
[data: dbscripts/xml/upgrade/event_log_oneclickuserid.xml]
[data: dbscripts/xml/upgrade/3.1.2_update.xml]
[data: dbscripts/xml/upgrade/3.2.0_navigation_menu_items_locale_change.xml]
[note: docs/release-notes/README-3.1.2]
[code: Installer Installer::addPluginVersions]
<h1>You are trying to downgrade the product &quot;&quot; from version [] to version []. Downgrades are not supported.</h1><h4>Stack Trace:</h4>
<strong>File:</strong> /var/www/html/lib/pkp/classes/install/ line 745<br />
<strong>Function:</strong> VersionDAO->insertVersion(Object(Version), True)<br />
<strong>File:</strong> /var/www/html/lib/pkp/classes/install/ line 421<br />
<strong>Function:</strong> Installer->addPluginVersions(Object(Upgrade), Array(1))<br />
<strong>File:</strong> /var/www/html/lib/pkp/classes/install/ line 265<br />
<strong>Function:</strong> Installer->executeAction(Array(3))<br />
<strong>File:</strong> /var/www/html/lib/pkp/classes/install/ line 186<br />
<strong>Function:</strong> Installer->executeInstaller()<br />
<strong>File:</strong> /var/www/html/lib/pkp/classes/cliTool/ line 88<br />
<strong>Function:</strong> Installer->execute()<br />
<strong>File:</strong> /var/www/html/lib/pkp/classes/cliTool/ line 64<br />
<strong>Function:</strong> UpgradeTool->upgrade()<br />
<strong>File:</strong> /var/www/html/tools/upgrade.php line 34<br />
<strong>Function:</strong> UpgradeTool->execute()<br />
ojs2: You are trying to downgrade the product "" from version [] to version []. Downgrades are not supported.

I have searched forum and realize that only post from thread describe something similar. But look like it has not yet resolved…
Major problem - how I can identify that module/plugin (or something else) which cause this issue? It did not shown in tracelog - only empty quotation marks…

1 Like

I create some step with visual aid to help upgrade from OJS to 3.1.2.

Just remember to backup your site and database before upgrade process initialize
Hope it can help.

Thank you.
I am sorry - it all about normal upgrade workflow.
I did everything almost exactly the same - just I have used command-line upgrade tool.
And got above error.

Never try your method. You can consider using normal method if it is failed

Command-line upgrade - it also officially supported. more over - it recommended for large instances (like mine). It works perfectly during 2.8.x to upgrade. So - it is “normal” way

It is my mistake to use normal term.

What I mean was the alternative way. Other than command line method.


Out of curiosity, do you have the SWORD plugin in your installation? I had this error occur when that plugin was installed. I had to temporarily remove the plugin, do the OJS upgrade, and then reinstall it.

If not the SWORD plugin, then perhaps you have another plugin causing the issue.

Oh - and the command line upgrade process is perfectly fine. We use it constantly with PKP|PS.


1 Like

Look like you are right.
During today’s attempt to update - I have removed 3 plugins that I suspect could caused this problem - QuickSubmit, SWORD and IndexCopernixusExport. After that - update have been passed successfully.
PS: But, why this time plugin name have not not displayed on error? It would save lot of time…

The case is the same as mine …
As a sugestion, whether in the upgrade process it cannot run automatically …

Best regards…
Aristrkus Didimus Rumpak

I have the same problem but remoning those plugins does not help.

at the bottom of the /install page I also see the following

Fatal error : Uncaught Error: Call to a member function _get_plugin_filepath() on null in /home/suburban/public_html/sys/lib/pkp/lib/vendor/smarty/smarty/libs/plugins/modifier.date_format.php:11 Stack trace: #0 /home/suburban/public_html/sys_neu/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(455): include_once() #1 /home/suburban/public_html/sys_neu/cache/t_compile/ Smarty_Internal_Template->_checkPlugins(Array) #2 /home/suburban/public_html/sys_neu/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_5cfbaf5889b738_22297965(Object(Smarty_Internal_Template)) #3 /home/suburban/public_html/sys_neu/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(Smarty_Internal_Template)) #4 /home/suburban/public_html/sys_neu/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/ in /home/suburban/public_html/sys/lib/pkp/lib/vendor/smarty/smarty/libs/plugins/modifier.date_format.php on line 11

To be more specific, we get the following error code while upgrading: “ojs2: You are trying to downgrade the product “openAIRE” from version [] to version []. Downgrades are not supported.”

Disabling or uninstalling the OpenAire-plugin did not help.

Hi @adm_sub,

Is it possible that you tried to install GitHub - ajnyga/openAIRE: OpenAIRE Guidelines for Literature Repository Managers v4 compatible OJS3.1.2+ plugin on your OJS 3.1.1-4 installation? That plugin isn’t compatible with OJS 3.1.1 but it’s possible that it registered itself in your database anyway. You could try executing this database query before running the upgrade:

DELETE FROM versions WHERE product='openAIRE';

As always, make sure you have a good backup before running database queries directly.

Alec Smecher
Public Knowledge Project Team

1 Like

Dear @asmecher,

thank you for your reply!

I have removed the entries ‘openAIRE’ from the database and afterwards the update process of OJS has been completed without receiving any error message. But unfortunately, the website remained faulty after the update. Many links don’t work and I can’t log into the backend.

Afterwards, I have tried a completely new installation of OJS with a newly created database to avoid errors from the former installation. I imported our old database after the installation.

The result is this: On the website, the header is missing and the iframe is not loaded correctly. But the fonts look just fine, so the CSS seems to be included correctly.

Unfortunately, I still am not able to login properly. The login itself somehow does seem to work (see screenshot), but the backend is not loaded.

Switching to English does not work either.

The following error message is always displayed at the top of the website:

Strict Standards : Declaration of DRIVERDAO::setOAI() should be compatible with PKPOAIDAO::setOAI($oai) in /home/suburban/public_html/sys_neu/plugins/generic/driver/ on line 19

Strict Standards : Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /home/suburban/public_html/sys_neu/plugins/generic/customBlockManager/ on line 134

Strict Standards : Declaration of OpenAIREDAO::setOAI() should be compatible with PKPOAIDAO::setOAI($oai) in /home/suburban/public_html/sys_neu/plugins/generic/openAIRE/ on line 100

Strict Standards : Only variables should be assigned by reference in /home/suburban/public_html/sys_neu/pages/index/ on line 68

Warning : Cannot modify header information - headers already sent by (output started at /home/suburban/public_html/sys_neu/plugins/generic/driver/ in /home/suburban/public_html/sys_neu/lib/pkp/classes/template/ on line 836

Warning : Cannot modify header information - headers already sent by (output started at /home/suburban/public_html/sys_neu/plugins/generic/driver/ in /home/suburban/public_html/sys_neu/lib/pkp/classes/template/ on line 837

Clicking on the “Issues” does not work and returns the following error:

Parse error : syntax error, unexpected ‘?’ in /home/suburban/public_html/sys_neu/lib/pkp/lib/vendor/illuminate/support/Str.php on line 681

Clicking on “Current” issue does not work either:

Deprecated : Non-static method PKPApplication::getCCLicenseBadge() should not be called statically, assuming $this from incompatible context in /home/suburban/public_html/sys_neu/pages/article/ on line 162
Strict Standards : Declaration of SubmissionKeywordEntryDAO::getByControlledVocabId() should be compatible with ControlledVocabEntryDAO::getByControlledVocabId($controlledVocabId, $rangeInfo = NULL, $filter = NULL) in /home/suburban/public_html/sys_neu/lib/pkp/classes/submission/ on line 20
Warning : assert(): Assertion failed in /home/suburban/public_html/sys_neu/lib/pkp/classes/identity/ on line 157
Fatal error : Uncaught exception ‘Seboettg\CiteProc\Exception\CiteProcException’ with message ‘Illegal argument. Name has no family name.’ in /home/suburban/public_html/sys_neu/plugins/generic/citationStyleLanguage/lib/vendor/seboettg/citeproc-php/src/Seboettg/CiteProc/Util/NameHelper.php:120Stack trace: #0 /home/suburban/public_html/sys_neu/plugins/generic/citationStyleLanguage/lib/vendor/seboettg/citeproc-php/src/Seboettg/CiteProc/Rendering/Name/Name.php(528): Seboettg\CiteProc\Util\NameHelper::normalizeName(Object(stdClass)) #1 /home/suburban/public_html/sys_neu/plugins/generic/citationStyleLanguage/lib/vendor/seboettg/citeproc-php/src/Seboettg/CiteProc/Rendering/Name/Name.php(202): Seboettg\CiteProc\Rendering\Name\Name->nameOrder(Object(stdClass), 0) #2 /home/suburban/public_html/sys_neu/plugins/generic/citationStyleLanguage/lib/vendor/seboettg/citeproc-php/src/Seboettg/CiteProc/Rendering/Name/Name.php(184): Seboettg\CiteProc\Rendering\Name\Name->getNamesString(Object(stdClass), 0) #3 /home/suburban/public_html/sys_ne in /home/suburban/public_html/sys_neu/plugins/generic/citationStyleLanguage/lib/vendor/seboettg/citeproc-php/src/Seboettg/CiteProc/Util/NameHelper.php on line 120

Sometimes I also get the following error message

Fatal error: Uncaught → Smarty Compiler: Syntax error in template “app:app:frontendcomponentsheader.” on line 28 “{if !$pageTitleTranslated}{translate|assign:“pageTitleTranslated” key=$pageTitle}{/if}” unknown modifier ‘assign’ ← thrown in /home/suburban/public_html/sys_neu/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 28

Could the bug have something to do with the migration from PHP version 5.6 to 7.1?

Or maybe with the QuickSubmit plugin? The user Hugo_Melo has had similar problems during his update

Sorry, I am really lost right now.

I am very grateful for any help or advice!

Hi @adm_sub,

I see three potential problems, at a glance:

  • I suspect your PHP is too old for OJS 3.1.2 (see docs/ for minimum requirements);
  • Your PHP error log needs to be directed to the log file, not the browser (this is in your php.ini file); and
  • I suspect you have some older (incompatible) plugin code in your 3.1.2 codebase, possibly left over from your 3.1.1-4 installation. (If you tried to upgrade by unpacking the 3.1.2 code over the 3.1.1-4 code, it’s better not to do that.)

Alec Smecher
Public Knowledge Project Team

Dear @asmecher,
please excuse the late reply. I only found the time yesterday to try a new update of OJS.
This time it worked!
The only thing I changed this time was to set “display_errors” in php.ini to “On”. Many thanks for the hint, I would never have thought of it.
I find it interesting that all the other updates always worked before, even when updating from OJS 2 to 3.

I had also problem, upgrading from to After deleting of OpenAIRE, QuickSubmit and SWORD plugins (using Setings > Website > Plugins > Installed Plugins) upgrade worked and later I installed those plugins back again.

1 Like