Freitag, 18. November 2022
Styx 4.0-beta2 und PHP 8.0.25
Alle Plugins aktualisiert.
Neu: commentsearch Plugin installiert.
Dieser Link ist nicht aktiv. Er enthält eine kopierbare Trackback-URI, um manuell ein Ping- und Trackback zu diesem Eintrag für ältere Blogsysteme zu generieren; zB (immer noch valide) über das zur Verfügung gestellte Eintragsfeld des serendipity_event_trackback Plugins. Serendipity und andere Blogsysteme erkennen die Trackback-URL heutzutage aber automatisch anhand der Artikel-URL. Die Trackback-URI für ihren Link des Sender-Eintrages lautet daher wie folgt: »https://www.blog.dokumenzi.ch/2677-Styx-4.0-beta2-und-PHP-8.0.25.html«
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Ian Styx am :
Moin Beat!
Ich bin auf ein interessantes Problem gestossen, das mit alten Kommentaren und vielleicht sogar anderen alten Eintragsarten zusammenhängt. Schon mit der Beta 1 stieß ich bei dir auf Einträge, die den HTML Zeilenumbruch <br /> nur escaped, also als inaktives HTML Element anzeigten und hatte gehofft, dass die Fixes in der Beta 2 dies ebenfalls bereinigen würden. Doch - oh Wunder - war dem nicht so.
Ich habe mich deshalb eingeloggt und ein wenig herumgespielt. Dabei stieß ich auf deine Einstellungen im NL2BR Plugin, in der du markup_check und alle weiteren zu checkenden Elemente wie body, etc. - außer den Kommentaren - auf Nein stehen hattest. Verständlicherweise aus guten Grund, denn so würde man wohl die Zusammenhänge bewerten und meinen das dies eben so richtig wäre. Und es stimmt auch, denn die "\nl" Zeilenumbrüche werden korrekt in <br /> verwandelt; doch im Weiteren nur nicht als valides, also erlaubtes HTML behandelt.
Ich zeige das mal am Beispiel, mit dem ich ansichtsweise und exemplarisch herumhantiert habe. Es ist der Eintrag von "weichling am Dienstag, 20. November 2007", der sich hier "https://www.blog.dokumenzi.ch/876-Schuhheizung.html" befindet.
In den /comments/ summary Seiten befindet er sich (momentan noch) hier "https://www.blog.dokumenzi.ch/comments/P153".
Es ist ein relativ einfacher Kommentar mit PLAIN TEXT ENTER Umbrüchen und sollte früher wohl korrekt dargestellt worden sein.
Zu besseren Übersicht und schnelleren Erreichbarkeit habe ich außerdem das commentsearch Plugin installiert und den Beta 2 Blog-Eintrag geschrieben, mea culpa für den Eingriff. Eine einfache Suche nach "Tschibo" sollte den Kommentar hier, wie auch im Backend schnell zutage fördern.
Witzigerweise funktioniert die Backend (EDIT-Mode) Voransicht für den Kommentar wie gewünscht, nur die Frontend Ansichten nicht - außer - man stellt die Option Eintrag auf JA im nl2br Plugin (was ich jetzt erstmal getan habe). Du kannst das Problem damit leicht nachstellen und selbst untersuchen.
Was die ganze Sache noch um Etliches komplizierter macht, ist die Tatsache, dass es (-vielleicht-) noch andere Kommentare gibt, die sich dennoch wieder anders verhalten. Es gibt eindeutig welche mit encoding Problemen, zb bei ß, aber das hat im Grunde nichts damit zu tun und stammt eben aus den Urzeiten in dem vieles nicht immer richtig lief. Aber es gibt womöglich noch andere, die vielleicht andere Gegebenheiten (aus den historisch bedingten Umstellungen von markups mit Optionsabhängigkeiten) erstellten, die mit den derzeitigen Möglichkeiten noch nicht korrekt abgebildet werden können. Dies müßte man exemplarisch suchen, untersuchen und dann entscheiden, ob sie nur temporäre Fehler oder tatsächliche Gebräuchlichkeiten darstellten, die man auch heute noch codeseitig abfangen muss.
Ich muss erst noch herausfinden was den Unterschied zwischen den Ansichten ausmacht. Die Frage an Dich lautet diesbezüglich eigenllich nur, ob sich das lohnt... bzw ob es nur eine der Besonderheiten deiner Historie ist, die sich vielleicht eher durch ein kurzes EDIT der betreffenden Kommentare beheben ließe. Erinnerst du dich? Ich meine das es dabei nicht um Einträge geht, denn ich müsste sie glaube ich schon mindestens 1-x alle gesehen haben... 🙂
Edit:
Aber ich sehe gerade dass diese Umstellung Auswirkungen auf alte Einträge hat (zB https://www.blog.dokumenzi.ch/871-kalt.html), die noch nicht den RICH TEXT Editor berücksichtigten. Hmmm...
Beat Post author am :
Ich bin gerade etwas weit vom Blog-Thema entfernt und habe Mühe, die Problemstellung zu verstehen 🙄.
Was ich aber weiss ist, dass ich während der Blog-Lebensdauer mindestens 2x das Problem mit falsch konvertierten Zeichensätzen hatte (nach Backup-Export und Re-Import). Bei deren Korrektur habe ich mich nie um die Kommentare gekümmert und nur die Bloginhalte überarbeitet. Es kann also gut sein, dass ich selbst diese "Unterschiede" eingebracht habe.
Ob sich eine Korrektur lohnt? Aus meiner Sicht: Nein. Bei einer Kommentarfrequenz von ca. 1 Kommentar pro 3 Einträge ist das vergebene Liebesmühe. Aber dafür ist mein Blog auch keine Referenz. Ich hatte und habe das commentsearch-Plugin auf beatsblog.ch ja auch nicht installiert. Die Kommentare sind an und für sich ja lesbar. Über die dargestellten HTML-Tags muss man halt hinwegsehen.
Ian Styx am :
Das mit den encoding ist ja auch eine "völlig" andere Sache. Es geht um die Umwandlung bzw Darstellung von "alten" Kommentar-Zeilenumbrüchen und das sowieso nur, weil du ja irgendwann insgesamt auf den Rich Text Editor und dann später nochmal auf HTMLcomments mit RTEditor umgestiegen bist ...(unter den Umständen wie s9y soetwas eben speichert und behandelt)...; das eigentliche Problem sich also (nur) um den Abfang und die Ausgabe dieser Mix Cases für eben diese steinzeitalten Urzeit-Kommentar Einträge windet. Ob das sowieso einigermaßen catch-all gelingt ist noch etwas fraglich und ebenso, ob man damit nicht potenzielle Löcher in den Sicherheitsvorhang (denn das ist ja das escapen) reißt. Allerdings stehst du eben auch nicht alleine damit, wenn man als alter Blogbetreiber nicht stur und puristisch bei den damals gegebenen Möglichkeiten geblieben ist, also mit Plain Text mit oder ohne verwendete Markup Editoren wie markdown.
Wenn es gelänge und ein allgemeines Problem alter Blogbetreiber ist, wäre es doch schön das zu lösen. Denn schon jetzt ist es allemal besser als vorher meine ich! 💬
Beat Post author am :
Ich habe das eigentliche Problem immer noch nicht verstanden...
Wenn man im NL2BR-Plugin die Kommentare auf "Nein" stellt. wird der erwähnte Kommentar doch ohne Umbrüche und richtig schön dargestellt. Da frage ich mich doch ernsthaft,, ob ich das Plugin nicht gleich rausschmeissen soll 🤔.
Gegenfrage: Wie viele Serendipity-Styx-Blogs gibt es, die schon länger als 10 Jahre betrieben werden und heute noch aktiv sind? Ich habe keine Ahnung, doch es werden wohl <100 sein. Da würde ich keinen allzu grossen Aufwand treiben.
Ian Styx am :
Ja das glaube ich auch ...kicher! 😁
Natürlich sind bei Kommentare auf Nein im nl2br die br ZUBs weg. Das ist/war ja der Sinn der Sache. Der Kommentator wollte aber individuell abgestuften Text so dass er ENTER verwandte, die - im unixoiden Stile - als \n "Geheimkommandos" im Text enthalten sind. Dazu dient(e) das NL zu BR Plugin bei der Ausgabe.
Um HTML tags und allerlei unvalides Gesummse und die möglicherweise von bösen Buben dargebrachten breaks herauszufiltern, nutzt man zB escape Mechanismen, welche das Geschmeiss zwar drinnen lassen, es aber unschädlich d.h. unausführbar darstellen, damit man überhaupt Wind davon bekommt.
Gerade bei einem Mix von HTML und ehemaligen PlainText mit eventuellem Geschmeiss muss man also sicherheitshalber mit escape arbeiten oder tags gar nicht erst zulassen. Es geht halt nur darum wie man gutes Geschmeiss erkennt, damit man es auch wohlgeformt darstellen lassen kann.
... jetzt? 💡
Btw, ich habe übrigens die Eintrag JA Option wieder raus genommen wegen ganz oben gemachter Anmerkung zu "Kalt".
Da du jetzt ja vorerst Kommentare NEIN nutzen willst (? wirklich ?, denn das hat Auswirkungen auf alle alten Kommentare mit Smileys, die bisher schon unabhängig von den hier geschilderten singulären br only Kommentaren tadelos funktionierten) sollte ich an einer möglichen Lösung für Kommentare JA arbeiten können, die wir dann demnächst mal ausprobieren können. Ich meine aber Kommentare müsste trotzdem auf JA stehen, denn du hast wesentlich mehr Kommentare mit brs und Smilies als nur welche mit Zeilenumbrüchen.
Das mit der eher kleinen Menge an alten Blogs kann sicher sein... trotzdem wäre eine Lösung schön. Nicht jeder ist sooo geduldig wie du... 😘
Ian Styx am :
Ich meine ich habe heute morgen die Ursache erschlagen, werde aber mindestens eine Nacht noch drüber schlafen... 🤩
Wenn du mutig bist und eine kleine Weile Zeit hast kannst du es schon mal vorab testen. Das File include/functions_comments.inc und das nl2br Plugin in seinem _event_nl2br file einfach wie gehabt in/als RAW rüberziehen und dann im nl2br Plugin comments auf JA stellen. ...Oder die kleinen fixes selbst bei dir einpflegen (siehe commits).
Dann hätte man eine sehr exemplarische Bestätigung anhand einer ganzen Historie. ... wäre Klasse! 😃
Beat Post author am :
Here you go!
Ian Styx am :
Hmm whow SUPER 😎
sieht
alles
gut
aus!
Das klappt also schon einmal... Danke!
Ein weiterer Test wäre es die 4 Zeilen des if Blocks
https://github.com/ophian/styx/blob/master/include/functions_comments.inc.php#L563
mit einem vorangestellten # auszukommentieren und erneut zu sehen...Ich glaube ja daran, dass man es weglassen kann und es nun nur noch paranoide Zwecke erfüllt, siehe meine vorangestellten Kommentare. Ginge das (noch), Beat?
... wobei ich mir nicht sicher bin ob es nicht trotzdem bleiben sollte, zb wenn irgendjemand nl2br komplett abgestellt hat und sich alte Kommentare mit echten br multi linebreaks irgendwie durchschlängeln ...
Beat Post author am :
O.K. Den Zeilen 563-566 habe ich nun ein # vorangestellt.
Ian Styx am :
Ich finde das Ergebnis is OK. Ist dir irgendetwas aufgefallen als Differenz zum Vorigen?
Eins wüsste ich noch gerne:
Hast du (früher) jemals eine Zeitlang eines der markup Plugins wie markdown oder textile oder gar bbcode (1.4.12 - BBCode, Textile, Markup und Textformatierung) verwendet, so dass möglicherweise Einträge bzw Kommentare solcherart abgespeichert wurden?
Beat Post author am :
Ich weiss nicht mehr so genau, was ich in den letzten 17 Jahren so alles rumgespielt habe, doch ich weiss schon gar nicht was ein markup ist und demzufolge sage ich Nein, das habe ich nie ausprobiert/gemacht.
Ian Styx am :
Na dann ... 😀
Man(n) dankt!!
Jetzt muss ich nur noch entscheiden ob ich es drinnenlasse oder für soo alte Blogs möglicherweise konfigurabel mache.