Benutzer:Pflastertreter/Lesestopf

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

Textschnipsel von hier

Auswertung des Lemmanamens

[Bearbeiten | Quelltext bearbeiten]

Besteht eigentlich die Möglichkeit, den Lemmanamen in einer Vorlage auszuwerten? Gefunden habe ich sowas ähnliches wie intitle, aber mit der (oder war's 'ne andere) kann man nur was an den Lemmanamen anhängen oder voransetzen. Mich interessiert der Name einer Person, besonders der Nachname, also normalerweise :-)) das letzte Wort eines Lemmas und der erste, ggf. ein paar mehr Buchstaben vom Anfang des Nach-, ggf. auch des Vornamens. So benennen einige die Personenlemmata in ihrer DB. Statt nun jeweils einfach stumpf einen Teil der Webadresse in eine Vorlage zu kopieren, fände ich's sinniger, die Bestandteile von einer Vorlage automatisch ermitteln zu lassen, denn die weiß ja zumindest, in welchem Artikel sie drin steht, also zu welcher Person eine Information aus der DB gewünscht wird.... Gibt's dazu was, eine Idee, steht das schon auf irgendeinem anderen als meinem Wunschzettel oder wäre das, Stichwort Serverbelastung, eher ein unerwünschtes und dieserhalb nicht realisiertes Feature? Beispiele? Z.B. das Schlagwort bei Personenartikeln in Meyers/Pierer und Konsorten. --Pflastertreter 21:04, 8. Jun. 2011 (CEST)

Das würde in deinem Fall #lastStrFind und #substr oder sowas erfordern (wenn nicht gleich reguläre Ausdrücke). Das erste Wort eines Seitennamens sollte sich durch geschickte Kombination von PAGENAME, padleft und #ifeq mit VP herausfinden lassen, sogar mit einigermaßen geringer Serverbelastung. Den ersten Fall kann man zwar mit heutigen Mitteln, aber nicht ohne zu hohen Serveraufwand nachbauen, da müssen wir auf die nie kommenden StringFunctions bzw. die aktuelle Version der ParserFunctions - vor der sich unsere Serveradmins aber fürchten - warten. --Bergi 22:18, 8. Jun. 2011 (CEST)
Hm, gehe ich recht in der Annahme, das die Formulierung würde erfordern gleichzusetzen ist mit gibt's noch nicht:-)) ? Gibt's für das Erkennen mit padleft und Konsorten irgendeine Vorlage, wo jemand mal sowas gemacht hat? Meine Phantasie reicht dazu zugegebenerweise leider nicht aus :-((, tippe höchstens drauf, das es auf das Erkennen von Leerzeichen hinauslaufen könnte, wie auch immer das dann gehen soll. Und reguläre Ausdrücke wird man (derzeit?) vermutlich nur auf dem toolserver nutzen können, in 'ner Vorlage, ohne mir die bisher allzugenau angesehen zu haben, sind mir aber noch keine begegnet. Oder sollte ich die doch glatt übersehen haben? --Pflastertreter 20:55, 10. Jun. 2011 (CEST)
Nein, geben tuts das schon; diese StringFunctions werden aber von unseren Serveradmins für unsicher gehalten, zudem befürchtet man dass ihre Freischaltung mit den dann entstehenden, noch viel komplexeren Vorlagen höhere Serverlast erzeugen würde („programmiert lieber eine eigene Extension für komplexe Zwecke“): Bug 6455.
Zur Anregung deiner Phantasie mögen die Vorlagen str find und str left dienen. Die „*“ sind für das nicht-Abschneiden von whitespaces wie Leerzeichen zuständig.
--Bergi 11:12, 11. Jun. 2011 (CEST)
Ich kann nur davon abraten. Es ist einfacher wenn man diese Angabe beim Einbinden der Vorlage ergänzt. Neben der Server-freundlichkeit hast du dann auch keine Probleme mit den Ausnahmen, wie Klammerlemma, Doppelnamen, Mit Bindestrich zusammengeschriebende Namen, vertausche Vor-/Nachnamen (Asiaten) und vielleicht noch andere Konstellationen. So schön die Idee klingt, eine Umsetzung unter MediaWiki ist nicht zu empfehlen. Der Umherirrende 00:11, 12. Jun. 2011 (CEST)
Dem kann ich mich natürlich nur anschließen. --Bergi 13:55, 12. Jun. 2011 (CEST)
Naja, es läuft dann auf einfache C&P-Vorlagen hinaus, obwohl man das m.E. schon manchmal vermeiden könnte, wenn andere Webseiten 'ne halbwegs konsistente Struktur verwenden. Aber ich gebe gerne zu, das ich das nicht unbedingt als erster verwenden und mir damit Unmut zuziehen möchte. Wenn's das irgendwo geben würde, würde ich mir halt überlegen, ob man das für diesen Zweck auch verwenden könnte. Der Aufwand sollte sich also in überschaubaren Grenzen halten. Das Dumme ist nämlich, das manchmal Leute auf die Idee kommen, ihre DB-Struktur vollständig zu ändern, und dann hilft mir der Adressschnipsel in der Vorlage leider überhaupt nicht weiter, wenn's dazu nicht 'ne Umsetzungsrichtlinie gibt. Und je weiter weg der Anbieter, je weiter weg die Lösung, die Handarbeit vermeiden könnte. Einstweilen Dank für die Info. --Pflastertreter 21:41, 12. Jun. 2011 (CEST)
Wenn du meinst, dass eine Umstrukturierung der URIs zu erwarten ist, kannst du den Schnipsel ja in einzelne Parameter aufdröseln; das läuft auf dasselbe wie die Lemmaauswertung hinaus. Oder gehts schon konkret um eine Vorlage, bei der du jetzt keine Parameterumstellung vornehmen willst und lieber was automatisch generieren? --Bergi 11:15, 13. Jun. 2011 (CEST)
Nicht zu erwarten, sonder passiert ist's bei der Iranica, EIr. Die haben alles von den Füßen auf den Kopf gestellt (irgendwo stand was von Neukonzeptionierung des Angebotes durch...). Ursprünglich war's wohl wie im Buchladen nach Band, Faszikel (habe ich mal für Teilband genommen) und Seite oder Abschnitt organisiert. Steht zwar bei etwa der Hälfte der 700-800 Verwendungen noch drin, funktioniert aber nicht mehr, da man jetzt stattdessen etwa den Suchbegriff oder Artikelnamen als Webadresse verwendet. Kommentar? Lieber keinen.... Habe mich also drangemacht, die Vorlage etwas ergänzt und gehe jetzt die Lemmata einzeln durch, um fehlende Parameter zu ergänzen, so dass man wieder da landet, wo was stehen könnte. Ist auch ein bischen Glück, weil man sieht ja nicht mehr, was Autor irgendwann mal gesehen hat :-((. Ansatz ist aber, zumindest diese Bandinformation z.B. zu erhalten, die sich auch mit 'nem Blick in irgendwelche Bibliothekslisten halbwegs verifizieren lässt (virtuell Lemmata Aa-Ai->Band 1, Linkschnippsel bei Aaron v1, usw). Wenn diese Schnippsel mindestens mal in der Anzeige auftauchen würden, wäre zumindest dem mit dem zentnerschweren Archiv schon mal weitergeholfen, die Literaturangabe wäre einfach besser. Aber das ist natürlich nur die halbe Geschichte, den Link und die ergänzenden Info's muss man bei denen wohl nach wie vor raussuchen, das heißt, das mit dem Band wäre eigentlich nur der kleinere, unaufwendigere Teil. Das sieht für mich wie Handarbeit aus, denn Automaten dürften die Iranica wohl kaum lesen und verstehen können, ob das, was sie rausfrickeln, dem entspricht, was im Artikel steht. Bei 'ner anderen Datenbank wird der Nachname als Teil von deren Webadresse verwendet, da fänd ich's halt sinnvoll, wenn ich den automatisch aus dem Lemma rausdröseln und in die Vorlage einfügen könnte. Das würde halt nicht nur da hilfreich sein, sondern eben auch bei Pierer und Konsorten, daher mein o.g. Beispiel. --Pflastertreter 13:50, 13. Jun. 2011 (CEST)

Um mich mitlesend und mitleidend mal einzumischen:

  • Das klänge mir eher nach einem JavaScript, das die (alte?) URL der externen Quelle einliest und nach Regeln und RegExp auswertet; dann daraus einen Vorschlag für neues Link oder Vorlagenparameter generiert, der anklickbar und durch Menschen auf funktionale und inhaltliche Richtigkeit geprüft werden kann.
  • Mein WikisyntaxTextMod kann solche benutzerdefinierten Ersetzungen in gewissem Umfang vornehmen, wenn sich die Regel als RegExp formulieren lässt; für Vorname↔Nachname reicht das.
  • Für weitere Kommentare würde ich mindestens ein konkretes Beispiel (alte URL/Vorlagenparameter → neu gewünscht) benötigen, weil ich die Frage bisher nicht so ganz verstanden habe.

Beste Grüße --PerfektesChaos 14:57, 13. Jun. 2011 (CEST)

Blödes Beispiel aus der Iranica mag dieses sein. Da stehen zwei Einzelnachweise drin, einmal auf iranica v2f6 und einmal auf iranica v4f7. Wenn man die anklickert, landet man bei denen auf der Suchseite. In dem Fall darf man sich dann durchaus fragen, wonach man suchen darf, denn die verendet ja mit englischen Suchbegriffen, also kommt man mit dem Lemma an sich nicht weiter :-(. Hilfsweise kann man den Namen Kambyses englisch mit C wie Cambyses schreiben und landet dann neben 50 und mehr anderen Treffern beispielsweise auf http://www.iranica.com/articles/cambyses-opers, neues Schlüsselwort wäre also cambyses-opers. Das wäre nach den Bibliothekslisten (hier, vermutlich vergängliche URL) dann wohl im Band 4 zu finden, den Rest würde ich als Teilband 7 interpretieren. v4 und f7 liessen sich also in der Vorlage in Band 4, TB 7 umsetzen. Automatisch könnte man damit derzeit nur die Papierform umsetzen, was teilweise dahinter steht, ob das eine Seitenzahl, ein Abschnitt oder Sonderkapitel ist, erschliesst sich mir derzeit noch nicht. Den Treffer aus v2f6 habe ich noch nicht identifiziert, das muss ja dann ein Lemma in der Suchliste sein, was im Band 2 vorkommt. Soweit, so grauslich. Next Problem ist, das man sich das vllt. auch mal ansehen muß und prüfen, ob da das drinsteht, was im WP-Text an der Stelle gerade behauptet wird (hmhm.... :-(( ). Das dürfte aus 'nem Automaten wohl schwerlich herauszubekommen sein. Ob's 'nen Automatismus gäbe, der, sollte man dann mal eine passende Seite identifiziert haben, aus der ihren Seitentitel (Sonderzeichen en gross und en detail), URL-Adresse, den Verfasser und Erstellungsdatum (steht beides ziemlich weit unten, keine Ahnung, ob explizit ausgezeichnet, Verfasser in Klammern) rauskitzelt, wäre dann die andere Sache. Die Parameter dafür habe ich in die Vorlage EIr eingeflickt, verwende die aber derzeit nur, um 'ne halbwegs brauchbare Literaturangabe draus zurecht zu stückeln. Für die EIr läuft das m.E. auf komplettes Neureferenzieren hinaus. Was bisher an alten Links da ist, kann bestenfalls noch einen Anhaltspunkt liefern, das war's dann aber leider auch.
Zweites Projekt ist Miranda. Da laufen derzeit mehr als 500 Links hin, die sehen mal so, mal so und mal anders aus. Die würde ich gerne weitestgehend in 'ne Vorlage reinzwängen. Damit man da aber nicht unbedingt auf deren derzeit etwas uneinheitliche Struktur genagelt ist, sollte die Vorlage Parameter benutzen. Der Nachname gehört bei dem zum Schlüssel dazu, wird allerdings uneinheitlich verwendet. Als eine Option habe ich derzeit eingebaut, einen Teil der derzeit vorhandenen Adresse zu verwenden (Parameter ID=), lieber, weil universeller nutzbar, wäre mir allerdings, diesen Adressschnipsel aus dem Nachnamen der Person (den sollte der Artikel ja kennen :-)) und dem Jahr, in dem er zum Kardinal wurde (sollte irgendwo im Artikel stehen) zusammenzusetzen. Derzeit steht dieses Jahr in der Adresse drin, könnte also auch daraus extrahiert werden. Uneinheitlich ist die Adresse insofern, als auf der Website nach einem Zeitraum unterschieden wird, in dem der Person der Titel verliehen wurde. So gilt für den Herrn Giovanni Battista Re der Adresseabschnitt bios-r.htm#Re (wurde zwischen 1903 und 2003 Kardinal, alphabetisch (r), mit Namen, ohne Jahreszahl in der Adresse), für die davor oder danach gehört die Jahreszahl zur Adresse, für Bertrand du Pouget bios1316.htm#Dupouget (zweisilbiger Nachname :-) mit Jahreszahl), William Joseph Levada bios2006.htm#Levada (mit Jahreszahl und Nachnamen), für Pompeo Colonna bios1517-ii.htm#Colonna (mit Namen, Jahreszahl und einer Zählnummer (Parameter ConsNr)). Die Vorlage habe ich bis jetzt soweit gebastelt, das diese Optionen eigentlich abgebildet werden, hapern tut's noch an der Umschaltung zwischen den beiden Syntaxvarianten. Entscheidend ist der Parameter ConsJ mit dem Jahr der Ernennung, der Switch landet aber leider derzeit nur bei der Defaultoption, weil der Vergleich wohl nicht richtig formuliert ist. Da fehlt mir noch 'ne Idee für die Syntax, switch, ifexpr, if oder expr? Dann kann man die Vorlage auch sicher verwenden. Erweiterungsmöglichkeiten gäbe es noch, um einige Dutzend Konsistoriumslisten ebenfalls mit der Vorlage anzeigen zu können, aber das steht erst später auf meiner Agenda. Fernziel wäre halt, wenn die Vorlage ohne vorheriges Nachsehen in der Datenbank benutzbar wäre, weil die entscheidenden Parameter zur Ernennung und der Name der Person eigentlich bekannt sind. --Pflastertreter 16:54, 13. Jun. 2011 (CEST)

Okay, ich habe einen ersten Überblick gewonnen. Meine Erkenntnisse:

  1. Arbeitstechnik überprüfen: Lokal + Bot statt Einzelartikel
  2. Teilaspekte automatisierbar
  3. Insgesamt manuelle Recherche erforderlich

Zu 1: Meiner Erfahrung nach ist es sehr viel nervenschonender, einfacher und sicherer, nicht in Einzelartikeln zu arbeiten, sondern sich eine Datei lokal auf den PC zu holen, dort nach und nach abzuarbeiten und zum Schluss das Ergebnis von einem Bot (oder meinem o.a. Skript) in die einzelnen Artikel hineinschreiben zu lassen. Du willst schließlich mehrfach über 500 Artikel/Einbindungen umbauen.
Vorgehen:

  • Über API-Abfragen oder Templatetiger (Tool-Server) eine Liste aller Artikel-Namen, deren ID, der Parameter zu generieren; etwa sowas.
  • Diese Liste mit MSExcel, einer OpenOffice-Datenbanktabelle oder sonstwie geduldig lokal bearbeiten. Ich persönlich würde mir eine HTML-Datei aufmachen und deren Quelltext editieren, aber ich kann ja auch mit Emacs zaubern.
  • Bei der Zusammenstellung sollte man möglichst die ID mitnehmen (plaudert API aus); sie ist konstant gegen zwischenzeitliche Verschiebung.
  • Das Bearbeiten in der lokalen Datei/Tabelle ist sehr viel einfacher; wenn du etwa den |Verfasser= eintragen möchtest und der war schon mal, kannst du ihn schnell mit C&P aus einer anderen Zeile einfügen. Die |Zugriff= sind dann einheitlich 2011-07-01.
  • Alle erforderlichen Daten stehen in der lokalen Tabelle oder HTML-Datei oder was immer gewählt wurde. Wenn alles beieinander ist, sich einen Bot-Betreiber suchen, der einem alle notwendigen Vorlagen-Daten in die Einzelartikel einpflegt. Manche sind so lieb und nehmen MSExcel oder HTML und bauen sich dann das jeweilige Format für ihren Bot selbst zusammen. Mein Skript kann sowas auch, Artikel für Artikel.

Zu 2: Ich habe verstanden, dass du aus v6f7 machen möchtest: |Band=6|TB=7| – das ist automatisierbar; wenn ohnehin ein Bot tätig ist, kann man ihm das mit aufgeben. Falls du mein erwähntes Skript nutzen möchtest, würde es das auch können, beispielsweise:

  var Modif_Text  = [
      ["\\{\\{EIr\\|v([0-9]+)(f([0-9]+))?(\\|[^}<>\n]+)?\\}\\}",
       "{{EIr|$1$2$4|Band=$1|TB=$3}}"]
                         ];

Zu 3: Ich habe dich so verstanden, dass du zwar noch die alten ID kennst, etwa v6f7 – jetzt aber alle URL sich geändert haben, und neu gesucht werden müssen als Iranica_Artikel_Kennung. Da wünsche ich viel Spaß; automatisch wäre dir nicht zu helfen. Aber glaube es mir: Wenn du mit dem lokalen Arbeiten grundsätzlich klarkommst, geht das einfacher.

Hoffe geholfen zu haben --PerfektesChaos 21:00, 13. Jun. 2011 (CEST)

Wegen 3): Bei der Iranica bin ich mittlerweile dazu übergegangen, mir die Artikel darüber anzeigen zu lassen. Dann hat man die gleichartig vorhandenen Vorkommen halbwegs zusammen und die Artikel bearbeite ich dann auch zusammen, meistens behandeln die ähnliche Themen, lesen muss man die sowieso. Die Vorlage wird dann passend ergänzt und in die entsprechenden Artikel eingebaut, dabei dann gleich auch andere Wartungsarbeiten erledigt. Ich habe also nicht vor, die 500 mehrfach durchzumusen :-)). Das in 'ner lokalen DB/Tabelle/whatever zu verwursteln, da kann ich mich irgendwie nicht so recht dran gewöhnen. Es gibt ja nur einen geringen Teil, der automatisierbar ist. Und was korrigiert ist, ist korrigiert, taucht in der Liste nicht mehr mit 'nem fehlerhaften Link auf. Das, wenn lokal, über die Artikel-ID mitzunehmen, ist eine gute Idee, die hatte ich bisher noch nicht. Hinterher bzw. wenn möglich auch zwischendurch wärs günstig, den Stand ab und an per TT zu überprüfen. In dieser Übersicht ist zwar was drin, die scheint aber a) nicht aktualisiert zu werden und/oder nicht auf den Online-Bestand zuzugreifen (Buschehr hatte ich z.B. schon erledigt) und b) zeigt sie nicht zu allen eingebundenen Vorlagen alle verwendeten Parameter an. Habe ich da 'ne Möglichkeit, 'ne aktuelle TT-Übersicht zu erzeugen? Oder erfordert das den Account auf dem Toolserver? API? Wer hat darauf Zugriff? Vermutlich der Toolserver und dessen Benutzer (zu denen ich derzeit wohl nicht gehören dürfte?)? Hinzu kommt die Differenz zwischen den etwa 200/230 Einbindungen der Vorlage und den 780 Verwendungen des Links, abzüglich Diskussionsseiten und WP-Namensraum. Man kann sich also nicht allein auf die vorhandenen Vorlageneinbindungen beschränken, eigentlich sollte die Vorlage ja in allen Artikeln passen, auch da, wo sie bisher nicht genutzt wird. Zum JS muss ich mir wohl erstmal irgendwo ein Beispiel ansehen, damit habe ich bisher noch nix gemacht. Aber spätestens für's zweite Projekt wäre das dann vllt. noch nützlich. In deinem Beispiel fällt mir nur die Zuweisung TB=$3 auf, die ich so nicht erwartet hätte. Was verbirgt sich hinter $2 ? Das f oder der Wert dahinter?--Pflastertreter 23:19, 13. Jun. 2011 (CEST)
  • Mit dem Arbeitsstil musst du sehen; es läuft entspannter, wenn man sich nicht mit Vorschau/Speichern quälen muss. In irgendwas wie beispielsweise Excel lässt sich auch das Vorbelegen mit Nachname und Vorname realisieren, indem du sagst: „In alle Zellen der Spalte VParam soll reingeschrieben werden, was beim Auslesen der Spalte Artikelname durch diese und jene Funktion zusammengebaut wurde.“ Auf einer lokalen HTML-Seite funktionieren die Weblinks, in MSExel aber auch und in einer OpenOffice-Tabelle meiner Erinnerung nach ebenfalls.
  • Die Ziffer hinter dem $ ist die laufende Nummer der Klammerausdrücke. TB=$3 bekommt den Inhalt der dritten Klammer; das sind diejenigen Ziffern, die auf das f folgen, also die „7“.
  • Wie oft TT seine Datenbasis aktualisiert, weiß ich nicht. templatecount zählt aber auch nur 230 Artikel, in denen das vorkommt (Mehrfachverwendung möglich). Wenn es 780 Weblinks gibt, müsste mit einem genialen Akt herausgefunden werden, auf welchen Seiten ein Weblink steht, jedoch keine Vorlage eingebunden wurde. Whatlinkshere kommt auch nicht über 250 hinaus. (Kunstgriff: In der Vorlage statt www.iranica.com mal WWW.IRANICA.COM schreiben. Was dann in der API Kleinschreibung behält, läuft nicht über Vorlage.)
  • Von der automatischen Einbindung eines Lemma-Namens (worauf dieser Disku-Abschnitt und deine Ausgangsfrage abzielte) kann ich nur dringend warnen und mich dem Umherirrenden anschließen. Das geht öfter schief, als es Arbeit einspart: Weil wir den zweiten Vornamen haben und das Lexikon nicht, oder das Lexikon ihn mit dem Anfangsbuchstaben abkürzt, oder unser Klammerlemma nicht passt, oder das Lexikon die mehrfachen „Paul Meier“ durch irgendwas unterscheidet.
  • Es ist mir auch nicht ganz geheuer, was Vorlage:EIr ohne Parameter macht. Bei {{EIr}} würde ich lieber die bibliografische Angabe mit Verlinkung der Startseite sehen. Wenn jemand daraus das Klammerlemma „Apadana (persisch)“ macht, geht die Vorlage stillschweigend in die Binsen. Der URL-Bezeichner sollte immer explizit angegeben werden.
Gute Nacht einstweilen --PerfektesChaos 01:08, 14. Jun. 2011 (CEST)
Ich denke mal, dass die Vorlage in einigen Artikeln mehrfach eingebunden wird, was die Zahlen erklären könnte. BTW: Welches deiner Skripte kann HTML/Excel Artikel für Artikel abarbeiten? --Bergi 13:09, 14. Jun. 2011 (CEST)
HTML/Excel Artikel für Artikel abarbeiten – kann ich aus dem Handgelenk natürlich nicht, aber ich wüsste privat, wie ich ohne Informationsverlust und menschliche Fehler dahinkomme. Maschinelle Fehler in beliebiger Größenordnung generierbar.
Aus HTML mit regulären Ausdrücken ein Javascript machen; in Excel hätte ich zwei Spalten alteEinbindung und schließlich neueEinbindung, die ich ausgeben und in einen Javascript-Ersetzungsausdruck umwandeln würde – eine einzelne Definition für alle 250 Artikel / 780 Einbindungen auf einmal.
Danach könnte man die 250 Artikel einzeln manuell aufrufen, woraufhin mein publiziertes Skript jeweils automatisch die Ersetzung vollzieht. Oder ein auf meinen Benutzerseiten vorhandenes, jedoch nicht beworbenes Skript anpassen, das eine Liste aller curid bekommt, nacheinander für jede curid öffnet, automatisch editiert, speichert. Währenddessen ein gutes Buch lesen. Alternativ auch mit xhtmlrequest, API und edittoken arbeiten.
Beste Grüße --PerfektesChaos 14:55, 14. Jun. 2011 (CEST)
Ja, gut, wie mans macht wüsste ich auch; ich dachte bloß von dir gäbs das fertig :-) Ich muss aber gestehen, dass ich bei dir jetzt nichts gefunden habe, was ich anpassen könnte. Magst du nicht doch verlinkwerben? --Bergi 15:19, 14. Jun. 2011 (CEST)
Bedaure; zu großes Gefahrenpotenzial. Das ist nichts anderes als ein heimlicher Bot, mit dem sich jede Menge Unsinn anstellen lässt; deshalb undokumentiert und getarnt. Ich kenne noch jemand, der sowas startklar in der Garage versteckt hat. Viele Grüße --PerfektesChaos 16:03, 14. Jun. 2011 (CEST)
Das Gefahrnpotential ist mir bewusst (Massen-RegExp-Edit mit AutoSave habe ich sogar schonmal durchgeführt), ich wollte ja selber sowas programmieren :-) Keine Doku macht mir ja nichts, aber getarnt ist er entweder gut oder das Skript noch wenig. Ich gehe mal davon aus, dass du dich auf Benutzer:PerfektesChaos/js/WikisyntaxTextMod/usage/advanced/API#Stapelverarbeitung in Zusammenspiel mit Benutzer:Schnark/js/autoedit#massedit beziehst? Interessiert hätte mich vor allem eine Benutzeroberfläche, da hab ich noch wenig Ideen. --Bergi 20:23, 14. Jun. 2011 (CEST)
@Bergi:
  • Die andere Garage hast du ja gefunden. Auch hier gibt es eine letzte geistige Hürde zu überwinden.
  • Völlig unabhängig davon ist meine eigene interne Programmierung. „Stapelverarbeitung“ beschreibt tatsächlich eine darin verwendete Komponente.
  • Eine fertige „Benutzeroberfläche“ wird es kaum geben können. Die Hauptarbeit ist die inhaltliche Erarbeitung. Hierfür gibt es etliche unterschiedliche Techniken und Software. Wer keinen HTML-Quelltext mag und zu keiner Excel-Lizenz kommt, dem würde ich aus OpenOffice das Base empfehlen; da kann man sich für jede Zeile=Artikel die Spalten definieren als curid, Artikelname, alte Einbindung/Text, diverse Parameter-Basteleien, neue Einbindung/Text. Base kennt reguläre Ausdrücke, mit denen sich die Spalten geeignet vorbelegen und neue Parameterwerte basteln lassen. Hinterher gibt es eine TextExport-Funktion und XML-Ausgabeformat; damit kann man seine Ergebnisse für den Wiki-Import oder Bots aufbereiten.
  • Jeder Bot-Betreiber hat sich sein eigenes Datenformat definiert. Bei mir ist es ein JS-Array, bei dem jedes Element eine Artikel-ID sowie optional Artikel-spezifische Ersetzungsausdrücke enthält. Für jedes Element=Artikel-ID wird die Seite mit raw/XMLHttpRequest geholt, ggf. vorhandene Artikel-spezifische Ersetzungsausdrücke werden an die allgemeingültigen Ersetzungsausdrücke concatted, der Wikitext wird dementsprechend geändert und wieder abgespeichert, fertig.
  • Dass ich regelmäßig AutoEdit betreibe, kannst du auf VersionControl sehen, wenn du dir das Beispiel auf der en.WP anguckst; diese Beispieldatei habe ich schon seit mehr als einem Vierteljahr nicht mehr angefasst.
  • Eine Nur-Lese-Version des oben Beschriebenen heißt bei mir ScanPages.
Alles Weitere muss jeder selbst verantworten. Beste Grüße --PerfektesChaos 12:24, 15. Jun. 2011 (CEST)

@Pflastertreter: Deine Anfrage nach dem lag von Templatetiger:

  • Scheint ziemlich groß zu sein; man schreibt dort noch den März.
  • Das kannst du an diesem edit vom 26. März (2011) sehen. Der STERBERORT steht immer noch hier.

LG --PerfektesChaos 19:28, 14. Jun. 2011 (CEST)

Um beim letzten anzufangen: den Lag hätte ich in der Größe nicht vermutet, macht das Ding aber damit auch für 'ne zeitnahe Übersicht sehr unnütz. Vllt. kann man da gelegentlich jemanden antriggern, dem ein oder zwei Prioritätsstufen mehr zu vergeben :-)). Ansonsten kann ich mir das in drei Monaten nochmal ansehen (und damit quasi nochmal von vorn anfangen...).
Bei der Iranica habe ich für mich den Automatismus gestrichen, mir gehts da nicht nur um den Austausch der Vorlage, ich schau mir meist den ganzen Artikel an, und da ist dann mitunter noch das ein oder andere mehr verbesserungsfähig. Webadressen u.a. könnte man natürlich auch in 'ner Excel-(o.ae.)-Tabelle verwursteln (lässt sich vermutlich in 'ne kommaseparierte Liste exportieren, die man dann mit regulären Ausdrücken umbauen kann), aber bis ich das hingebogen habe, habe ich die Artikel vermutlich schneller zu Fuß überholt. Von möglichen Fehlerquellen ganz zu schweigen. Denn selbst wenn ich die Webadresse in der Tabelle habe, habe ich ja noch lange nicht den Text, auf den die zeigt, und wo ich die Info's rausbekommen muß. Wie ich oben schrieb, ob beispielsweise die Klammerung des Verfassers als Auszeichnung für einen Extrakt aus der Website reicht, wäre ja noch zu probieren, ich weiß nicht, ob die irgendwo innendrin vllt. auch noch Klammern verwenden, und dann wäre man mit dem Klammerbeutel..... Die o.g. TT Übersicht weist etwa 100 Artikel auf (allerdings ohne Artikel-ID), von einigen Artikeln weiß ich, das ich die bereits überholt habe. Dazu kommt noch die Mehrfachverwendung einzelner Iranica-Seiten, abzüglich mehrerer Links im Artikel, ich denke, das ist in überschaubarem Rahmen abzuarbeiten.
Thema Scriptverarbeitung grundsätzlich muss ich mir auch erst nochmal ansehen, gemacht habe ich damit hier bisher nix. Das sieht bei Dir sicher anders aus. Wenn Du selbst das häufiger machst, siehst Du natürlich auch das Potential bei deinem Verfahren. Fällt bei mir weg, dafür kommt die Einarbeitung dazu. Gut, man lernt was sicher auch was dabei..., aber für mich dürfte der Zeitaufwand mit lokaler Tabelle vermutlich größer werden als ohne. Die Vorschau brauche ich sowieso häufiger (vllt. noch nicht häufig genug), und prüfen muss ich das ganze ja hinterher auch noch, ob's funktioniert hat und das richtige drin steht und wie erhofft funktioniert.
Zur parameterlosen Vorlage: Du übersiehst dabei vielleicht, das sich das entwickelt hat. Die Vorlage habe ich nicht erfunden, die gab's schon, und das mit der Aussage, das es ohne Parameter gehen soll. Das das ein Vabanquespiel ist, musst Du mir nicht erzählen. Ich würde mir vielleicht auch wünschen, das sowas funktioniert, nur, damit das gewähleistet werden kann, muss man vorher vermutlich einige Gedanken an das Verfahren verschwenden. Next Step war dann, das die ihre Struktur umgebaut haben. Bei manchen Verwendungen funktionierts immer noch ohne Parameter, nur sicher kann man sich da nicht sein. Ich kann aber nicht vorher hergehen und reinschreiben, das das Ding nicht ohne Params verwendet werden soll oder kann. Das kann ich erst hinterher, wenn ich am Ende der Umstellungswiese angekommen bin, dann habe ich vllt. die Möglichkeit, das Ding so anzupassen, das er bestimmte Parameter verwendet oder nicht. Wenn ich's andersrum anstellen würde, würde ich damit 'ne teilweise funktionierende Vorlage in eine überhaupt nicht funktionierende verwandeln, damit wäre auch niemandem geholfen.
Die Idee mit den Großbuchstaben ist klasse :-)), das werde ich dann wohl mit verwenden.
Zur automatischen Lemmaeinbindung: Ich habe den Verdacht, das wird etwas missverstanden. Ziel muss es natürlich sein, das die Vorlage immer funktioniert, das sie mit möglichst wenig Aufwand funktioniert, das ist erst die zweite Priorität. Von daher stelle ich mir auch nicht vor, so etwas quasi als allein seligmachende Funktion einzubauen, das kann nur eine Option zur Arbeits- und Fehlervermeidung sein. Notfalls muss der Parameter von Hand zu füllen sein, daher auch die Parameterbenennung, die vllt. nicht unbedingt notwendig wäre, es aber - verglichen mit Positionsparametern - m.E. etwas robuster machen kann. Ob's funktioniert, muss man vorher für jeden Einzelfall ausprobieren. Wenn ich 'ne Vorlage irgendwo einbaue, sollte ich zumindest auch mal nachsehen, ob das, was ich gemacht habe, funktioniert. Spätestens dann sollte ich merken, was die Vorlage kann oder auch nicht. Und wenn ich auf 'ne Vorlage treffe, die nur teilweise funktioniert, dann darf ich nur das ändern, was die Funktion verbessert, aber nicht etwas, was andere Teilfunktionen funktionell verschlechtert. Denn das hätte sofort eine negative Auswirkungen auf möglicherweise alle eingebundenen Artikel.
Ad Miranda: Die Fallunterscheidung habe ich jetzt gelöst, zwar nicht so elegant, wie ich mir's vorgestellt hätte, aber sie funktioniert. Die zunächst in's Auge gefasste Funktion switch sollte einmal Webadresse zusammenbauen einsparen, das ist aber leider am größer/kleiner Vergleich gescheitert. Ob ich's falsch geschrieben habe, oder ob die grundsätzlich nur auf Übereinstimmung vergleichen kann, weiß ich nicht. Bei der Vorlage würde ich gerne den Nachnamen der belemmaten Person automatisch aus dem Lemma bestimmen und in der Vorlage verwenden, Asiaten sind selten :-)). Wenn dazu jemand 'ne Idee hat, fände ich das super. --Pflastertreter 00:19, 15. Jun. 2011 (CEST)
  • Templatetiger: Der arbeitet offenkundig nicht auf der Produktiv-DB, sondern auf irgendeinem Backup, Replikat oder was. Das ist ja auch sinnvoll, damit seine Anfragen nicht die Online-Benutzer und -Autoren ausbremsen. Allerdings sollte sowas nicht älter sein als der letzte Dump; vielleicht stellt jemand jedesmal manuell den Dateipfad um, oder nach einem Debugging hat jemand vergessen, einen festen Pfad wieder 'rauszuehmen. Wenn jemand mitliest und weiß, wen und wo man kontakten muss, kann das ja weitergeleitet werden.
  • Arbeitstechnik: Ich schrieb ja ganz oben nur „Arbeitstechnik überprüfen“. Es gab schon häufiger solche Massenedits, bei denen eine alte, ungültige URL durch eine neue spezifische URL und dabei den spezifischen Bezeichner für Vorlagen ersetzt werden musste, und das zu Hunderten. Dann macht es sich leichter, wenn man die WP-Artikel erst gar nicht zu Gesicht bekommt, sondern am Besten nur die alte URL kennt (etwa Jahrgang/Heft/Seite) und dazu die neue URL manuell heraussuchen muss, etwa ID-Nummer, und das stumpf nach und nach abarbeitet, ohne sich im Artikel festzulesen.
  • Spezial:Weblink-Suche und API: Mit der API bekommst du die analoge Liste in gleicher Sortierung heraus wie mit Spezial:Weblink-Suche – allerdings etwas flatterhaft zu lesen, weil das für dich interessante Schlüsselwort ganz, ganz rechts außen steht. Dafür sieht man die zwei Schrägstriche von Ardaschir I. besser. Und es ist nur der ANR, und liefert die Artikel-ID immer mit.
  • Domain-Schreibung: Weil http://iranica.com auch funktioniert, ist es ein alter Trappertrick, langfristig in der Vorlage ohne www. zu verlinken. Was mit www. neu dazukommt, wurde manuell irgendwo eingebaut.
  • Historie von EIr: Ich hatte schon die Geschichte ab 2005 gelesen und dir keine Schuld zuweisen wollen. Gleichwohl hindert das nicht, sofort in der Doku die parameterlose Einbindung als veraltet und unerwünscht zu brandmarken. Für das Auffinden späterer Restbestände parameterlos verbliebener Einbindungen hilft statt des schlafmützigen Templatebettvorleger eine sofort wirksame temporäre Wartungskategorie, siehe etwa Kategorie:Vorlage Der Spiegel mit alten Parametern.
  • Auswertung des Lemmanamens (Überschrift dieses Abschnitts): Das geht schon nur mit Seufzen bei den Schwesterprojekten, etwa Commonscat oder Wiktionary. Obwohl sie prominent an oberster Stelle der Weblinks stehen und jede ein schönes Icon hat und sie 100.000-fach verwendet werden und jeder sie kennt, wird bei Verschiebung eines Artikels (etwa als Klammerlemma) regelmäßig vergessen, den unveränderten Namen auf dem Schwesterprojekt jetzt explizit anzugeben. Was sich ansonsten aber doof liest und redundant wirkt; ich verstehe diejenigen, die die Parameter tunlichst weglassen. Wenn Lysander ein Lysander (Feldherr) wird und dafür Lysander die BKS, geht spätestens in irgendeinem ref/ref die Parameteraktualisierung baden.
  • Arbeitsersparnis: Der Parameterwert (etwa „Name,Vorname“) muss in dem Moment explizit angegeben sein, in dem die Vorlage vom Autor eingebunden, ausprobiert und dann abgespeichert wird. Danach checkt das lange, lange Zeit nie wieder jemand, und ein Fehler kommt nur durch Zufall heraus. Was man machen könnte, wäre für den Vorlagen-Meister einen Vorschlag „Name,Vorname“ zu generieren, der beim ersten Einfügen bereitsteht. Erfahrungsgemäß ist aber entweder bei uns oder bei der externen Datenquelle alles voller Extra-Vornamen, Graf Freiherr von und zu – so dass dies nur ein unverbindlicher Vorschlag sein kann. Stünde hingegen die Vorlageneinbindung erstmal ohne Parameter mit Automatismus im Artikel, bekommt niemand mehr eine Diskrepanz mit. Weil MediaWiki:Gadget-Vorlagenmeister.js in JS geschrieben wurde, ist dies technisch möglich; du müsstest Revvar davon überzeugen, dass er als Default-Knoten für einen Parameterwert einen JS-Funktionsaufruf zulässt, der in Abhängigkeit von der momentanen Situation einen Vorschlagstext dynamisch generiert.

Schönen Tag --PerfektesChaos 10:19, 15. Jun. 2011 (CEST)

Nachträge:
  1. Um niemand zu diskriminieren: Es gibt auch noch einen Templator, der aber offenbar keine Vorbelegung von Parameterwerte erlaubt.
  2. Ein Lösungsweg, den jeder selbst gehen kann, wäre das Bookmarklet – in etwa wie folgt:
 javascript:(function(){ insertTags("{{MeinLexikon|eintrag=" + Nachname_Vorname() + "|Band=}}"); })();
  • Dabei wäre Nachname_Vorname() eine Funktion, die aus dem wgTitle nach Abzug einer eventuellen Klammer den letzten Token als Nachname voranstellt, ein Komma anhängt und dann den verbleibenden Beginn von wgTitle als Vorname(n) anfügt. Vielleicht nur, wenn wgCategories "Frau" oder "Mann" enthält.
  • Jeder kann sich das dann als Bookmark setzen: „Füge mir die Vorlage MeinLexikon ein und gib mir für eintrag= das aus dem Lemma abgeleitete Nachname,Vorname(n)“.
HGZH --PerfektesChaos 15:37, 15. Jun. 2011 (CEST)
Zum Templatetiger: Es gibt keine produktive Datenbank in der die Parameter von Vorlagenaufrufen gespeichert werden, daher ist der einzige Weg über den Dump an den Quelltext zu kommen und diesen zu verarbeiten. Live-Daten bekommt man dann nur durch eigene Überwachung der recentchanges hin, was aber auch Kosten/Aufwand verursacht. Eine Aktualisierung kann aber dort angefragt werden, falls erforderlich. Der Umherirrende 20:39, 15. Jun. 2011 (CEST)
Hilft dir eine solche Liste? Der Umherirrende 21:29, 15. Jun. 2011 (CEST)
@PerfektesChaos
TT habe ich eben gesehen, Datenstand steht aber ganz offiziell auf der Eingangsseite, die sind auch in anderen Sprachen drei Monate alt. Hat sich auf der Disk auch jemand zu gemeldet, Reaktion bisher keine. Projekt gilt irgendwo auch als eingeschlafen...
API: Gute Idee, kannte ich bisher noch nicht. Den Ardaschir habe ich auch noch selbst eingebaut :-)), scheint dem http aber glücklicherweise bisher Wurst zu sein :-).
Dok. EIr werde ich dann wohl mit einem passenden Hinweis anpassen, vorbeugen ist besser als heilen..., vllt. auch a la Spiegel, muss mir das Beispiel noch ansehen.
Commonscat und Konsorten: Du hast recht, aber da ist m.E. auch keine richtige Linkbelegung eingebaut, wie etwa Klammerausbau. Von daher würde ich das nicht unbedingt als Beispiel sehen, wie sowas funktionieren kann, bestenfalls als Beispiel, das es oftmals (englische Lemmata) nicht funktionieren wird. Problematisch halt, das man die Verschiebung nicht sofort sieht, müsste man irgendwie einfärben a la BKL oder bei 'ner Lemmaverschiebung einen deutlichen Hinweis zur Anpassung CSC/Wikiquote u.a. anbringen (Sidenote? Würde vllt. relativ fix ein paar schlafende Hunde wecken...). Mir war die Problematik gar nicht so bewusst, aber Du hast natürlich recht, das das oft vernachlässigt wird. Zumindest die Verschiebefraktion könnte man explizit drauf aufmerksam machen. Wenn's auch nicht alle erreichen wird, vllt. wirds damit etwas besser.
Arbeitsersparnis: Adhoc fällt mir da jetzt das Appertool ein, das er mal zum Zusammenbauen der PD-Daten vorgesehen hat. Da muss die Funktion zum Umdrehen des Namens und zum extrahieren des Nachnamens ja drin gewesen sein. Vllt. ist das irgendwo aufzutreiben, mal sehen.
Templator, JS, Bookmarklet, Vorlagen-Meister werde ich mir ansehen, habe allerdings irgendwie den Verdacht, das der VM die Seitenaufbereitung meines Feuervogels sabotiert :-((.
Werde mal versuchen, ob ich die API und die anderen vorgeschlagenen Listen lokal irgendwie weiternutzen kann.
Euch allen vielen Dank, ihr habt mir viele Stellen zum schlauer lesen gezeigt, ich hoffe, das ich damit weiterkommen werde. Wenn nicht, werde ich mich wieder melden. --Pflastertreter 20:02, 16. Jun. 2011 (CEST)