Benutzer:PerfektesChaos/js/deleteShortpages

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

deleteShortpages ist ein JavaScript-Gadget für Administratoren, um serienweise kurze oder leere Diskussionsseiten zu löschen.

Einbindung[Bearbeiten | Quelltext bearbeiten]

  • Wenn das Projekt dieses Gadget bereits registriert haben sollte, genügt ein Häkchen auf der Seite Einstellungen („Helferlein“).
  • Sonst wären die folgenden Zeilen in das persönliche JS wie etwa common.js einzufügen:
mw.loader.load("//de.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/deleteShortpages.js&action=raw&bcache=1&maxage=604800&ctype=text/javascript",
               "text/javascript");

Arbeitsweise[Bearbeiten | Quelltext bearbeiten]

Auf einer zu spezifizierenden Seite wird eine größere Zahl von Wikilinks erwartet. Für jedes Wikilink wird geprüft, ob die zugehörige Seite den Kriterien entspricht, und diese anschließend mit der jüngeren Versionsgeschichte zur Löschung abgeboten.

Zwei Grundtypen von Löschung, die sich nur in der Löschbegründung unterscheiden, sind zurzeit realisiert:

  1. „Ausschließlich erledigte Bothinweise“, Typ „B“
  2. „Unangemessene Bearbeitung“ (Vandalismus oder Irrläufer), Typ „V“
  3. (nicht implementiert) Frei formulierte Löschbegründung.

Seitenauswahl[Bearbeiten | Quelltext bearbeiten]

Für die angebotenen Seiten gilt:

  • Diskussionsseite
    • zurzeit auf Artikeldiskussion begrenzt
  • Leer oder kurz
    • zurzeit auf 50 Bytes begrenzt
  • Existierend; Redlinks unter den Wikilinks werden ignoriert
    • Im Interesse einer schnellen Abarbeitung sollten größere Blöcke von Redlinks aus der Liste der Wikilinks entfernt werden, da für jedes eine Server-Abfrage erforderlich wird.
  • Keine Weiterleitung
    • Bei einer Weiterleitung ist eine Länge von 30 Bytes nicht verwunderlich, aber diese sind nicht das Ziel der Verwaltungsaufgabe.

Kurze Seiten können Hinweise enthalten wie „Vandalismus entfernt“ oder „War nur Bot-Wartungsliste“. Ein ausformulierter enzyklopädischer Diskussionsbeitrag ist auf 50 Bytes eher nicht zu erwarten.

Bearbeitungsmodus[Bearbeiten | Quelltext bearbeiten]

Die spezifizierte Seite mit den Wikilinks ist zur Bearbeitung zu öffnen.

  • Alle Bearbeitungen am Quelltext gehen anschließend verloren.
    • Differenzierte Feinarbeiten an einzelnen Wikilinks sollten deshalb nicht vorgenommen werden.
    • Es kann aber sinnvoll sein, vorab einen größeren Block an Einträgen zu entfernen, um anschließend in einem anderen Bereich zu arbeiten und Konflikte mit gleichzeitig dieselbe Liste abarbeitenden Kollegen zu vermeiden.
  • Seitenvorschau und Diffpage beenden die Anwendung.
  • Im Kopf der Seite wird ansonsten ein Button angeboten, mit dem das Skript gestartet wird.

Wenn beabsichtigt wird, parallel auch Notizen zu bestimmten Zielseiten zu machen; etwa dass manche behalten werden sollen, dann kann die gleiche Seite parallel in einem anderen Browserfenster zur Bearbeitung geöffnet werden.

Benutzeroberfläche[Bearbeiten | Quelltext bearbeiten]

Es werden angeboten:

  • Die jüngere Versionsgeschichte.
  • Ein Seiteninhalt der aktuellen Version, falls vorhanden.
    • Leerer, unsichtbarer Seiteninhalt (etwa nur Leerzeichen oder Leerzeilen) wird von der Mediwiki-Software normalerweise nicht abgespeichert. Sollte jemand trotzdem mit exotischen Zeichen eine unsichtbare Seite produziert haben, wird dies analysiert und dargelegt.
  • Zwei Buttons zum Löschen in den Modi „B“ und „V“.
  • Ein Button zum Vorwärtsblättern.
    • „Vorwärts immer, rückwärts nimmer“ – zum 9. November 2014. Ein Zurück gibt es nicht.

Für die Verlinkungen gilt:

  • Alle verlinkten Seiten werden in einem anderen Browser-Fenster/Tab geöffnet, jedoch immer in demselben.
  • Verlinkt sind:
    • Seitenversion
    • Angemeldete Benutzer
    • Difflink (unter dem Größenunterschied)
  • In dem zugeordneten Zweitfenster kann die analysierte Seite auch bearbeitet werden; etwa durch Rückgängigmachen einer unangemessenen Seitenleerung.

Server[Bearbeiten | Quelltext bearbeiten]

Die angebotene Reihenfolge entspricht in etwa der der Wikilinks. Es kann aber dazu kommen, dass die Seiteninformation zum nächsten Auftrag der Abfolge noch nicht vorliegt, aber bereits ein späteres; dann werden vorhandene Ergebnisse vorgezogen.

Es könnte sein, dass ganze Blöcke an Antworten des Servers verlorengehen. Dann muss ggf. in einem späteren Arbeitsgang der Bestand an verbliebenen Seiten erneut durchgesehen werden.

Das Skript sendet sehr schnell sehr viele Anfragen. Das könnte dazu führen, dass der Server den Anwender für einen bösen Bot hält und die Kommunikation sperrt. Falls das so auftreten sollte, kann ein komplizierterer Drosselmechanismus programmiert werden, der eine Anfrage immer erst dann absendet, wenn die vorherige beantwortet wurde.

Verantwortung[Bearbeiten | Quelltext bearbeiten]

Verantwortlich sind die abarbeitenden Admins, die Benutzerbeiträge und Logbuch der persönlichen Aktionen überwachen können.

Probebetrieb[Bearbeiten | Quelltext bearbeiten]

Voreingestellt ist momentan Benutzer:Kulac/leere disks.

Persönliche Konfiguration[Bearbeiten | Quelltext bearbeiten]

Einige Wünsche können individuell berücksichtigt werden.

In das persönliche JS wie etwa common.js wäre einzufügen (ggf. vor mw.loader.load):

if ( typeof mw.libs.deleteShortpages !==  "object"  ||  ! mw.libs.deleteShortpages ) {
   mw.libs.deleteShortpages  =  { };
}

Anschließend können Vorgaben gemacht werden in der Form

mw.libs.deleteShortpages.option =Wert;
Optionen
option Vorgabe Beschreibung
ids Array mit Seitenkennummern, auf denen nach Wikilinks gesucht wird.
id (7850393) Seitenkennummer einer einzelnen Seite.
Wird ignoriert, wenn ids gesetzt ist.
last jüngste oben Sortierfolge der Versionsgeschichte
  • true – chronologisch: älteste oben, jüngste unten
many 20 Anzahl der abgefragten Einträge in der Versionsgeschichte; mindestens 5 und maximal 50.
Kleinere Werte reduzieren das Verkehrsaufkommen.
max 50 Maximale Seitenlänge, von 0 bis maximal 150.
ns (1) Nummer des Namensraums der zu berücksichtigenden Wikilinks
summaryB "Nur Bot-generierte Wartungsliste" Löschbegründung Typ „B“
summaryV "Keine regelgerechte Nutzung" Löschbegründung Typ „V“

Codes und Stammseite[Bearbeiten | Quelltext bearbeiten]

Quellcode
ResourceLoader
  • ext.gadget.deleteShortpages
  • Dependencies: user und internal
  • Rights: delete
Namensräume 2 4   (Benutzer- und Projektseiten)
mw.libs deleteShortpages