mEDRA DOI registration plugin issue
OJS version 3.3.0.8
Plugin version 2021-06-07 (link github)
The issue is almost the same for two different OJS installations (two different publishers are involved).
3.1 installed. Upgraded to 3.3.0.6 via 3.2.x. and 3.3.0.5. The plugin was still working in 3.2.x version, then no longer working after 3.3.0.5 update nor 3.3.0.8.
Error description:
The journal is set to assign DOIs to journal issues and articles, not to galleys.
In this case, the plugin works correctly when it comes to exporting the XML file for issues, that is I get what I was used to getting once I click on the “Export” button.
The same action carried on in the “Articles” tab, gives a blank page instead and no XML file is produced.
Here it is a description of the error:
[Sun Sep 19 12:46:38.052794 2021] [php7:error] [pid 117696] [client 93.44.186.119:10387]
PHP Fatal error: Uncaught Error: Call to a member function saveXml() on null in /home/whatever/web/classes/plugins/PubObjectsExportPlugin.inc.php:392
\nStack trace:
\n#0 /home/whatever/web/classes/plugins/PubObjectsExportPlugin.inc.php(196): PubObjectsExportPlugin->exportXML()
\n#1 /home/whatever/web/classes/plugins/PubObjectsExportPlugin.inc.php(171): PubObjectsExportPlugin->executeExportAction()
\n#2 /home/whatever/web/classes/plugins/DOIPubIdExportPlugin.inc.php(29): PubObjectsExportPlugin->display()
\n#3 /home/whatever/web/lib/pkp/pages/management/PKPToolsHandler.inc.php(94): DOIPubIdExportPlugin->display()
\n#4 /home/whatever/web/lib/pkp/classes/core/PKPRouter.inc.php(395): PKPToolsHandler->importexport()
\n#5 /home/whatever/web/lib/pkp/classes/core/PKPPageRouter.inc.php(246): PKPRouter->_authorizeInitializeAndCallRequest()
\n#6 /home/whatever/web/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPPageRouter->route()
\n#7 /home/whatever/web/lib/pkp/classes/core/PKPApplication.inc.php(362): Dispatcher->dispatch()
\n#8 /home/whatever/web/index. in /home/whatever/web/classes/plugins/PubObjectsExportPlugin.inc.php on line 392,
referer: https://whatever.cirque.unipi.it/index.php/journal/management/importexport/plugin/MedraExportPlugin
It somewhat reminds me of Fatal php error while upgrading from OJS 3.1 to the latest version, but the first lines of this error look like Call to a member function saveXml() - #12 by redukr
Shell
root@ojs:/home/whatever/web# php7.4 tools/importExport.php
Command-line tool for import/export tasks
Usage:
tools/importExport.php list: List available plugins
tools/importExport.php [pluginName] usage: Display usage information for a plugin
tools/importExport.php [pluginName] [params…]: Invoke a plugin
root@ojs:/home/whatever/web# php7.4 tools/importExport.php list
Available plugins:
UserImportExportPlugin
DOAJExportPlugin
QuickSubmitPlugin
DataciteExportPlugin
PubMedExportPlugin
CrossRefExportPlugin
NativeImportExportPlugin
MedraExportPlugin
SwordImportExportPlugin
root@ojs:/home/whatever/web# php7.4 tools/importExport.php MedraExportPlugin usage
Uso:
tools/importExport.php MedraExportPlugin export [xmlFileName] [journal_path] {issues|articles|galleys} objectId1 [objectId2] …
tools/importExport.php MedraExportPlugin register [journal_path] {issues|articles|galleys} objectId1 [objectId2] …
WHAT WE DID
First we tried by upgrading OJS from 3.3.0-5 to 3.3.0-8
Then we tried exporting with all plugin setting combinations (also playing with the DOI plugin itself). The mEDRA plugin was not working at all.
Eventually, we removed the mEDRA plugin via the interface, cancelled all settings in plugin_setings database. Reinstalled, upgraded, and reconfigured mEDRA plugin from the plugin gallery. This resulted in the plugin working with exporting (or registering) the issue, but it still fails with articles.
Another journal (same OJS and plugin version; recently updated to 3.3.0-8) has the same issue. It is, though, a completely different installation of OJS.
Any clue on what we should do?