OJS 3.2.1 "PKP PN Plugin"

Hi everyone, hope you’re doing ok.

I’m having some issues with the “PKP PN Plugin” in my OJS 3.2.1, one of my journals is showing this in the status of the plugin:image

And the others are showing this: image

I followed the documentation about this plugin to configure it correctly… I want to know if I need to do something else to deposit my issues or if this is the correct behaviour of the plugin (wich I don’t think is the case).

Hope you guys can help.

Best regards,

Juan

Hi @Juan_Lopez,

How long ago did you setup the plugin? I’ve heard of this taking up to a few weeks before the LOCKSS network starts and the progress changes. It is also worthwhile to check your cron configuration:

https://docs.pkp.sfu.ca/pkp-pn/en/#the-plugin-status-continues-to-display-network-status-the-pkp-pln-does-not-know-about-this-journal-yet-and-no-issues-are-listed-under-deposits

Best regards,

Roger
PKP Team

Hi,

I’m checking my cron configuration and don’t see anything weird:

OJS PKP PLN (LOCKSS)

20 1 * * * /usr/bin/php /ojs/tools/runScheduledTasks.php /ojs/plugins/generic/pln/xml/scheduledTasks.xml

And this is my scheduledTasks.xml:

<scheduled_tasks>

Deposit content with the PLN

autoStage

</scheduled_tasks>

Hi @Juan_Lopez,

Thanks for sharing. I’ll see if some of our other staff can help troubleshoot this when they are available.

-Roger
PKP Team

@rcgillis Thank you! I’ll be waiting.

Hi @Juan_Lopez,

Apologies for the delay, I heard back from one of my colleagues who suggested referring to the Debugging section of the PKP PN README file: pln/README at main · pkp/pln · GitHub

-Roger
PKP Team

Hi @rcgillis

I’ve checked the Troubleshooting hints and found the following:

  1. The ‘pln_deposits’ and ‘pln_deposit_objects’ tables are in the database.
  2. The ‘plugins.generic.pln.classes.tasks.Depositor’ task is inside the
    ‘scheduled_tasks’ table.
  3. The last log for this task is from 2018 for a test that we did in that year, however, the last time the task was executed was today:
stdClass Object
(
    [class_name] => plugins.generic.pln.classes.tasks.Depositor
    [last_run] => 2021-12-10 01:19:47
)

The thing is that even when the task is being executed, the issue still persists.

Thanks again for the time you guys have spend on this.

Juan

Hi @Juan_Lopez,

I wonder if you’re encountering a PHP error… Can you check your PHP error log to see if anything appeared there around the date/time shown above for last_run?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

Here’s what my PHP error log shows for December 12 at 1:20 AM:

[12-Dec-2021 01:20:03 America/Bogota] PHP Notice: Undefined index: export_deposit_error in /ojs/ojsProd/plugins/generic/pln/classes/DepositDAO.inc.php on line 146
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:03 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:04 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:04 America/Bogota] PHP Warning: DOMElement::setAttribute() expects parameter 2 to be string, array given in /ojs/ojsProd/lib/pkp/plugins/importexport/native/filter/PKPPublicationNativeXmlFilter.inc.php on line 89
[12-Dec-2021 01:20:04 America/Bogota] PHP Fatal error: Uncaught Exception: DB Error: Unknown column ‘export_deposit_error’ in ‘field list’ Query:
UPDATE pln_deposits SET
journal_id = ?,
uuid = ?,
status = ?,
date_status = ‘2021-12-12 01:20:04’,
date_created = ‘2021-10-26 06:21:15’,
date_modified = NOW(),
export_deposit_error = ?
WHERE deposit_id = ? in /ojs/ojsProd/lib/pkp/classes/db/DAO.inc.php:703
Stack trace:
#0 /ojs/ojsProd/lib/pkp/classes/db/DAO.inc.php(231): DAO->handleError(Object(ADODB_mysqli), ‘\n\t\t\t\tUPDATE pln…’)
#1 /ojs/ojsProd/plugins/generic/pln/classes/DepositDAO.inc.php(103): DAO->update(’\n\t\t\t\tUPDATE pln…’, Array)
#2 /ojs/ojsProd/plugins/generic/pln/classes/DepositPackage.inc.php(570): DepositDAO->updateObject(Object(Deposit))
#3 /ojs/ojsProd/plugins/generic/pln/classes/tasks/Depositor.inc.php(232): DepositPackage->packageDeposit()
#4 /ojs/ojsProd/plugins/generic/pln/classes/tasks/Depositor.inc.php(134): Depositor->_processNeedPackaging(Object(Journal))
#5 /ojs/ojsProd/lib/pkp/classes/schedul in /ojs/ojsProd/lib/pkp/classes/db/DAO.inc.php on line 703

Hi @Juan_Lopez,

From the error:

PHP Fatal error: Uncaught Exception: DB Error: Unknown column ‘export_deposit_error’ in ‘field list’

…it looks like your database schema does not match what the plugin expects. This could happen if e.g. you used to use an older version of the plugin, and then installed a new version manually (without letting it update the database schema). How did you install this most recent version of the plugin?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

I followed this instructions from github (GitHub - pkp/pln):

Build Instructions

(These instructions are only necessary if you are working with the plugin
manually. If you are installing the plugin using the Plugin Gallery, they are
not necessary.)

  • Clone the repository containing the code.
  • Run OJS’s “php tools/upgrade.php upgrade”
  • Execute “composer install” from console, being in the cloned pln folder.
    (This process is going to produce a “vendor” folder containing the depending
    library.)
  • Enable Acron plugin and change config.inc.php variable scheduled_tasks = On
  • Enable the pln plugin

Thanks again,

Juan.

I forgot to mention:

  1. If I run the php tools/upgrade.php right now, I get:

Upgrade tool
Usage: tools/upgrade.php command
Supported commands:
check perform version check
latest display latest version info
upgrade execute upgrade script
download download latest version (does not unpack/install)

  1. My /ojs/plugins/generic/pln/ directory has a vendor folder, which means that the “composer install” worked at the time it was executed:

image

Hi @Juan_Lopez,

It looks like you ran php tools/upgrade.php, not php tools/upgrade.php upgrade. But before you do that, make sure to take a good backup.

Regards,
Alec Smecher
Public Knowledge Project Team

Thanks @asmecher

You’re right … I ran “php tools/upgrade.php” the last “upgrade” was missing, I’ll ask my IT team if they can help me with the backup.

I’ll tell you if that fixed the issue!

1 Like

Hi … It’s me again, sorry for the delay but I wanted to leave this alone for a while and see if the last recomendation worked, sadly, it didn’t work :confused:

Right now my scheduled_tasks is showing that the last time my “plugins.generic.pln.classes.tasks.Depositor” was executed was today at 1:20 AM:
image

However, my PHP error log is not showing any error at that time… and the last plugins.generic.pln.classes.tasks.Depositor Log is from a month ago:

image

Hi @Juan_Lopez,

Debugging this is going to be hampered by the lack of a proper Spanish translation in your install for the PKP|PN error messages. Unfortunately there’s no good translation available for version 3.2.x of the plugin – I can think of several possible work-arounds (unless you want to create a translation manually):

  • Install and enable the default translation plugin (this should be available in the Plugin Gallery), or
  • Copy plugins/generic/pln/locale/en_US/locale.po over top of plugins/generic/pln/locale/es_ES/locale.po in order to use English strings in place of Spanish, or
  • Download the latest locale file and place it in plugins/generic/pln/locale/es_ES/locale.po (this may not 100% match with what the plugin expects).

With one of these, the logs should be populated with more helpful information.

Regards,
Alec Smecher
Public Knowledge Project Team

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