Transformers
Transformers kan användas för att ändra värdena (department, shelf, location, sublocation) i den inkommande bibliotekskatalogförfrågan, eller lägga till ett mappningsmeddelande för att ge användaren mer vägledning. De kan ha villkor som liknar Katalogmappningar och som måste uppfyllas för att åtgärderna ska köras.
Flödesschema
Transformers körs innan någon mappningslogik exekveras.

Transformer-editor

- A: Går att öppna via fliken under Mapping editors
- B: Ändra ordning på transformers. Obs att de körs i ordning, så en tidigare transformer kan påverka nästa
- C: Lista över transformers
- D: Aktivera eller inaktivera transformern
- E: Testkör transformers mot specifika förfrågningsvärden
- F: Villkor som måste uppfyllas för att åtgärderna ska köras
- G: Åtgärder som körs om villkoren uppfylls. Obs att åtgärderna körs i ordning, så en tidigare åtgärd kan påverka nästa.
Vanliga användningsfall
Normalisera varianter
Scenario: Biblioteket har liknande department-värden som ska hanteras på samma sätt, till exempel adult, adult01 och adult_01
- Utan transformers: varje mappning måste matcha alla tre värden.
- Med transformers: transformern kontrollerar om värdet är något av de tre och ändrar det i så fall till adult (eller något annat). Värdet adult kan sedan användas i mappningar utan att du behöver tänka på de andra varianterna.

- A: Villkoret kontrollerar tre värden
- B: Regeltypen är
Replace - C:
Original valuelämnas tomt, vilket betyder att hela värdet ersätts med replacement - D: Ersätter värdet i Department med
adult
Ändra ett fält genom att jämföra med ett annat
Scenario: När shelf börjar med, innehåller eller slutar med ett visst värde, till exempel Oversize, då ska
- department sättas till CUSTOM OVERSIZE, och
- Oversize tas bort från shelf-signumet.

- A: Shelf-villkoret kontrollerar alla värden som börjar med
Oversize(wildcard matchar allt som kommer efter) - B: Första åtgärden - eftersom
Original valueär tomt ersätts hela Department-värdet medCUSTOM OVERSIZE - C: Andra åtgärden - eftersom
Replacement valueär tomt tas textenOversizebort från shelf, till exempel blir Oversize18.24 till 18.24
Byt plats på två fält
Scenario: När länkar genereras i bibliotekssystemet fylls department-värdet i som location och tvärtom. Att ändra hur dessa länkar genereras kan ta tid, så i stället kan en swap-transformer användas.

- A: Åtgärden byter Department-värdet mot Location
Extrahera och använd en del av värdet
Scenario: Shelf-signumet HN5001.2423 Poetry ska bara använda delen före decimalpunkten, till exempel HN5001.
En set by regex-transformer kan då användas med följande mönster ^[A-Za-z0-9]+

- A: Åtgärden sätter Shelf-värdet till resultatet av regex-mönstret.
Reguljära uttryck är avancerade. Ofta är det enklast att söka på webben eller fråga en AI/GPT om hjälp att ta fram dem utifrån ett visst input- och output-exempel.
Visa ett formaterat meddelande som innehåller några av värdena
Scenario: Användaren ska få en textbeskrivning för att hitta boken, till exempel Look for shelf HB6708 in adult department.
En set mapping message-transformer kan användas med platshållare som använder förfrågningsvärdena.

- A: Inga villkor, vilket ger samma meddelande för alla förfrågningar. Om du behöver olika meddelanden för olika klassifikationer kan villkor användas.
- B: Åtgärdstyp
Set mapping message - C: Översättningar för meddelandemallen
- D: Meddelandemallen med tillåtna platshållare:
{{department}},{{location}},{{shelf}},{{sublocation}}
Resultat

- A: Titel, sätts via parametern
texti URL:en - B: Meddelanderesultat, sätts via transformer-åtgärden
Mapping message template - C: Text, från mappningens
Displayed text
Villkor
Villkor kan läggas till för att åtgärderna bara ska köras om ett eller flera villkor uppfylls. Om inga villkor läggs till körs åtgärderna alltid.

- A: Ändra ordning på villkor, används för att skapa kedjor av villkorsgrupper
- B: Om det klickade villkoret ska kedjas ihop med nästa (se förklaring nedan)
- C: Värdet som villkoret riktar sig mot
- D: Regeltyp
- E: Visade fält ändras beroende på vald regeltyp
- F: Fler val, som skiftlägeskänslighet, kloning och test
Verifiera och testa
Kedjning
Villkor kan kedjas ihop för att skapa grupper, till exempel:
A) om department är 'aaa' och B) location är 'bbb'C) om shelf är xxx
I detta fall godkänns båda följande förfrågningar:
- department = aaa, location = bbb, shelf = ccc, sublocation = ddd
- department = 111, location = 222, shelf = xxx, sublocation = mmm
eftersom A+B kontrolleras tillsammans och C kontrolleras separat.

- A: De två första villkoren är kedjade ihop
- B: Det tredje villkoret kontrolleras separat
Typ - Department, Location, Shelf och Sublocation
Regler i villkor fungerar på samma sätt som mappningsregler i Katalogmappningar. De riktar sig mot ett värde (department, location, shelf eller sublocation) och kan antingen ha typen Text eller en klassifikation som SAB, Dewey eller Library of Congress.
Typ - Always enabled
Samma sak som att inte ha några villkor - åtgärderna i denna transformer körs alltid
Åtgärder
Transformers kan ha flera åtgärder. De körs bara om villkoren uppfylls. Åtgärder körs i ordning, så en tidigare åtgärd kan påverka nästa.
Typer
-
Replace - ersätter
Original valuemedReplacement value. OmOriginal valuelämnas tomt ersätts hela fältet medReplacement value.- Ersätter varje förekomst av
abcmedxyzi Department. Till exempel skulle värdet11abc22bli11xyz22:

- Original value är tomt, ersätt hela värdet med
mno, till exempel skulle värdet11abc22blimno:

- Ersätter varje förekomst av
-
Remove - tar bort hela värdet från valt fält, till exempel att ta bort location-värdet.
-
Swap - byter plats på ett fält med ett annat, till exempel department
<->location. -
Change casing - ändrar värdet till antingen
UPPERCASEellerlowercase -
Set mapping message - sätter ett meddelande via en mall med platshållare som visas för användaren, till exempel
Book is at shelf {{shelf}} in department {{department}} -
Set by regex - sätter värdet i ett fält till resultatet av en regex-match
Testning
Testa alla transformers
Transformers kan testas mot specifika förfrågningsvärden för att verifiera att de fungerar korrekt.
Öppna testverktyget för transformers

Testverktyget för transformers

- A: Förfrågningsvärdena att testa med
- B: Förfrågningsvärdena efter att transformers har körts. Om fältet har ändrats visas en ikon till vänster om etiketten
- C: Listan över ändringar för felsökning
Testa enskilda villkor
Öppna testverktyget för villkoret:

Testar villkoret mot specifika värden för att se om det godkänns eller inte:
