OJS 2.4.8, can't import article covers

We are importing/exporting a journal from one installation to another using the native plugin and have trouble with the article covers. They are all converted to the filename cover_article__en_US.jpg, i.e. the article number is missing. This means the cover of the last imported article is shown for all articles. In the exported XML files these have unique filenames.


Hi @simonmitternacht,

I’ve filed this at Article covers named server-side without article ID · Issue #2827 · pkp/pkp-lib · GitHub – a solution there is proposed that should just involve a little bit of rearrangement of existing code, but I likely won’t have time to submit a PR and test this for a while.

Alec Smecher
Public Knowledge Project Team

Thanks @asmecher ! I will see if I can figure it out.

We had one more problem with the import, with supplemental files that had show_reviewers=“false”

<supplemental_file type="other" language="en" show_reviewers="false">

For some imports they are invisible in the frontend, in others they crash the server without any error message in the log, the browser displays a DB error. If we change it to “true” the error disappears. Haven’t managed to identify the difference between those that crash and those that don’t.


Hi @simonmitternacht,

Can you post the DB error, and also make sure the stack trace option is turned on in your config.inc.php?

Alec Smecher
Public Knowledge Project Team

I turned on stack-traces and got the following in the browser

DB Error: ERROR: invalid input syntax for integer: ""

Stack Trace:
File: [...]/classes/article/SuppFileDAO.inc.php line 288
Function: DAO->update("INSERT INTO article_supplementary_files (remote_url, file_id...", Array(7))

File: [...]/plugins/importexport/native/NativeImportDom.inc.php line 1365
Function: SuppFileDAO->insertSuppFile(Object(SuppFile))

File: [...]/plugins/importexport/native/NativeImportDom.inc.php line 927
Function: NativeImportDom->handleSuppFileNode(Object(Journal), Object(XMLNode), Object(Issue), Object(Section), Object(Article), Array(0), False, Object(ArticleFileManager))

File: [...]/plugins/importexport/native/NativeImportDom.inc.php line 632
Function: NativeImportDom->handleArticleNode(Object(Journal), Object(XMLNode), Object(Issue), Object(Section), Object(Article), Object(PublishedArticle), Array(0), Object(User), False, Array(8))

File: [...]/plugins/importexport/native/NativeImportDom.inc.php line 287
Function: NativeImportDom->handleSectionNode(Object(Journal), Object(XMLNode), Object(Issue), Array(0), Object(User), False, Array(8), 1)

File: [...]/plugins/importexport/native/NativeImportExportPlugin.inc.php line 312
Function: NativeImportDom->importIssue(Object(Journal), Object(XMLNode), Object(Issue), Array(0), Object(User), False, Array(8))

File: [...]/plugins/importexport/native/NativeImportExportPlugin.inc.php line 179
Function: NativeImportExportPlugin->handleImport(Array(2), Object(XMLNode), Array(0), Array(0), Array(0), False)

File: [...]/boap-ojs-test/pages/manager/ImportExportHandler.inc.php line 43
Function: NativeImportExportPlugin->display(Array(0), Object(Request))

File: (unknown) line (unknown)
Function: ImportExportHandler->importexport(Array(3), Object(Request))

File: [...]/lib/pkp/classes/core/PKPRouter.inc.php line 362
Function: call_user_func(Array(2), Array(3), Object(Request))

File: [...]/lib/pkp/classes/core/PKPPageRouter.inc.php line 220
Function: PKPRouter->_authorizeInitializeAndCallRequest(Array(2), Object(Request), Array(3), False)

File: [...]/lib/pkp/classes/core/Dispatcher.inc.php line 134
Function: PKPPageRouter->route(Object(Request))

File: [...]/lib/pkp/classes/core/PKPApplication.inc.php line 178
Function: Dispatcher->dispatch(Object(Request))

File: [...]/index.php line 64
Function: PKPApplication->execute()