Closed zuphilip closed 8 years ago
Ja, analog zu "journalMapping" soll noch eine Konkordanz (Autorennamen <> PPN) im bestehenden Skript "authorMapping" erstellt und das Skript angepasst werden. Das Skript wird dadurch ziemlich lang werden, aber zurzeit die einfachste Lösung.
Es bietet sich wahrscheinlich an, diese Listen auszulagern in eigene Dateien. Zumal auch in einem anderen Kontext evt. andere Listen benötigt werden könnten. Werde ich mir genauer anschauen...
Mein Vorschlag hierzu wäre folgende Implemenierung: https://github.com/UB-Mannheim/zotkat/commit/1ce556d6ab229f3ca300d5e868863a9adad63d9b (dies befindet sich noch momentan im branch autoren-mapping).
Meine Idee war auch noch die Listen als JSON-Dateien auszulagern. Leider bin ich mir nicht sicher, wie man dies dann hier in Javascript in dem Translator Framework von Zotero wieder einbinden kann. @kba @stweil Ideen dazu?
Ich bin mir nicht sicher, ob es richtig ist lokale Dateien durch $.doGet
, XMLHttpRequest
oder eben die Zotero-Variante ZU.doGet
einzubinden...?
If you want to implement this with a local JSON file in the Firefox extension, you will need to use the Mozilla API, c.f. https://github.com/zotero/zotero/blob/7d404e8d4ad636987acfe33d0b8620263004d6d0/chrome/content/zotero/xpcom/zotero.js#L949. Here's an example from the Zotero code base where this is used https://github.com/zotero/zotero/blob/7d404e8d4ad636987acfe33d0b8620263004d6d0/chrome/content/zotero/xpcom/locateManager.js.
There are newer, simpler APIs, e.g. https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/OSFile.jsm/OS.File_for_the_main_thread
However, for development it is probably easier to serve the file from a web server, so you can use the more intuitive HTTP GET calls you mentioned.
@zuphilip Mapping-Funktion positiv getestet und habe paar kleine Änderung vorgenehmen.
Okay, dann sollte die Form gleich bleiben. Ich werden dann bei Gelegenheit einmal mit doGet
das Auslagern testen auch wenn dies dann nur online geht. Die anderen Möglichkeiten, welche @kba beschrieben hat, sind mir zu kompliziert.
@socheres Magst Du die Änderungen wieder als Pull Request schicken?
@zuphilip ich habe nun patch-3 als pull request geschickt. Eine Autorenmappingliste für den Test lade ich auch bald hoch.
Okay, patch-3 ist jetzt eingespielt. Die Möglichkeit solche Listen auszulagern ist noch nicht erledigt.
@zuphilip wie siehst die Chance für die Autoren-Mapping [ognd](http://swb.bsz-bw.de/DB=2.104/SET=1/TTL=1/CMD?SGE=&ACT=SRCHM&MATCFILTER=Y&MATCSET=Y&NOSCAN=Y&PARSE_MNEMONICS=N&PARSE_OPWORDS=N&PARSE_OLDSETS=N&IMPLAND=Y&NOABS=Y&ACT0=SRCHA&=SRCHA&IKT0=1004&TRM0=becker, jürgen&ACT1=&IKT1=4069&TRM1=tpv1&ACT2=&IKT2=8991&TRM2=theo) als "dynamische" Schnittstelle zu nutzen? In ognd kann ich allerdings nicht nach Lebendaten die Datenmenge zusätzlich einschränken, was in WinIBW-Client möglich ist. Überlegt habe ich auch, ob man die Werte "creator.lastName" + ", "creator.firstName" von Zotero an yaz-client übergibt (Base: swb104), um dann die gematchten PPNs - sowohl eindeutige als auch mehrdeutige Treffer - zurückliefen zu lassen. Ähnlich wie du das in Malibu programmiert hast - gut hier hast du php und javascripts als Programmiersprache verwendet -. Allerdings auch hier sind die BIB-1 Attribute nicht ausreichend fürs Filterkriterium. Z.B. f @and @attr 1=1001 "tpv1" @attr 1=1004 "becker, Jürgen". In yaz fehlt sogar die Recherchenmöglichkeit nach Indikator 8991 (Suchschlüssel in WinIBW "rls"). Wenn das BSZ in beiden Tools ihre Recherchenmöglichkeit erweitern könnten, würde die Mapping theoretisch "on the fly" erledigt werden können. Bislang habe ich mühsam mit der Funktion "Excelliste erstellen" in WiniBW die Personensätze heruntergeladen und in Excel auch nach eindeutigen und mehrdeutigen Personen gefilert. Berücksichtigt habe ich dabei auch die "abweichende Namensformen" in 400 Kategorie (Pica3). Bei gleichnamigen Personen wird mehrere PPNs vorgeschlagen. In der Regel zwei PPNs. Z.B. "Althaus, Paul" : "!265473411!, !186545169!" Da ich bei meiner ersten Mappingdatei einige Suchlogik nicht berücksichtigt hatte, werde ich nun eine neue Datei erstellen. Da meine Liste ziemlich lang sein wird, wäre es gut, diese Liste dann bald auszulagern;)
@zuphilip in der [ognd](http://swb.bsz-bw.de/DB=2.104/SET=70/TTL=1/CMD?SGE=&ACT=SRCHM&MATCFILTER=Y&MATCSET=Y&NOSCAN=Y&PARSE_MNEMONICS=N&PARSE_OPWORDS=N&PARSE_OLDSETS=N&IMPLAND=Y&NOABS=Y&ACT0=SRCHA&SHRTST=50&IKT0=2042&TRM0=becker, julius&ACT1=&IKT1=8991&TRM1=theol&ACT2=*&IKT2=8991&TRM2=19**) man doch alle Suchindikatoren für die Suche nutzen.
Dies wurde jetzt als Lookup URLs implementiert für die Prüfung durch die Bearbeiter.
Eine Möglichkeit um (bekannte) Autoren durch die entsprechende PPN zu ersetzen wäre schön.
Beispiel: Ersetze "King, Stephen" durch die PPN 161710654, vgl. auch http://swb.bsz-bw.de/DB=2.1/PPNSET?PPN=161710654&INDEXSET=1
Vielleicht als einfachste Möglichkeit wäre eine Liste mit bekannten und eindeutigen Autorennamen, welche dann beim exporten nach Pica mit der gespeicherten PPN ersetzt werden. Falls der Name nicht in der Liste auftritt, dann soll weiterhin der Autorenname als Text exportiert werden.