Hi there,
Can someone tell me whether PubMed XML export is functioning in OJS 3.x.
My attempts to export the article to PubMed XML result in error 500 and upon clicking refresh in browser, generation of XML file with only this code:
> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ArticleSet PUBLIC "-//NLM//DTD PubMed 2.0//EN" "http://www.ncbi.nlm.nih.gov:80/entrez/query/static/PubMed.dtd">
<ArticleSet/>
PubMed XML plugin is one of the most important features of OJS. Please implement it soon if it is not implemented, or teach me how to fix it in my installation.
I have troubles with PubMed XML Export. I can’t get it to work. I use PHP 7.1.
I get HTTP ERROR 500.
My error log is too technical for me and I would much appreciate your help. It looks like this:
[25-Nov-2018 07:49:31 CST6CDT] PHP Fatal error: Uncaught Error: Call to a member function execute() on null in …/OJS/plugins/importexport/pubmed/PubMedExportPlugin.inc.php:133
Stack trace: #0 …/OJS/plugins/importexport/pubmed/PubMedExportPlugin.inc.php(85): PubMedExportPlugin->exportSubmissions(Array, Object(Journal), Object(User)) #1 …/OJS/lib/pkp/pages/management/PKPToolsHandler.inc.php(98): PubMedExportPlugin->display(Array, Object(Request)) #2 …/OJS/lib/pkp/classes/core/PKPRouter.inc.php(390): PKPToolsHandler->importexport(Array, Object(Request)) #3 …/OJS/lib/pkp/classes/core/PKPPageRouter.inc.php(232): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false) #4 …/OJS/lib/pkp/classes/core/Dispatcher.inc.php(134): PKPPageRouter->route(Object(Request)) #5 …/OJS/lib/pkp/classes/core/PKPApplication.inc.php(247): Dispatcher->dispatch(Object(Request)) #6 /home in …/OJS/plugins/importexport/pubmed/PubMedExportPlugin.inc.php on line 133
[25-Nov-2018 07:49:48 CST6CDT] PHP Deprecated: Non-static method Config::getContextBaseUrls() should not be called statically in …/OJS/lib/pkp/plugins/generic/usageEvent/PKPUsageEventPlugin.inc.php on line 199
[25-Nov-2018 07:49:58 CST6CDT] PHP Deprecated: Non-static method Config::getContextBaseUrls() should not be called statically in …/OJS/lib/pkp/plugins/generic/usageEvent/PKPUsageEventPlugin.inc.php on line 199
[25-Nov-2018 07:50:24 CST6CDT] PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Smarty_Compiler has a deprecated constructor in …/OJS/lib/pkp/lib/vendor/smarty/smarty/libs/Smarty_Compiler.class.php on line 35
[25-Nov-2018 07:50:28 CST6CDT] PHP Deprecated: Non-static method PKPRequest::redirect() should not be called statically in …/OJS/lib/pkp/pages/admin/AdminFunctionsHandler.inc.php on line 125
[25-Nov-2018 07:50:28 CST6CDT] PHP Deprecated: Non-static method PKPRequest::_checkThis() should not be called statically in …/OJS/lib/pkp/classes/core/PKPRequest.inc.php on line 735
[25-Nov-2018 07:50:34 CST6CDT] PHP Deprecated: Non-static method PKPRequest::redirect() should not be called statically in …/OJS/lib/pkp/classes/security/Validation.inc.php on line 178
[25-Nov-2018 07:50:34 CST6CDT] PHP Deprecated: Non-static method PKPRequest::_checkThis() should not be called statically in …/OJS/lib/pkp/classes/core/PKPRequest.inc.php on line 735
[25-Nov-2018 07:50:36 CST6CDT] PHP Deprecated: Non-static method Validation::verifyPassword() should not be called statically in …/OJS/lib/pkp/classes/security/Validation.inc.php on line 58
[25-Nov-2018 07:51:42 CST6CDT] PHP Fatal error: Uncaught Error: Call to a member function execute() on null in …/OJS/plugins/importexport/pubmed/PubMedExportPlugin.inc.php:133
Stack trace: #0 …/OJS/plugins/importexport/pubmed/PubMedExportPlugin.inc.php(85): PubMedExportPlugin->exportSubmissions(Array, Object(Journal), Object(User)) #1 …/OJS/lib/pkp/pages/management/PKPToolsHandler.inc.php(98): PubMedExportPlugin->display(Array, Object(Request)) #2 …OJS/lib/pkp/classes/core/PKPRouter.inc.php(390): PKPToolsHandler->importexport(Array, Object(Request)) #3 …/OJS/lib/pkp/classes/core/PKPPageRouter.inc.php(232): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false) #4 …OJS/lib/pkp/classes/core/Dispatcher.inc.php(134): PKPPageRouter->route(Object(Request)) #5 …OJS/lib/pkp/classes/core/PKPApplication.inc.php(247): Dispatcher->dispatch(Object(Request)) #6 …OJS/plugins/importexport/pubmed/PubMedExportPlugin.inc.php on line 133
Thank you for your time.
Well. It is complicated. A long time ago, among the first users, I upgraded from 2.5.x to 3.0.x using the Softaculous script. I suspect that Softaculous copied the files, but never cleaned leftovers from 2.5.x.
Last time I tried to upgrade from 3.0.2 to 3.1.1.4. Upgrade never went to the end. I guess the files were successfully copied, then within the OJS installer I clicked to start the upgrade process, and it ended with server HTML error 500. But still, I could use the software and interface looks like 3.1.1.4, although the system information shows that the actual version is 3.0.2.
I am stuck with this mess for a long time, I don’t know how to make a clean install but not lose or destroy my data (database and submission files). I would pay someone to have it fix for me so I can continue to work without hassle.
So… I think my files are from 3.1.1.4 version, while I am not sure if the database needed some upgrade, and if it is upgraded from 3.0.2.
There never was an OJS 2.5.x – maybe it was 2.4.5?
It’s hard to know what to recommend in this case – is there any chance you have the error message from your PHP error log from the time you ran the upgrade script and got a 500 error?
Regards,
Alec Smecher
Public Knowledge Project Team
You are right, it was 2.4.5.x.
I can run the upgrade script again. Just have to switch installed = off and run upgrade, then check the logs. Would that be useful?
Is there any chance someone fix my OJS for good?
Thanks,
Dijana
The problem is that a failed upgrade will leave your system’s database (and possibly its files directory) halfway between the two versions, and that can be very difficult to fix – especially if you don’t know exactly where it stopped. We always recommend making a backup before running an upgrade, and restoring from backup to try again if you encounter a problem.
There are a lot of unknowns on your system, so I can only guess at the problem, but I would suggest running this database query:
SELECT * FROM filter_groups WHERE symbolic='article=>pubmed-xml';
I have a backup of 3.0.2 database version, but I am not sure whether that database was successfully upgraded from 2.4.5.x.
If I purge my database and submitted articles of declined articles, then do a native article export, then import articles back to a fresh OJS installation, would my articles keep their submission numbers, URLs, DOIs?
OJS 3.x contains a set of “filters” that it uses to perform conversions between different document types. It looks to me like the configuration for these filters was never installed, which could be the outcome if the upgrade from 2.x to 3.x wasn’t completed successfully.
The “proper” solution is to make sure you restore from backup and try again if an upgrade fails, but I don’t think that solution is available to you any more. What I might suggest is making a fresh installation of the same version of OJS 3.x, then exporting the filters and filter_settings tables and importing them into the 3.x installation that you’re trying to fix.
Regards,
Alec Smecher
Public Knowledge Project Team
In general it’s very hard to describe how to fix a broken database – I’d suggest reviewing dbscripts/xml/upgrade.xml, which is the script that coordinates all upgrades, for a sense of all the steps involved. It sounds like you have possibly 2 failed upgrades, so the situation is quite muddy. It may be possible to work backwards from the last step in the script and identify the first step that hasn’t been completed, but this will require in-depth knowledge of both your own installation’s lifespan and then upgrade scripts.
On the plus side, if your installation is generally working and it’s just the occasional feature that’s broken, you may be able to continue operating and fix issues as they arise.
Regards,
Alec Smecher
Public Knowledge Project Team