-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validator incorrectly indicates error when testing selective harvesting and a datestamp doesn't match the "reference date" #4
Comments
Hi, I confirm. In fact, the validator doesn't understand that the harvest is done against added and modified dates, but the datestamp of a record is only the newest one. Sincerely, Daniel Berthereau |
I can also confirm that. Validating our OA repository tub.dok (http://tubdok.tub.tuhh.de/oai/request) also reports an error "No incremental harvesting (day granularity) of ListRecords: Harvest for reference date 2015-09-28 returned no records.". I believe that harvesting tub.dok by date works fine, but in fact no record has been created or modified on Sep-28 2015. So, it is not an error, that the request https://tubdok.tub.tuhh.de/oai/request?verb=ListRecords&metadataPrefix=oai_dc&from=2015-09-28&until=2015-09-28 does not return any matches... https://tubdok.tub.tuhh.de/oai/request?verb=ListRecords&metadataPrefix=oai_dc&from=2015-09-28&until=2015-12-28 is returning many records, which proves, that a date range request is responded correctly. Perhaps its better to check this point with a date range instead of a single date? |
I would split the incremental harvesting check into
but it seems a number of OAI-implementations expect that the 'from' date is different from the 'until' date and therefore return no records if the referencedate is the same. |
OK, now I understand, why this test has been implemented as it is. But it still might be possible, that the test produces a false-negative as there may be no records on the date specified, so that its ok for the service to return no records (as I explained in my comment earlier). |
The validator seems to test selective harvesting by setting both
from
anduntil
to the same date and then doing a series of checks.One of those checks is that every record returned must have a datestamp that matches the date searched for. However, if my reading of the spec is right, this isn't correct behavior:
The selective harvesting section of the spec says that repositories must include any records that were created, modified, or (optionally) deleted within
from
anduntil
, inclusive. The same section defines the datestamp for a record as a date "which reflects the most recent date and time of the creation, modification, or deletion according to the rules defined above."So, a record created on the reference date the validator requests must be included in the response, but its datestamp must also be later than that if the record was ever updated.
It seems to me the only check of this type you can validly do here is just ensuring that no datestamps earlier than the reference appear in the response.
The text was updated successfully, but these errors were encountered: