Unnaschied vunde Gschischde vun "Middawaida:YMS/EagleEye"

Inhalt gelöscht Inhalt hinzugefügt
YMS (Dischbediere | Baidräsch)
Struktur
YMS (Dischbediere | Baidräsch)
Update
Zail 10:
 
 
<div class="mw-collapsible mw-collapsed eeSection" id="eeInstallation" style="border: 1px solid black; padding: 8px;">'''Installation und Konfiguration'''
<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 musssollte eineine Ruleset-Datei definiertangelegt werden, entweder(standardmäßig über die Variable[[Spezial:Meine <code>eeRules<Benutzerseite/code> ebenfalls in deinem Benutzerskripteagleeye.ruleset.js]]), oderals über eine weitere JavaScript-Datei, beispielsweise dasVorlage vondazu mirbietet vorgegebenesich [[User:YMS/EagleEye/ruleset.basicjson.js]] an. Ferner kann über diverse Variablen das Verhalten konfiguriert oder Standardwerte gesetzt 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">
// Konfigurationsvariablen (optional)
var eeRuleset = "User:<Benutzername>/eagleeye.ruleset.js"; // The ruleset file (using a .js file in your user space prevents others from changing your rules)
var eeLang = "en"; // Language (currently supported: de, en; default: user language or project language or en, whichever first is available)
var eeActivate = [true, true, true]; // Activate scanner (portlet and tool itself) / marker / corrector (button and script itself)
Zeile 22 ⟶ 23:
var eeUseSkiplist = [true, false, false]; // Whether the skiplist should be used for scanner / marker / corrector ('''NOTE: not yet implemented for marker/corrector''')
var eeMarkerPrefix = "ee_"; // Prefix for markers (e.g. "ee_" will result in markers like "ee_Doppelwort", may be set to "" for no prefix)
var eeMarkerStyle = "background-color: #FF9191;"; // CSS style for the marker highlighting (more can be defined for span.eeMarker in user CSS)
var eeScannerChunkSize = 10000000; // The chunk size for the database scanner (too low values will fail [depends on database] or cause bad performance, too high values may cause bad performance or even crashes)
var eeScannerListAll = false; // Whether the scanner should list all matches for a page instead of only the first one
var eeScannerPage" = "User:YMS/EagleEye"; // The page that will trigger the database scanner (usually only useful where User:YMS/EagleEye doesn't exist)
var eeScannerResultPage = "User:<Benutzername>/eagleeye.result"; // The default page where result lists are saved (on demand)
 
var eeScannerResultPageWithMatches = true; // Whether saving the result page should include matches (instead of titles only)
// Ruleset (alternativ direkt hier über die Variable eeRules)
mw.loader.load("//pfl.wikipedia.org/w/index.php?title=Benudzer:YMS/EagleEye/ruleset.basic.js&action=raw&ctype=text/javascript");
 
// Script
Zail 36:
Fragen, Fehlermeldungen und Verbesserungsvorschläge bitte an [[:de:User talk:YMS|Benutzer:YMS]] richten. Danke!</div></div>
 
<div class="mw-collapsible mw-collapsed eeSection" id="eeInstallation" style="border: 1px solid black; padding: 8px;">'''Nutzung'''
<div class="mw-collapsible-content">
 
Das '''Scanner'''-Tool wird über den Eintrag "Eagle Eye" in der Navigationsleiste aufgerufen. In der Oberfläche können diverse Optionen eingestellt sowie einzelne Regeln aktiviert/deaktiviert und bearbeitet werden (wird ein code>test</code>-String eingeben, prüft der Scanner automatisch nach jeder Änderung, ob die bearbeitete Regel für diesen weiterhin korrekterweise anschlagen würde). Diese Änderungen werdenlassen jedoch ''nicht'' abgespeichert und stehen folglichsich auch nichtabspeichern, imsofern Markerdu und dem Corrector zur Verfügung. Dafür liefert der "kopieren"-Button auf Wunsch eine KopiervorlageSchreibrechte für jede Regel, die dann einfach per Copy&Paste in die eigene RuleRuleset-Datei eingebunden werden kann. Die Regeln selbst sind als [https://developer.mozilla.org/de/docs/JavaScript/Guide/Regular_Expressions#Schreiben_von_Mustern_f.C3.BCr_regul.C3.A4re_Ausdr.C3.BCcke reguläre Ausdrücke in JavaScript-Syntax] formuliert. Weitere Erläuterungen zum Format der Rulesets im [[User:YMS/EagleEye/ruleset.basic.js|Basis-Ruleset]]hast.
 
Die Regeln selbst werden durch folgende Eigenschaften definiert:
 
* 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].
* Ü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)
* 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. Auch diese Ergebnisseite lässt sich im Wiki-Markup abspeichern, die Seite dafür kann in der Oberfläche frei angegeben werden.
 
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. FernerEs 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.
 
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'').