editor overhaul
Sonarqube Scanner / Prepare environment (push) Successful in 7s
Sonarqube Scanner / Build and test (push) Successful in 23s
Sonarqube Scanner / SonarQube analysis (push) Successful in 56s
Sonarqube Scanner / Deploy to Server (push) Successful in 8s

This commit is contained in:
Florian Zumpe
2026-10-18 14:26:25 +02:00
parent d33a67b8ae
commit 9c4d5f6324
17 changed files with 359 additions and 55 deletions
+30
View File
@@ -0,0 +1,30 @@
# TODO: Mögliche Streckenduplikate in der Moderation prüfen
Am 5. Oktober 2026 vorgemerkt, noch nicht implementiert.
## Ziel
Online mögliche Duplikate zur manuellen Moderation anzeigen. Erneute Einreichungen
nach Ablehnung oder Entfernung bleiben erlaubt. Ein Treffer darf nicht automatisch
eine Freigabe übernehmen, eine alte Strecke wiederherstellen oder einen Upload blockieren.
## Lösungsansätze
- SHA-256 der GPX-Datei für bytegenau identische Dateien berechnen. Änderungen an
XML-Schreibweise, Zeitstempeln oder Leerzeichen ändern bereits diese Prüfsumme.
- Zusätzlich eine stabile Darstellung der Routen- und Stationskoordinaten hashen.
XML-Schreibweise, Zeitstempel, Titel und interne IDs nicht als Wegidentität werten.
Reihenfolge, Rundung, fehlende Koordinaten und Stationsanker ausdrücklich definieren.
- Für GPS-Abweichungen einen geometrischen Ähnlichkeitsvergleich evaluieren.
Zunächst Kandidaten über die vorhandenen Min-/Max-Grenzen auswählen, dann
Wegverlauf, Start, Ende, Länge und Stationen mit festgelegter Toleranz vergleichen.
- Gleiche Wege und gleiche Inhalte unterscheiden: Derselbe Weg kann andere
Aufgaben, Bilder und Tonaufnahmen enthalten.
- Betroffene IDs, Status und Grund der Ähnlichkeit in der Moderation anzeigen.
Entscheiden, ob Papierkorb-Einträge in den Vergleich einbezogen werden.
- Fehlende GPS-Daten berücksichtigen; leere Dateien nicht pauschal als sinnvolle
Duplikate werten. Tests für identische Dateien, XML-/Zeitabweichungen, GPS-Rauschen,
Rückwege, andere Reihenfolge und Stationen sowie erneute Einreichungen vorsehen.
Die GPX-Datei bleibt Datenquelle; keine zweite vollständige Geometrie in SQLite
ablegen. Hashes sind Vergleichswerte, kein Berechtigungs- oder Urhebernachweis.