Ignore:
Timestamp:
2017-08-18T19:28:42+12:00 (7 years ago)
Author:
ak19
Message:

I hope these are all the changes necessary on the runtime side of GS2 to get the OAI server validation working for GS2: instead of working out the earliest datetime stamp of the OAI repository by comparing the builddate in index/build.cfg of each OAI collection and selecting the earliest, the oai-inf.db is now storing the special earliesttimestamp record. The timestamp of this record represents its collection's earliest timestamp. And the earliest of these among all OAI collections is now the earliest datetime of the OAI repository.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/colservr/browsefilter.cpp

    r31394 r31903  
    143143    if(parentnode == "oai") { // doing an OAI listidentifiers request
    144144
    145       // open up the oai-inf db, if it exists, and return all IDs
    146       // if it doesn't exist, proceed as usual
     145      // open up the oai-inf db if it exists, and return all IDs *except* the special OID=OAI_EARLIESTTIMESTAMP_OID
     146      // if oai-inf db doesn't exist, proceed as usual
    147147      success = get_oaiinf_db_entries(response, err, logout); //adds any stuff in oai-inf db for the current OID to resultdoc.metadata
    148148
     
    377377   
    378378    resultdoc.OID = (*key_here);
    379    
     379   
     380    // OAI_EARLIESTTIMESTAMP_OID is the OID of a special record that we'll ignore
     381    // here in browsefilter.cpp, since it's not a doc.
     382    // When the *metadata* for this special OID is requested, source.cpp will handle it
     383    if(resultdoc.OID == OAI_EARLIESTTIMESTAMP_OID) {
     384      ++key_here;
     385      continue;
     386    }
     387
    380388    if(!oaidb_ptr->getinfo(resultdoc.OID, oai_info)) {
    381389      logout << text_t2ascii
Note: See TracChangeset for help on using the changeset viewer.