OJS 3.3.0-3: Upload of article-flag not possible

Hello,

after updating to OJS 3.3.0-3 I get various error messages when I try to upload a (PDF) flag to an article. Even before the file upload dialogue opens, I get the following error message: “Failed Ajax request or invalid JSON returned.”.

My PHP log shows the following error:

PHP Fatal error: Uncaught Error: Call to undefined method SubmissionFileDAO::getAllFileStages() in /controllers/wizard/fileUpload/FileUploadWizardHandler.inc.php:35
Stack trace:
#0 /lib/pkp/classes/core/PKPRouter.inc.php(387): FileUploadWizardHandler->authorize(Object(Request), Array, Array)
#1 /lib/pkp/classes/core/PKPComponentRouter.inc.php(257): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array)
#2 lib/pkp/classes/core/Dispatcher.inc.php(144): PKPComponentRouter->route(Object(Request))
#3 /lib/pkp/classes/core/PKPApplication.inc.php(364): Dispatcher->dispatch(Object(Request))
#4 /index.php(68): PKPApplication->execute()
#5 {main}
thrown in /controllers/wizard/fileUpload/FileUploadWizardHandler.inc.php on line 35

It is currently unclear to me what the error is. I also get a similar error message when I want to register DOIs with Crossref. Here the error looks like this:

PHP Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: POST https://api.crossref.org/servlet/submissionDownload resulted in a 404 Not Found response:
{“status”:“error”,“message-type”:“route-not-found”,“message-version”:“1.0.0”,“message”:“Route not found”}
in /lib/pkp/lib/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113
Stack trace:
#0 /lib/pkp/lib/vendor/guzzlehttp/guzzle/src/Middleware.php(65): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response))
#1 lib/pkp/lib/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp{closure}(Object(GuzzleHttp\Psr7\Response))
#2 lib/pkp/lib/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)
#3 /lib/pkp/lib/vendor/guzzlehttp/promises/src/TaskQueue.php(48): Guzz in lib/pkp/lib/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113

Maybe you have an idea.
Thank you!

I get similar error while uploading review file in revisions section.
Error:
[Mon Feb 15 10:48:26.804570 2021] [php7:error] [pid 443908] [client …] PHP Fatal error: Uncaught Error: Call to undefined method SubmissionFileDAO::getAllFileStages() in /…/lib/pkp/controllers/wizard/fileUpload/PKPFileUploadWizardHandler.inc.php:75\nStack trace:\n#0 /…/lib/pkp/classes/core/PKPRouter.inc.php(387): PKPFileUploadWizardHandler->authorize()\n#1 /…/lib/pkp/classes/core/PKPComponentRouter.inc.php(257): PKPRouter->_authorizeInitializeAndCallRequest()\n#2 …/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPComponentRouter->route()\n#3 …/lib/pkp/classes/core/PKPApplication.inc.php(364): Dispatcher->dispatch()\n#4 …/index.php(68): PKPApplication->execute()\n#5 {main}\n thrown in …/lib/pkp/controllers/wizard/fileUpload/PKPFileUploadWizardHandler.inc.php on line 75, referer: https://…/index.php/idcm/authorDashboard/submission/42
Screenshot from 2021-02-15 13-59-33

1 Like
  • file permissions checked
  • php log was created and the following error was received ;

[15-Feb-2021 18:46:14 UTC] PHP Fatal error: Uncaught Error: Call to undefined method SubmissionFileDAO::getAllFileStages() in /var/www/…/lib/pkp/controllers/wizard/fileUpload/PKPFileUploadWizardHandler.inc.php:75
Stack trace:
#0 /var/www/…/lib/pkp/classes/core/PKPRouter.inc.php(387): PKPFileUploadWizardHandler->authorize()
#1 /var/www/…/lib/pkp/classes/core/PKPComponentRouter.inc.php(257): PKPRouter->_authorizeInitializeAndCallRequest()
#2 /var/www/…/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPComponentRouter->route()
#3 /var/www/…/lib/pkp/classes/core/PKPApplication.inc.php(364): Dispatcher->dispatch()
#4 /var/www/…/index.php(68): PKPApplication->execute()
#5 {main}
thrown in /var/www/…/lib/pkp/controllers/wizard/fileUpload/PKPFileUploadWizardHandler.inc.php on line 75

what can we do?

Thanks

1 Like

Hello,

I just noticed that OJS 3.3.0-3 no longer recognises the folder “…/controllers/wizard”, i.e. it should no longer be part of the installation (At least in the downloadable ZIP file. Online, this folder still seems to exist?). I am therefore surprised that the folder is apparently still called up although it should actually no longer exist. Now the question is whether this is an installation error or whether it is an error within the script.

It would be really good if someone here in the forum had an answer for our problems.

Hi all,

I wonder if you didn’t upgrade by unpacking the new (OJS 3.3.x) code over top of your OJS 3.2.x installation; if so, it’ll result in old and new code mixed together, which can cause problems like this. Please double-check the upgrade instructions to make sure you’re working with a clean codebase.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

I think I made the appropriate upgrade procedure

  • I extracted the tar file
  • copied over previous version cp -R [version] / * / var / www / …
  • followed the steps below
    vi config.inc.php
    installed = On → Off

cd tools
php upgrade.php check
php upgrade.php upgrade
php upgrade.php check

check result is;
php upgrade.php check
Code version: 3.3.0.3
Database version: 3.3.0.3
Latest version: 3.3.0.3
Your system is up-to-date

Thanks

Hi @nkisnisci,

See “Full Package” under docs/UPGRADE.md. I think you’re probably mixing the codebases together in a way those instructions don’t recommend.

Regards,
Alec Smecher
Public Knowledge Project Team

2 Likes

Thank you very much for your help. I have now simply reloaded the new code onto the server and the error is fixed. Sometimes it can be so simple. Many thanks @asmecher

1 Like

Hi @asmecher,

Thanks, when I followed the steps in the instruction and copied all the files to the empty folder instead of overcopying, the problem was resolved.

1 Like

@Felixmail2015 For your 404 error to https://api.crossref.org/servlet/submissionDownload, this is a separate problem with the Crossref API / OJS plugin’s URLs. I’ve created a PR to fix this at Fix querying Crossfef API by updating status URL to doi.crossref.org by davidjb · Pull Request #3087 · pkp/ojs · GitHub.

1 Like