[OJS3.3.0-14] PKP PN deposit problem

OJS-3.3.0-14
PHP-8.1

We have enabled PKP PN for two of our magazines but it is showing long pending. We have checked the error logs and found some fatal errors. Please help to solve this problem.

Error Log

[24-Nov-2023 17:14:22 Asia/Kolkata] PHP Warning:  Undefined array key "export_deposit_error" in ojs/plugins/generic/pln/classes/DepositDAO.inc.php on line 145
[24-Nov-2023 17:14:22 Asia/Kolkata] PHP Fatal error:  Uncaught TypeError: DOMElement::setAttribute(): Argument #2 ($value) must be of type string, array given in ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php:91
Stack trace:
#0 ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php(91): DOMElement->setAttribute()
#1 ojs/plugins/importexport/native/filter/PublicationNativeXmlFilter.inc.php(52): PKPPublicationNativeXmlFilter->createEntityNode()
#2 ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php(54): PublicationNativeXmlFilter->createEntityNode()
#3 ojs/lib/pkp/classes/filter/Filter.inc.php(449): PKPPublicationNativeXmlFilter->process()
#4 ojs/lib/pkp/plugins/importexport/native/filter/SubmissionNativeXmlFilter.inc.php(184): Filter->execute()
#5 ojs/lib/pkp/plugins/importexport/native/filter/SubmissionNativeXmlFilter.inc.php(105): SubmissionNativeXmlFilter->addPublications()
#6 ojs/plugins/importexport/native/filter/ArticleNativeXmlFilter.inc.php(49): SubmissionNativeXmlFilter->createSubmissionNode()
#7 ojs/lib/pkp/plugins/importexport/native/filter/SubmissionNativeXmlFilter.inc.php(67): ArticleNativeXmlFilter->createSubmissionNode()
#8 ojs/lib/pkp/classes/filter/Filter.inc.php(449): SubmissionNativeXmlFilter->process()
#9 ojs/plugins/importexport/native/filter/IssueNativeXmlFilter.inc.php(205): Filter->execute()
#10 ojs/plugins/importexport/native/filter/IssueNativeXmlFilter.inc.php(110): IssueNativeXmlFilter->addArticles()
#11 ojs/plugins/importexport/native/filter/IssueNativeXmlFilter.inc.php(59): IssueNativeXmlFilter->createIssueNode()
#12 ojs/lib/pkp/classes/filter/Filter.inc.php(449): IssueNativeXmlFilter->process()
#13 ojs/plugins/importexport/native/NativeImportExportPlugin.inc.php(289): Filter->execute()
#14 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(314): NativeImportExportPlugin->exportIssues()
#15 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(540): DepositPackage->generatePackage()
#16 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(225): DepositPackage->packageDeposit()
#17 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(127): Depositor->_processNeedPackaging()
#18 ojs/lib/pkp/classes/scheduledTask/ScheduledTask.inc.php(146): Depositor->executeActions()
#19 ojs/lib/pkp/plugins/generic/acron/PKPAcronPlugin.inc.php(258): ScheduledTask->execute()
#20 [internal function]: PKPAcronPlugin->shutdownFunction()
#21 {main}

Next PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'export_deposit_error' in 'field list' in ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:80
Stack trace:
#0 ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(80): PDO->prepare()
#1 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(485): Doctrine\DBAL\Driver\PDOConnection->prepare()
#2 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#3 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback()
#4 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(496): Illuminate\Database\Connection->run()
#5 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Capsule/Manager.php(200): Illuminate\Database\Connection->affectingStatement()
#6 ojs/lib/pkp/classes/db/DAO.inc.php(140): Illuminate\Database\Capsule\Manager::__callStatic()
#7 ojs/plugins/generic/pln/classes/DepositDAO.inc.php(102): DAO->update()
#8 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(681): DepositDAO->updateObject()
#9 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(702): DepositPackage->importExportErrorHandler()
#10 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(540): DepositUnregisterableErrorCallback->__destruct()
#11 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(225): DepositPackage->packageDeposit()
#12 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(127): Depositor->_processNeedPackaging()
#13 ojs/lib/pkp/classes/scheduledTask/ScheduledTask.inc.php(146): Depositor->executeActions()
#14 ojs/lib/pkp/plugins/generic/acron/PKPAcronPlugin.inc.php(258): ScheduledTask->execute()
#15 [internal function]: PKPAcronPlugin->shutdownFunction()
#16 {main}

Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'export_deposit_error' in 'field list' in ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18
Stack trace:
#0 ojs/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(85): Doctrine\DBAL\Driver\PDO\Exception::new()
#1 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(485): Doctrine\DBAL\Driver\PDOConnection->prepare()
#2 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#3 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback()
#4 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(496): Illuminate\Database\Connection->run()
#5 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Capsule/Manager.php(200): Illuminate\Database\Connection->affectingStatement()
#6 ojs/lib/pkp/classes/db/DAO.inc.php(140): Illuminate\Database\Capsule\Manager::__callStatic()
#7 ojs/plugins/generic/pln/classes/DepositDAO.inc.php(102): DAO->update()
#8 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(681): DepositDAO->updateObject()
#9 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(702): DepositPackage->importExportErrorHandler()
#10 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(80): DepositUnregisterableErrorCallback->__destruct()
#11 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(225): DepositPackage->packageDeposit()
#12 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(127): Depositor->_processNeedPackaging()
#13 ojs/lib/pkp/classes/scheduledTask/ScheduledTask.inc.php(146): Depositor->executeActions()
#14 ojs/lib/pkp/plugins/generic/acron/PKPAcronPlugin.inc.php(258): ScheduledTask->execute()
#15 [internal function]: PKPAcronPlugin->shutdownFunction()
#16 {main}

Next Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'export_deposit_error' in 'field list' (SQL: 
				UPDATE pln_deposits SET
					journal_id = 1,
					uuid = D3466229-8A92-4945-Key-Key,
					status = 512,
					date_status = NULL,
					date_created = '2023-11-17 17:14:09',
					date_modified = NOW(),
					export_deposit_error = Deposit Import/export error
				WHERE deposit_id = 12) in ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671
Stack trace:
#0 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback()
#1 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(496): Illuminate\Database\Connection->run()
#2 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Capsule/Manager.php(200): Illuminate\Database\Connection->affectingStatement()
#3 ojs/lib/pkp/classes/db/DAO.inc.php(140): Illuminate\Database\Capsule\Manager::__callStatic()
#4 ojs/plugins/generic/pln/classes/DepositDAO.inc.php(102): DAO->update()
#5 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(681): DepositDAO->updateObject()
#6 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(702): DepositPackage->importExportErrorHandler()
#7 ojs/plugins/generic/pln/classes/DepositPackage.inc.php(664): DepositUnregisterableErrorCallback->__destruct()
#8 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(225): DepositPackage->packageDeposit()
#9 ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(127): Depositor->_processNeedPackaging()
#10 ojs/lib/pkp/classes/scheduledTask/ScheduledTask.inc.php(146): Depositor->executeActions()
#11 ojs/lib/pkp/plugins/generic/acron/PKPAcronPlugin.inc.php(258): ScheduledTask->execute()
#12 [internal function]: PKPAcronPlugin->shutdownFunction()
#13 {main}
  thrown in ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671

Now the error is:-

PHP Fatal error:  Uncaught TypeError: DOMElement::setAttribute(): Argument #2 ($value) must be of type string, array given in /ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php:91
Stack trace:
#0 /ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php(91): DOMElement->setAttribute()
#1 /ojs/plugins/importexport/native/filter/PublicationNativeXmlFilter.inc.php(52): PKPPublicationNativeXmlFilter->createEntityNode()
#2 /ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php(54): PublicationNativeXmlFilter->createEntityNode()
#3 /ojs/lib/pkp/classes/filter/Filter.inc.php(449): PKPPublicationNativeXmlFilter->process()
#4 /ojs/lib/pkp/plugins/importexport/native/filter/SubmissionNativeXmlFilter.inc.php(184): Filter->execute()
#5 /ojs/lib/pkp/plugins/importexport/native/filter/SubmissionNativeXmlFilter.inc.php(105): SubmissionNativeXmlFilter->addPublications()
#6 /ojs/plugins/importexport/native/filter/ArticleNativeXmlFilter.inc.php(49): SubmissionNativeXmlFilter->createSubmissionNode()
#7 /ojs/lib/pkp/plugins/importexport/native/filter/SubmissionNativeXmlFilter.inc.php(67): ArticleNativeXmlFilter->createSubmissionNode()
#8 /ojs/lib/pkp/classes/filter/Filter.inc.php(449): SubmissionNativeXmlFilter->process()
#9 /ojs/plugins/importexport/native/filter/IssueNativeXmlFilter.inc.php(205): Filter->execute()
#10 /ojs/plugins/importexport/native/filter/IssueNativeXmlFilter.inc.php(110): IssueNativeXmlFilter->addArticles()
#11 /ojs/plugins/importexport/native/filter/IssueNativeXmlFilter.inc.php(59): IssueNativeXmlFilter->createIssueNode()
#12 /ojs/lib/pkp/classes/filter/Filter.inc.php(449): IssueNativeXmlFilter->process()
#13 /ojs/plugins/importexport/native/NativeImportExportPlugin.inc.php(289): Filter->execute()
#14 /ojs/plugins/generic/pln/classes/DepositPackage.inc.php(314): NativeImportExportPlugin->exportIssues()
#15 /ojs/plugins/generic/pln/classes/DepositPackage.inc.php(540): DepositPackage->generatePackage()
#16 /ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(225): DepositPackage->packageDeposit()
#17 /ojs/plugins/generic/pln/classes/tasks/Depositor.inc.php(127): Depositor->_processNeedPackaging()
#18 /ojs/lib/pkp/classes/scheduledTask/ScheduledTask.inc.php(146): Depositor->executeActions()
#19 /ojs/lib/pkp/plugins/generic/acron/PKPAcronPlugin.inc.php(258): ScheduledTask->execute()
#20 [internal function]: PKPAcronPlugin->shutdownFunction()
#21 {main}
  thrown in /ojs/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 91

Hi @shantanusingh!

I think I’ve fixed both problems.

So, the problem should be fixed when you upgrade your OJS 3.3.x to the latest release (3.3.0-16).

Best,
Jonas Raoni

Hi @jonasraoni Thanks for reply.

I’ll try to upgrade from OJS-3.3.0-14 to OJS-3.4.0-4 in 1-2 weeks. I hope the solution suggested above will work for OJS-3.4.0-4.

1 Like

I hope that until there the PN plugin for 3.4 will be released (Feature/main/57 support latest release by jonasraoni · Pull Request #84 · pkp/pln · GitHub) :grin:

Best,
Jonas Raoni

1 Like

We are scheduled to upgrade (OJS-3.4.0-4) this weekend. I hope this plugin will be available by next week. :grin:

Hi,

I’ve released the plugin for OJS 3.3 Release PKP|PN 2.0.4-3 - OJS 3.3 · pkp/pln · GitHub, it will be available on the plugin gallery soon (Include latest PN release by jonasraoni · Pull Request #249 · pkp/plugin-gallery · GitHub).

The one for OJS 3.4 still needs to receive a review from a team member.

Best,
Jonas Raoni

1 Like

This topic was automatically closed after 8 days. New replies are no longer allowed.