Wikipedia:Technik/Baustellen/Weiterleitungshinweis

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

Wenn auf einer Seite die Vorlage:Weiterleitungshinweis eingebunden ist, soll sie nur angezeigt werden, wenn der Leser über eine Weiterleitung auf diese Seite kam.

Problembeschreibung[Quelltext bearbeiten]

  • Problem ist, dass diese Komfortfunktion nur mit JavaScript funktioniert, weil die tatsächlich angezeigte Seite die statisch abgelegte Zielseite ist. Diese muss im Nachhinein verändert werden.
  • Benutzer ohne JavaScript müssen die Vorlage immer zu sehen bekommen.
  • Außerdem soll es nicht unnötig ruckeln; das heißt aber, für Benutzer mit JavaScript soll die Vorlage standardmäßig immer ausgeblendet sein und nur dann, wenn man von der Weiterleitung kommt, soll sie so früh wie möglich aktiviert sein und möglichst ohne Geflacker von vornherein in der Seite sichtbar sein.
  • Das Dings soll aber nicht unnötig Ressourcen fressen und alle Benutzer ausbremsen; es gibt knapp 1400 Einbindungen, und es ist kein Weltuntergang.
  • Die neue Sprache Lua wird hier kaum helfen, weil deren Ergebnis statisch in der Zielseite steht.

Lösung PerfektesChaos 2013[Quelltext bearbeiten]

  • Noch bevor das DOM ready ist, wird geprüft, ob die Weiterleitungssituation vorliegt.
  • Wenn ja, wird sofort geprüft, ob die Vorlage in diese Zielseite eingebunden ist.
  • Dann und nur dann wird sofort die Wiedersichtbarmachung gestartet.
    • Das CSS erreicht die Kaskade möglicherweise noch vor dem Rendering, so dass es in dieser Situation nicht ruckelt. War die Darstellung bereits aufgebaut, springt’s halt.
    • Das addCSS ist mit großer Sicherheit nach dem MediaWiki:Common.css aktiv und überschreibt die dortige Definition.
    • Die Definition muss die identische Spezifizät haben.
  • Die Belastung der Benutzer durch Ausführungszeit und DOM-Manipulation und Ressourcenvergrößerung ist minimiert.

Test auf: http://de.wikipedia.beta.wmflabs.org/wiki/WLH

Betroffene Seiten[Quelltext bearbeiten]

Kategorie:Wikipedia:Seite mit Weiterleitungshinweis[Quelltext bearbeiten]

  • Oder irgendein anderer Name, der ins Weltbld der Kategorisierer passt.
  • __HIDDENCAT__
  • Keine Wartungskategorie im eigentlichen Sinn.

Vorlage:Weiterleitungshinweis[Quelltext bearbeiten]

  • Einfügen der Kategorie:Wikipedia:Seite mit Weiterleitungshinweis wie vorstehend.
    • In includeonly (nicht in der Vorlagendoku wirksam).
  • Warum ist das Dings eigentlich zu?
  • Ggf. auch <span class="redirect-only" style="display:none">{{{1|}}}</span>

MediaWiki:Common.css[Quelltext bearbeiten]

html.client-js #Vorlage_Weiterleitungshinweis {
   display: none;
}

MediaWiki:Common.js oder subpage[Quelltext bearbeiten]

( function ( mw ) {
   "use strict";
   var cats, i, n,
       scope   =  "Wikipedia:Seite mit Weiterleitungshinweis",
       select  =  "html.client-js #Vorlage_Weiterleitungshinweis",
       start   =  mw.config.get( "wgRedirectedFrom" );
   if ( start  &&  mw.config.get( "wgAction") === "view" ) {
      cats  =  mw.config.get( "wgCategories" );
      n     =  cats.length;
      for ( i = 0;  i < n;  i++ ) {
         if ( cats[ i ] === scope ) {
            break;   // for i
         }
      }   // for i
      if ( i < n ) {
         mw.loader.using( [ "mediawiki.util" ],
                          function () {
                                mw.util.addCSS( select
                                                + "{ display:block; }" );
                                      } );
      }
   }
} ( window.mediaWiki ) );

Weitere Ausbaustufen[Quelltext bearbeiten]

  • Der Artikel GNU General Public License hat neben der Weiterleitung GPL auch noch die Weiterleitung GNU GPL. Bei einem Aufruf von GNU GPL ist ein Weiterleitungshinweis auf GPL (Begriffsklärung) ebenso nicht sinnvoll.
    • Der Weiterleitungshinweis sollte daher nur dann angezeigt werden, wenn wgRedirectedFrom gleich {{{1}}} der Vorlage:Weiterleitungshinweis.
Fomafix, 28. Dez. 2011
  • Hierzu müsste ein speziell verpacktes <span class="redirect-only" style="display:none">{{{1|}}}</span> aus dem DOM gefischt werden.
    • Danach kann man in jedem Fall schauen, nachdem DOM.ready ist, und dann eben mit einem wutsch den Kasten in seltenen Fällen doch wieder entfernen; und sei es aus dem DOM.
    • Der JS-Code dafür kann ausgelagert werden und wird erst nachgeladen, wenn auf der Seite tatsächlich ein Weiterleitungshinweis steht.
    • Ruckeln ist hier unvermeidlich.

Vorangegangene Diskussionen[Quelltext bearbeiten]

Aktuelle Diskussion[Quelltext bearbeiten]

(kann direkt hier laufen)

Einzelne Abschnitte[Quelltext bearbeiten]

Aus Wikipedia Diskussion:Weiterleitung#Redirect auf Abschnitte und Weiterleitungshinweis. scheint mir zu folgen, dass nur wenn der Leser über eine Weiterleitung direkt auf einen Abschnitt gelangt, nur dort am Anfang des Abschnittes ein angepasster Hinweis erscheinen soll. Ich denke mal, falls möglich sollte bei Fehlen des Abschnittes ein Hinweis oben im Artikel erscheinen, der dem Leser sagt, dass er zum Abschnitt xyz geleitet werden sollte, dieser aber möglicherweise entfernt oder umbenannt wurde. Außerdem sollte in einem solchen Fall falls möglich ein Eintrag in eine Wartungsseite erfolgen. --Diwas (Diskussion) 21:09, 11. Feb. 2015 (CET)[Beantworten]

Na, ihr habt euch ja ganz schön was vorgenommen. Ich schreib mal eine Liste von Kommentaren zu einzelnen Aspekten auf:
  • Was immer geschehen mag, es muss mit allen Skins funktionieren, auf Mobilgeräten und mit/ohne aktives JavaScript.
    • Sofern Vorstellungen bestehen, die MediaWiki-Software zu ändern, ist zu bedenken, dass die auf knapp 1000 Wikis der WMF laufen muss und auf -zigtausenden sonstiger Wikis.
    • Innerhalb der deWP gehen mehr Experimente.
  • Einen Zahn zu ziehen, gleich hier drüber: „Eintrag in eine Wartungsseite erfolgen“
    • Diese Baustelle befasst sich mit JavaScript; JavaScript verändert nur die optische Darstellung im Browser des Lesers, verändert aber keine Seiten in der Datenbank. (Falls doch, habt ihr euch einen Trojaner eingefangen)
    • Wartungsseite gibt es schon: Benutzer:Krdbot/RedirectDeeplink
    • MediaWiki würde sowas tendenziell eher widerwillig generieren; wäre aber eines Tages möglich, hat jedoch nichts mit der Fragestellung zu tun.
  • Der kleine Hinweis, der unaufgefordert und unabhängig von Vorlagen immer links oben erscheint:
    • Der wird immer dort stehen, und nur dort. (Tausende von Wikis)
    • Er ist Teil des HTML-Dokuments.
    • Er liegt außerhalb des Seiteninhalts und gehört zur Struktur des Portalrahmens.
      Zur Orientierung: Wikipedia:Technik/Skin/GUI #Skins
      • Inhaltsbereich ist die graue Fläche
      • Portalrahmen ist alles bunte und weiße drumherum
    • Inhaltsbereich und Portalrahmen und Weiterleitungshinweis werden zu völlig anderen Zeitpunkten produziert; der Inhaltsbereich vor zwei Wochen bei der letzten Änderung des Textes, der Portalrahmen vielleicht vor einem halben Jahr und der kleine Hinweis grad eben beim Aufruf der Seite. Jetzt werden diese Elemente nur noch zusammengeführt.
    • Heißt in der Konsequenz auch: Alles, was mittendrin im Inhaltsbereich steht, und dazu gehören alle Abschnittsüberschriften, wird nicht von der MediaWiki-Software zum Abrufzeitpunkt angefasst, sondern kann nur von uns durch Vorlagen vorher in den Text eingebaut werden.
  • Es ist vorstellbar, dass für Benutzer mit aktivem JavaScript eine Kopie des ganz oben sichtbaren statischen HTML-Weiterleitungshinweises eingeblendet wird; für fünf Sekunden, bis der Benutzer es wegklickt oder wie immer.
    • Ob das allen und projektweit oder gar weltweit gefallen würde, weiß ich nicht.
    • Ich weiß auch nicht, wo genau das optisch sein sollte.
  • Wo ein Abschnittsweiterleitungshinweis zu sehen sein soll, muss dieser per Vorlage in den Text eingebaut worden sein. (siehe drüber)
    • Maximal ist der immer sichtbar, egal wie man die Seite aufruft. Das wird nicht gutgehen.
    • Man könnte die Vorlagenansicht immer ausblenden, und für Benutzer mit aktivem JavaScript sichtbar machen, falls genau diese Situation eingetreten ist.
    • Das wird kaum ohne Geruckel abgehen.
    • Dann müsste er allerdings unterhalb der Überschrift stehen, weil die Überschrift die Oberkante des ersten Ausschnitts bildet; so auch von Lord van Tasm richtig eingebracht.
    • Von mir aus könnt ihr ihn ja auch drüber anordnen; dann sieht ihn aber niemand mehr.
  • Was immer; es würde für alle Überschriften aller Level gelten.
  • Was übrigens eingangs von WD:WL #Redirect auf Abschnitte und Weiterleitungshinweis steht, stimmt so seit einiger Zeit nicht mehr:
    • Seit einigen Monaten steht in der URL-Adresszeile der tatsächliche Seitenname und nicht mehr wie früher der Name der Weiterleitungsseite. Damit wurden Fortschritte in der Technologie moderner Browser (post-IE7) ausgenutzt.
    • Der ganz aktuell geübte Wikinutzer weiß sofort, in welchem Artikel er ist; er muss nicht mehr „an den Artikelanfang scrollen um zu sehen ob es einen Artikel zum Film gibt bzw. ob ein WL-Hinweis da ist“ – sondern guckt auf die Adresszeile.
    • Aus dem Umstand, dass man in einem Abschnitt gelandet ist, konnte man aber schon immer seine Rückschlüsse ziehen; je nachdem, was man vorher gemacht hatte.
Um mich weiter zu äußern, müsstet ihr eure Vorstellungen darstellungstechnisch präzisieren: Was genau soll da zu sehen sein, wie groß soll das sein, wo genau in den Skins und Mobilgeräten und Browser-Seiten (präzise Angabe, Mockup-Screenshot) soll was zu sehen sein, welche Texte werden erwartet, darf es nach dem Seitenaufbau ruckeln?
VG --PerfektesChaos 23:02, 11. Feb. 2015 (CET)[Beantworten]
Danke für diese Erklärungen, ich dachte mir schon, dass nicht alles sinnvoll umzusetzen ist. Jetzt fällt mir vorab noch ein, es gibt ja seit einiger Zeit (wohl nur im Vector-Skin) diese Textblasen, die bestimmte Aktionen bestätigen und kommentieren, könnte das vielleicht ein Mittel sein, den Hinweis zu platzieren. Seine Position dürfte dann aber nicht an das Menu gebunden sein, sondern unabhängig im Fenster erscheinen. Machbar? Sinnvoll? --Diwas (Diskussion) 17:11, 12. Feb. 2015 (CET)[Beantworten]
Das kann in allen Skins (+Mobil?) ausgelöst werden; bereits erwähnt, siehe mich oben:
Es ist vorstellbar, dass für Benutzer mit aktivem JavaScript eine Kopie des ganz oben sichtbaren statischen HTML-Weiterleitungshinweises eingeblendet wird; für fünf Sekunden, bis der Benutzer es wegklickt oder wie immer.
  • Ob das allen und projektweit oder gar weltweit gefallen würde, weiß ich nicht.
Erfahrungsgemäß gibt es immer eine mehr lautstarke denn zahlenmäßige Fraktion, die das konsequent ablehnt.
LG --PerfektesChaos 02:06, 15. Feb. 2015 (CET)[Beantworten]
  1. Ah, ja, das ist das. Wäre ja schonmal was, immerhin wird man nochmal darauf hingewiesen dass man von wo weitergeleitet wurde; hatte ich vorübergehend verdrängt, wegen der fraglichen Akzeptanz und so ganz ohne Extras ;-) ich habe auch mitbekommen wie allergisch manche auf die Neuerung reagierten, aber die haben das doch wohl bei sich abgeschaltet. Im Detail habe ich deine Ausführungen auch noch nicht verdaut und wollte nur den Gedanken festhalten.
  2. Ich hatte schonmal überlegt, dass etwaige Hinweise am besten rechts neben dem Ende der jeweiligen Überschrift zu platzieren wären. Das würde nicht in jedem Fall ein Ruckeln bringen, ich fürchte aber, das könnte zu Kollisionen führen mit verschiedenen Links aus verschiedenen Helferlein und Einstellungen, und soo viel Platz ist da ja auch nicht immer.
  3. Die Vorlage:Weiterleitungshinweis soll ja aber auch auf die weiteren Bedeutungen verweisen. Ob so ein Hinweis mitten im Artikel, womöglich noch über Vorlage:Anker auf einen Halbsatz mitten im Absatz;-( auf Zustimmung stößt. Nur so ein Gedanke, keine Ahnung ob machbar und sinnvoll oder gewollt: Man könnte statt dessen in der Weiterleitung auf einen Anker in einer Abschnittsweiterleitungshinweisvorlage verlinken, die oben im Artikel erscheint (... leitet weiter auf den Abschnitt ...) und (neben dem Link auf die Weiterleitungsseite/Nebenbedeutung den Link auf den Abschnitt bereitstellt. Dann sieht der Leser wo er herkommt, wo er ist (immerhin die Artikel-Einleitung), wo er noch hin kann, wo er wohl weiterlesen sollte, wenn er nicht lieber von da wo er ist den ganzen Artikel lesen möchte. Er kennt dann auch schon die Abschnittsüberschrift und findet dort hin, selbst wenn auf seinem Bildschirm der ganze Artikel auf einen Blick ohne Scrollbalken zu sehen ist. Im Einzelfall, wenn das mal vorkommt, könnten auch zwei Weiterleitungen in einem Hinweis formuliert werden. Grüße --Diwas (Diskussion) 19:51, 15. Feb. 2015 (CET)[Beantworten]
Rückfrage:
  • „rechts neben dem Ende der jeweiligen Überschrift“ – das meint die Abschnittsüberschrift, also dort, wo bereits „Abschnitt bearbeiten“ verlinkt ist?
    • Dort einen für jeden Erstbenutzer verständlichen Hinweis anzubringen, dürfte schwierig werden, weil das in der Regel doch mehrzeilig wird und dann grottig ausschaut.
    • Besser einen Kasten in eigener Zeile.
Einige Kommentare:
  • „Weiterleitungshinweis soll ja aber auch auf die weiteren Bedeutungen verweisen“.
    • Das bedeutet aber auch, dass ein zentraler Kasten für die Gesamtseite oder Einzelabschnitte einen jeweils unterschiedlichen Text je nach URL anzeigen muss, mit unterschiedlichen Bedeutungsfeldern; das aber nur bei aktivem JavaScript könnte, und ohne JavaScript soll genau was passieren?
  • „statt dessen in der Weiterleitung auf einen Anker in einer Abschnittsweiterleitungshinweisvorlage verlinken“
    • Das wird niemand begreifen.
    • Der Abschnitt braucht seine individuelle Überschrift und muss ggf. auch auf Anker reagieren.
    • Damit muss ich auch immer auf den wirklichen Abschnitt gelangen.
    • Jetzt ein System von Ankernamen auszuarbeiten, die nur als Hinweis oben auf der Seite ausgewertet werden, und daraus per JavaScript das Link auf den 1., 2., 3. Zielabschnitt zu bilden, werden die Leute nicht kapieren, die die #WEITERLEITUNG setzen.
    • Obendrein würde diese Konstruktion nur mit aktivem JavaScript funktionieren, während Besucher ohne aktives JavaScript hinweislos am Seitenanfang stünden.
  • JavaScript hingegen würde wgRedirectedFrom kennen und soll dann genau was unternehmen?
  • Nicht alle Browser verhalten sich gleich und stndardkonform, und heutzutage sind immer auch die Wirkungen bei Mobilgeräten zu bedenken.
Eine Simulation konkreter Ausgestaltungen auch bei mehreren Zielen pro Seite und mehrfacher Bedeutungen wäre erforderlich, und deren gewünschtes Erscheinungsbild mit/ohne JavaScript.
Diese Seite hier ist nur für die JavaScript/CSS-Implementierung von Ein- oder Ausblendungen zuständig. Allgemeine Diskussionen über Artikelgestaltung und Bausteinoptik bitte woanders.
LG --PerfektesChaos 10:06, 16. Feb. 2015 (CET)[Beantworten]