Problem with the search tool in CrossRef XML Export Plugin and DOAJ Export Plugin

Hi,

I continue to test OJS 3.2.0-3 before upgrading my journals to this version. I am testing the CrossRef XML Export Plugin and DOAJ Export Plugin.

The search tool for these plugins does not work well for me.

I have marked several articles as “Marked registered”. Then I have done the search and it does not find results.

I have also filtered by issue and there are no results.

View image

There are no errors or warnings in the php-log

I have activated debug = On to see the queries

For example, when I mark an article as “Marked registered”. The following queries are made in the submission_settings table:

UPDATE submission_settings SET setting_value=‘markedRegistered’ WHERE submission_id=‘65’ and locale=’’ and setting_name=‘crossref::status’

UPDATE submission_settings SET setting_value=‘10.3989/loquens.2019.059’ WHERE submission_id=‘65’ and locale=’’ and setting_name=‘crossref::registeredDoi’

When I search for “Marked registered” articles. The query is:

SELECT s.* FROM submissions s LEFT JOIN publications p ON s.current_publication_id = p.publication_id LEFT JOIN publication_settings ps ON
p.publication_id = ps.publication_id LEFT JOIN publication_settings pspidt ON (p.publication_id = pspidt.publication_id) LEFT JOIN publication_settings pss
ON (p.publication_id = pss.publication_id AND pss.setting_name = ‘markedRegistered’) WHERE s.status = 3 AND s.context_id = 1 AND pspidt.setting_name = ‘pub-id::doi’
AND pspidt.setting_value IS NOT NULL AND pss.setting_value = ‘markedRegistered’ GROUP BY s.submission_id ORDER BY MAX(p.date_published) DESC, s.submission_id DESC LIMIT 0,35

If I execute this query directly on my database, it finds no results. In this query I do not see a reference to the “submission_settings” table.

The same happens in the DOAJ Export Plugin

Thank you very much.
Regards

Hi @juanf.csic,

Thanks for tracking that issue down, and posting it.

I have filled an issue [https://github.com/pkp/pkp-lib/issues/5907] for that. Please check for a fix.

Regards,
@Dimitris_Efstathiou

1 Like

Hi @Dimitris_Efstathiou

Thank you very much.

I have tested the proposed change at https://github.com/pkp/pkp-lib/issues/5907, it already filters correctly for the ‘status’.

But the filter by ‘Issue’ continues without working. In the previous email I also commented that it did not work either.

For example, if I search for “Marked registered” articles for a specific issue, it returns all “Marked registered” articles for all ‘Issues’.

I checked the file ‘PKPSubmissionDAO.inc.php’, I have made the following change and it is working:

Line 368:

Before:
. ($issueId ? ’ LEFT JOIN publication_settings psi ON p.publication_id = ps.publication_id AND ps.setting_name = ‘issueId’’ : ‘’)
After:
. ($issueId ? ’ LEFT JOIN publication_settings psi ON p.publication_id = psi.publication_id AND psi.setting_name = ‘issueId’’ : ‘’)

Regards

1 Like

@juanf.csic,

you are absolutely right on the fix you are proposing about the issueId. I have added that to the PR of https://github.com/pkp/pkp-lib/issues/5907.

Thank you!

Regards,
@Dimitris_Efstathiou