KohaSuomi / Koha

(KOHA) Koha is a free software integrated library system (ILS). Koha is distributed under the GNU GPL version 3 or later. Note: this is a synced mirror of the official Koha repo.
https://koha-community.org/
GNU General Public License v3.0
7 stars 13 forks source link

Z39.50-poiminta Libriksestä: kenttien tiputtaminen poimittaessa #977

Open AnneliO opened 11 months ago

AnneliO commented 11 months ago

Tukipyyntö

Kuvailuryhmältä tuli toive, että olisiko mahdollista tiputtaa Libriksen 800-kenttiä pois Z39.50-haulla Libriksestä poimittaessa.

Z39.50-palvelimen asetuksissa pystyy määrittämään listan xslt-tiedostoja, joita käytetään tietueita tuotaessa. Olen jo vuonna 2020 tehnyt Libristä varten xsl-tiedoston yhteisön Del952.xsl -tiedoston pohjalta. Asia jäi kesken tuolloin.

Onko tiedoston sisältö (edelleen) ok (teknisesti ja kenttien osalta) ja miten sen saisi TäTiin käyttöön?

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:marc="http://www.loc.gov/MARC21/slim"
  version="1.0">

  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="marc:datafield[@tag=035]"/>
  <xsl:template match="marc:datafield[@tag=042]"/>
  <xsl:template match="marc:datafield[@tag=082]"/>
  <xsl:template match="marc:datafield[@tag=084]"/>
  <xsl:template match="marc:datafield[@tag=336]"/>
  <xsl:template match="marc:datafield[@tag=337]"/>
  <xsl:template match="marc:datafield[@tag=338]"/>
  <xsl:template match="marc:datafield[@tag=541]"/>
  <xsl:template match="marc:datafield[@tag=590]"/>
  <xsl:template match="marc:datafield[@tag=591]"/>
  <xsl:template match="marc:datafield[@tag=592]"/>
  <xsl:template match="marc:datafield[@tag=593]"/>
  <xsl:template match="marc:datafield[@tag=594]"/>
  <xsl:template match="marc:datafield[@tag=595]"/>
  <xsl:template match="marc:datafield[@tag=596]"/>
  <xsl:template match="marc:datafield[@tag=597]"/>
  <xsl:template match="marc:datafield[@tag=598]"/>
  <xsl:template match="marc:datafield[@tag=599]"/>
  <xsl:template match="marc:datafield[@tag=650]"/>
  <xsl:template match="marc:datafield[@tag=655]"/>
  <xsl:template match="marc:datafield[@tag=841]"/>
  <xsl:template match="marc:datafield[@tag=852]"/>
  <xsl:template match="marc:datafield[@tag=856]"/>
  <xsl:template match="marc:datafield[@tag=866]"/>
  <xsl:template match="marc:datafield[@tag=887]"/>
  <xsl:template match="marc:datafield[@tag=948]"/>
  <xsl:template match="marc:datafield[@tag=949]"/>
  <xsl:template match="marc:datafield[@tag=955]"/>
  <xsl:template match="marc:datafield[@tag=976]"/>

  <xsl:template match="marc:datafield[@tag!=100]/marc:subfield[@code=d]"/>
  <xsl:template match="marc:datafield[@tag!=100]/marc:subfield[@code=4]"/>
  <xsl:template match="marc:datafield[@tag!=100]/marc:subfield[@code=0]"/>
  <xsl:template match="marc:datafield[@tag!=600]/marc:subfield[@code=d]"/>
  <xsl:template match="marc:datafield[@tag!=600]/marc:subfield[@code=0]"/>
  <xsl:template match="marc:datafield[@tag!=651]/marc:subfield[@code=0]"/>
  <xsl:template match="marc:datafield[@tag!=648]/marc:subfield[@code=0]"/>
  <xsl:template match="marc:datafield[@tag!=648]/marc:subfield[@code=d]"/>
  <xsl:template match="marc:datafield[@tag!=700]/marc:subfield[@code=e]"/>
  <xsl:template match="marc:datafield[@tag!=700]/marc:subfield[@code=4]"/>
  <xsl:template match="marc:datafield[@tag!=900]/marc:subfield[@code=d]"/>

  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

Jotain muuta?

No response

Kati-Helle commented 11 months ago

Kiitos tiketistä :) Lähetin Helle-kuvailuryhmälle kenttätiedot kysyen, ovatko edelleen ok.

Kati-Helle commented 11 months ago

Kiitos tiketistä :) Lähetin Helle-kuvailuryhmälle kenttätiedot kysyen, ovatko edelleen ok.

Tämän vastauksen sain: "en osaa sanoa jokaisesta kentästä, mutta kai tämä yhä pitää paikkansa…"

CodoDerDritte commented 4 months ago

Tämä on nyt käytössä TäTi-testillä. Toimiiko?

AnneliO commented 4 months ago

Koitin hakea Testi-Tätissä Libriksestä Z39.50:llä ja sain ilmoituksen, että XSLT-tiedostoa ei löytynyt: kuva

Koitin tuoda tietueen virheilmoituksesta huolimatta ja ainakaan 887-kenttä ei tippunut pois tietueesta.

Teitkö Kodo tuosta erillisen tiedoston vai päivititkö tuota Del952.xsl-tiedostoa? Se ainakin on määritetty käyttöön Libriksen palvelinmäärityksissä, mutta en kyllä tiedä, kuuluisiko se olla noin. :)

CodoDerDritte commented 4 months ago

Tein sen siis niin että copypastesin ton xsl:n sisällön tuosta yläpuolelta ja pistin sen täti-testille tiedostoon Del952.xsl (https://tati-test.koha-suomi.fi/Del952.xsl). Suoraan tuolla linkillä tiedosto kyllä aukeaa. Sen jälkeen lisäsin tuon osoitteen sinne Libriksen palvelinmäärityksiin. Ilmeisesti sen ei siis kuulu olla noin, kertapa ei toimi. Pitäisiköhän siellä olla polku tiedostoon suoraan palvelimella.

CodoDerDritte commented 4 months ago

Siirsin tiedoston nyt /etc/koha/z3950 ja muutin polun sinne Libriksen asetuksiin. Ainakaan tuota virheilmoitusrimpsua ei enää näytä tulevan.

--Edit--

800 kenttiäkään ei aikanaan äkkiä tsekaten näyttäisi olevan mukana, eli ehkä tämä on tälleen oikein.

AnneliO commented 4 months ago

Minustakin tämä tuntuisi nyt teknisesti toimivan.

Toin tällaisen tietueen Libriksestä: https://tati-test.koha-suomi.fi/cgi-bin/koha/catalogue/detail.pl?biblionumber=2465683

Sitä vastaava Libirksen tietokannassa: https://libris.kb.se/bib/lzxmrcspj1dw07dp?vw=full&tab3=marc

Rupesin nyt kyllä vähän epäilemään noita tiputettavien kenttien määrää, koska myös esim. 336-338 tiputetaan noissa. Miepä varmistan ne vielä kertaalleen vaikka Antilta.

AnttHeik commented 4 months ago

Juu, ihan hyvin toimii.

Kyllä nuo 336-338-kentät on vain ehkä tiputettava, koska Ruotsissa näköjään tehdään eri lailla 336-kentän käyttö, jos sitä joutuu toistamaan. Samoin 338a-kentässä on eri termi kuin Suomessa käytetään ruotsinkielisessä kuvailussa (volume vs. volym):

kuva

Lisäksi voisi tiputtaa vielä nämä kentät: 900, 950, 952, 955 ja 976. 900 pois siksi, että Ruotsissa käyttävät sitä eri tavalla, esim. kohdehenkilö on u-kentässä eikä y-kentässä. Lisäksi poistaisin vielä 001- ja 003-kentän, jolloin niihin tallentuisi sitten lopulta TäTin tunnukset.

Tätä pitäisi kyllä vielä testata sellaisten henkilöiden, jotka tuota Libristä oikeasti tarvitsevat ja käyttävät. Mietin mm. asiasanakenttien tiputtamista, koska vaikka termit pitääkin hakea Fintosta uudestaan, niin niistä saattaisi olla apua asiasanoja lisätessä. Voisitko @Kati-Helle pyytää Hellestä kuvailijoita testaamaan tätä, mitä ovat mieltä tästä? Kysyn myös Viitasen Annalta, jos hän ehtisi testaamaan myös.

CodoDerDritte commented 4 months ago

Muutin tiedoston nimen libris.xsl:ksi palvelimella. Tällä ei ole vaikutusta toiminnallisuuden käyttöön.

annavii commented 4 months ago

Hyvin toimii minustakin.

Samaa mieltä Antin kanssa: 336-338 -kentät kannattaa tiputtaa, samoin kentät 900, 950, 952, 955 ja 976.

Asiasanakenttiä (6xx) en pudottaisi pois, koska niistä on sisällönkuvailussa apua.

CodoDerDritte commented 4 months ago

Lisäsin 900, 950 ja 952 kentät. Muut olivatkin jo listattuna. Antin ehdotuksen mukaisesti laitoin pudotettavien kenttien listalle myös 001+003.

AnneliO commented 3 months ago

Anna ja Antti, ehtisittekö vielä kertaalleen testaamaan viimeisimmän muutoksen jäljiltä?

Minne kaikkialle tämä on tarkoitus laittaa jatkossa sitten käyttöön?

annavii commented 3 months ago

Nyt 9XX kentät näyttävät putoavan pois kuten pitikin. En ole varma oliko testitietueessani mukana kaikki mahdolliset 9XX kentät, joita Libriksessä käytetään. Luultavasti suurin osa tuli testattua. Käytännössä siis kaikki Libriksen 9XX kentät ovat meille tarpeettomia.

001 + 003 -kenttien pudotus ei toimi, niissä on edelleen Libriksen alkuperäisen tietueen tiedot.

Libriksen kenttien pois pudottaminen on tarpeen ainakin Tätissä. Mielestäni se olisi järkevä tehdä myös paikalliskannoissa, joihin ehkä siirretään tilausvaiheessa tietueita tuolta. Ainakin Vaskiin tämä siis halutaan.

CodoDerDritte commented 3 months ago

Kokeiletko vielä uudestaan 001 ja 003. Merkkasin ne listalle datafieldeinä, mutta nehän on controlfieldejä. Niiden pudottumattomuuden syy saattoi olla siinä.

annavii commented 3 months ago

Nyt 001 ja 003 putoavat kuten pitikin.

AnneliO commented 3 months ago

Viety tuotantoihin ja testeille.

Kati-Helle commented 2 months ago

Testasin Helle-tuotannossa ja Helle-testissä: kentät 001 ja 003 eivät tipu pois. Tietueella on tallennuksen jälkeen edelleen ainakin tiputuslistaus-kentät 841, 852, 887, 900

Helle-tuotantoon poimitun ja tallennetun Libris-tietueen tietoja

kuva

kuva

TIputuslistaukseen myös 910-kenttä? kuva

AnttHeik commented 2 months ago

Jeps, 910-kentän voisi tiputtaa myös.

AnneliO commented 2 months ago

Libriksen palvelintietoihin pitää siis määrittää seuraava tieto:

XSLT Tiedosto(t) muunnettuihin tuloksiin: /etc/koha/z3950/libris.xsl