Umstieg von LITTERA zu Koha – Teil 3

Im ersten und im zweiten Teil dieser kleinen Serie habe ich bereits berichtet, wie wir an unserer Schule von LITTERA zu Koha umgestiegen sind. Heute möchte ich kurz zeigen, wie wir Antolin in Koha integriert haben, sodass man bei der Suche im OPAC oder Intranet sofort erkennt, wenn ein Buch bei Antolin verfügbar ist.

So soll es am Ende aussehen:

Zuerst muss Koha wissen, welches Buch bei Antolin verfügbar ist und welches nicht. Dazu habe ich mir die Antolin-Datenbank bei Antolin heruntergeladen und dann, nachdem ich alle Bücher aus Koha als MARC-Datei exportiert habe, mit einem Skript mit den entsprechenden Daten angereichert. Hierzu habe ich wieder pymarc verwendet. So sieht das ganze dann aus:

record.add_field(
  Field(
    tag = '856',
    indicators = ['4','2'],
    subfields = [
      'n', 'Antolin',
      'u', antolin[titles[recordID]["ISBN"]]["url"],
      'w', antolin[titles[recordID]["ISBN"]]["bookId"],
      'y', antolin[titles[recordID]["ISBN"]]["title"],
      'z', antolin[titles[recordID]["ISBN"]]["grade"]
]))

Die Daten habe ich also in Feld 856 hinzugefügt. Die Antolindaten habe ich vorher aus der CSV ausgelesen und in ein Array bzw. Dict gespeichert.

Der nächste Schritt ist, dass Koha (Opac und Intranet) wissen muss, wie es diese Daten anzeigen soll. Koha verwendet für den Opac und das Intranet XSLT-Templates. Diese kann man bearbeiten und an seine Bedürfnisse anpassen. Ich habe eine Abfrage eingefügt, welche prüft, ob das Feld 856 vorhanden ist, und dann entsprechend den Antolin-Raben zeigt sowie einen Link zum Quiz.

<xsl:if test="$DisplayOPACiconsXSLT!='0'">
 <span class="results_summary type">
 <xsl:if test="$typeOf008!=''">
   <span class="results_material_type">
     <span class="label">Materialtyp: </span>
     <xsl:choose>
       <xsl:when test="$leader19='a'"><img src="/opac-tmpl/lib/famfamfam/silk/book_link.png" alt="book" title="book" class="materialtype"/> Gesamtaufnahme</xsl:when>
       <xsl:when test="$leader6='a'">
         <xsl:choose>
           <xsl:when test="$leader7='c' or $leader7='d' or $leader7='m'"><img src="/opac-tmpl/lib/famfamfam/silk/book.png" alt="book" title="book" class="materialtype"/>
           
           <!-- Add Antonlin image -->
           <xsl:if test="marc:datafield[@tag=856]">
             <xsl:element name="img"><xsl:attribute name="src">/images/Antolin16.png</xsl:attribute><xsl:attribute name="alt">Antolin</xsl:attribute><xsl:attribute name="class">Materialtyp</xsl:attribute></xsl:element>
           </xsl:if>
            Buch</xsl:when>
           <xsl:when test="$leader7='i' or $leader7='s'"><img alt="Zeitschrift" title="Zeitschrift" class="materialtype" src="/opac-tmpl/lib/famfamfam/silk/newspaper.png" /> Periodikum</xsl:when>
           <xsl:when test="$leader7='a' or $leader7='b'"><img src="/opac-tmpl/lib/famfamfam/silk/book_open.png" alt="article" title="article" class="materialtype"/> Aufsatz</xsl:when>
         </xsl:choose>
       </xsl:when>
       <xsl:when test="$leader6='t'"><img src="/opac-tmpl/lib/famfamfam/silk/book.png" alt="book" title="book" class="materialtype"/> Buch</xsl:when>
       <xsl:when test="$leader6='o'"><img src="/opac-tmpl/lib/famfamfam/silk/report_disk.png" alt="Medienkombination" title="Medienkombination" class="materialtype" /> Kit</xsl:when>
       <xsl:when test="$leader6='p'"><img src="/opac-tmpl/lib/famfamfam/silk/report_disk.png" alt="Medienkombination" class="materialtype" title="Medienkombination" />Medienkombination</xsl:when>
       <xsl:when test="$leader6='m'"><img title="Computerdatei" class="materialtype" alt="Computerdatei" src="/opac-tmpl/lib/famfamfam/silk/computer_link.png" /> Computerdatei</xsl:when>
       <xsl:when test="$leader6='e' or $leader6='f'"><img alt="Karte" title="Karte" class="materialtype" src="/opac-tmpl/lib/famfamfam/silk/map.png" /> Karte</xsl:when>
       <xsl:when test="$leader6='g' or $leader6='k' or $leader6='r'"><img src="/opac-tmpl/lib/famfamfam/silk/film.png" alt="Visuelles Material" title="Visuelles Material" class="materialtype" /> Visuelles Material</xsl:when>
       <xsl:when test="$leader6='c' or $leader6='d'"><img src="/opac-tmpl/lib/famfamfam/silk/music.png" alt="Partitur" class="materialtype" title="Partitur" /> Noten</xsl:when>
       <xsl:when test="$leader6='i'"><img class="materialtype" title="Ton" alt="Ton" src="/opac-tmpl/lib/famfamfam/silk/sound.png" /> Ton</xsl:when>
       <xsl:when test="$leader6='j'"><img src="/opac-tmpl/lib/famfamfam/silk/sound.png" class="materialtype" title="Musik" alt="Musik" /> Musik</xsl:when>
     </xsl:choose>
   </span>
 </xsl:if>

Das gleiche muss man dann noch einmal für die Detailansicht machen. Die XSLT Dateien befinden sich unter /usr/share/koha/intranet/htdocs/intranet-tmpl/prog/{langcode}/xslt/MARC21slim2intranetResults.xsl. {langcode} ist z.B. „en“ oder „de-DE“.

Es empfiehlt sich eine Kopie des Standard-Templates zu machen und dieses dann anzupassen. Dazu muss der Pfad in den Systemparametern unter XSLTResultsDisplay noch geändert werden.

Bisher lief der Umzug ohne große Probleme ab. Der Schulbetrieb läuft seit einigen Wochen wieder und bisher gab es keine Beschwerden 🙂 Eine Sache haben wir noch nicht eingerichtet, welche aber noch dringend gemacht werden muss: Benachrichtigungen und Mahn- bzw. Erinnerungsnachrichten. Wenn wir das fertig eingerichtet haben, werde ich davon in einem 4. Teil berichten.

Ein Gedanke zu „Umstieg von LITTERA zu Koha – Teil 3

  1. Pingback: Umstieg von LITTERA zu Koha – Teil 2 | .:zefanjas:.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.