Ich habe gerade die Review Queue zusammengeführt, die in den letzten Monaten entwickelt wurde. Wir haben sie seit einiger Zeit auf unseren Servern getestet, und sie hat die Hände mehrerer Entwickler durchlaufen, sodass sie gut vorbereitet ist, um mit den Discourse-Nutzern getestet zu werden, die den tests-passed-Branch verfolgen.
Hier sind die Notizen zum Commit:
Dies ist eine große Refaktorierung, die alle Arten von überprüfbaren Elementen im Kern von Discourse (Benutzer, Warteschlangenbeiträge und Flaggen) in eine konsolidierte Review Queue zusammenführt.
Neue Funktionen
- Ein praktischer Ort zum Überprüfen aller Inhalte
- Überprüfbare Elemente werden im Hintergrund bewertet, und die Elemente mit der höchsten Priorität werden zuerst angezeigt. Mitarbeiter und Benutzer mit höherem Vertrauenslevel erzeugen Elemente mit höherer Priorität.
- Sie können die Review Queue nach Status, Priorität, Art des überprüfbaren Elements, Kategorie und Benutzer filtern
- Die API für überprüfbare Elemente gibt die Liste der Aktionen zurück, die an einem Element ausgeführt werden können. Dies bedeutet, dass die Frontend-Anwendung einfacher sein kann und nicht die gesamte Logik duplizieren muss.
- Datenstrukturen wurden erstellt, um eine Moderation von Elementen auf Nicht-Mitarbeiter-Ebene in naher Zukunft zu ermöglichen
Hinweise zum Software-Design
Das Reviewable-Modell verwendet Single Table Inheritance (STI), und jede Art von überprüfbares Element muss eine Unterklasse, einen Serializer und eine Ember-Komponente deklarieren. Derzeit gibt es drei Typen: ReviewableQueuedPost, ReviewableUser und ReviewableFlaggedPost. Entwickler werden aufgefordert, sich anzusehen, wie andere überprüfbare Elemente implementiert sind, und eigene zu erstellen.
Post-Aktionen (wie Flaggen) müssen nun unter Verwendung des Dienstobjekts PostActionCreator erstellt werden. Es verfügt jetzt über eine viel benutzerfreundlichere API und gibt ein Ergebnisobjekt zurück, das das zugehörige überprüfbare Element zurückgibt.
Abwärtskompatibilität
Die REST-API bleibt mit den alten Endpunkten erhalten, jedoch werden Verwarnungen zur Abschaltung protokolliert. Code von Drittanbietern, der auf die alten APIs ausgerichtet ist, sollte auf die neue Review-Queue-API aktualisiert werden. Der gesamte Ember.js/Frontend-Code für die alte Benutzergenehmigungs-/Flaggenoberfläche/Warteschlangenbeiträge wurde entfernt.
In einer zukünftigen Version werden wir die alten APIs und die Abwärtskompatibilität entfernen.
Bitte nutzen Sie dieses Thema für Feedback und Fehlerberichte. Ich werde versuchen, Dinge so schnell wie möglich zu bearbeiten!




