Kommentare von

beats TEST blog

Verbindung zur SQL-DB

Beat am |

Du hattest (natürlich) recht. Die Neuinstallation auf styx.dokumenzi.ch hat bezüglich utf8mb4-Hinweisen leider keine Verbesserungen gebracht. Es liegt wohl wirklich an der SQL-DB :cry:

  • Server: Localhost via UNIX socket
  • Server-Typ: MariaDB
  • Server-Verbindung: SSL wird nicht verwendet Dokumentation
  • Server-Version: 10.2.29-MariaDB-10.2.29+maria~jessie - mariadb.org binary distribution
  • Protokoll-Version: 10
  • Benutzer: XXX@localhost
  • Server-Zeichensatz: cp1252 West European (latin1)

Immerhin: Alle Einträge und Kommentare konnte ich problemlos wieder importieren (nur Daten, ohne DB-Struktur) ;-)

Ian Styx am |

Nein es liegt eigentlich ja eben nicht an der DB an sich, denn diese ist ja in ausreichender Versionierung vorhanden, sondern liegt (wie gesagt vermutlich) an dem zugrundeliegenden Debian Jessie, das bestimmte "Programme/Libs" nicht oder nicht in den richtigen Versionen bereitstehen hat, Damit kann ein Compile einer (neueren) DB (als Beispiel) eben nur verkrüppelt/teilweise geschehen.
Das haben wir ja schon bei der Login Geschichte festgestellt. Da fehlen auch gewisse Sachen um ein Login korrekt verschlüsselt zu speichern.

Ian Styx am |

...und dem PHP nicht zu vergessen!

Ian Styx am |

Du hast deine obige Einstellung Anzeige doch aus PhpMyAdmin entnommen, nicht wahr?

Meine war auf dem letzten Debian Stable folgende

  • Server: Localhost via UNIX socket
  • Server-Typ: MariaDB
  • Server-Version: 10.1.41-MariaDB-0+deb9u1 - Debian 9.9
  • Protokoll-Version: 10
  • Benutzer: xxx@localhost
  • Server-Zeichensatz: UTF-8 Unicode (utf8)

Besonders der Server Zeichensatz fällt auf, denn wenn der Supporter tatsächlich wie geschrieben konvertiert hätte, stünde dort nicht cp1252 (latin1)!

Die SSL Anzeige sagt, dass du phpmyadmin über eine unverschlüsselte Leitung betreibst, oder? Wenn das so ist, sollte sowas schleunigst verboten werden!!

Nur so als Ergänzung: Selbst wenn der Server Zeichensatz auf utf8mb4_unicode steht werden die Tabellen (bei korrekter Installation bzw Wartungskonvertierung) als utf8mb4_general kollatiert.

Beat am |

Ja, die angegebenen Daten habe ich von phpMyAmin übertragen.

Wenn ich einen Dump der aktuellen DB mache sehe ich bei jeder Tabellenstruktur: ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

Ian Styx am |

Seltsam...
Schau in die Struktur (via phpmyadmin) vom permalinks table. Dort müssten unterhalb der eigentlichen Struktur die Indizes gelistet werden und bei korrektem utf8mb4 in Spalte so aussehen (siehe 191)
entry_id 53
type (191)
permalink (191)

Ian Styx am |

Streiche 53 bei entry_id (da ist mir der input der nächsten Spalte mit reingerutscht).

Beat am |

Habe einen Screenshot im Beitrag eingefügt.

Ian Styx am |

Das besagt, dass alles korrekt auf utf8mb4 steht.
Das einzige was wohl fehlt ist die Variable die das auch bestätigt.
Schau mal in config Tabelle und stell die Variable mit name: dbUtf8mb4_converted auf true.
Damit sollte (wenn nicht alles verborkt ist) die Wartungsanzeige grün werden und du fortan problemlos Emojis verwenden können.

Beat am |

Die SSL Anzeige sagt, dass du phpmyadmin über eine unverschlüsselte Leitung betreibst, oder? Wenn das so ist, sollte sowas schleunigst verboten werden!!

Eher Nein. Wenn ich im Browser auf des Schlüsselsymbol gehe, wird mir da angezeigt: *Verifiziert von GlobalSign nv-sa*

Ian Styx am |

Und wenn es sie noch gar nicht gibt, trage sie ein mit: name:dbUtf8mb4_converted value:true und authorid:0

Ian Styx am |

Tja, dann steht das da vermutlich wegen einer (Jessie System) SSL library die nicht dem heutigen Stand entspricht und daraufhin wohl auch nicht verwendet wird. Das ähnelt irgendwie dem Login Problem.
Du siehst, ich rate auch nur so vor mich hin... ;-|

Beat am |

*BINGO* Jetzt ist im Backend unter Wartung ein nettes grünes Feld mit der Aufschrift " UTF-8-MB4 Zeichensatz" zu sehen.

Guckst Du: https://www.styx.dokumenzi.ch/archives/18-utf8mb4-Emojis.html

:applaus:

Ian Styx am |

Ja mit einem :wi (und ausgesuchten emoji) in einem entry form und gespeichert natürlich.
100 mal mit monokel emoji hier probiert aber erfolglos. Sind die in der Moderation?
Hast du in Eigene Einstellungen die default widgets schon mal abgeschaltet? Würde ich empfehlen.

Beat am |

Habe jetzt die Dashboard-Widgets abgeschaltet und nun tauchen da 7 Kommentare zur Moderation auf. Hmmm... Muss wohl bei jedem Einzelnen prüfen, ob er schon vorhanden ist (dann kann ich ihn löschen) oder ob ich ihn bewilligen soll.

Ian Styx am |

Tja dieses blöde Standard Dashboard habe ich, sagen wir mal nicht geliebt und fand es eher nervtötend, viel zu groß, etc.
Alles was man erledigen muss sind ja zum größten Teil die Kommentare. Und die sollten, wenn, dann hauptsächlich in deren eigener Administrationsbereich angesehen und behandelt werden. Diese Dashboard Geschichte vereinfacht das einfach viel zu sehr ohne echten Mehrwert. Also habe ich das Informationswürdige behalten aber schicke den Anwender in die (gerichtete) Kommentaradministration (nur für zu moderierende Kommentare). IMHO ein echter Mehrwert!

Beat am |

Ich könnte jetzt glatt auf die Idee kommen, diese DB zu dumpen, wie der nette Supporter geschrieben hat utf8 auf utf8mb4 zu wechseln, den Aktualisierten Dump wieder hochzuladen und dann in der config-Tabelle die oben beschriebene Zeile einzufügen...

Ian Styx am |

Ich kommentiere das hier noch einmal kurz für den aktuellen Stand.

Die Wartungsfunktion-Anzeige Gelb-Hinweise/Grün-OK und die Konvertierungsmöglichkeit, sind - bis auf Grün OK - nur für Upgrader eines alten MySQL und damit Serendipity Systems gedacht. Sie verhindert und berücksichtigt nicht, dass man sein (neues) System bzw seine Datenbank eventuell nicht korrekt auf UTF8MB4 vorbereitet hat!

Dazu dient: https://ophian.github.io/hc/en/preparing-db.html

Wie man nun solche Torturen wie hier bei dir bereits im Vorfeld konsequent verhindern kann ist mir noch immer eine Frage.

Ian Styx am |

Mir gelingt es einfach nicht auf meinem lokalen DEV blog einen Zustand zu provozieren, der deinen Erfahrungen ebenbürtig ist und nicht auf utf8mb4 klappt.

Selbst eine Datenbank mit der Standard Kollation latin1_swedish_ci wird korrekt mit utf8mb4_general_ci Tabellen Kollationen installiert. Und dafür nehme ich nicht mal eine 3.0-dev Version. Das heißt, die preparing-db Seite beschreibt nur einen Zustand, der "es wäre schön, wenn" feststellt.

Inwischen überlege ich, ob man nicht etwas komplett anderes im Installer, zb openSSL größer gleich X, oder build with webp, abfragen muss, um eine Installation überhaupt zu verhindern, oder ob es nicht doch reicht, auf die 1000 Hinweise zu verweisen, was es braucht, um Styx 3.0 wirklich zu testen bzw zu installieren. Ein wenig Verantwortung sollte man voraussetzen, gleichzeitig aber auch nicht unbedingt verlangen müssen, dass jemand der neu dazustößt sich erst stundenlang einliest. Hmmm!

Beat am |

Ich kann dazu nicht wirklich etwas beitragen. Meine Laien-User-Erfahrungen sind wie folgt:

  • 1x Installation im Januar 2018 (an die Version kann ich mich nicht mehr erinnern)
  • 2x Installation von Styx Edition Stable V 2.9.2 (in dieser Hostingumgebung)
  • 3x Installation von Styx Edition V 3.0 Dev 4 (in dieser Hostingumgebung)
  • 1x Installation von Styx Edition V 3.0 Dev 4 (auf einer Testumgebung eines anderen Hosters)

Nach jeder dieser Installationen waren die gelben utf8mb4-Warnhinweise da und utf8mb4-Emojis funktionierten nicht. Bei keiner Installation wurde in der S9Y-Installationsroutine etwas rot markiert. Hier war ausser ImageMagick alles auf grün und beim Fremd-Hoster war auch ImageMagik (also alles) auf grün.

Meine bescheidene Meinung: Als Durchschnittsuser liest man vorher nie eine Anleitung. Das macht man erst, wenn Probleme, oder gelbe Warnhinweise auftauchen. Leider konnte ich mit den dort angezeigten Informationen nicht sehr viel anfangen. Persönlich würde ich es begrüssen, wenn ich da einen Link vorfinden würde, der mich auf ein Handbuch/FAQ/Infoseite bringt, wo mir möglichst detailliert alle möglichen Schwachstellen von denen meine Installation betroffen sein könnte auflistet und zu jedem einen Lösungsweg aufzeigt. Oder noch besser: eine step-by-step-Checkliste, die ich abarbeiten kann.

Dazu noch etwas, was mir gerade einfällt: Du hast am 08.01 in einem Kommentar (2 höher) einen Link zu einer englischen FAQ-Seite eingefügt. Da steht unter anderem: "To change the default character set from latin1 to UTF-8, the following settings should be specified in the my.cnf configuration file." Super! Wo finde ich diese my.cnf? Auf meinem Server gibt es keine solche Datei. Solche Anleitungen müssen Idiotensicher sein. Denk dabei an jemanden wie mich... ?

Könnte man... Button für Kommentar schreiben

Ian Styx am |

.serendipity_commentDirection.serendipity_comment_emoticate {
    display: none;
    visibility: hidden;
}

 

Beat Menzi am |

:th_up: mir fehlte "visibility: hidden;" Jetzt passt es. Danke!

Hier noch ein kurzer Test:
Wort mit Sternen *wort*
Wort mit Unterstrich _wort_ <- was ist hier falsch?

Ian Styx am |

Könnte man "Kommentar schreiben" nicht als Button ausführen, so dass das Eingabefeld erst nach dem draufklicken eingeblendet wird?

Könnte man... such mal all die Beispiele (vielerorts auch im Backend) wo Info Klappboxen sind. Daran ließe sich ein Beispiel nehmen... zB für lange Nächte mit nem Single Malt ;-)

Zudem würde es die Ladegeschwindigkeit verbessern, wenn das Formular nur bei Bedarf eingeblendet wird.

Das ist eine Illusion! Denn das ginge nur mit viel Javascript Aufwand, um bei Bedarf eine Form vom Server zu holen und ebenda einzublenden. Mit der Klappbox Methode wäre sie schon da bei dir (so wie jetzt auch schon), aber eben ausgeblendet.

Beat am |

Verstanden! (war ja auch "nur so eine Idee") ;-)

Und den Ankerpunkt für Plugins am Beitragsende zwischen den letzten Kommentar und das Formular zu schieben geht auch nicht? (Ich weiss, ich bin hartnäckig...)