+++ Warnung! Dieses Wiki ist voller Spoiler. Lesen nur auf eigene Gefahr! +++

Änderungen

Aus KingWiki
Wechseln zu: Navigation, Suche

Hilfe:Reguläre Ausdrücke

8.496 Byte hinzugefügt, 16:23, 17. Dez. 2015
Fall 1 - Änderung eines Links oder einer Vorlage: eine 1. Version mit Erklärbärzusatz
; Wie wir normalerweise vorgehen würden
: Im Normalfall würde anhand der Spezialseite <nowiki>[[Spezial:Linkliste/Artikel- oder Vorlagenname]]</nowiki> jeder Artikel einzeln aufgerufen und bearbeitet werden. Wenn der bestehende Artikel als Weiterleitung bleiben soll (Bei den Werkstiteln beispielsweise, siehe weiter unten), kann im Anschluss der falsche Artikel oder die falsche Vorlage mit der Option ''mit Weiterleitung erstellen'' verschoben werden. Soll der Artikel nicht mehr bleiben - bei Vorlagen ist dies immer so - so geschieht die Verschiebung ohne Erstellung der Weiterleitung. Erst im Anschluss kann der falsche Artikel / die falsche Vorlage von einem Admin gelöscht werden.
; : Besonderheit hier: Diskussionsseiten sollten immer mit verschoben werden. Wenn eine existiert ist auch dort jeder Artikel manuell zu korrigieren, auch Diskussionsarchive.  ==== Der Prozess in Kurzform====:Die Überprüfung vor der Verschiebung des falschen Artikels oder der Vorlage bleibt noch immer bestehen. Allerdings geschieht die Änderung der Artikel deutlich schneller und im Normalfall auch zuverlässiger. Folgende Schritte haben sich bewährt: # Aufruf des 'Falschen Artikels' und Wechsel auf die Linkliste# Von dort den Link auf ''Alle bearbeiten'' in einem neuen Tab oder neuen Fenster öffnen. Die Linkliste brauchen wir noch.# In der Spezialseite den regulären Ausdruck/die Ausdrücke auswählen und zuerst Testen lassen## Als Bearbeitungshinweis '[Bot]' der kurzen Erklärung der Änderung voranstellen, damit in der Versiongeschichte und bei den letzten Änderungen besser nachvollzogen werden kann, was passiert ist.# Bei erfolgreichem Test die Änderungen durchführen lassen. Der Haken bei 'Im Browser ausführen' ist bei langsameren Servern hilfreich. Bei den aktuellen Einstellungen ist das aber hier nicht nötig.# Nach der Auflistung der Änderung zurück in das Fenster/den Tab mit der Linkliste wechseln und aktualisieren. Je länger die Liste vorher war, desto länger dauert es, bis die Liste wirklich das zeigt, was geändert wurde. Wenn die Massenänderung erfolgreich war, sollte nach zwei bis drei Minuten keine Seite mehr auftauchen, die auf den falschen Artikel verlinkt.# Der Artikel / Die Vorlage kann verschoben werden. Zu den Bedingen siehe oben. Nochmal in vereinfachter Entscheidungsbaumform:## Ist das ganze eine Vorlage: die Option 'Weiterleitung erstellen' wird herausgenommen.## Ist das ganze ein Artikel:### Wird eine Weiterleitung gebraucht (Voller Name/Spitzname bei Charakteren, Originaltitel eines Werks): Option 'Weiterleitung erstellen' bleibt drin.### sonst: Option 'Weiterleitung erstellen' abwählen Das war's auch schon. An dieser Stelle sollte davon ausgegangen werden, dass der Umgang mit Spezialseiten und Verschieben Administratoren bekannt ist. Wenn sich aus den vergangenen Punkten Fragen ergeben, bitte zuerst Nachhaken bevor die Änderungen durchlaufen werden. ==== Die regulären Ausdrücke ====Auch hier kommt es ganz darauf an, was getan werden soll. Die einfachste Form ist die Veränderung der Vorlage, obwohl auch hier Gefahren lauern können. Die schlimmste Situation für diesen Prozess ist ein Artikel mit Klammern und alternativer Anzeige - <nowiki>[[Bob (Baumeister)|Bob der Baumeister]]le</nowiki>. Aber auch das ist machbar. Wichtig bleiben Testlauf und Nachkontrolle, dann kann fast nichts schiefgehen. Beginnen wir mit dem einfachen Fall. ; VorlagenBisher haben wir nur einfache Vorlagen ersetzt. Also solche in der Form von <nowiki>{{Vorlage}}</nowiki>. Im Endeffekt spielt es aber keine Rolle, ob dort Variablen mit drin sind, oder nicht. Man muss nur die Abfrage ein bisschen anders gestalten. Aber besser wir gucken uns die Beispiele an: {|class="wikitable" width="100%"|+!|Regulärer Ausdruck!|Ersetzt durch!|Erklärung|+||<nowiki>/\{\{alte Vorlage\}\}/</nowiki>|width="10%"|<nowiki>{{neue Vorlage}}</nowiki>|width="80%"|Der Algorithmus durchsucht alle Artikel nach der Zeichenkette <nowiki>{{alte Vorlage}}</nowiki>. Wenn diese genauso gefunden wurde, wird sie mit <nowiki>{{neue Vorlage}}</nowiki> im Quelltext ersetzt.|+||<nowiki>/\{\{\alte Vorlage[\n]?[\|]?/</nowiki>||<nowiki>{{neue Vorlage|</nowiki>|width="80%"|Der Algorithmus durchsucht wieder die Artikel. Dieses Mal kann aber auch im Quelltext ein Zeilenumbruch vorkommen und/oder ein <nowiki>|</nowiki>, der Beginn und das deutliche Zeichen einer Variable. Hilfreich bei Vorlagen mit Variablen - <nowiki>{{alte Vorlage|OT=blubb|DT=blabb}}</nowiki>. Das heißt, alle Variablen bleiben bestehen und können demnach nach der Verschiebung so weiterbenutzt werden. '''Aber''' das Ganze ist noch nicht vorgekommen, muss also erstmal auf Funktionalität getestet werden.|+||<nowiki>/(\{\{)alte[ |_]Vorlage([\n]?[\|]?*\}\})/</nowiki>||<nowiki>$1neue Vorlage$2</nowiki>||Das ist ebenfalls noch nicht getestet. Aber, in etwa so sieht wahrscheinlich die vollständige Ersetzungslogik aus, die alles erschlägt. Gehen wir Stück für Stück mit der Erklärung durch:# Es gibt Vorlagen, die wurden mit Unterstrichen anstelle von Leerzeichen in Artikel eingefügt. Das erkennt keine der oberen Logiken. Schlimmer noch: Die Wikimedia-Software macht beim Einbinden der Vorlagen keinen Unterschied zwischen Leerzeichen und Unterstrichen, weil es jedes Leerzeichen mit letzterem ersetzt. Wir sagen hier der Suchroutine, dass an der Stelle entweder ein Leerzeichen oder ein Unterstrich stehen darf. Ist für jedes potentielles Leerzeichen einzufügen. # Dann geben wir die Logik vom oberen Fall dazu für den Fall, dass wir Variablen in der Vorlage haben und erweitern ein wenig um es zuverlässiger ersetzen zu können. Wenn es so klappt wie in der Vorstellung dürfte der Algorithmus jetzt nur noch die gewollten Vorlagen ersetzen. Egal ob sie Variablen haben oder nicht.|} ; ArtikelBei Artikeln gibt es auch ''nur'' drei verschiedene Fälle und drei Level der Komplexität, wie oben erwähnt. Gehen wir sie anhand der Beispiele durch.{|class="wikitable" width="100%"|+!|Regulärer Ausdruck!width="10%"|Ersetzt durch!width="80%"|Erklärung|+||<nowiki>/\[\[alter Artikel\]\]/</nowiki>||<nowiki>[[Neuer Artikel]]</nowiki>||Bei einfachen Artikeln, wenn beispielsweise ein Rechtschreibfehler entstand. Ganz banal wird nach jedem Vorkommen von <nowiki>[[alter Artikel]]</nowiki> gesucht und ersetzt. Vorsicht bei Fällen, wo der Link vorher oder danach erweitert wird. Beispielsweise durch Besitz-s. Dort kann es sein, dass diese Ersetzung nicht ausreicht und stattdessen eine etwas erweiterte Variante notwendig ist|+||<nowiki>/\[\[alter Artikel\]\]/</nowiki>||<nowiki>[[Neuer Artikel|Alternativtext]]</nowiki>||Ein wenig erweitertes Beispiel im Vergleich zu zuvor. Natürlich können wir solchen Links auch einen neuen Linktext mitgeben. Beispielsweise der Alte Artikel - oder, wenn wir aus <nowiki>[[Vorname]] [[Vorname (Geschichte)]] machen wollen, die richtige Schreibweise solcher Artikel: [[Vorname (Geschichte)|Vorname]]</nowiki>. Die Variante ist auch für die Fälle hilfreich, in denen der Text nach dem Wikilink noch erweitert wird.|+||<nowiki>/(\[\[)alter Artikel([^]]*\|*[^]]*\]\])/</nowiki>||<nowiki>$1neuer Artikel$2 </nowiki>||Die eierlegende Wollmilchsau, vor allem für die Umsetzung von Originaltitel zu deutscher Übersetzung von Werken bisher. Werke werden bei uns inzwischen durch Inhaltsangaben, Rezensionen, Charakter- und Schauplatzlisten erweitert. Das bedeutet, jeder Link <nowiki>[[Kurzgeschichte]]</nowiki> zieht auch ein <nowiki>[[Kurzgeschichte/Charaktere]]</nowiki>, u.ä. nach sich. Das heißt, unser Suchalgorithmus muss auch die Fälle finden, die nach dem alten Artikelnamen noch Extras enthalten können (<nowiki>[^]]*</nowiki>). Außerdem kann dieser Teil der komplette Link sein, muss aber nicht. Gerade die Listen werden meistens als ''Charaktere'' oder ''Schauplätze'' angezeigt. Das bedeutet, die Pipe '|' kann ebenfalls vorkommen, muss aber nicht (<nowiki>|*</nowiki>). Das gleiche für Textzeichen danach. (<nowiki>[^]]*</nowiki>) Auch hier die Vorgabe, dass es beliebig viele sein können, oder aber gar keine.  Besonderheiten durch Unterstriche sind zum Glück bisher nicht vorgekommen. Verlinkungen sind immer ohne angelegt - bisher.|}Auch hier gilt: Testen, nachkontrollieren, nachjustieren, nochmal testen. Hilfreich ist es, mit Hilfe der Optionen der Artikelauswahl nur eine oder vereinzelte Artikel durchlaufen zu lassen. Die Vorschau der 20 ersten Artikel hilft mitunter nicht, wenn die Änderung in einer Vorlage geschehen soll, die in extrem vielen Artikeln verwendet wird und demnach nicht unter dem Test auffällt. Mehr Details weiter unten im Prozess der Änderungen bei den deutschen Titeln.
=== Fall 2 - Einfügen eines Portalhinweises ===

Navigationsmenü