31. Floating Collections

31.1. Inleiding

Floating collections (FC) of zwevende collecties komt erop neer dat bij inname van geleende objecten op een plaats verschillend van de oorspronkelijke bezittende bibliotheek, het object niet wordt teruggestuurd naar de oorspronkelijke vestiging maar gewoon ter plaatse blijft en aldaar in de collectie wordt opgenomen.

31.2. Process flow

Het proces om succesvol over te gaan naar FC bestaat uit drie grote stappen:

  1. Pre-float, waarbij je vooral info verzameld over het mogelijk effect van het introduceren van floating collections
  2. Start FC, effectief bepaalde objecten (in feite dus genre plaatskenmerken) in float brengen
  3. Post-float, evaluatie van FC alsook processen om bepaalde zaken recht te trekken

Deze drie fases zullen hier onder verder uitgewerkt worden.

31.2.1. Pre-float

Om een idee te hebben van de impact van FC zijn volgende gegevens beschikbaar in Brocade:

Pre-float
Pre-float (per instelling) is de verhouding tussen (in die instelling) ingenomen objecten die getransporteerd moeten worden omdat ze in feite tot de collectie van een andere instelling behoren, ten opzichte van het totaal aantal ingenomen objecten in die instelling.

Een voorbeeld van pre-float: er worden 100 objecten ingenomen, waarvan er 20 op transport moeten naar een andere instelling. In dit geval is de pre-float dus 20 %.

Hold-shelf
Hold-shelf (per instelling) is de verhouding tussen gereserveerde objecten die in die instelling opgepikt worden, maar die daarvoor getransporteerd moesten worden, ten opzichte van het totaal aantal opgepikte reserveringen in die instelling.

Een voorbeeld van hold-shelf : er staan 100 gereserveerde objecten klaar om opgepikt te worden, waarvan er 20 afkomstig zijn van een andere instelling. In dit geval is de hold-shelf dus 20 %.

Hiermee kunnen we dus conform [Bartlett2014] onderstaand overzicht generen.

Voorbeeld van pre-float en hold-shelf statistieken
Instelling Pre-float Hold-shelf
AP 15% 15%
UA-CDE 20% 45%
UA-CMI 35% 2%

Hierbij is niet zozeer het percentage interessant, wel de verhouding met andere instellingen. In Brocade zelf berekenen we ook niet de percentages maar tonen we de aantallen. In [Bartlett2014] gaat men ook nog meer gegevens bijhouden zoals ligging, verkeersdrukte enzovoort. Voor meer info hierover verwijzen we door naar [Bartlett2014], maar dit zijn gegevens buiten de scope van Brocade.

Voor de pre-float en hold-shelf statistieken in Brocade gaan we ook iets ruimer dan in [Bartlett2014], we gaan effectief bijhouden van waar deze gereserveerde werken komen en wat hun genre plaatskenmerken zijn.

De pre-float kan natuurlijk pas berekend worden als een eindgebruiker objecten mag binnenbrengen bij een andere locatie dan de eigenaar van het object, anders is prefloat=0%. Hold-shelf is ook pas interessant indien een gebruiker werken uit een instelling kan reserveren en laten leveren in een andere instelling.

Prefloat en hold-shelf zullen bijgehouden worden als statistieken op niveau van leensysteem, catalografische instellingen, clusters en werkstations. Merk op dat hoewel deze statistieken oorspronkelijk dienen om te gebruiken voor dat een float start, deze tijdens de float ook nog interessant kunnen zijn, bijvoorbeeld om te ontdekken dat nog niet voldoende pk-genres in de float zijn opgenomen.

Meer specifiek kun je volgende statistiek terugvinden in Brocade:

Leentransacties per maand - Prefloat en postfloat tussen catalografische instellingen. [link]

Deze statistiek toont tellingen, waaruit u de volgende zaken kan afleiden:

::
  • Prefloat statistieken : voorspellingen over hoeveel objecten er zouden floaten tussen verschillende bibliotheken (catalografische instellingen), indien men zou overgaan tot het gebruik van floating collections.
  • Postfloat tellingen : tellingen van het effectief floaten van objecten tussen verschillende bibliotheken (catalografische instellingen). Let op: deze statistieken tellen enkel de objecten die floaten als gevolg van een leenactie.

Tot slot moet er op de rekken ruimte voorzien worden om eventueel het stijgend aantal objecten in een instelling als gevolg van FC op te vangen, dus men gaat de collectie van de objecten die gaan floaten moeten uitdunnen (wieden). In [Bartlett2014] spreekt men over de two-fist regel, je zou dus op begin en einde van de rek vlot een vuist moeten kunnen tussen steken.

De ideale kandidaat-objecten om te wieden is het zogenaamde deadwood. Deadwood zijn objecten die al lang stil staan, dus al lang niet meer zijn uitgeleend. Hier voor kan men gebruik maken van Leen - Selecties ‣ Selecteer objecten op transactietype - aantallen [link].

[Bartlett2014](1, 2, 3, 4, 5) Bartlett, W. K. (2014). Floating Collections: A Collection Development Model for Long-Term Success. Libraries Unlimited.

31.2.2. Start FC

Voor dat een object O van instelling A kan floaten naar instelling B moeten volgende voorwaarden in Brocade voldaan zijn:

  • Instelling A en B hebben hetzelfde leensysteem
  • Dit leensysteem moet float toelaten
  • Bij het pk-genre van het object O moet aangegeven zijn dat dit pk-genre mag floaten naar instelling B. Merk dus op dat in dat geval alle objecten met dit pk-genre zullen floaten naar instelling B.
  • Bij instelling B moeten een conversie van pk-genres gekend zijn die gegeven het pk-genre van O een niet leeg pk-genre teruggeeft. Bij het ontbreken van zo een conversie zal O gewoon terug gestuurd worden naar A.
  • Aangezien op niveau van instelling B bepaald wordt wat wel en niet binnen float, moet de plaats van inname (=werkstation) gekoppeld worden met de bijhorende catalografische instelling.

Praktisch hou je ook het best rekening met het volgende:

  • Idealiter zouden instellingen binnen een floating collection dezelfde pk-genres gebruiken, helaas is dit niet realistisch. Al is floating collection een (extra) opportuniteit om die uniformiteit te realiseren tegen begin van de float of als argument voor uniformiteit bij nieuwe partners.
  • Het kan niet de bedoeling zijn dat telkens een boek float van de ene naar de andere instelling dat het rug-etiket aangepast moet worden. Zeker etikketen van de vorm Volw-fictie, verdieping 2 zijn af te raden binnen floating collections.
  • Als je niet wil dat alle boeken van een pk-genre floaten, zal je een opsplitsing moeten doen. Dit kan met behulp van Aanpassen van plaatskenmerken in groep [link].
  • Eenmaal een object O float van instelling A naar B, bepaalt het pk-genre dat instelling B aan O geeft, hoe object O verder mag floaten. Floating collection kan dus ook gebruikt worden voor de eenmalige verhuis van een collectie.

31.2.3. Post Float

Je kan Leentransacties per maand - Prefloat en postfloat tussen catalografische instellingen. [link] gebruiken om statistieken op te vragen van post-float (en pre-float).

Verder kan je Datamining de leentransacties [link] gebruiken om een selectie van leentransacties te maken met als actie ‘floating’.

31.3. Implementatie in Brocade

In deze sectie wordt beschreven welke stappen je moet ondernemen om de onderdelen van floating collection te parametriseren.

31.3.1. Pre-float

Om de prefloat statistieken te generen moet je volgende zaken parametriseren.

31.3.1.1. Automatisch proces st52

Activeer het automatisch proces standard.st52 onder Systeembeheer ‣ Procesbewaking ‣ Beheer van de automatische processen [link]. Dit proces vult de statistische container op. Dit proces komt automatisch mee met een installatie, maar staat standaard op niet actief.

31.3.1.2. Statistische container

Ga voor statistische container st:52 na onder Statistieken ‣ Statistieken - beheersfuncties ‣ Beheer statistische containers [link] of Actief ? aangevinkt staat.

31.3.1.3. Werkstations

Bij Werkstations [link] in de rubriek Algemeen is er een veld Catalografische instelling om werkstations te linken met de overkoepelende catalografische instelling. Inname gebeurt namelijk in een werkstation, maar voor de statistieken is het interessant om het aantal innames per instelling te zien. Als dit veld niet is ingevuld is het onbekend tot welke instelling dit werkstation behoort. Vervolledig dit veld. Eventueel kan dit via een script (ontwikkelaar).

31.3.1.4. Transacties uit het verleden Via Ontwikkelaar

Om de hold-shelf statistieken te kunnen berekenen, werd de transactielog uitgebreid. Wens je ook statistieken over de hold-shelf van leentransacties die dateren van vóór release 4.00, laat dan een ontwikkelaar de routine mutil -exe 'd %TR^zrestrn("*","U","")' uitvoeren. Voor meer info zie Issue 2003: Rel. 4.10: Zwervende collectie - floating collections.

31.3.2. Float beheren

Om floating collections te activeren moet je naast onderstaande stappen ook eerst floating collections activeren binnen een leensysteem. Dit doe je door Is floating actief? onder Leen ‣ Leen - Beheersfuncties ‣ Leensystemen [link] aan te vinken.

31.3.2.1. Uitgaande float

Als je een pk-genre, en dus ook alle gekoppelde objecten, wil laten floaten, kan je dit door bij Catalografie ‣ Catalografie - Beheersfuncties ‣ Genres van plaatskenmerken [link] onder Mag floaten naar volgende catalografische instellingen aangeven naar welke andere instellingen uitgaande objecten van dit pk-genre kunnen floaten. Dus vanaf het moment dat je hier instellingen ingeeft, gaan alle objecten met dit genre plaatskenmerk in de float. Het is op niveau van genre plaatskenmerk: alles of niets.

31.3.2.2. Inkomende float

Inkomende objecten worden ingenomen op een werkstation. Elk werkstation is gekoppeld met een catalografische instelling. Als het bij genre plaatskenmerk van dit object is aangegeven dat dit object mag floaten naar de instelling van het werkstation moet er nog een conversie van genre plaatskenmerk en eventueel uitleenparameter/objectklasse gebeuren.

Je kan bij Instellingen ‣ Beheer catalografische instellingen [link] aangeven per instelling welke conversie gebruikt moet worden.

De conversie zelf kan je definieren bij Catalografie ‣ Catalografie - Beheersfuncties ‣ Catalografie - Beheersfuncties voor floating collections ‣ Conversie van genre plaatskenmerken [link].

Hier kun je een systeem opzetten hoe de conversie van genre plaatskenmerken moet gebeuren. Je geeft in chronologische volgorde een aantal testen met een gekoppelde actie. Van het moment dat een test een conversie oplevert, worden de volgende testen niet meer uitgevoerd. Als geen enkele test iets oplevert of het resultaat is een lege string, dan wordt een object met dit genre plaatskenmerk niet opgenomen in de float en behandeld als een object dat niet meedoet met de floating collection.

Let op, als je niet wil dat er iets wijzigt als boeken van de eigen instelling terug binnenkomen definieer je best in de eerste blok bij 2a. de test pkinst=inst en bij 2b. RDpkid.

Systeem van genre plaatskenmerk conversie regels
Een systeem van conversie regels bestaat uit 1 of meerdere blokken. Je kan meerdere blokken definieren maar de volgorde van de blokken is belangrijk.
Voor het zoeken van een conversie gaat het algoritme deze blokken in chronologische volgorde af. Van het moment dat een blok een resultaat oplevert en er dus een conversie gevonden is, worden de volgende blokken niet meer bekeken.
Conversie blok [conversion: herhaalbaar, meerdere velden]

In een conversieblok kun je meerdere testen definiëren, als een test een resultaat oplevert, worden eventuele volgende testen niet meer uitgevoerd. Als je dus eerst wil testen met behulp van een if-test en dan pas kijken naar een vertaaltabel, zul je je een blok moeten maken met enkel de if-test ingevuld met daarna een nieuwe blok waar de vertaaltabel is ingevuld.

Velden:

    1. Vertaaltabel [metaFcpkmove.schematable]
  • 2a. Test [metaFcpkmove.regexptest]
  • 2b. Resultaat [metaFcpkmove.regexpresult]
    1. Algoritme [metaFcpkmove.mcode]
Nieuwe uitleenparameter

Bepaal hier wat er met de objectklasse/uitleenparameter moet gebeuren als een object met een bepaald genre plaatskenmerk float.

Conversie uitleenparameter [uptpl: tekst]

Geef hier een template die de conversie bepaalt van de objectklasse/uitleenparameter van een object waarvoor een conversie is gevonden. Je kunt de volgende keys gebruiken:

  • up: de huidige uitleenparameter van het inkomende object
  • oldinst: de instelling waar het object van komt.
  • oldpk: de oude id van het pk-genre van het inkomende object
  • newinst: de instelling waar het object wordt ingenomen.
  • newpk: de nieuwe id van het pk-genre van het inkomende object
  • upnewpk: de default-waarde van uitleenparameter bij newpk

Zo kan je volgende template samenstellen:

  • {$upnewpk| stay:upnewpk}: als er default waarde bestaat onder newpk neem deze, anders behoud de oorspronkelijk leenparameter
  • {$upnewpk| stay:upnewpk}{geenleen| rm:upnewpk}: als er default waarde bestaat onder newpk neem deze, anders neem geenleen als leenparameter
Opkuis acties na floating

Beschrijf welke opkuis acties er automatisch dienen te gebeuren na een float.

Opkuis parameters [clean: keuze]

Hierin staat beschreven welke opkuisoperaties er automatisch dienen te gebeuren bij een float.

Keuze uit:

  • Laat alles ongemoeid [no]
  • Schrap lege volumes [dvol]
  • Schrap lege volumes en plaatskenmerken [dhol]

Indien een niet lege conversie is gevonden, zal de macro moveCatObject gebruikt worden om het object te verplaatsen in Brocade.

macro moveCatObject($oloi, $ins, $gen, $pk="", $vol="", $dvol=0, $dhol=0, $dind=0):
    '''
    $editfile: /catalografie/application/catcopymove.d
    $synopsis:  Verhuis en/of modifieer object structureel anders.
    $oloi: oloi
    $ins: bestemming instelling : leeg indien onveranderd.
    $gen: bestemming genre : leeg indien onveranderd.
    $pk: bestemming plaatskenmerk (signatuur) : leeg indien onveranderd.
    $vol: bestemming volume : leeg indien onveranderd.
    $dvol: 1=schrap lege volumes
    $dhol: 1=schrap lege holdings
    $dind: 1=indexeer de betrokken cloi + opacs!!
    $example: m4_moveCatObject("o:lvd:1234","UIA","z",RAodat,"SignatZ","2000",1,1)
    '''

    ««d %mvObj^bcasmove($oloi,$ins,$gen,$pk,$vol,$dvol,$dhol,$dind)»»

Notitie

De aanpassing van de objectklasse, indien van toepassing, gebeurt pas na inname, dus in het inname scherm zelf zie je nog de objectklasse van voor de float. Als je op de o:loi klikt om details te zien zie je de nieuwe objectklasse.

Hou er ook rekening mee dat je ook bij Werkstations [link] de juiste Geassocieerde werkstations toevoegd, anders krijg je bij inname de foutboodschap Opgepast: plaats van inname is verschillend van plaats van uitlening/verlenging!.

Waarschuwing

Om de leen zo snel mogelijk te laten verlopen wordt er veel data gecached, echter de cache wordt niet leeg gemaakt als er aanpassingen aan een vertaaltabel gebeuren. Als je dus een vertaaltabel aanpast om de float aan te passen, moet je de overeenkomende conversie ook opnieuw registeren of wachten tot de volgende dag voordat dit effect wordt doorgevoerd in de float.

31.3.2.3. Float parametrisatie testen

Bij Catalografie ‣ Catalografie - Beheersfuncties ‣ Catalografie - Beheersfuncties voor floating collections ‣ Testen voor floating collections [link] kan je testen gegeven

  1. een oloi of genre plaatskenmerk
  2. een werkstation of catalografische instelling

Kijken of

  • een object/genre plaatskenmerk mag floaten of niet (dit laatste bepaal je bij bij Catalografie ‣ Catalografie - Beheersfuncties ‣ Genres van plaatskenmerken [link] onder Mag floaten naar volgende catalografische instellingen)
  • of indien een werkstation is opgegeven, met welke catalografische instelling deze gekoppeld is
  • ongeacht of object/genre plaatskenmerk mag floaten, als conversie gekend is bij catalografische instelling, wat nieuwe genre plaatskenmerk en eventueel uitleenparameter/objectklasse zou zijn.

Bij Catalografie ‣ Catalografie - Beheersfuncties ‣ Catalografie - Beheersfuncties voor floating collections ‣ Overzicht van in- en uitgaande genre plaatskenmerken per catalografische instelling [link] kan je zien, gegeven een genre plaatskenmeren pkgenre en catalografische instelling catlib, waarbij wildcards zijn toegelaten:

  • Genres van de vorm pkgenre die effectief floaten naar instelling(en) van de vorm catlib en het nieuw genre
  • Genres van de vorm pkgenre die kunnen floaten naar instelling(en) van de vorm catlib maar daar niet worden opgenomen
  • Genres van de vorm pkgenre die niet floaten maar waar wel ontvangende instellingen van de vorm catlib voor zijn en met indien in float het nieuwe genre
  • Genres van de vorm pkgenre die niet floaten en ook geen ontvanger van de vorm catlib voor is.