Closed Tuomas-Kyyti closed 1 day ago
Vaarassa tämä sama ongelma, ei mene yksiin meidän käyttösääntöjen mukaan.
Kirjaan tähän taustatiedoksi, että tällä hetkellä Kohassa on vain yksi asetus ExpireReservesMaxPickUpDelayCharge, jolla määritetään noutamattoman varauksen maksun suuruus. Se on ns. globaali asetus eli maksu tulee kaikille, asiakastyypistä tai aineistosta riippumatta. Versionvaihdon jälkeen tehtiin toiminto, jolla maksu poistetaan/nollataan määritetyiltä asiakastyypeiltä maksun synnyn jälkeen.
Koha-Suomen asiantuntijaryhmä 18.3.2024: Toteutetaan. Kehittäjät tutkivat, mikä on paras tapa toteuttaa muutos. Vanha tapa asiakastyypin mukaan pitää säilyttää.
Onko mitään tietoa, koska tämä toteutetaan? Olemme nyt pitkään olleet tilanteessa, jossa käyttösääntömme eroavat siitä, miten Koha oikeasti toimii. Asiakaspalautettakin on jo tullut. Emme voi loputtomasti toimia vastoin käyttösääntöjä. Jos tälle ei mitään tapahdu, joudumme pohtimaan käyttösääntöjen muuttamista. Se on vaan epäjohdonmukaista, että myöhästymismaksut ja noutamattoman varauksen maksut määräytyvät eri tavalla.
Tiketissä esitetty tapa, että novama voisi määriytyä nidetyypin mukaan ei toki ole ainoa ratkaisu. Voisi määräytyä vaihtoehtoisesti hyllypaikan mukaan, niiden mukaanhan ne myöhästysmismaksulliset ja -maksuttomat nidetyypitkin on tehty ja niiden mukaan niitä käytetään.
Tein tähän skriptin, jossa maksurivit poistuvat varattuna olleen niteen nidetyypin (items.itype) perusteella. Pitäisikö tätä testata testillä/nextillä, jos saisitte jollekin asiakkaalle tällaisen tilanteen toistetuksi, missä maksun pitäisi poistua jollakin nidetyypillä? Maksuajot yms. tarvittavat cron-ajot pitäisi laittaa päälle testiympäristössä.
Ja siihen pitää varmaan määrittää, miltä nidetyypeiltä maksu poistuu. Ne ovat 28E, 28EAV, 14EAV, 14E5AV, 14E20AV, 14LEHTIE, 42OM, 14ELYHYTL. Saako sitten samalla pois päältä sen nykyisen asiakastyyppiin perustuvan poistoajon.
Testataanko vaikka nextillä?
Ok, käyn konfiguroimassa nuo ajot noille nidetyypeille.
Kyyti-nextin cron-ajoihin lisätty:
10 00 * $TRIGGER misc/expire_holds_itemtypes.sh 28E 28EAV 14EAV 14E5AV 14E20AV 14LEHTIE 42OM 14ELYHYTL
joka ajaa myös uuden skriptin remove_hold_fees_for_itemtypes.pl
Skriptissä oli virhe, jonka juuri korjasin. Muutin yhdelle asiakkaalle RESERVE_EXPIRED-tyypin maksurivin tälle päivälle muodostuneeksi ja ajoin korjatun skriptin. Maksun outstanding-arvo meni nollaksi kun ajoin skriptin nidetyypille M28 käsin (https://kyyti-next.koha-suomi.fi/cgi-bin/koha/members/accountline-details.pl?accountlines_id=1677303). Tämän testin perusteella ajo toimii ok, mutta testataan vielä noilla oikeilla nidetyypeillä. Ajo siis ajautuu joka yö, mutta voin ajella sitä käsinkin pyydettäessä.
Ok, laitan testivarauksia vanhenemaan huomiseksi. Onko Kyytin nextillä maksuajot päällä, että ainakin noutamattoman varauksen maksu syntyy?
Noutamattoman varauksen maksu ei synny maksuajoissa (fines.pl) vaan tuolla expire_holds..-skriptillä. :)
Ei näytä eilen vanhentuneet varaukset vielä vanhentuneet, vaan ovat ihan noudettavissa. Esim. asiakas 139593.
Kyllä tuo ajo on mennyt läpi. Missähän on sitten ongelma. Tässä loki ajosta:
Fri 18 Oct 2024 10:06:01 AM EEST: Start /home/koha/koha-suomi-utility/misc/expire_holds_itemtypes.sh 28E 28EAV 14EAV 14E5AV 14E20AV 14LEHTIE 42OM 14ELYHYTL Removed RESERVE_EXPIRED from patron 279750 Removed RESERVE_EXPIRED from patron 139593 Removed RESERVE_EXPIRED from patron 279750 Removed RESERVE_EXPIRED from patron 139593 Fri 18 Oct 2024 10:06:11 AM EEST: End /home/koha/koha-suomi-utility/misc/expire_holds_itemtypes.sh 28E 28EAV 14EAV 14E5AV 14E20AV 14LEHTIE 42OM 14ELYHYTL Fri 18 Oct 2024 10:06:11 AM EEST: Runtime 0 hours, 0 minutes, 10 seconds
Noiden niteiden nidetyyppi asiakkaalla vanhentuneissa varauksissa on sellaisia, joita ei ole otettu mukaan ajossa. 14M20AV ja 28M ei ole ajon määrityksissä.
Nuo kaksi muuta on menneet ok:
Ajo oli määritetty ajautumaan klo10.06, siirsin sen ajautumaan puoliltaöin.
Ajo oli määritetty ajautumaan klo10.06, siirsin sen ajautumaan puoliltaöin.
No sehän selittää, miksi ei vielä aamulla olleet vanhentuneet. Tämä testin perusteella näyttää ok, mutta tehdään vielä toinen testiasetelma.
Sain toisen setin varauksia testattua ja vaikuttaa toimivan ok. Milloin laitetaan tuotantoon? Heti vai versiopäivityksen yhteydessä?
Voidaan minun puolesta tehdä heti kun on kysessä vain ajastusmuutos. Vähemmän murehdittavaa myös sitten versionvaihdon yhteydessä.
Kuittaa vielä, sopiiko jos laitan nyt ensi yöstä lähtien ajautumaan tuon.
Toisaalta en ole huomenna töissä, joten olisi varmaan parempi jos laitetaan vasta maanantaina 4.11. Olen sitten paikalla jos jotain ilmenee.
Vanha ajo korvattu täällä nidetyyppiin perustuvalla. Ensi yöstä lähtien ajautuu.
Parin päivän kokemuksella näyttää toimivan oikein. Kiitos tästä, tämä oli meille tärkeä.
Kehitysehdotukseni
Nykyinen tilanne, jossa noutamattoman varauksen maksut (=novama) määräytyvät asiakastyypin mukaan, on epäjohdonmukainen myöhästymismaksujen kanssa sellaisissa kimpoissa, joissa myöhästymismaksut määräytyvät nidetyypin kautta hyllypaikan mukaan.
Nyt siis Kyytissä:
Loogista olisi, että myöhästymismaksut ja novama määräytyisivät samojen sääntöjen mukaan.
Kohan nykyinen käytäntö on myös Kyyti-kirjastojen käyttösääntöjen vastainen: "Noutamattomasta varauksesta peritään maksu lukuun ottamatta lasten ja nuorten aineistoa."
Onko novaman määräytymistä mahdollista muuttaa niin, että se voisi määrittyä vaihtoehtoisesti nidetyyppien mukaan asiakastyypin sijaan?
Jotain muuta?
Asiaa sivuttiin Redminen tiketissä https://tiketti.koha-suomi.fi/issues/5223, johon asiasta kommentoin. Silloin asiaa ei käsitelty sen enempää.