Everybody can propose changes, Serverside checks and rules and a log in diff-format to restore data
Audit-trail / database-history
Inhaltlicher Vorteil ist das Ermöglichen niederschwelliger Änderungen. Jede_r kann sagen: das wäre doch besser so oder so. Es gibt aber vor der Umsetzung noch einige Fragen dazu.
Implementierungen
Was sind verschiedene Arten der Implementierung auf technischer Seite? Diff-log mit komplexen allow/deny rules auf server
- eine pending-Collection, eine done-collection?
- eine diff-collection für alle vorschläge, wo dann jeweils steht ob noch pending oder auf was sie wartet?
- etc..
Was ist der jeweils geschätzte Aufwand? Was sind Vor- und Nachteile?
Usecases
Wo wird das Feature überall gebraucht? wo ist es wichtig, wo ist es nice-to have?
- anmelden als
- vorschlagen eines Events
- editieren eines Beschreibungsfeldes
Abhängigkeit/Viralität
Gibt es Möglichkeiten, dass nicht alle Änderungen durch dieses System laufen müssen? Was sind zB Beispiele von automatischen Entscheidungen des Servers? (User hat zu Zeitpunkt X eine Reputation von 2.35, deshalb wird die Löschung eines Kommentars durchgewunken. User Y mit Reputation 1.7 kann Rückgängigmachung der Löschung beantragen...)
GUI
Wie wird Usern mit Entscheidungsrechten ihre zu machenden Entscheidungen angezeigt
Conflicts
Was passiert, wenn verschiedene User sich widersprechende Vorschläge machen? Anzeigen, dass wenn ein Vorschlag angenommen wird, andere ungültig werden? oder schon davor sagen dass nur der eine oder der andere Vorschlag angenommen werden können? -> Aufwand?
Rekonstruktion der Daten aus Diff-log?
Wie wird mit einzuspielenden Updates umgegangen? siehe zB: Issue #218 Wie wird mit manuellen Umstellungen und Erneuerungen von Rechten umgegangen? Darf man dann nichts mehr in der Datenbank editieren? Für was brauchen wir dieses Feature überhaupt?
History
Wie wird History und gelöschte Daten angezeigt, gespeichert, und aufbereitet? (zB: Bearbeitungen von Kursbeschrieb, gelöschter BearbeitungsVorschlag) Was wird wem wie angezeigt?
Löschen von Änderungen
Wie werden Änderungen rückgängig gemacht oder geändert, die schon Abhängigkeiten zu weiteren Änderungen haben? (zB: Rückgängig machen von Löschung eines Events)