Issues with PKP PN Plugin in OJS 3.4.0-5 – No deposits or logs generated

I’m currently managing a server with OJS 3.4.0-5 and I’m trying to use the PKP PN plugin (version 3.0.0-1), which, according to the official GitHub repository, should be compatible with OJS 3.4. However, the plugin is not generating any deposits or logs, even though the scheduled task is being triggered (Acron updates the last_run timestamp).

Expected behavior:
The PKP PN plugin should detect new issues and generate deposits, and the process should be logged in the scheduledTaskLogs folder.

Observed behavior:

  • No deposits are created.
  • No new logs are written to /dir/dir/scheduledTaskLogs/.
  • The internal plugin log (php.log inside the plugin folder) hasn’t been updated since November 2024, even though the scheduled task is triggered multiple times.
  • No visible errors are shown when running the task manually via CLI.

Steps I took leading up to the issue

  1. Installed PKP PN plugin 3.0.0-1 in plugins/generic/pln.
  2. Verified the presence of scheduledTasks.xml (it was originally inside plugins/generic/pln/xml/ and we moved it to plugins/generic/pln/ to match OJS expectations).
  3. Confirmed that Acron is enabled and functional.
  4. Confirmed that the PKP PN task is present in the scheduled_tasks table and that last_run is updated each time the site is accessed.
  5. Manually ran:

php tools/runScheduledTasks.php plugins/generic/pln/scheduledTasks.xml

No errors were shown, but no new deposits or logs were created.
6. Checked Apache error logs — the only relevant error relates to the ORCID Profile plugin configuration, not PKP PN.
7. Confirmed that Xdebug is not enabled, so debugging interference is not present.
8. Reviewed the contents of /dir/dir/scheduledTaskLogs/ — no new logs were created since January 2025, despite multiple executions.
9. The internal plugin log php.log inside the PKP PN plugin folder hasn’t been updated since November 2024.



Additional information
We have verified the following:

  • Acron is correctly triggering scheduled tasks.
  • Other scheduled tasks (such as usage stats) do seem to work.
  • The PKP PN plugin does not generate any errors, but also does not log anything, nor does it create deposits.
  • No deposit activity is visible in the plugin’s UI within OJS.

We suspect this could be related to how the plugin registers its class (Depositor) in OJS 3.4, or a silent failure that prevents execution without error feedback.


Please let us know if anyone in the community has successfully set up PKP PN in OJS 3.4 and, if so, what additional configuration or fixes were necessary.

Thank you for your help!

Hi!

There are other OJS 3.4 journals using the plugin and we haven’t received such report yet, we’re also receiving deposits from 3.4 journals, so perhaps there’s something else happening there.

On the settings of the Acron plugin, there’s a link Reload Scheduled Tasks, in theory it shouldn’t be needed, but you can give it a try.

If it doesn’t work, then we’ll need an error to work with, if you can’t find anything (silent failures can happen), I can give you instructions about how to proceed.

Best,
Jonas Raoni

Hello, I have tried to reload ACRON’s program tasks but it still doesn’t work.


even though the scheduled task is being triggered (Acron updates the last_run timestamp).

I’ve just re-read the post, and I see the task is running, so the previous step wasn’t needed.


Resuming…

  • The scheduledTasks.xml must be left on the xml folder. The only purpose of it is to register the “task” on the scheduled_tasks table, the path is defined inside a plugin file, so it shouldn’t be changed. After moving back the file to the XML folder, re-run the “Reload Scheduled Tasks”, just to ensure the task is registered properly.

  • I’m assuming the plugin was installed from the plugin gallery. If it wasn’t, it’s needed to run composer install on the plugin folder.

  • Does your PHP installation has the zip extension enabled?

  • Is your server error log really “clear” after you run php tools/runScheduledTasks.php plugins/generic/pln/xml/scheduledTasks.xml? Notice that you should set the last_run to a date in the past (e.g. update scheduled_tasks set last_run = '2000-01-01' WHERE class_name LIKE '%Depositor%').

    Also… If you’re running on a production environment, any user opening any page will trigger the task through the Acron plugin, so in order to debug, it’s better to disable the Acron plugin temporarily and run the task through the command-line.

    And while we’re here, you can also include this line ini_set('display_errors', '1') on the top of the tools/runScheduledTasks.php, one line after the <?php. Alternatively you could change this in the config.inc.php, at the [debug].display_errors, the difference is that this update will affect just this command, while the config one will probably break the frontend of your journal while it’s enabled.

Best,
Jonas Raoni

Hello,
Following the mentioned steps, this is what I did:

Plugin Reinstallation:

  • I uninstalled the plugin and reinstalled it from the plugin gallery.
  • I accepted the terms and saved them.
  • I reloaded the scheduled tasks from Acron.

Installation Verification:

  • I confirmed that my PHP installation has the zip extension enabled.
  • I had also previously tested installing the plugin from the GitHub release.

Updating the scheduled_tasks Table:

  • I executed the following SQL query to modify the last_run date:
UPDATE scheduled_tasks  
SET last_run = '2000-01-01 00:00:00'  
WHERE class_name = 'APP\\plugins\\generic\\pln\\classes\\tasks\\Depositor';
  • This allows forcing the task execution again.

Temporary Disabling of Acron:

  • Since any user could trigger the tasks, I temporarily disabled it for manual testing.

Manually Running the Task and Checking Logs:

  • I manually executed the task with the following command:
php tools/runScheduledTasks.php plugins/generic/pln/xml/scheduledTasks.xml
  • The execution produced PHP Deprecated warnings related to Smarty:
PHP Deprecated: Creation of dynamic property Smarty_Internal_Extension_Handler::$registerResource is deprecated in /dir/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_extension_handler.php on line 182
PHP Deprecated: Creation of dynamic property Smarty_Internal_Extension_Handler::$registerPlugin is deprecated in /idr/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_extension_handler.php on line 182
  • However, these warnings should not affect the plugin’s execution, as they only indicate deprecated functions in recent PHP versions.

Verifying Task Execution in the Database:

  • After running the task, I checked if the last_run was updated using the following query:
SELECT * FROM scheduled_tasks WHERE class_name = 'APP\\plugins\\generic\\pln\\classes\\tasks\\Depositor';
  • The result showed an updated last_run (2025-03-08 15:51:32), meaning that OJS recognizes the task execution, but the plugin is still not working correctly.