Ich betreibe seit einiger Zeit einige Discourse-Sites und habe eine Reihe von Skripten, die direkt mit einigen der Discourse-APIs interagieren. Ich stelle fest, dass die Dinge nach einem Upgrade periodisch nicht mehr funktionieren. Das ist im Allgemeinen in Ordnung, wenn die Dinge sofort erkennbar sind, aber wenn sie erst nach einiger Zeit auftreten, wird es schwierig, sie zu beheben, und führt oft zu Produktionsproblemen anstelle von Entwicklungsinstanzen.
Zum Beispiel: Recurring events in Upcoming Events calendar fail to handle daylight saving change
Kürzlich wurde die Option include_expired entfernt. Leider war das Verhalten, dass nur nicht abgelaufene Ereignisse von der Kalender-API zurückgegeben wurden, etwas, auf das ich mich verlassen habe, und es führte dazu, dass eine Reihe von Prozessen zu einem späteren Zeitpunkt nach dem Upgrade fehlschlugen. Für dieses spezielle Beispiel hätte das Fehlschlagen, wenn ein Aufrufer den jetzt entfernten Parameter angegeben hätte, das Problem in meinem speziellen Skript zumindest gestoppt ![]()
Daher frage ich mich, was als nachgelagerter Benutzer von Discourse der beste Weg ist, API-Änderungen wie diese zu identifizieren, bevor sie meine Instanz erreichen? Zuvor habe ich das discourse-calendar-Repository gespiegelt und es seltener auf eigene Kosten aktualisiert, um diese Probleme zu vermeiden. Da es jetzt integriert ist, habe ich beschlossen, diesen Ansatz aufzugeben, und werde wieder gebissen.
Ich schätze die ganze Arbeit und die ständigen Verbesserungen, die Discourse erfährt, und es ist in Ordnung für mich, wenn die Antwort lautet: “Melden Sie sich für Enterprise an, und diese Dinge werden seltener passieren” oder “Fügen Sie mehr Tests auf Ihrer Seite hinzu”, aber ich wollte sehen, ob es vielleicht andere Optionen oder Ansätze gibt, die ich nicht kenne.
Vielen Dank.