Link-Resolver – Überblick

Der Link‑Resolver erzeugt aus bibliographischen Metadaten zielgenaue Links zu externen Diensten wie SFX/Alma, Clarivate 360Link, DOI, EZB, DOAJ, Verlags‑Homepages oder einen Mail‑Resolver. Die Auswahl des passenden Ziels erfolgt regelbasiert anhand konfigurierbarer Bedingungen (JSON) sowie einer Priorität pro Resolver.

UI-Einstieg: Hilfe → Link‑Resolver





Anlage & Bearbeitung

Über Neu anlegen legen Sie einen Resolver an. Existierende Resolver lassen sich direkt in der Tabelle bearbeiten, testen, deaktivieren/aktivieren oder löschen.

  • Name – sprechende Bezeichnung, erscheint später als Button‑Tooltip.
  • Priorität – kleinere Zahl = wird früher geprüft (Sortierung aufsteigend).
  • Aktiv – steuert, ob der Resolver überhaupt am Matching teilnimmt.
  • Target‑Template – URL mit Platzhaltern, aus denen der finale Link aufgebaut wird.
  • Bedingungen (JSON) – Regeln, wann dieser Resolver gelten soll (siehe unten).
  • Optional: Von/Bis (Jahr), Standort, Bemerkung, Bestell‑Mail (für Mail‑Resolver), Notizen.




Vorlagen (Presets)

Über die Buttons unter Vorlagen übernehmen Sie geprüfte Templates – Hostnamen bitte an Ihre Umgebung anpassen.

  • SFX/Alma – OpenURL‑Aufruf (Z39.88‑2004).
  • 360Link – Clarivate‑OpenURL.
  • EZB (ISSN) – Journal‑Suche in der Elektronischen Zeitschriftenbibliothek.
  • DOI – Direkter DOI‑Sprung, wenn ein DOI vorhanden ist.
  • DOAJ – Open‑Access‑Suche via Titel.
  • Journal‑Homepage – Verlagslink aus ZEITSCHRIFTEN.WEBADRESSE.
  • EZproxy → Resolver – Proxy‑Vorschaltlink, der danach OpenURL aufruft.
  • Mail‑Resolver – erzeugt eine voradressierte Bestell‑Mail (Button‑Beschriftung über „Bemerkung“).




Bedingungen (JSON)

Die Bedingungen werden serverseitig mit JSON-Vorlagen geprüft (UND‑Verknüpfung aller Felder). Erlaubt sind:

  • "FELD":"Wert" – exakter Vergleich (als String).
  • "FELD":{"contains":"…"} – Teilstring (case‑insensitive).
  • "FELD":{"in":["A","B"]} – Wert ist in Menge.
  • "FELD":{"regex":"/…/i"} – regulärer Ausdruck (PCRE).

Beispiele

{"ISSN":"1439-1074"}
{"DOI":{"regex":"/^10\\./"}}
{"ZEITSCHRIFT":{"contains":"Pflege"}}

Die Felder können sowohl aus dem Dokumen-Metadatenset (METADATEN) als auch aus der Zeitschrift (ZEITSCHRIFTEN-METADATEN) kommen – u. a. ISSN, ZEITSCHRIFT, DOI, JAHRGANG, HEFT, SEITE, ZS_HOMEPAGE uvm.

Target‑Template & Platzhalter

Im Template ersetzen wir Platzhalter aus Dokument und Zeitschrift. Die Variante {FELD:url} URL‑kodiert den Wert.

  • {DOKUMENT_nr}, {AUTOR}, {TITEL}, {ZEITSCHRIFT}, {ZS_ID}, {ISSN}, {JAHRGANG}, {HEFT}, {SEITE}, {DOI}, {Jahr}, {Monat}, {ISBN}, {ZS_HOMEPAGE}, {ZS_VERLAG}

Beispiel OpenURL

https://sfx.MEIN-BIB-HOST/openurl?url_ver=Z39.88-2004&sid=carelit&rft.genre=article&rft.issn={ISSN:url}&rft.jtitle={ZEITSCHRIFT:url}&rft.atitle={TITEL:url}&rft.date={Jahr:url}&rft.volume={JAHRGANG:url}&rft.issue={HEFT:url}&rft.spage={SEITE:url}&rft_id=info:doi/{DOI:url}

Test & Fallbacks

Mit dem blauen Test‑Button in der Tabelle wird der Resolver gegen eine CARELIT-DOKUMENT-ID geprüft. Der Server iteriert in Prioritätsreihenfolge und verwendet den ersten passenden Resolver. Falls keiner passt, greifen Fallbacks:

  • DOIhttps://doi.org/{DOI}
  • Zeitschriften‑Homepage{ZS_HOMEPAGE}




Darstellung in Trefferlisten

Die ausgewählten Resolver erscheinen als Buttons neben dem Treffer. Beschriftung und Popover‑Hinweise stammen aus den Feldern Bemerkung / Notizen.





Beispiele

Google Scholar

https://scholar.google.de/scholar?hl=de&as_sdt=0%2C5&q={TITEL:url}

EZB (Regensburg)

https://ezb.uni-regensburg.de/vascoda/openURL.phtml?sid=CARELIT:ALL&genre=article&issn={ISSN:url}&date={Jahr:url}&volume={JAHRGANG:url}&issue={HEFT:url}&spage={SEITE:url}&author={AUTOR:url}&atitle={TITEL:url}

Ovid LinkSolver

http://linksolver.ovid.com/OpenUrl/LinkSolver?genre=article&issn={ISSN:url}&isbn={ISBN:url}&title={ZEITSCHRIFT:url}

Best Practices

  • Hosts anpassen: Ersetzen Sie Platzhalter‑Hostnamen (MEIN-BIB-HOST, MEIN-360LINK-Host, EZPROXY-HOST).
  • ISSN normalisieren: Nutzen Sie Bindestrich‑Format (z. B. 1234‑5678), Regex /^\d{4}-\d{3}[\dxX]$/ als Bedingung möglich.
  • Prioritäten: DOI (10), Proxy/Resolver (30), SFX/360Link (20), EZB (60), DOAJ (80), Journal‑Homepage (90) – an Ihre Policy anpassen.
  • Mail‑Resolver: Tragen Sie eine gültige Adresse ein; der Button erzeugt eine voradressierte Mail mit bibliographischen Daten.
  • Logging: Für Debugging empfiehlt sich serverseitiges Logging der ausgewählten Resolver und der finalen URL.

Sicherheit & Betrieb

  • CSRF: Formulare sind CSRF‑geschützt.
  • Prepared Statements: Alle DB‑Operationen verwenden Prepared Statements.
  • URL‑Escapes: Verwenden Sie {FELD:url} für korrekt codierte Parameter.

Fehlersuche

  • „Bedingungen (JSON) sind ungültig“: JSON validieren – z. B. mit einem Online‑Validator, Anführungszeichen beachten.
  • „Kein passender Link erzeugbar“: Prüfen, ob ein Resolver aktiv ist und die Bedingung wirklich matcht; Fallbacks (DOI/Homepage) vorhanden?
  • Leere Platzhalter: Ist das Feld im Datensatz befüllt? Ggf. alternative Resolver mit contains/Regex einsetzen.

Hinweis

Sie können beliebig viele Link‑Resolver definieren. Achten Sie auf eindeutige Prioritäten, um die Prüf‑Reihenfolge transparent zu halten.

OPEN‑URL & Link‑Resolver – Kurz erklärt


Ein Link‑Resolver prüft, ob und wo eine Bibliothek Zugriff auf einen Artikel bietet. Aus Metadaten (Titel, ISSN, DOI, Jahrgang, Heft, Seite …) wird eine OpenURL oder eine Zieldomain gebildet. Die Nutzer:innen werden dann zur passenden Ressource ihrer Institution geleitet (z. B. SFX/Alma, 360Link, Verlagsseiten, Proxy‑Zugänge).

Link‑Resolver arbeiten oft mit Discovery‑Services zusammen, um E‑Ressourcen benutzbar zu machen. In CareLit definieren Sie die Regeln selbst – granular, transparent und jederzeit änderbar.