[OJS 3.3.0-4]: OAI earliestDatestamp problem

Dear all,

I’ve migrated OJS from 2.4.8.5 to 3.3.0-4 this week.

I found problems when indexing articles with OAI. When I access /oai?Verb=ListRecords&metadataPrefix=oai_dc, all articles appear with the same current timestamp. I saw that others have already reported this problem in previous versions, and I verified that all the solutions already proposed were implemented in this version, including filling in the “last_modified” column on the tables “issues” and “submissions”.

The driver plugin is disabled. My code and database version is 3.3.0-4.

print

Can someone help me?

Thank you!

Hi @Eder_Sotto,

Are all dates for the following columns “valid” (not just set, but something other than the UNIX epoch date)?

  • submissions.last_modified
  • issues.last_modified
  • data_object_tombstones.date_deleted

Regards,
Alec Smecher
Public Knowledge Project Team

Hello @asmecher, thank you for your reply.

I checked all the records in the three tables, and got the following result.

submissions.last_modified: all with the last_modified column
filled and all UNIX timestamp dates valid. 1249 records. The oldest last_modified 2011-09-27 17:24:48 and the most recent last_modified 2021-02-09 16:09:23.

issues.last_modified: all with the last_modified column
filled and all UNIX timestamp dates valid. 55 records. The oldest last_modified 2016-10-05 21:05:51 and the most recent last_modified 2021-03-15 07:43:10.

data_object_tombstones.date_deleted: this table is empty, with no records.

Hi @Eder_Sotto,

Hmm, can you verify that this change is in place (in the lib/pkp subdirectory)? pkp/pkp-lib#6803 Fix return of earliest datestamp · pkp/pkp-lib@aa7ee24 · GitHub

Regards,
Alec Smecher
Public Knowledge Project Team

Hello @asmecher, I´ve verified. Yes, I have this bugfix applyed in the code. My database/code version is the newest 3.3.0-4. The problem is ocurring since i’ve updated from OJS 2.4.8. I’ve checked and applied all the suggested fixes, but the problem remains. Thank you!

Hi @Eder_Sotto,

Hmm, I think you’re probably going to have to do some debugging in your code to track this down. The query that is responsible for getting the dates (among other things) is here:

This is used by the following code to get the earliest datestamp:

If you use e.g. error_log / print_r to dump the $record that this last function is returning, it’ll help. Alternately, if it’s actually following through to the return 0; that’ll be helpful to know too.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher ,

Thank you very much for your help, it was essential to resolve this. Through the query I found that a publication_settings record pointed to a non-existent issue, generating that problem.

It’s solved now. Thank you!

Regards.

1 Like