OAI validation error - OJS 2.4.8.1

Hello,

I’m receiving the following error when I try to index a journal at the OAI Register:

Failed to extract error code from the response to request: verb=ListRecords&metadataPrefix=oai_dc&until=2017-03-02T08:13:35Z The request specified a date one year before the earliestDatestamp given in the Identify response. There should therefore not be any records with datestamps on or before this date and a noRecordsMatch error code should be returned.

The full error log is available here:
http://www.openarchives.org/Register/ValidateSite?log=5ZJLLENC

My ojs version is 2.4.8.1

How can I fix this problem?

Different solutions on this forum did not work…

Hi @prtrans

Maybe you could write what solution did you try…

Else, I believe this GitHub Issue seems to consider and fix the problem: OAI appears to be willing to provide records before the earliest record date · Issue #2693 · pkp/pkp-lib · GitHub, i.e. these changes: pkp/pkp-lib#2693 getEarliestDatestamp gets really earliest now by paflov · Pull Request #2567 · pkp/pkp-lib · GitHub and pkp/pkp-lib#2693 Fix up dangling comma from previous fix · pkp/pkp-lib@6b83092 · GitHub.

Best,
Bozana

Hi Bozana,

Many thanks for your help!

I lost the post https://github.com/pkp/pkp-lib/pull/2567/files

I got the following solution:
function getEarliestDatestamp($selectStatement, $setIds = array()) {
$params = $this->getOrderedRecordParams(null, $setIds);

	$result =& $this->retrieve(
		$selectStatement . ' as the_date FROM mutex m ' .
		$this->getRecordJoinClause(null, $setIds) . ' ' .
		$this->getAccessibleRecordWhereClause() . 
		'ORDER BY the_date',
	$params
    );

аs a result of the combination of this https://github.com/pkp/pkp-lib/pull/2567/files
AND this https://github.com/pkp/pkp-lib/commit/6b830921e8c6e87e1728637383fd0a7e6771b90a
posts.

Everything works fine: http://www.openarchives.org/Register/ValidateSite?log=V89SD9JI

Thanks!

Best Regards,
Aleksandr