gradido/docu/RoadMap_2022-2023.md
2022-10-25 22:27:30 +02:00

7.5 KiB

Roadmap 2022 / 2023

unsortierte Sammlung von Themen

  1. backend access layer

    • Refactoring der Resolver-Klassen
    • Daten-Zugriffschicht zur Kapselung der DB-Schicht
    • Transfer-Datenmodel zum Austausch von Daten zwischen den Schichten
    • technisches Transaktion-Handling und Lösung von Deadlocks
    • Konzept in Arbeit
  2. capturing alias

    • Konzept fertig
    • Änderungen in Register- und Login-Prozess
  3. Passwort-Verschlüsselung: Refactoring

    • Konzept aufteilen in Ausbaustufen
    • Altlasten entsorgen
    • Versionierung/Typisierung der verwendeten Verschlüsselungslogik notwendig
    • DB-Migration auf encryptionType=EMAIL
  4. Passwort-Verschlüsselung: Login mit impliziter Neuverschlüsselung

    • Logik der Passwortverschlüsselung auf GradidoID einführen
    • bei Login mit encryptionType=Email oder OneTime triggern einer Neuverschlüsselung per GradidoID
    • Unabhängigkeit von Email erzeugen
    • Änderung der User-Email ermöglichen
  5. Contribution-Categories

    • Bewertung und Kategorisierung von Schöpfungen: Was hat Wer für Wen geleistet?
    • Regeln auf Categories ermöglichen
    • Konzept in Arbeit
  6. Statistics / Analysen

  7. Contribution-Link editieren

  8. User-Tagging

    • Eine UserTag dient zur einfachen Gruppierung gleichgesinnter oder örtlich gebundener User

    • Motivation des User-Taggings: bilden kleinerer lokaler User-Gruppen und jeder kennt jeden

    • Einführung einer UserTaggings-Tabelle und eine User-UserTaggings-Zuordnungs-Tabelle

    • Ein Moderator kann im AdminInterface die Liste der UserTags pflegen

      • neues TAG anlegen
      • vorhandenes TAG umbenennen
      • ein TAG löschen, sofern kein User mehr diesem TAG zugeordnet ist
    • Will ein User ein TAG zugeordnet werden, so kann dies nur ein Moderator im AdminInterface tun

    • Ein Moderator kann im AdminInterface

      • ein TAG einem User zuordnen
      • ein TAG von einem User entfernen
    • wichtige UseCases:

      • Zuordnung eines Users zu einem TAG durch einen Moderator
      • TAG spezifische Schöpfung
        • User muss für seinen Beitrag ein TAG auswählen können, dem er zuvor zugeordnet wurde
        • TAG-Moderator kann den Beitrag bestätigen, weil er den User mit dem TAG (persönlich) kennt
  9. User-Beziehungen und Favoritenverwaltung

    • User-User-Zuordnung
      • aus Tx-Liste die aktuellen Favoriten ermitteln
    • Verwaltung von Zuordnungen
      • Auswahl
      • Berechtigungen
      • Gruppierung
      • Community-übergreifend
      • User-Beziehungen
  10. technische Ablösung der Email und Ersatz durch GradidoID

    • APIs / Links / etc mit Email anpassen, so dass keine Email mehr verwendet wird
    • Email soll aber im Aussen für User optional noch verwendbar bleiben
    • Intern erfolgt aber auf jedenfall ein Mapping auf GradidoID egal ob per Email oder Alias angefragt wird
  11. Zeitzone

    • User sieht immer seine Locale-Zeit und Monate

    • Admin sieht immer UTC-Zeit und Monate

    • wichtiges Kriterium für Schöpfung ist das TargetDate ( heißt in DB contributionDate)

    • Berechnung der möglichen Schöpfungen muss somit auf dem TargetDate der Schöpfung ermittelt werden! (Ist-Zustand)

    • Kann es vorkommen, dass das TargetDate der Contribution vor dem CreationDate der TX liegt? Ja

    • Beispiel: User in Tokyo Locale mit Offest +09:00

      • aktiviert Contribution-Link mit Locale: 01.11.2022 07:00:00+09:00 = TargetDate = Zieldatum der Schöpfung

      • die Contribution wird gespeichert mit

        • creationDate=31.10.2022 22:00:00 UTC
        • contributionDate=01.11.2022 07:00:00
        • (neu) clientRequestTime=01.11.2022 07:00:00+09:00
      • durch automatische Bestätigung und sofortiger Transaktion wird die TX gespeichert mit

        • creationDate=31.10.2022 22:00:00 UTC
    • zwingende Prüfung aller Requeste: auf -12h <= ClientRequestTime <= +12h

      • Prüfung auf Sommerzeiten und exotische Länder beachten
    • zur Analyse und Problemverfolgung von Contributions immer original ClientRequestTime mit Offset in DB speichern

    • Beispiel für täglichen Contribution-Link während des Monats:

      • 17.10.2022 22:00 +09:00 => 17.10.2022 UTC: 17.10.2022 13:00 UTC => 17.10.2022
      • 18.10.2022 02:00 +09:00 => 18.10.2022 UTC: 17.10.2022 17:00 UTC => 17.10.2022 !!!! darf nicht weil gleicher Tag !!!
    • Beispiel für täglichen Contribution-Link am Monatswechsel:

      • 31.10.2022 22:00 +09:00 => 31.10.2022 UTC: 31.10.2022 15:00 UTC => 31.10.2022
      • 01.11.2022 07:00 +09:00 => 01.11.2022 UTC: 31.10.2022 22:00 UTC => 31.10.2022 !!!! darf nicht weil gleicher Tag !!!
  12. Layout

  13. Lastschriften-Link

  14. Registrierung mit Redeem-Link:

    • bei inaktivem Konto, sprich bisher noch keine Email-Bestätigung, keine Buchung möglich
    • somit speichern des Links zusammen mit OptIn-Code
    • damit kann in einem Resend der ConfirmationEmail der Link auch korrekt wieder mitgeliefert werden
  15. Manuelle User-Registrierung für Admin

    • soll am 10.12.2022 für den Tag bei den Galliern produktiv sein
  16. Dezentralisierung / Federation

    • Hyperswarm

      • funktioniert schon im Prototyp
      • alle Instanzen finden sich gegenseitig
      • ToDo:
        • Infos aus HyperSwarm in der Community speichern
        • Prüfung ob neue mir noch unbekannte Community hinzugekommen ist?
        • Triggern der Authentifizierungs- und Autorisierungs-Handshake für neue Community
    • Authentifizierungs- und Autorisierungs-Handshake

    • Inter-Community-Communication

    • ToDos:

      • DB-Migration für Community-Tabelle, User-Community-Zuordnungen, UserRights-Tabelle

      • Berechtigungen für Communities

      • Register- und Login-Prozess für Community-Anmeldung anpassen

        • Auswahl-Box einer Community
        • createUser mit Zuordnung zur ausgewählten Community
      • Schöpfungsprozess auf angemeldete Community anpassen

        • "Beitrag einreichen"-Dialog auf angemeldete Community anpassen
        • "meine Beiträge zum Gemeinwohl" mit Filter auf angemeldete Community anpassen
        • "Gemeinschaft"-Dialog auf angemeldete Community anpassen
      • "Mein Profil"-Dialog auf Communities anpassen

        • Umzug-Service in andere Community
        • Löschen der Mitgliedschaft zu angemeldeter Community (Deaktivierung der Zuordnung "User-Community")
      • "Senden"-Dialog mit Community-Auswahl

      • "Transaktion"-Dialog mit Filter auf angemeldeter Community

      • AdminInterface auf angemeldete Community anpassen

        • "Übersicht"-Dialog mit Filter auf angemeldete Community
        • "Nutzersuche"-Dialog mit Filter auf angemeldete Community
        • "Mehrfachschöpfung"-Dialog mit Filter auf angemeldete Comunity
      • Subject/Texte/Footer/... der Email-Benachrichtigungen auf angemeldete Community anpassen

Priorisierung

  1. Contribution-Link editieren (vlt schon im vorherigen Bugfix-Release Ende Okt. 2022 fertig)
  2. Passwort-Verschlüsselung: Refactoring Konzeption fertig!!!
  3. Manuelle User-Registrierung für Admin (10.12.2022) Konzeption ongoing!!!
  4. Passwort-Verschlüsselung: implizite Login-Neuverschlüsselung Konzeption fertig!!!
  5. Layout
  6. Zeitzone
  7. Dezentralisierung / Federation
  8. capturing alias Konzeption fertig!!!
  9. Registrierung mit Redeem-Link: bei inaktivem Konto keine Buchung möglich
  10. Subgruppierung / User-Tagging (einfacher Ansatz)
  11. backend access layer
  12. technische Ablösung der Email und Ersatz durch GradidoID
  13. User-Beziehungen und Favoritenverwaltung
  14. Lastschriften-Link
  15. Contribution-Categories
  16. Statistics / Analysen