2017-08-18T19:28:42+12:00 (6 years ago)

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.

1 edited


  • main/trunk/greenstone2/runtime-src/src/colservr/collectserver.cpp

    r31387 r31903  
    535535      // first check for oai metadata from the oai_db, if asked for it (if FROAI is set)
    536536      if(((*source_here).s != NULL) &&
    537          request.filterResultOptions & FROAI &&
     537         (request.filterResultOptions & FROAI) &&
    538538         ((*source_here).s->get_oai_metadata(request.requestParams, request.refParams,
    539539                         request.getParents, request.fields,
    546546      }
     548      // if OID is the special OAI specific OAI_EARLIESTTIMESTAMP_OID,
     549      // then we'd have got its OAI meta above if we were requested to do so.
     550      // Either way, we won't be additionally getting regular meta for this OID,
     551      // as it's not a real doc OID, so we stop processing this OID here.
     552      if((*resultdoc_here).OID == OAI_EARLIESTTIMESTAMP_OID) {
     553        ++source_here;
     554        if(processed == true) break;
     555        else continue;
     556      }
    548558      // We may or may not have got oai_meta (depends on if FROAI was set).
    549559      // If we didn't get oai_meta, then deleted_status would still be "".
Note: See TracChangeset for help on using the changeset viewer.