[OJS 3.2.0-3] Unable to "Create New Version" of article

Hi,

I’m testing with OJS version 3.2.0-3.

I have created an issue, and uploaded several articles through quicksubmit. Everything seemed to be going well, but I found a problem creating a new version of a published article.

After clicking on the button: “create a new version”, an error window is displayed. I refresh the website and the new version appears, but the contributor field and the galley field have disappeared. See image.

1

I have checked the “php-log” file and the following message appears:

[16-May-2020 21:57:06 Europe/Berlin] Slim Application Error:
Type: Error
Message: Call to undefined function PKP\Services\importCitations()
File: E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\services\PKPPublicationService.inc.php
Line: 414
Trace: #0 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\services\PKPPublicationService.inc.php(462): PKP\Services\PKPPublicationService->add(Object(Publication), Object(Request))
#1 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\api\v1\submissions\PKPSubmissionHandler.inc.php(616): PKP\Services\PKPPublicationService->version(Object(Publication), Object(Request))
#2 [internal function]: PKPSubmissionHandler->versionPublication(Object(Slim\Http\Request), Object(APIResponse), Array)
#3 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\Handlers\Strategies\RequestResponse.php(40): call_user_func(Array, Object(Slim\Http\Request), Object(APIResponse), Array)
#4 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke(Array, Object(Slim\Http\Request), Object(APIResponse), Array)
#5 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\Route->__invoke(Object(Slim\Http\Request), Object(APIResponse))
#6 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\Route.php(268): Slim\Route->callMiddlewareStack(Object(Slim\Http\Request), Object(APIResponse))
#7 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\App.php(503): Slim\Route->run(Object(Slim\Http\Request), Object(APIResponse))
#8 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\security\authorization\internal\ApiAuthorizationMiddleware.inc.php(76): Slim\App->__invoke(Object(Slim\Http\Request), Object(APIResponse))
#9 [internal function]: ApiAuthorizationMiddleware->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Slim\App))
#10 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(ApiAuthorizationMiddleware), Array)
#11 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Slim\App))
#12 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Slim\App))
#13 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\security\authorization\internal\ApiCsrfMiddleware.inc.php(46): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#14 [internal function]: ApiCsrfMiddleware->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#15 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(ApiCsrfMiddleware), Array)
#16 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#17 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#18 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\security\authorization\internal\ApiTokenDecodingMiddleware.inc.php(82): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#19 [internal function]: ApiTokenDecodingMiddleware->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#20 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(ApiTokenDecodingMiddleware), Array)
#21 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#22 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#23 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\handler\APIHandler.inc.php(68): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#24 [internal function]: APIHandler->{closure}(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#25 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#26 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#27 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#28 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\handler\APIHandler.inc.php(127): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#29 [internal function]: APIHandler->{closure}(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#30 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#31 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#32 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#33 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\handler\APIHandler.inc.php(132): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#34 [internal function]: APIHandler->{closure}(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#35 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#36 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#37 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#38 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#39 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(APIResponse))
#40 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\handler\APIHandler.inc.php(124): Slim\App->process(Object(Slim\Http\Request), Object(APIResponse))
#41 [internal function]: APIHandler->{closure}(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#42 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#43 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#44 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#45 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\handler\APIHandler.inc.php(132): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#46 [internal function]: APIHandler->{closure}(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#47 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\DeferredCallable.php(57): call_user_func_array(Object(Closure), Array)
#48 [internal function]: Slim\DeferredCallable->__invoke(Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#49 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(70): call_user_func(Object(Slim\DeferredCallable), Object(Slim\Http\Request), Object(APIResponse), Object(Closure))
#50 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\MiddlewareAwareTrait.php(117): Slim\App->Slim{closure}(Object(Slim\Http\Request), Object(APIResponse))
#51 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\App.php(392): Slim\App->callMiddlewareStack(Object(Slim\Http\Request), Object(APIResponse))
#52 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\lib\vendor\slim\slim\Slim\App.php(297): Slim\App->process(Object(Slim\Http\Request), Object(APIResponse))
#53 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\core\APIRouter.inc.php(115): Slim\App->run()
#54 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\core\Dispatcher.inc.php(143): APIRouter->route(Object(Request))
#55 E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\core\PKPApplication.inc.php(278): Dispatcher->dispatch(Object(Request))
#56 E:\web\revistascsic_pru_migracion\loquens3203\index.php(68): PKPApplication->execute()
#57 {main}
View in rendered output by enabling the “displayErrorDetails” setting.

After I see the error in the “php-log” file, I think the error is in the reference field. Effectively, if I create a new version of an article with the “references” field empty, the new version is created without problems. See image.

2

In addition, when I publish an article or schedule the publication of an article, I always get this warning message in the php-log file:

[16-May-2020 21:57:16 Europe/Berlin] PHP Warning: Illegal string offset ‘en_US’ in E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\services\PKPSchemaService.inc.php on line 578
[16-May-2020 21:57:16 Europe/Berlin] PHP Warning: Cannot assign an empty string to a string offset in E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\services\PKPSchemaService.inc.php on line 578
[16-May-2020 21:57:16 Europe/Berlin] PHP Warning: Illegal string offset ‘es_ES’ in E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\services\PKPSchemaService.inc.php on line 578
[16-May-2020 21:57:16 Europe/Berlin] PHP Warning: Cannot assign an empty string to a string offset in E:\web\revistascsic_pru_migracion\loquens3203\lib\pkp\classes\services\PKPSchemaService.inc.php on line 578

Thank you very much
Regards

Hi @juanf.csic,

Please try correcting this typo in the code: Fix typo · pkp/pkp-lib@6421402 · GitHub

Regards,
Alec Smecher
Public Knowledge Project Team

Hi Alec,

Great!! It’s already working properly.

Thank you very much.
Kind regards