| Thema: |
|
||
| Autor: | Rocco | ||
| Datum: | 20.05.23 15:50 | ||
| Antwort auf: | Der maniac-forum.DEV Videotagebuch-Thread von Rocco | ||
Hallo zusammen, das ist mein letzter Post zum Thema maniac-forum.dev für die nächsten paar Wochen, da ich wie bereits angekündigt bald im Familienurlaub weilen werde. Um ein paar Sachen habe ich mich die Tage aber noch gekümmert. 1. Themen/Kommentare-Eigenschaften Alle Posts können diverse Eigenschaften haben, die teils im Frontend zur Info visualisiert werden müssen, z.B. ein gepinnter oder geschlossener Thread. Die Logik und die Visualisierung habe ich mal eingebaut. Da es mehr Eigenschaften geben wird als im aktuellen Forum, habe ich diese auf die rechte Seite einer Zeile positioniert, da dort mehr Platz für entsprechende Icons zur Verfügung steht. Aktuell wird im Forum im Übrigen maximal ein Status, z.B. “angeheftete/pinned” per Thema angezeigt. Wenn jetzt zusätzlich der Beitrag geschlossen wurde, sieht man das (glaube ich) nicht, d.h. man merkt das erst, wenn man antworten möchte. Das lässt sich durch das Ausnutzen des Platzes auf der rechten Seite jedenfalls auch optimieren. So oder so, brauche ich Platz für aktuell 4-5 Icons. [https://i.imgur.com/nMqjC80.png] 2. Serverseitiger Lesestatus Im aktuellen Forum wird der Lesestatus im verwendeten Browser lokal gespeichert. Das funktioniert, da die Browser einen Verlauf der besuchten Seiten sowieso tracken. Diesen Verlauf dann abzugleichen ist total easy, da sich der Browser bereits um alles kümmert. Allerdings hat man diesen Verlauf dann nur in eben dieser einen Browserinstanz und wenn man mal alle Browserdaten aus irgendeinem Grund löscht, ist dieser Verlauf und damit alle eingefärbten Links auch futsch. Argumentieren kann man heutzutage, dass man sich in Chrome (und ich meine auch Firefox) mit seinem entsprechenden Google/Mozilla-Konto anmelden kann. So werden die besuchten Seiten zmdst innerhalb einer Browser-Familie über Geräte hinweg synchronisiert und man kann die bereits besuchten Seiten als solche identifizieren. Natürlich ist das aber nicht die beste Lösung, denn zum einen hat man dadurch serverseitig keinen Einblick darin, welche Seiten ein User jemals besucht hat, zum Anderen liegt eine weitere Krux darin, dass eben über verschiedene Browserfamilien (Chrome, Firefox, Safari,...) hinweg unterschiedliche Historien an Klicks gespeichert werden. Last but not least will man vielleicht gar nicht den Browserverlauf lokal speichern oder nutzt auch mal das anonyme Browsen. Die naheliegende Lösung ist es, bei jedem Klick serverseitig zu checken ob der Post schonmal gelesen wurde oder nicht, und wenn nein, den aktualisierten Lesestatus in der Datenbank zu hinterlegen, so dass das Frontend in der Folge bescheid weiss, dass entsprechende Beiträge eingefärbt werden müssen. Ich vermute, dass man sich damals vor allem darum Gedanken gemacht hat, wie man sowas in der Datenbank effizient speichern und abrufen kann und das Ganze dann verwarf oder generell keinen Gedanken daran verschwendet hat, dass Leute mal mehrere Endgeräte nutzen würden. So oder so, im Jahre 2023 ist das Ressourcen-Problem, also das Speichern, Abrufen und Filtern von Millionen oder auch Milliarden von Klicks kein allzu großes Thema mehr, so dass jetzt alles in der Datenbank gespeichert und dort auch vom Frontend abgerufen werden kann. Das heißt also, der lokale Browserverlauf wird nicht mehr genutzt. Alle eingeloggten User haben auf jedem Browser und jedem Endgerät ihren gleichen Leseverlauf. [https://i.imgur.com/ZI1OpbI.mp4] (Videolink zu imgur, dachte der wandelt das in ein Gif um - war aber nicht so) Das hat allerdings einen Nachteil, um den ich mich voraussichtlich NICHT kümmern werde. Und zwar wird der Lesestatus für nicht eingeloggte Nutzer auch nicht mehr gespeichert - die Links bleiben also immer blau sozusagen. Man könnte das jetzt browserseitig wieder wie anno dazumal lösen - mit den oben skizzierten Problemen - aber sinnvoller wäre es, die anonymen User dazu zu bewegen, sich zu registrieren und damit potentiell an der Community aktiv teilzunehmen. 3. Likes Grundsätzlich halte ich für interessant und wichtig, dass man eine Art positives Sentiment eines Beitrags anhand einer Kennzahl ablesen kann, also etwa die Anzahl der Likes durch andere User. Den umgekehrten Fall (Dislike) halte ich wiederum für nicht notwendig, wenn nicht sogar für eher schädlich, denn hier ist potentiell nicht immer der Inhalt für ein Dislike ausschlaggebend, sondern auch mal allein der postende Nickname. Da das mit Sicherheit zu albernen Aktionen führen würde wird es keine Dislikes geben. Am Ende bedeutet ein Like einfach “Cooler/Guter Beitrag, Stimme ich zu, +1” - nicht mehr und nicht weniger. Was man natürlich für anstössige/beleidigende Beiträge machen können wird, ist es diese zu flaggen/melden. Das Thema bleibt also von der Like-Geschichte unberührt. Likes habe ich nun testweise mal eingebaut, aber die Frage ist noch, wie man das visuell am Besten abbildet. Rudimentär habe ich das aktuell in der Kommentarliste auf die rechte Seite gepackt sowie in den Header eines angezeigten Posts. Der Like-Button ist aktuell am Ende des Beitrags neben anderen Buttons zu sehen. In der Themenliste, also im oberen "Frame", ist überhaupt nichts bzgl. Likes ersichtlich, da ich mir nicht sicher war, ob man da die Likes für den ersten Post oder alle Likes im Thread zusammenrechnet (Sinn?) oder es einfach bleiben lässt. [https://i.imgur.com/Uu6r9ur.png] Das gefällt mir alles noch nicht so und ich würde daher dazu aufrufen, dass ihr eure Ideen dazu mal teilt - vielleicht auch ob überhaupt ein Herz sinnvoll ist, oder doch ein Daumen nach oben etc pp. Wie kann also diese Information sinnvoll im Layout angezeigt werden? Letztere Frage stellt sich auch für die mobile Variante. Also, soweit dazu für die nächsten Wochen. Bin sicherlich auch im Urlaub im Forum aktiv, aber das Macbook bleibt zu Hause. :-) Greets Rocco |
|||
| < antworten > | |||