Hi @bibliothekswelt
Hmmm… When the published articles are unpublished there will be an entry in the DB table data_object_tombstone… in order to provide the persistent OAI deletion policy – if a published article was already indexed/harvested by an OAI service provider, OJS lets the OAI service provider know that that article was unpublished and thus the OAI record as harvested/indexed earlier does not exist any more.
Thus, if you have had published articles that were then unpublished or removed, there will be some entries in your DB tables data_object_tombstone… that will be used by the OJS OAI interface. But I wonder why the new articles are not listed there, vie the OAI interface
It is not necessary to do anything in order for published articles to be provided via the OAI interface – they just have to be correctly in the DB, but because they are normally visible in the UI, via the archive page, everything seems to be OK. Hmmm…
Maybe something goes wrong with the SQL from this function: https://github.com/pkp/ojs/blob/ojs-stable-3_1_1/classes/oai/ojs/OAIDAO.inc.php#L211
Could you maybe see if you get any results with this SQL:
SELECT GREATEST(a.last_modified, i.last_modified) AS last_modified,
a.submission_id AS submission_id,
j.journal_id AS journal_id,
s.section_id AS section_id,
i.issue_id,
NULL AS tombstone_id,
NULL AS set_spec,
NULL AS oai_identifier
FROM
published_submissions pa
JOIN submissions a ON (a.submission_id = pa.submission_id)
JOIN issues i ON (i.issue_id = pa.issue_id)
JOIN sections s ON (s.section_id = a.section_id)
JOIN journals j ON (j.journal_id = a.context_id)
JOIN journal_settings jsl ON (jsl.journal_id = j.journal_id AND jsl.setting_name='publishingMode')
WHERE i.published = 1 AND j.enabled = 1 AND jsl.setting_value <> 2 AND a.status <> 4 AND j.journal_id = X
Where X at the end is your journal ID.
Maybe something with that UNION statement goes wrong… ? Hmmm…
Best,
Bozana