Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Oktober 2012 um 16:40 Uhr durch PerfektesChaos(Diskussion | Beiträge)(update). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zusätzlich erfolgt eine Analyse auf solche Fehler, die nicht stillschweigend berichtigt werden können. Darauf werden Benutzer abschließend hingewiesen. Ebenfalls ein Hinweis erfolgt bei zuverlässig automatischer Fehlerkorrektur, bei denen aber die Möglichkeit einer seltenen Fehlinterpretation bleibt.
Zurzeit implementiertes Vorgehen
Sortierschlüssel
Betrifft: {{SORTIERUNG:…… und [[Kategorie:*|……]]
Autoren denken zwar an die Umstellung „Nachname, Vorname“ – vergessen jedoch gelegentlich Umlaute usw., insbesondere wenn mehrere auftreten.
ASCII-Sonderzeichen (Leerzeichen, Klammern, Komma, #,!, auch Sortierung mehrstelliger Zahlen) usw. werden von der Automatik nicht berücksichtigt, lediglich aufeinander folgende Leerzeichen werden auf genau eines reduziert.
Das erste Zeichen des Sortierschlüssels wird ggf. in Großschreibung umgewandelt.
Wenn ein Globaler Sortierschlüssel (SORTIERUNG:/DEFAULTSORT:) vorhanden ist, werden gleichlautende Schlüssel aus den Einzelkategorien entfernt; ansonsten solche, die identisch mit dem Seitennamen sind.
Sortierschlüssel sind anschließend geschützt gegen Veränderungen durch dieses Skript.
ISBN werden als „magic“ in ein Link umgewandelt. Damit dies möglich ist, müssen von der Formatierung Bedingungen erfüllt sein, die richtiggestellt werden, wenn die Absicht zweifelsfrei interpretiert werden kann (Anzahl der folgenden Ziffern exakt zulässig):
Genau ein Leerzeichen zwischen ISBN und Nummer.
Kein Doppelpunkt; Gleichheitszeichen nur bei einem Vorlagenparameter.
Keine Stellenzahl wie etwa ISBN-13 oder ISBN-10.
Großschreibung von ISBN.
Sowohl als Magic Word wie auch bei einem identifizierbaren Vorlagenparameter:
Bindestriche (ASCII 4510) als Gliederung innerhalb der Nummer.
Leerzeichen, Minuszeichen, Bis-Strich, Punkt, , aufeinanderfolgende Gliederungszeichen werden durch genau einen Bindestrich ersetzt.
Bindestriche als Gliederung nachtragen: Beim Sprachcode und der Prüfzifffer sowie bei den EAN-„Ländernummern“ (978 und 979); fehlerhafte Bindestriche entfernen bzw. verschieben.
Im Anschluss wäre in einer ungegliederten ISBN nur noch die Gliederung zwischen Verlag und Titel zu ergänzen. Für praktisch alle Sprachen erfolgt auch dies durch das Skript.
Eine fehlerhafte Prüfzifffer wird natürlich nicht „berichtigt“. Vielmehr werden keine Striche eingefügt oder sonstige Formatierungen vorgenommen, wenn eine fehlerhafte Prüfzifffer festgestellt wird, weil nicht bekannt ist, welche der Ziffern fehlerhaft ist.
PMID
Wie ISBN werden PMID als „magic“ in ein Link umgewandelt. Damit dies möglich ist, müssen von der Formatierung Bedingungen erfüllt sein, die richtiggestellt werden, wenn die Absicht zweifelsfrei interpretiert werden kann (hinreichende Anzahl der folgenden Ziffern):
Genau ein Leerzeichen zwischen PMID und Nummer; kein Doppelpunkt oder Gleichheitszeichen.
Werkzeugleisten-Fehlklicks
Relikte von Fehlklicks auf die Werkzeugleiste wie
<ref>Fußnotentext hier einfügen</ref>
werden im Modus WikisyntaxDeutschVieles entfernt; es hat sie aber offenbar schon jemand systematisch im gesamten Artikelbestand gesucht und bereinigt. Frische Einfügungen werden deshalb nur noch selten angetroffen werden.[1]
Fettdruck in Überschrift und Definitionsterm
In einem Definitionsterm (Zeile beginnt mit ;) kann Fettdruck nicht wahrgenommen werden und wird entfernt.
In einer Überschrift ist der Fettdruck zwar auch nicht zu sehen, aber 2012 im Inhaltsverzeichnis sichtbar (rev:105284) und wird deshalb belassen.
Automatisch nicht korrigierbare Syntaxfehler
Warnhinweis, falls sich nicht alle Fehler automatisch beheben lassen
Das Grundprinzip des Skriptes ist, dass zweifelsfrei interpretierbare Syntax-Elemente, die etwas unglücklich formatiert und weniger gut für den Menschen zu lesen sind, unauffällig und ohne Benutzereingriff verbessert werden.
Wenn die vorgefundene Syntax nicht eindeutig ist, so ist dem Skript keine Berichtigung möglich. – Beispiel: == 2 links, rechts 3 === – Anzahl der Gleichheitszeichen nicht ausgewogen Eine Korrektur ist nur manuell möglich und muss aus dem Kontext erschlossen werden.
Fehlermeldungen
Mit einem interaktiven Benutzer kommuniziert das Skript wie folgt:
Alle Fehlermeldungen und risikobehafteten Berichtigungen werden gesammelt; zum Abschluss der Bearbeitung wird eine auffallende Mitteilungsbox angezeigt. Bei Korrektur mit Restrisiko geschieht dies immer auf der Diffpage.
Zwischenzeitlich wird ein Kommentar mit einer Liste aller Fehlermeldungen vor die erste Zeile des Seitentextes eingefügt, wenn es keine andere Möglichkeit gibt. Sofern das experimentelle Live-Preview (bei dem man auf derselben Seite verbleibt) oder auch ein beschreibbarer sessionStorage angetroffen wird, entfällt dies.
Die Zahl der angezeigten Fehler ist standardmäßig auf 7 begrenzt. Durch Folgefehler, vielfach kopiertes falsches Konstrukt oder bei ersten Entwurfsfassungen kann es zu einer unverdaulichen Menge an Fehlern kommen.
Bei Skriptbenutzung kann die Fehlerliste im Anwendungsobjekt abgefragt werden.
Hier werden keine Fehlermeldungen in den Seitentext eingefügt.
Die Komponente .errors.collection gibt alle Fehler wieder; falls es sich um ein Array handelt, sind schwere nicht zweifelsfrei behebbare Fehler gefunden worden. Jedes Element dieses Arrays ist ein Array, das ein Codewort für den Fehlertyp enthält, weiter einen automatischen Behebungsversuch kennzeichnet und den Kontext angibt.
Gestaltung der Mitteilungsbox
Das Aussehen der Mitteilungsbox kann individuell beeinflusst werden. Sie leitet sich von der class=error ab.
Für Routiniers, zum Einfügen in die eigene common.css:
Mittels Anwendungsobjekt lässt sich die maximale Anzahl der interaktiv angezeigten Fehler definieren (mit integrierter Definition des Anwendungsobjekts):
Theoretisch denkbar ist, dass es sich um den Code einer Programmiersprache oder um ASCII-Art handeln soll, der nicht durch <code> oder <syntaxhighlight> geschützt wurde.
<br> am Ende eines Absatzes oder eines Listenpunkts oder vor einem Listenpunkt
Es ist wirkungslos, wenn am Ende oder vor einem Listenpunkt (genauer: einem Block-Element) ein Zeilenumbruch <br> steht; Gleiches gilt vor einem Absatz-Ende (doppelte Leerzeile).
Mehrfache identische Kategorie im Kategorien-Block und mehrfaches identisches Interlanguage im interwiki-Block kann gesucht und die Wiederholung entfernt werden.
Sortierung
Die 2009/2010 geführte Diskusssion wirkt nicht so, als ob die Systematik der Sortierschlüssel bereits zu einem robusten, stabilen und handhabbaren Ergebnis gekommen ist. Deshalb werden vorläufig keine zusätzlichen automatischen Berichtigungen vorgenommen.
Da der Sortierschlüssel bei Ausführung dieses Skriptes gegen Veränderungen geschützt ist, wäre ein zusätzlicher Steuerparameter erforderlich. Damit ließen sich beispielsweise Zahlen als Regulärer Ausdruck linksbündig mit Nullen auffüllen, das Skript wäre Bot-ähnlich benutzerdefiniert für entsprechende Artikel einer Kategorie einzusetzen.
Das selten auftretende Konstrukt [[Kategorie:Mann|Mann]] kann im Einzelfall notwendig und sinnvoll sein; es wäre nur manuell zu berichtigen.