Project

General

Profile

Bug #4212

Opensearch getObject returnerer fejlsvar som rigtige objekter

Added by Simon Holt 3 months ago. Updated about 2 months ago.

Status:
Reviewed - Needs info/rework
Priority:
Normal
Assignee:
Target version:
Estimated time:
URL med eksempel:
Kategorier:
Integration - Brønd - Data og relationer

Description

Hvis getObject ikke kan finde noget for en identifier returneres et objekt med fejlmeddelelsen som titel.

Eksempel:

<searchResponse>
  <result>
    <hitCount>1</hitCount>
    <collectionCount>1</collectionCount>
    <more>false</more>
    <searchResult>
      <collection>
        <resultPosition>1</resultPosition>
        <numberOfObjects>1</numberOfObjects>
        <object>
          <dkabm:record>
            <dc:title>
                Error: unknown/missing/inaccessible record: 123123123
            </dc:title>
          </dkabm:record>
          <identifier>123123123</identifier>
          <primaryObjectIdentifier />
          <formatsAvailable>
            <format>dkabm</format>
          </formatsAvailable>
        </object>
      </collection>
    </searchResult>
    <facetResult />
    <statInfo>
      <fedoraRecordsCached>0</fedoraRecordsCached>
      <fedoraRecordsRead>0</fedoraRecordsRead>
      <time>0.4374</time>
      <trackingId>os:2019-03-08T10:46:38:548147:28133</trackingId>
    </statInfo>
  </result>
</searchResponse>

Dette narrer DDB CMS til at prøve at vise disse materialer med titlen som fejlmeddelelse.

Det har ikke været et problem før vi gik over til getObject, da vi før brugte en rec.id-søgning til at hente flere objekter ad gangen. Hvis en søgning laves på en ugyldig identifier returneres der ikke noget for den. Ændringen har givet problemer flere steder:

https://platform.dandigbib.org/issues/3936&nbsp;

https://platform.dandigbib.org/issues/3187

Det vil give problemer alle steder hvor der er risiko for at vi laver forespørgelse på ugyldige identifiers eller materialer der er blevet kasseret. F.eks. fra status-lister eller P2-lister. 

Vi har været i kontakt med DBC om en bedre måde at håndtere det på. Indtil videre er planen (vist nok) at det skal returneres som:

<searchResult>
  <collection>
    <resultPosition>2</resultPosition>
    <numberOfObjects>1</numberOfObjects>
    <object>
      <error>unknown/missing/inaccessible record: 870970-basis:98540167</error>
      <identifier>870970-basis:98540167</identifier>
    </object>
  </collection>
</searchResult>

Vi afventer i øjeblikket nyt om hvor og hvornår denne rettelse vil være tilgængelig.

Opgaven i denne sag er at tilpasse DDB CMS til at håndtere denne ændring i opensearch. Efter at have kigget lidt koden der parser objekterne er det formentlig et spørgsmål om at tilføje en linje her der udtrækker fejl-elementet og sørge for at vi kigger efter den i TingClientObjectRequest->processResponse().

I #3936 er der alllerede lavet en lappeløsning, der kigger efter "Error: unknown/missing/inaccessible record" prefix i objekternes titel og kasserer dem, hvis den er tilstede:

https://github.com/ding2/ting-client/pull/27

Hvis det trækker ud med rettelsen i opensearch og vi vurderer at problemet er kritisk nok, kan vi overveje at bruge ovenstående løsning midlertidig.


Related issues

Related to DDB CMS - Bug #3936: Visning af fjernlån i lånerstatus (reserveringer og lån) fejler og giver "Error: missing/unknown/inaccessible record..."Reviewed
Related to DDB CMS - Bug #3187: Ting-reference optimering Needs analysis

History

#1 Updated by Simon Holt 3 months ago

  • Related to Bug #3936: Visning af fjernlån i lånerstatus (reserveringer og lån) fejler og giver "Error: missing/unknown/inaccessible record..." added

#2 Updated by Simon Holt 3 months ago

  • Related to Bug #3187: Ting-reference optimering added

#3 Updated by Rolf Madsen 3 months ago

  • Description updated (diff)
  • Status changed from New to Needs code review
  • Assignee changed from Simon Holt to Gitte Barlach
  • Target version set to Release 30-1 - Place2Book

#4 Updated by Rolf Madsen 3 months ago

  • Target version changed from Release 30-1 - Place2Book to Release 31 - bugfixes

#5 Updated by Gitte Barlach 3 months ago

  • Assignee changed from Gitte Barlach to Jesper Kristensen

#6 Updated by Jesper Kristensen about 2 months ago

  • Status changed from Needs code review to Reviewed - Needs info/rework
  • Assignee changed from Jesper Kristensen to Simon Holt

Also available in: Atom PDF