Wie gehts mit YITW weiter?

gemini

Administrator
Beiträge
318

Device Übersicht
Wie bereits im Stammtisch-Thread angekündigt, will ich euch mit diesem Thread auf den aktuellsten Stand zu den Fortschritten bei YITW bringen.
Einigen von euch wird wahrscheinlich aufgefallen sein, dass seit dem Ausblick-Thread (2019 ... ein Ausblick) kein neues Update für YITW erschienen ist. Das heißt natürlich nicht, dass im Hintergrund gar nichts passiert ist.
Für das nächste Update habe ich mir relativ viel von der Liste vorgenommen, insbesondere auch Punkte, welche Umbauarbeiten an allen Bestandteilen (Accountverwaltung, Hauptseite und Forum) notwendig machen. Zusammen mit meiner aktuell knappen Zeit sorgt das für eine lange Umsetzungsphase. Aber mittlerweile ist bereits einiges erledigt und es fehlen lediglich noch einige Restarbeiten. Dazu aber später mehr.

Kommen wir erst einmal dazu, was ich mir für das nächste Update vorgenommen habe:
  • Single Sign On
    Im Ausblick-Thread hatte ich bereits angekündigt, dass ich das mehrfache Einloggen auf allen YITW-Seiten vereinfachen möchte. Die dafür notwendige Umsetzung wird in mehreren Phasen erfolgen. Im ersten Schritt habe ich mit OpenID Connect ein Authentifizierungsprotokoll umgesetzt, mit dem die Anmeldung lediglich bei der Accountverwaltung erfolgen muss. Alle anderen Seiten fragen dort den eingeloggten Benutzer ab und übernehmen ihn. Zunächst ist dafür allerdings weiterhin ein Klick auf den "Einloggen"-Button auf der Hauptseite sowie im Forum notwendig. Wenn ihr zu diesem Zeitpunkt bereits bei der Accountverwaltung angemeldet seid, wird die Anmeldung automatisch erledigt, ansonsten ist die Anmeldung einmal notwendig. Das Ausloggen ist in dieser ersten Phase auf allen Seiten separat notwendig.
    In einem späteren zweiten Schritt wird dieses Ausloggen auch auf alle anderen Unterseiten übertragen werden. Eine Ausnahme wird es allerdings auch in der ersten Phase bereits geben: Ändert ihr in der Accountverwaltung euer Passwort, werdet ihr automatisch auf den anderen Seiten ausgeloggt.
    Schlussenendlich soll in einem dritten Schritt auch das mehrfache Klicken auf den "Einloggen"-Button entfallen. Das heißt, loggt ihr euch auf einer der Seiten ein, seid ihr sofort auch bei allen anderen Unterseiten eingeloggt.
  • Zwei-Faktor-Authentisierung
    Zur weiteren Absicherung der Accounts soll zukünftig ein zweiter Faktor eingesetzt werden können. Da mit dem Single Sign On die Anmeldung lediglich an einer Stelle möglich ist, war es somit auch leicht, direkt die Möglichkeit für ein Einmalkennwort zu schaffen.
  • Vollkommen überarbeitete Accountverwaltung
    Das Hinzufügen von SSO und 2FA habe ich zum Anlass genommen, die Accountverwaltung komplett neu zuschreiben. Dabei ist sowohl der Code im Hintergrund optimiert worden, als auch das Frontend, Bilder gibt es im Anschluss.
    Zu der Überarbeitung gehört auch eine Sidebar, welche auch auf der Hauptseite zukünftig zu finden sein wird.
  • Einheitliche Registrierungsseite
    Bisher ist es möglich, sich sowohl im Forum als auch auf der Hauptseite zu registrieren. Die Daten werden im Anschluss zwar durch beide Formulare in der zentralen Accountverwaltung hinterlegt, allerdings gefällt mir dieses Vorgehen nicht. Es erzeugt viel mehr Kommunikation zwischen den einzelnen Seitenkomponenten als notwendig. Aus diesem Grund wurde die Registrierung auf ein Formular vereinheitlicht, welches sich jetzt direkt auf der Seite der Accountverwaltung befindet. Sowohl das Forum als auch die Hauptseite leiten einen Benutzer bei einer Registrierung zukünftig direkt auf diese Registrierungsseite. Wurden dort die Daten erfolgreich eingegeben, wird der Benutzer im Anschluss wieder zurück zum Forum bzw. zur Hauptseite geleitet.
  • Neue REST-API
    Da alle Account-Informationen in der Accountverwaltung liegen, die Hauptseite und das Forum aber natürlich einige Informationen auch benötigen bzw anzeigen müssen, erfolgt die Abfrage dieser Informationen über eine geschützte API. Die bisherige API ist am Anfang relativ schnell entstanden und wurde aufgrund verschiedener Bedürfnisse mehrfach erweitert. Insgesamt war die API damit nicht mehr so effizient und schön, wie ich das gerne hätte.
    Aus diesem Grund wurde die API komplett neu auf Basis der JSON:API Spezifikation geschrieben.
  • Hauptseite
    Durch die zentrale Accountverwaltung sowie das SSO konnte die Hauptseite im Hintergrund auch etwas schlanker gestaltet werden, da viele 100 Zeilen Code nicht mehr benötigt werden. Sorgt für weniger Wartungsaufwand auf dieser Seite.
  • Deutsche Sprache für das Forum
    Lange hatte ich es angekündigt, mit dem nächsten Update wird es endlich soweit sein. Das Forum wird komplett in deutscher Sprache nutzbar sein.
  • Behebung von Bugs
    Neben den zuvor genannten Neuerungen bzw. Veränderungen werden natürlich auch einige Bugs gefixt Dazu gehört unter anderem auch der CPU-Z-Bug, welcher von @amd_man_bavarian vor ein paar Tagen gemeldet wurde.
Kommen wir noch zu ein paar Bildern bevor es zu den Restarbeiten geht.

Registrierung.png Login.png Startseite.png Sidebar.png Account-Übersicht.png 2FA.png

Wie bereits ganz am Anfang angesprochen, sind noch nicht alle Updatearbeiten abgeschlossen, sodass ich das Update nicht veröffentlichen kann. Die folgenden Punkte fehlen noch:
  1. Bisher kann man sich vom Forum noch nicht per SSO anmelden
  2. Durch die Veränderungen wurden auch die Datenbank-Tabellen leicht verändert. Hier muss ich noch ein Migrationsskript schreiben, um die alten Daten zu übertragen
Da meine Zeit aktuell leider weiterhin relativ beschränkt ist, kann ich noch kein konkretes Zeitfenster für die endgültige Umsetzung geben. Ich halte euch aber wieder öfters auf dem Laufenden :)
 

gemini

Administrator
Beiträge
318

Device Übersicht
Wie versprochen, hier ein kleines Update zum aktuellen Stand.
Die Anmeldung aus dem Forum per SSO ist mittlerweile möglich. Somit stehen vor allem noch viele kleine Restarbeiten an, außerdem muss ich noch mal alle Änderungen in Ruhe durchgehen und testen. Abschließend fehlt noch die Migration, welche allerdings nicht sehr aufwändig sein wird.
Insgesamt kommen wir also dem Update näher :)
 
Oben