Unnaschied vunde Gschischde vun "Middawaida:YMS/EagleEye"

Inhalt gelöscht Inhalt hinzugefügt
YMS (Dischbediere | Baidräsch)
Update
YMS (Dischbediere | Baidräsch)
Update
 
Zail 1:
Tool is under active development. Breaking changes are likely to be introduced without prior or any notice.
 
''EagleEye'' ist ein Tool, das primär zum Aufspüren von mit bloßem Auge schwer zu findenden und mit Bots und automatischen Skripten kaum korrigierbaren Fehlern in der Wikipedia gedacht ist. Es gliedert sich in drei Teile:
 
* Einen Datenbank-Scanner (''Scanner'') zum gezielten Erstellen von Fehlerlisten anhand eines zuvor heruntergeladenen Datenbank-Dumps
* Einen Artikel-Scanner (''Marker'') zum sichtbaren Markieren möglicher Fehler in jedem aufgerufenen Artikel
* Ein semiautomatisches Korrekturskript (''Corrector'') zum Beheben oder Markieren der Fehler im Artikelquelltext auf Knopfdruck
 
Alle drei Teile können unabhängig voneinander genutzt werden, nutzen ansonsten aber denselben Satz an Regeln zum Suchen und Korrigieren der Fehler.
Zail 13:
<div class="mw-collapsible-content">Alle drei Teile sind in JavaScript realisiert, es ist keine lokale Installation erforderlich. Zur Nutzung des Datenbank-Scanners muss jedoch ein [http://dumps.wikimedia.org/backup-index.html Datenbank-Dump] heruntergeladen werden (es empfiehlt sich der jeweilige pages_articles-Dump, der nur die aktuellen Versionen aller Seiten enthält). Ein halbwegs aktueller Browser ist Voraussetzung (erfolgreich getestet wurde mit Opera 12.15, Opera Mobile 12.10, Firefox 21, Chrome 27 und Internet Explorer 10, wobei von Letzterem aus Performancegründen abzuraten ist), ebenso natürlich die Aktivierung von JavaScript in selbigem.
 
Zum Aktivieren muss in die eigene Skript-Datei (<skinname>.js oder gleich [[Spezial:Meine Benutzerseite/common.js|common.js]]) das Skript [[User:YMS/eagleeye.js]] eingebunden werden. Außerdem sollte eine Ruleset-Datei angelegt werden (standardmäßig [[Spezial:Meine Benutzerseite/eagleeye.ruleset.js]]), als VorlageKopiervorlage dazu bietet sich [[User:YMS/EagleEye/ruleset.json.js]] an (die dort definierten Regeln korrigieren die meisten potentiellen Fehler nicht unmittelbar, sondern fügen die im Vorschau-Diff leicht sichtbare Zeichenkette "!!!" ein, um die angebrachte manuelle Überprüfung zu erleichtern - ein Vorgehen, das auch für eigene Regeln empfohlen wird). Ferner kann über diverse Variablen das Verhalten konfiguriert werden. Diese sind optional - im folgenden Beispiel werden die Standardwerte verwendet und die Angaben der Variablen ist daher eigentlich komplett unnötig.
 
<syntaxhighlight lang="javascript">
Zail 46:
* Aktiv: Die Regel wird für Scanner/Marker/Corrector beachtet
* Name: Name (insb. für die Markierungen im Marker und die Ergebnislisten im Scanner)
* Match: Die Suchregel selbst, definiert als [https://developer.mozilla.org/de/docs/JavaScript/Guide/Regular_Expressions#Schreiben_von_Mustern_f.C3.BCr_regul.C3.A4re_Ausdr.C3.BCcke regulärer Ausdruck in JavaScript-Syntax] mit den Erweiterungen der [http://xregexp.com/syntax/ XRegExp]-Bibliothek von Steven Levithan.
** Da etwa das Wortzeichen \w in JavaScript nicht Unicode-tauglich ist (sondern nur [A-Za-z0-9_] erfasst, und damit etwa keine Umlaute), empfiehlt sich der Einsatz des RegExp-Letter-Blocks \p{L}
* Überspringen: Ein weiterer regulärer Ausdruck, den die Fundstellen nicht erfüllen dürfen (optional, derzeit nur im Scanner verwendet, dort auch für alle Regeln abschaltbar)
** Auch Unicode-Properties wie \p{Latin}, Named Captures wie ?<name>, vorangehängte Modifikatoren wie (?i) und Inline-Kommentare sind mit XRegExp möglich
* Überspringen: Ein weiterer regulärer Ausdruck, den die Fundstellen nicht erfüllen dürfen (optional, derzeit nur im Scanner verwendet, dort auch für alle Regeln abschaltbar)
** Derzeit nur im Scanner verwendet (dort auch für alle Regeln abschaltbar), dadurch lässt sich im Scanner die Flut der False Positives eindämmen, die dann in der Artikelansicht doch nochmal überprüft werden können
** Beachte: Für die Skiplist wird ausschließlich der Treffer geprüft, der Kontext ist nicht vorhanden. (Beispiel: Die Suche "t.st" findet "test" und "tast", soll per Skiplist nun aber "taste" ignoriert werden, muss die Suche etwa "t.st.?" lauten)
* Ersetzen: Durch was die Fundstelle im Corrector ersetzt werden soll.
* Test: Ein Beispieltext für den die Suche anschlagen soll, um die Korrektheit der Regel zumindest rudimentär zu testen und auch bei Regeländerungen die Konsistenz möglichst zu sichern (optional)
* Anmerkungen: Notizen
 
Der Scan nach den durch die ausgewählten Regeln möglichen Fehlern startet, wenn über den entsprechenden Auswahldialog ein passender Datenbank-Dump ausgewählt und der Startbutton gedrückt wird. ''Achtung:'' Je nach Größe des Datenbankdumps, eigener Rechnerausstattung, Browser, sowie Anzahl und Komplexität der verwendeten Regeln und diverser weiterer Optionen (Verwendung der Skiplist, Auswahl der Namensräume, Chunk Size, ...) kann diese Suche sehr lange dauern und eine sehr große Ergebnisseite provozieren. Für die deutsche Wikipedia sollten im einfachsten Falle mindestens 15 Minuten eingeplant werden - komplexere Aufgaben verlangen erheblich mehr Zeit (während des Scannens können die ersten Ergebnisse bereits bearbeitet werden, allerdings kann der Browser träge reagieren). Auch diese Ergebnisseite lässt sich im Wiki-Markup abspeichern, die Seite dafür kann in der Oberfläche frei angegeben werden.
 
Es sollte einem klar sein, dass ein Datenbankdump keine aktuellen Daten enthält und daher keine Live-Suche möglich ist. Darin gefundene Fehler können also in der Wikipedia bereits korrigiert sein. Zur Vereinfachung dieser Überprüfung ist das Marker-Tool gedacht.
Zeile 58 ⟶ 62:
Das '''Marker'''-Tool ist in den konfigurierten Namensräumen (Standard: nur Artikel) automatisch aktiv und hebt bei jedem SEitenaufruf verdächtige Stellen ähnlich dem [[:de:Wikipedia:Helferlein/Begriffsklärungs-Check|BKL-Helferlein]] hervor (''aus technischen Gründen werden derzeit nicht alle Fehler gefunden, die die beiden anderen Tools finden, und unter Umständen kann es zu Layoutfehlern kommen'').
 
Das '''Corrector'''-Tool sollte in den seinerseits konfigurierten Namensräumen im Bearbeiten-Modus als zusätzlicher Editbutton ([[Datei:PR_icon.png|22px]]) erscheinen (so unter Einstellungen > Bearbeiten die "Erweiterte Bearbeiten-Werkzeugleiste" aktiviert ist). Die Regeln werden in derselben Reihenfolge abgearbeitet in der sie auch im Scanner-Interface angezeigt werden. Im Standard-Ruleset werden die meisten potentiellen Fehler nicht unmittelbar korrigiert, sondern (neben ggf. dem Korrekturvorschlag) die im Vorschau-Diff leicht sichtbare Zeichenkette "!!!" eingefügt, um die angebrachte manuelle Überprüfung zu erleichtern.</div></div>
Wenn die Ersetzungsregeln nicht nur einfache Syntaxkorrekturen vornehmen sollen (wofür es ggf. [[:de:Wikipedia:Technik/Skin/Benutzerskripte|einfachere Skripte]] oder [[:de:Wikipedia:AutoWikiBrowser|mächtigere Tools]] gibt oder was evt. ein [[:de:Wikipedia:Bots|Bot]] übernehmen könnte), ist die Verwendung eines [[:de:Benutzer:Schnark/js/diff|brauchbaren Diff-Skripts]] zur besseren Überprüfung der vorgenommenen Änderungen sehr anzuraten.</div></div>