Benutzer:Schnark/js/personendaten

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Dieses Skript erlaubt das einfache Bearbeiten von Personendaten, insbesondere unterstützt es beim Einfügen neuer Personendaten.

Beispiel für die Benutzung. Woher soll mein Skript denn wissen, dass „in Giussano“ kein Alternativname ist, wo es doch kursiv ist. Das Beispiel zeigt eine alte Version des Skripts.
Neuere Version des Skripts mit der Normdaten-Erweiterung am Artikel Rolf Nevanlinna

Einschränkungen

[Bearbeiten | Quelltext bearbeiten]
  • Fehler des Skripts (inklusive schlechter Vorschläge) solltest du unter Benutzer Diskussion:Schnark/js/personendaten.js melden mit Angabe eines Artikels, in dem das Problem auftrat.
  • Die Vorschläge, die für neue Personendaten gemacht werden, sind wirklich nur Vorschläge und dürfen nie ohne genaue Kontrolle übernommen werden!
  • In den meisten Fällen sollten Bearbeitungskonflikte erkannt werden, allerdings kann es vorkommen, dass dies nicht der Fall ist. In diesem Fall kann man dies aber im angezeigten Versionsunterschied feststellen, dass ein anderer Benutzer etwas geändert hast.
  • Der automatische Bearbeitungskommentar zählt (ebenso wie beim Rückgängigmachen) nicht als Bearbeitungskommentar im Sinne der Benutzereinstellung „Warnen, wenn beim Speichern die Zusammenfassung fehlt“.

Alle Personendaten erhalten einen Knopf „Bearbeiten“. Dadurch öffnet sich am Anfang des Artikels ein Formular, in dem man die einzelnen Felder bearbeiten kann. Bei Artikeln ohne Personendaten, die aber eindeutig eine Person behandeln, wird dieses Formular automatisch geöffnet und die Felder mit Vorschlägen vorbelegt. Bei Artikeln ganz ohne Kategorien gibt es neben der Überschrift einen Knopf um Personendaten zu erzeugen. Bei Weiterleitungen gibt es ebenfalls einen Knopf, um die Personendaten zu bearbeiten oder zu erzeugen, hier wird außerdem der Zielartikel im unteren Teil des Fensters geladen. Trifft keine dieser Bedingungen zu, so kannst du trotzdem über ein Bookmarklet oder die JavaScript-Konsole deines Browsers mit dem Code mw.libs.personendaten.start(); das Formular aufrufen.

Für den VisualEditor besteht eine experimentelle Unterstützung, hier befindet sich der Link zum Aufrufen des Skripts in der Seitenleiste unter „Werkzeuge“.

Im Formular können alle Felder der Personendaten, Kategorie-SORTIERUNG und die Kategorien zur Staatsangehörigkeit, sowie Geboren, Gestorben und Geschlecht bearbeitet werden. Vorbelegt sind die Felder entweder (falls sie vorher leer waren) mit einem automatischen Vorschlag oder mit dem vorhandenen Wert. Im zweiten Fall wird hinter dem Feld ein eventuell abweichender Vorschlag angezeigt, der mit einem Klick übernommen werden kann.

Die Vorschläge für die Kategorien basieren dabei auf den Personendaten und werden neu erzeugt, sobald du dort etwas änderst.

Durch einem Klick auf „Übernehmen“ wechselt man in den Bearbeiten-Modus und kann noch weitere Verbesserungen am Artikel vornehmen um dann letztendlich zu speichern.

In der Fußzeile befinden sich einige nützliche Links, diese werden alle in einem neuen Tab geöffnet.

Die Daten, die sich mit dem Skript bearbeiten lassen, sind:

NAME
Hier soll der übliche Name in der Form „Nachname, Vorname“ angegeben werden. Der Vorschlag beruht auf dem Titel des Artikels, welche Teile davon als Vor- und welche als Nachname erkannt werden, richtet sich vor allem nach der Kurzbeschreibung. In den meisten Fällen ist die Qualität des Vorschlags gut, aber besonders bei Spezialfällen (Adelige, Araber, etc.) sollte man sich nicht stur darauf verlassen, sondern gegebenenfalls eine andere Form wählen.
ALTERNATIVNAMEN
Für die Alternativnamen gilt Ähnliches wie für den Namen. Die Vorschläge stammen hier aus der Einleitung, wobei es vorkommen kann, dass Namen nicht vollständig erkannt werden oder Dinge, die keine Namen sind, als Alternativnamen interpretiert werden. Die Vorschläge sollten daher sehr kritisch geprüft werden.
KURZBESCHREIBUNG
Der Vorschlag für die Kurzbeschreibung wird direkt der Einleitung entnommen. Außer in einfachen Fällen (die zum Glück am häufigsten sind) bedarf er eigentlich immer einer manuellen Anpassung.
GEBURTSDATUM
Das Geburtsdatum aus dem Einleitungssatz wird fast immer zuverlässig erkannt. Aufpassen muss man in Fällen, wo bei fehlendem Datum ein Jahrhundert geraten wird.
GEBURTSORT
Der Ort wird ebenfalls der Einleitung entnommen. Sofern der bisherige Wert auch den Staat enthält, dieser aber in der Einleitung ausgelassen wird, sollte man natürlich den alten Wert beibehalten.
STERBEDATUM
STERBEORT
Auf Sterbedatum und -ort trifft im Wesentlichen das Gleiche zu wie auf Geburtsdatum und -ort.
SORTIERUNG
Der Sortierschlüssel wird aus dem aktuellen Wert für NAME gebildet. Vor allem bei nummerierten Herrschern kann es aber nötig sein, einen anderen Schlüssel zu wählen.
Staatsangehörigkeit
Die Kategorie für die Staatsangehörigkeit wird aus dem aktuellen Wert für KURZBESCHREIBUNG ermittelt. Man sollte immer darauf achten, ob dort tatsächlich die Staatsangehörigkeit gemeint ist und nicht etwa nur das Wirkungsland. Mehrere Staaten können durch einen senkrechten Strich (|) getrennt angegeben werden.
Geboren
Gestorben
Die Kategorien für Geboren und Gestorben werden aus den Werten für GEBURTSDATUM und STERBEDATUM erzeugt und können – sofern diese Werte korrekt sind – eigentlich bedenkenlos immer verwendet werden.
Geschlecht
Die Kategorie für das Geschlecht wird aus der Kurzbeschreibung ermittelt. Models werden dabei immer als weiblich erkannt, sodass ein wenig Vorsicht angebracht ist.

Falls du meine Skriptsammlung Fliegelflagel verwendest, ist das Skript in der Standardkonfiguration bereits aktiv.

Andere Benutzer können das Skript durch folgende Zeile in der eigenen common.js einbinden:

//[[Benutzer:Schnark/js/personendaten.js]]
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/personendaten.js&action=raw&ctype=text/javascript');

Das Aussehen kannst du teilweise über CSS beeinflussen, die Schaltflächen zum Bearbeiten haben die ID pdeditbutton, sodass du ihn mit dem folgenden Code in deiner common.css davon abhältst links an der Überschrift zu kleben:

#pdeditbutton {
	margin-left: 1em;
}

Wenn du in den Eingabefeldern lieber eine Schriftart verwendest, in der alle Zeichen gleich breit sind, verwendest du folgenden CSS-Code:

.templateEditor-table input {
	font-family: monospace;
}
.templateEditor-table input[type="button"] {
	font-family: inherit;
}

Das Skript verträgt sich hervorragend mit dem Skript normdaten.js, das aber auch einzeln genutzt werden kann um die Normdaten zu bearbeiten.

Über den Konstruktor mw.libs.personendaten.PersonendatenParser stellt das Skript seine Funktionen nach außen zur Verfügung. Soll dabei das gewöhnliche Benutzerinterface gar nicht verwendet werden, kann dieses mit config.onlyApi = true; abgeschaltet werden. Eine Anwendung ist das Skript Benutzer:Schnark/js/personendaten.js/test.js, das auf der Seite Personendaten-Test automatische Regressionstests durchführt und zum Debuggen dient.

Der Javascript-Code befindet sich unter Benutzer:Schnark/js/personendaten.js und verwendet Benutzer:Schnark/js/templateEditor.