Wikiup Diskussion:Technik/Skin/Benutzerskripte

aus Wikipedia, der freien Enzyklopädie

Tabellenformat

Die Erstausstattung der Tabelle ist soweit erkennbar.

Von vornherein wurde erwogen, die Einzeltabellen zu vereinigen und daraus eine dann sortierbare Gesamttabelle zu machen, nach Skriptnamen und erstem Autorennamen. Dies mag zu einem späteren Zeitpunkt folgen.

--PerfektesChaos 23:01, 23. Jun. 2011 (CEST)

Nach der Sortierung wollte ich eben fragen. Alphabetisch zu sortieren ergibt meiner Meinung nach den wenigsten Sinn. Wenn, dann thematisch, wie es dank der Tabellen auch schon vorgesehen ist. Aber wie sortiert man innerhalb der Tabellen? --TMg 19:35, 24. Jun. 2011 (CEST)
Danke für deine Einfügungen.
Wenn es irgendwann mal ganz, ganz viele sind, wäre eine zusätzliche Übersichtsfunktionalität mittels vereinigter Tabelle denkbar:
  • Vorgabe ist thematisch, innerhalb des Themas manuell alphabetisch reingeschrieben; bei jedem Neuaufbau der Seite somit Voreinstellung.
  • Alles nach Benutzernamen sortieren: Ich hatte doch hier mein XY-Skript beworben, oder etwa nicht, oder wie?
  • Nach Skriptnamen – ich habe hier zwei so komische Skripte in meiner monobook, ah, da ist die Kurzbeschreibung. Bekommt man natürlich auch raus, wenn man dem import-Pfad folgt und dann in der Umgebung des Benutzers rumklickt. Vielleicht hörte man aber auch nur von diesem VGZYX-Skript, da, von diesem User, äh, wie hieß er doch? Groß- und Kleinschreibung müsste mit Sortkey sichergestellt werden.
Ein Vorteil wäre eine glattere, durchgängige Optik; TOC wäre besser manuell zu schreiben und selten zu pflegen.
Das ist aber alles nur Option, Zukunftsmusik, sehe ich leidenschaftslos.
VG --PerfektesChaos 20:27, 24. Jun. 2011 (CEST)

leerzeichen in seitenname

gudn tach!
die bezeichnung "Wikipedia:Technik: Skin/Benutzerskripte" ist in sich inkonsistent (und sieht imho kacke aus), da nach dem ersten doppelpunkt kein, nach dem zweiten doppelpunkt jedoch ein leerzeichen leerzeichen folgt. afaik haben unsere seitennamen normalerweise keine leerzeichen nach den doppelpunkten. spricht was dagegen, den kram nach Wikipedia:Technik:Skin/Benutzerskripte zu verschieben? sorry, falls ich damit eine mir unbekannte lange diskussion wiederaufkochen sollte. -- seth 12:35, 25. Jun. 2011 (CEST)

Hallo seth, ich habe mich auch über die Bezeichnung gewundert, habe sie dann aber hier wiedergefunden. --Wiegels „…“ 13:24, 25. Jun. 2011 (CEST)
hmm, das macht's nicht besser. die leerzeichen werden dort ja nicht wirklich erklaert; evtl. wurden sie dort nicht mal gemeint. hab dort mal auf diesen thread hier hingewiesen. -- seth 16:26, 25. Jun. 2011 (CEST)
Wiegels hat dies richtig erkannt: Besteht der eigentliche Titel aus mehreren Wörtern, sähe es ohne das Leerzeichen noch viel misslicher aus. Gemischt mal mit, mal ohne ist noch grauslicher – tja, man kann es halt nicht immer allen recht machen. --PerfektesChaos 20:06, 25. Jun. 2011 (CEST)
Ist es überhaupt nötig, Wikipedia-Seitennamen mit neuen Präfixen zu versehen? Zur Klassifizierung dienen Kategorien und zum Navigieren können Navigationspfade und Linkboxen eingesetzt werden. --Wiegels „…“ 22:29, 25. Jun. 2011 (CEST)
Das hat in den letzten Jahren zu einer zunehmend beklagten Überflutung des Projektnamensraums geführt, in dem sich momentan niemand mehr zurechtfindet.
Das Problem sind die nicht-selbsterklärenden Namen, wie Huggle, Prora, Bugzilla, Skillshare, CatScan – und auch Skin. Wer kein Kenner der Materie ist, kann damit nichts anfangen. Im Suchergebnis und auch sonst wird zunehmend Gaga ausgeworfen.
Auch die mit den Kategorien generierten Zusammenstellungen von unverständlichen Namen sind dann wenig aussagefähig, wenn die Kategorie nicht sehr trennscharf ist. Hinzu kommt, dass lauter loses Zeugs überall zwischendrin steht. Ein zuverlässiges Kategoriensystem ist derzeit nicht vorhanden; die manuell gepflegten Linkboxen sind für eine Teilmenge der über viele Jahre vorhanden Seiten nutzbar, erfassen aber nur noch einen Bruchteil. Systematische Leitseiten zu abgegrenzten Themen sind nicht überall vorhanden und nicht vollständig.
Das WP:Autorenportal kann die Übersicht auch nicht mehr leisten, sondern nur noch Aktuelles und die wichtigsten Links anbieten.
Im ANR mit seinen 1¼ Millionen Artikeln ist es völlig klar, dass es keine hierarchische Struktur geben kann, um den Kölner Dom in genau einen Dateipfad einzusortieren. Kategorien sind hier die einzige Möglichkeit, mindestens den Autoren einen Pfad durch den Dschungel zu weisen, mit Glück auch den suchenden Lesern.
Im WP:NR gibt es auf Top-Level ein oder zwei Dutzend Arbeitsgebiete, die sich überschaubar abzählen ließen. Zu jedem davon lässt sich mit Präfix oder Subpage auch eine namentliche Verdeutlichung finden. Ich muss dann nur noch die ersten 5, 6, 8 Buchstaben lesen, um zu wissen, woran ich bin. Teilweise funktoniert das ja auch, wie ich an der oben von dir zitierten Stelle dargelegt habe: Lösch-, Presse-, Babel, Admin, WikiProj- usw. Der Rest mag 2005 mit einer überschaubaren Anzahl von Seiten (die man sich noch merken konnte, WP:Die Lust, blau zu machen) funktioniert haben. Inzwischen sind wir aber so stark gewachsen, dass es niemanden gibt, der da noch durchsteigt.
Schönen Sonntag einstweilen --PerfektesChaos 12:58, 26. Jun. 2011 (CEST)
(BK) nein, erweiterte praefixe sind normalerweise nicht noetig, sondern verkomplizieren haeufig sachen nur (seitennamen sollte man sich merken koennen). allerdings kann sowas hin und wieder schon sinn machen, wobei dann eher slashes statt doppelpunkte verwendet werden sollten, weil slashes von der software auch entsprechend interpretiert werden und dann z.b. automatisch links zum uebergeordneten knoten erstellt werden: bspw. ist auf Wikipedia:Technik:_Skin/Benutzerskripte oben ein link zu Wikipedia:Technik:_Skin angegeben.
hab ich es denn soweit richtig verstanden, dass mixturen aus ":" und ": " uns am schlechtesten gefallen?
gibt es schon weitere diskussionen zu dem thema ausser der oben von Wiegels verlinkten? sollte diese diskussion an einem anderen ort gefuehrt werden? vielleicht nach WD:NK verschieben? -- seth 16:30, 26. Jun. 2011 (CEST)
  1. In der o.a. Darlegung vom 13. Juni 2011 hatte ich bereits darauf hingewiesen, dass ich die Frage „Präfix oder Subpages“ leidenschaftslos sehe. Niemand hatte darauf inhaltlich geantwortet. Nun habe ich exakt die Version benutzt, die dort explizit benannt wurde.
  2. Zur Zeit gibt es eine „Redaktion für alle Projektseiten“ in Gründung; momentan anscheinend noch auf Namenssuche. Sie beabsichtigt offenbar, in naher Zukunft ein ausgearbeitetes Konzept für die Strukturierung aller Seiten des WP-Namensraumes vorzustellen; anscheinend ist dann ein MB zu dieser Fragestellung vorgesehen.
  3. Um eine sinnfreie Hin- und Her- und wieder Zurückschieberei von gerade erst angelegten Seiten zu vermeiden, würde ich es gern jetzt erst mal bei dem momentanen Zustand belassen (der seit 12. Juni einschließlich Leerzeichen vorgezeichnet ist) und nach Beendigung des MB so wie dann beschlossen verfahren.

Schönen Rest-Sonntag noch --PerfektesChaos 17:21, 26. Jun. 2011 (CEST)

Bookmarklet

Hallo, ich habe ein kleines Helferlein als Bookmarklet programmiert. Kann es hier auch mit drauf? --Nightfly85 | Disk 12:07, 8. Sep. 2011 (CEST)

  • Für Bookmarklets wird es irgendwann eine eigene Seite geben; zurzeit Abschnitt in Wikipedia:Browser-Unterstützung #Bookmarklets.
  • Dort kannst du es gern eintragen; vergiss nicht die Doku (Beschreibung für die interessierten Anwender).
  • Wenn es so klein ist, dass es in ein Bookmarklet passt, ist es vermutlich für „Benutzerskripte“ zu klein.
Liebe Grüße --PerfektesChaos 12:28, 8. Sep. 2011 (CEST)
Danke. Habe es auf der Bookmarklet-Seite eingefügt. Warum Bookmarklets nicht als gesonderte Sektion auf "Benutzerscripte" führen? Ist ja im Prinzip nichts anderes. -- Nightfly85 | Disk 12:42, 8. Sep. 2011 (CEST)
  • Das hängt mit der unübersehbaren Flut an kleinen Helferlein zusammen. Weitere findest du unter Wikipedia:Skin/Baukasten und Wikipedia:Skin/Benutzerskripte (bis 2011).
  • Ein dahinterstehendes, umfangreicheres Skript, das auf deiner Benutzerseite bleibt, dort auch mit Bedienungsanleitung dokumentiert ist, und regelmäßig auf deiner Benutzerseite von dir gepflegt und weiterentwickelt wird, wäre ein „Benutzerskript“ im Sinne dieser Seite.
  • Was als Bookmarklet eingetragen ist, ist von deinen Benutzerseiten abgekoppelt; die Wartung und Pflege wird unklar.
  • Ein Bookmarklet ist nur eine andere technische Möglichkeit, einen Javascript-Code zu starten; dies ginge auch über Edit-Buttons; siehe Skin/GUI.
  • Wenn du das, was du gerade eingefügt hast, als Unterseiten deiner Benutzerseite mit einer Doku-Seite als Wikitext versiehst, und eine weitere Unterseite mit der Endung .js, die von Anwendern importiert werden kann, dann kannst du gern die Doku umseitig wahlweise unter „Zusatzinformationen“ oder „Versionsgeschichte“ eintragen; dort ist es sicher wertvoll. Ausschlaggebend ist aber, dass ein Anwender das einfach benutzen und integrieren kann.
Liebe Grüße --PerfektesChaos 13:07, 8. Sep. 2011 (CEST)

Unterschreib-Skript (signing)

Hallo, ich habe nun die Dokumentation des Signatur bzw. Unterschreib-Skriptes erstellt. Momentan scheint es kaum jemand zu benutzen (bzw zu kennen?). Deshalb würde ich mich über Tester freuen. Dass es einen breiten Bedarf gibt kann man hier erkennen: Wikipedia:Verbesserungsvorschläge/Archiv/2008/April#Signatur-Button (seit dem kommt die Frage auch immer wieder). Vielleicht ist es nun reif für ein Gadget!? Viele Grüße -- πϵρήλιο 13:31, 29. Dez. 2011 (CET)

Neues Script erstellt

Datei:NumViewerScript.png
Das Script in Aktion (Beispiel: Inception-Artikel)

Ich habe ein neues Script erstellt, welches die Anzahl der Seitenbeobachter ausgibt (nach Ajax-Call).

/**
 * Anzahl der Beobachter für Artikel
 * (NumViewer-Script)
 *
 * Author: Benutzer:Nightfly85
 */
$(document).ready(function() {
    var articleName = mw.config.get('wgTitle'),
        infoUrl = 'http://de.wikipedia.org/w/index.php?action=info&title=' + articleName,
        $siteTopNav = $('#p-views ul');
 
    $.ajax({ url: infoUrl }).done(function(data) {
 
            var $infoPage = $(data),
                $infoPageTableRows = $infoPage.find('table.wikitable.mw-page-info tr'),
                numViewer = 0;
 
            $infoPageTableRows.each(function(i, el) {
                var $cells = $(el).find('td');
                if($cells.first().text() == 'Anzahl der Beobachter der Seite') {
                    numViewer = $($cells[1]).text();
                }
            });
 
            var liClass = mw.config.get('wgAction') == 'info' ? 'selected' : '',
                numViewerText = (numViewer > 0) ? 'Beobachter: <strong>' + numViewer + '</strong>' : 'Kaum Beobachter';
 
            $siteTopNav.prepend('<li class="' + liClass +'" ><span><a href="' + infoUrl + '">' + numViewerText + '</a></span></li>')
 
    });
});

Habt ihr hierzu Verbesserungsvorschläge? --Nightfly | Disk 11:49, 22. Jan. 2013 (CET)

Ohne es getestet zu haben:
  • Die URL sollte so gestaltet sein, dass das Skript auch in anderen Sprachen (zumindest wenn man dort Deutsch als Interface-Sprache eingestellt hat), Schwesterprojekten und über https: funktioniert.
  • Bei Seiten mit & im Titel funktioniert es nicht, vermutlich erlaubt das sogar XSS-Angriffe.
  • Selbst wenn es nicht anders möglich ist, ist Screen Scraping böse, falls es noch keinen Bug in Bugzilla gibt, sollte man dort darum bitten, den Wert auch per API auslesbar zu machen.
  • Wie sieht das in anderen Skins aus?
--Schnark 11:59, 22. Jan. 2013 (CET)
Hallo Schnark, vielen Dank für deine Tipps. Die erste Kritik habe ich befolgt und mittlerweile aktualisiert (s.u.). Das ist jedoch immer noch nicht lauffähig, da die Info-Tabelle je nach Wikisprache andere Inhalte besitzt (Typische Nachteile des Screen Scraping eben...) Zudem weiß ich, dass Screen Scraping nicht die feine englische Art ist - aber ich konnte derzeit keine Informationen bzgl. einen API-Zugriff finden. Andere Skins sind noch nicht getestet. Man müsste für jeden Skin einen eigenen Handler schreiben, da jedes Skin für die obere Artikelansicht-Navigation sicherlich andere IDs bzw. Bezeichner verwendet. Was kann ich konkret tut, um den korrekten, URL-codierten Titel herauszubekommen?
// [...]
var articleName = mw.config.get('wgTitle'),
        lang = mw.config.get('wgContentLanguage'),
        infoUrl = '//' + lang + '.wikipedia.org/w/index.php?action=info&title=' + articleName,
// [...]
--Nightfly | Disk 12:07, 22. Jan. 2013 (CET)

Ich habe soeben die gesamte API durchwälzt. Es gibt durchaus Möglichkeiten, sich Informationen zu einem Artikel ausgeben zu lassen (Länge, Namespace etc) aber die Zahl der Beobachter wird nicht mit angegeben. Wo kann ich diese Änderungen anregen? --Nightfly | Disk 17:12, 22. Jan. 2013 (CET)

Bug 44244. --Steef 389 22:07, 22. Jan. 2013 (CET)
Danke. Ich kann dem Tracker nicht ganz folgen. Wurde die Änderung bereits gemerged und ist verfügbar? Oder ab wann kann ich den API-Befehl nutzen? --Nightfly | Disk 22:47, 22. Jan. 2013 (CET)
Zum Kodieren des Titels würde ich Wikipedia:Technik/Skin/JS/mw#.util.wikiUrlencode() verwenden. --Schnark 09:10, 23. Jan. 2013 (CET)
Done, danke. --Nightfly | Disk 11:15, 23. Jan. 2013 (CET)
// [...]
var articleName = mw.util.wikiUrlencode(mw.config.get('wgPageName')),
lang = mw.config.get('wgContentLanguage'),
infoUrl = '//' + lang + '.wikipedia.org/w/index.php?action=info&title=' + articleName,
$siteTopNav = $('#p-views ul');
// [...]
Es ist echt schade, dass es für alle Dinge einen API-Zugriff gibt, nur nicht für diesen Wert. Vielleicht habe ich ja Glück und der Bug wird bald behoben. --Nightfly | Disk 11:15, 23. Jan. 2013 (CET)

Archivierungs-Gadget?

In der deutschen Wikipedia nutze ich normalerweise Archivierungsbots und User:Schnarks „Erledigt-Buttons“. Auf wikitech laufen momentan keine Bots und wären für diese Aufgabe wohl auch overkill :-). Gibt es ein Archivierungs-Script, das Abschnittstiteln auf Diskussionsseiten einen „[Archive]“-Button hinzufügt, der den betreffenden Abschnitt der Unterseite ${Diskussionsseite}/Archive (oder ähnlich) hinzufügt und dann aus ${Diskussionsseite} löscht? --Tim Landscheidt 00:46, 18. Jun. 2014 (CEST)

Etwas Suchen fand en:User:Equazcion/OneClickArchiver, das vielversprechend aussieht. Ich werde es einmal in einer ruhigen Minute anpassen und testen. --Tim Landscheidt 01:10, 18. Jun. 2014 (CEST)

Schnarks Normdatenskript

Spielt bei mir gerade verrückt, d.h. wenn ich es öffne, zeig es mir plötzlich die vorherige Artikelversion an und will da ergänzen, statt die akutelle Artikelversion. Woran kann es liegen? Was wurde geändert, liegt es überhaupt am Skript? --Informationswiedergutmachung (Diskussion) 14:31, 20. Jan. 2016 (CET)

Du bist auf dieser Disk fundamental falsch; hier geht es um die Auswahl, was umseitig erscheinen möge und wie umseitig gegliedert wird.
  • Definitiv jedoch nie um irgendein einzelnes Skript.
  • Zu Benutzerskripten bitte immer erstmal die jeweiligen Autoren befragen.
  • Wenn du generelle Funktionsstörungen der MediaWiki-Software im Verdacht hast, dann WP:TWS.
Hier soweit erl.
VG --PerfektesChaos 15:03, 20. Jan. 2016 (CET)
Hatte ich noch nie, daher hier. Danke. --Informationswiedergutmachung (Diskussion) 15:19, 20. Jan. 2016 (CET)
Es gab heute Wartungsarbeiten, die dazu führen konnten, dass letzte vorgenommene Änderungen teitweise nicht sichtbar waren, siehe hier. --Wiegels „…“ 16:31, 20. Jan. 2016 (CET)
Schlimmer, es werden sogar letzte Bearbeitung zurückgesetzt, wenn man bsp. HotCat benutzt. Siehe dazu auch bei WP:FzW. Das wirkt alles total besoffen auf mich. MfG --Informationswiedergutmachung (Diskussion) 16:36, 20. Jan. 2016 (CET)

Sicherheitsaspekte

In der englischsprachigen Wikipedia lese ich (unter Wikipedia:User scripts #A word about security) dass es Sicherheitsvorkehrungen hinsichtlich der Bearbeitbarkeit von Benutzerskripten gibt; ich gehe deshalb davon aus, dass diese im gesamten Wikipedia-Ökosystem wirksam sind. Leider finde ich umseitig keinen solchen Hinweis. Es wäre gut, diese Informationen hinzuzufügen (und ich würde das auch gern tun), vorher würde ich aber gern genau wissen, ob diese Maßnahmen in der MediaWiki-Software fest integriert sind oder für die gegebene MediaWiki-Installation hinzugefügt wurden.
Unter Manual:Interface/JavaScript - MediaWiki lese ich lediglich: If $wgAllowUserJs is set to true, users can customize the interface for only themselves by creating and importing personal scripts in user subpages with lowercase titles (see below)., werde aber hinsichtlich see below nicht recht fündig (hatte mir eine ausführlichere Erläuterung erhofft).
Vielen Dank im Voraus für jeden Hinweis, der mich hier weiter bringt!
--Uncopy (Diskussion) 12:39, 19. Mai 2020 (CEST)

  1. Das ist in jedem Wiki so; alle Seiten mit JavaScript, CSS oder ggf. JSON unterliegen grundsätzlich besonderer Zugriffskontrolle.
  2. Umseitig hättest du das Thema verfehlt. Das ist nur eine Bekanntmachung, welche Benutzer anderen Benutzern konkret welche Lösungen zur Mitbenutzung anbieten.
  3. Der von dir angerissene Sachverhalt steht auf Wikipedia:Technik/Skin/JS.
  4. Großer Bekanntmachungen bedarf es ohnehin nicht; das merkt sowieso jeder sofort, der versucht, eine fremde Skin-Ressource zu bearbeiten. Das darf noch nicht mal jeder Admin.
VG --PerfektesChaos 13:05, 19. Mai 2020 (CEST)
Danke für die schnelle und kompetente Auskunft! Ich nehme an, einer umseitigen Erläuterung bedarf es nicht? Eine letzte Frage: weißt du zufällig, ob diese Maßnahme von Hause aus in der MW-Software integriert ist, also für alle aktuellen MW-basierten Wikis greift? --Uncopy (Diskussion) 13:10, 19. Mai 2020 (CEST)
Es ist meiner Erinnerung nach fest in die MW-Software einprogrammiert und war nie konfigurierbar.
Für Anwender in der Außenwelt gilt der von dir bereits erwähnte $wgAllowUserJs – diese erlauben aber lediglich normalen Benutzern, überhaupt Skin-Ressourcen zu verwenden.
Grundsätzlich kann man auf jede Seite jedes Namens irgendwelchen Programmcode schreiben und in eine Webseite einbinden. Allerdings gibt die MW-Software nur bei dafür vorgesehenen Seiten den MIME-Typ in der Antwort an, und ohne den weigern sich die Browser aus Sicherheitsgründen, die Ressourcen zu aktivieren.
VG --PerfektesChaos 14:24, 19. Mai 2020 (CEST)
Vielen Dank für die Info. Im konkreten Fall diskutiere ich mit dem "Betreiber" eines öffentlichen MediaWikis, ob die Aktivierung von Benutzerskripten "gefährlich" werden kann. Fazit: nicht sehr. --Uncopy (Diskussion) 14:40, 19. Mai 2020 (CEST)
Benutzerskripte würden erst durch den gefährlich, der sie einbindet. Dazu heißt es umseitig: Binde nur von Benutzern ein, denen du vertraust.
Dass diese nicht von Dritten, nicht mal von normalen Admins verändert werden können, sondern nur von dem vertrauenswürdigen Benutzer oder seinem gehackten Account, macht sie bei gutem Willen schon recht harmlos. Durch Programmierfehler können sie immer noch durchdrehen, aber das konnten wir immer schnell beheben.
Die WMF hat Millionen von Benutzern, und wir leben auch damit. Zumindest in der deWP wurde mir in einem Dutzend Jahren kein Missbrauchsfall bekannt.
Man kann Ressourcen von jeder beliebigen Website einbinden. Deren Quellcode kann der Betreiber jederzeit aktivieren und verändern und wieder in einen harmlosen Zustand zurückversetzen. Benutzerskripte bei MW haben den Voorteil, dass ihre Versionsgeschichte öffentlich einsehbar ist und eine böswillige Aktion kinderleicht und unauslöschbar zurückverfolgt werden kann, woraufhin der Benutzer auch seinen Account los wäre.
VG --PerfektesChaos 14:54, 19. Mai 2020 (CEST)