Benutzer:Schnark/js/personendaten/normdaten
Dieses Skript erlaubt sowohl als eigenständiges Skript, als auch als Erweiterung meines Skripts personendaten.js das einfache Bearbeiten von Normdaten.
Funktionsweise
Die Funktionsweise unterscheidet sich je nachdem, ob es sich um personenbezogene Normdaten handelt oder nicht. In jedem Fall startest du eine Bearbeitung mit dem Klick auf die Bearbeiten-Schaltfläche (auch zusammen mit den Personendaten). Nachdem du die einzelnen Felder (evt. mit Hilfe der dahinter angezeigten Vorschläge) wie gewünscht bearbeitet hast, führt ein Klick auf Übernehmen zur Bearbeitungs-Ansicht, in die schon die Änderungen übernommen und als Versionsunterschied angezeigt werden. Hier können vor dem Abspeichern dann noch weitere Änderungen vorgenommen werden.
Für den VisualEditor besteht eine Unterstützung, hier befindet sich der Link zum Aufrufen des Skripts in der Seitenleiste unter „Werkzeuge“.
Das Skript wird beim Bearbeiten automatisch die alten Parameter auf die neue Version der Normdaten-Vorlage umstellen.
Person
Bei Personen werden folgende Felder angezeigt: GND (Person), GND (Name), LCCN, NDL, VIAF und Sonstige.
Hinter den einzelnen Feldern ist jeweils über ein Fragezeichen die Seite verlinkt, die später in den Normdaten verlinkt wird. Diese Seite wird automatisch in einem neuen Tab (oder Fenster, je nach Browser-Einstellung) geöffnet. Außerdem gibt es jeweils einen Link, um das Feld zu leeren (was im Zweifelsfall von Hand unmöglich sein kann). Hinter der GND gibt es einen weiteren Link, um die zugehörige VIAF-Nummer zu suchen, falls diese nicht automatisch ermittelt wird. Ebenfalls Links zum Suchen nach GND, VIAF und NDL sind in der unteren Zeile.
Bei GND (Person) soll die individualisierte GND eingetragen werden. Fehlt eine solche und soll dies über den Parameter GNDfehlt
signalisiert werden, so trägt man fehlt
(oder auch f
oder etwas anderes, das keine GND ist) ein, ansonsten bleibt das Feld leer. Gibt es eine GND für den Namen, die man eintragen möchte, so kann man dies im Feld GND (Name) tun. Mit dem Doppelpfeil kann man die beiden Einträge für Person und Name vertauschen. In der Fußzeile befindet sich ein Link auf WP:PND/F, damit man dort die Fehler ebenfalls melden kann. Das Datum der letzten Überprüfung wird – sofern vorhanden – einfach übernommen, falls man es aktualisieren möchte, steht einem hierfür ebenfalls in der Fußzeile ein Link zur Verfügung.
In das Feld LCCN kann man diese in einem beliebigen Format eintragen (mit Schrägstrichen und ohne führende Nullen wie in der Vorlage, mit Bindestrich wie in der Worldcat-URL, als ein langer Wert mit Leerzeichen wie unter viaf.org angegeben, …). Das Feld für Sonstige erwartet so etwas wie REMARK=xyz
und sollte fast immer leer bleiben.
Sofern mindestens ein Normdatum vorhanden ist, wird versucht, automatisch die anderen zu ermitteln und die Felder entsprechend zu füllen oder bei Schwierigkeiten Vorschläge zu machen. Wenn die bereits eingetragenen Normdaten nicht zusammenpassen (dies kann bei Fehlern passieren, aber auch, wenn es mehrere VIAF-Nummern für diese Person gibt), dann werden verschiedene Normdaten vorgeschlagen, hier muss man also genauer nachprüfen, welches die richtigen Daten sind. Dies kann auch passieren, wenn man eine der automatisch eingetragenen Nummern von Hand verändert. Hier sollte man nicht sofort auf Übernehmen klicken, sondern zunächst einfach in ein anderes Eingabefeld. Das Skript wird dann die anderen automatisch eingetragenen Nummern zur Sicherheit wieder entfernen, aber als Vorschläge weiterhin anzeigen. Diese kann man dann – sofern sie stimmen – wieder in die Felder übernehmen. Sofern eine nicht-individualisierte GND mit der VIAF-Nummer verknüpft ist, muss man diese manuell nach „GND (Name)“ verschieben.
Außerdem wird – sofern keine GND eingetragen ist – eine Liste mit Vorschlägen für diese angezeigt. Diese Vorschläge beruhen auf eventuell vorhandenen DNB-Portal-Vorlagen (gekennzeichnet als {{DNB-Portal}}
; hier sollte man überprüfen, ob es sich wirklich um eine individualisierte GND handelt) und Vorschlägen eines von Benutzer:APPER programmierten Tools. Ebenfalls Vorschläge gibt es für die NDL- und VIAF-Nummern, falls diese bisher fehlten. Wenn man beim Durchprobieren feststellt, dass keine der Nummern die richtige ist, kann man durch Auswahl von „Vorschläge“ wieder alle eingetragenen Normdaten löschen.
Andere Normdaten
Handelt es sich nicht um eine Person, so werden folgende Felder angezeigt: TYP, GND und Sonstige.
Neben den eventuellen Vorschlägen zum Typ gibt es auch eine vollständige Auswahlliste. In das zweite Feld sollte man die GND eintragen, Sonstige sollte wie bei Personen meist leer bleiben.
Einschränkungen
Das Skript muss Daten von Labs, von Wikidata, von viaf.org und von id.ndl.go.jp laden, wer den Betreibern misstraut, sollte daher das Skript nicht verwenden oder diese Funktionen in den Einstellungen deaktivieren (wobei weiterhin Daten von Labs und Wikidata geladen werden). Je nach Browser kann es notwendig sein, die Seite https://viaf.org/viaf/AutoSuggest einmal manuell aufzurufen und das Zertifikat zu akzeptieren.
Einbindung
Falls du meine Skriptsammlung Fliegelflagel verwendest, kannst du das Skript in der Fliegelflagel-Konfiguration aktivieren.
Andere Benutzer können das Skript durch folgende Zeile in der eigenen common.js einbinden:
//[[Benutzer:Schnark/js/personendaten.js/normdaten.js]]
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/personendaten.js/normdaten.js&action=raw&ctype=text/javascript');
Konfiguration
Wenn du immer eine Bearbeiten-Schaltfläche sehen willst und Fliegelflagel benutzt, kannst du dies in den Fliegelflagel-Einstellungen auswählen.
Ohne Fliegelflagel musst du den Code zur Einbindung ergänzen:
//[[Benutzer:Schnark/js/personendaten.js/normdaten.js]]
mw.hook('userjs.load-script.normdaten').add(function (config) {
config.alwaysShowEdit = true; //oder '#mw-fr-submit-unaccept' statt true
});
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/personendaten.js/normdaten.js&action=raw&ctype=text/javascript');
Code
Der Javascript-Code befindet sich unter Benutzer:Schnark/js/personendaten.js/normdaten.js und verwendet Benutzer:Schnark/js/templateEditor.