Vor ein paar Monaten habe ich Discourse installiert, einige Themen als Index-Thema im Abschnitt Dokumentationsmodus hinzugefügt. Alles funktionierte wie erwartet.
Ich habe alles gesichert, das Digital Ocean-Konto gelöscht usw.
Vor ein paar Tagen habe ich Discourse erneut installiert und alles aus der erstellten Sicherungsdatei wiederhergestellt, und alles funktioniert, außer den Dokumentationsbereichen. Zuerst dachte ich, das Problem sei, dass ich diese Index-Themen nicht aufgelistet habe, aber sie waren nicht aufgelistet, bevor ich alles deinstalliert habe, und sie funktionierten, also konnte das nicht das Problem sein. Trotzdem habe ich versucht, sie aufzulisten, aber ohne Erfolg. Die Seitenleiste zeigte immer noch die Kategorien und all die anderen Dinge an, die standardmäßig vorhanden sind.
Dann habe ich beschlossen, den Inhalt des ursprünglichen Themas zu kopieren und ein neues Thema damit zu erstellen, es als Index-Thema festzulegen, und dieses funktioniert. Ebenso geschlossen und nicht aufgelistet wie das, das nicht funktioniert, also sind Schließen und Nicht-Auflisten nicht das Problem.
Es scheint, dass beim Wiederherstellungsprozess etwas den Dokumentationsmodus aus irgendeinem Grund beschädigt.
Vielen Dank für den Link.
Da ich noch die gesamte Struktur aufbaue, habe ich einfach ein neues Thema erstellt, den Inhalt des alten Themas kopiert und eingefügt und das alte Thema gelöscht. Ich hatte sowieso nur zwei davon.
Meine Frage ist also: Ist diese rake task etwas, das ich jedes Mal ausführen muss, wenn ich Discourse aktualisiere? Oder nur, wenn ich wiederherstelle (falls ich das in Zukunft wieder tun sollte)?
Nein, diese Rake-Aufgabe ist nur eine einmalige Sache aus dem Datum dieses zitierten Beitrags.
Sie sollten das Thema jedoch nicht neu erstellen müssen. Es sollte ausreichen, zu den Kategorieeinstellungen zu gehen, die Verknüpfung aufzuheben, zu speichern und das bestehende Thema erneut zu verknüpfen.
Soweit ich mich zu dieser Zeit erinnerte – Es konnte keine Migration sein. Migrationen sollten idealerweise keinen Anwendungscode berühren (da der Code von dem Zeitpunkt abweichen kann, für den die Migration vorgesehen ist, und Fehler verursachen kann).
Diese PR enthält auch eine Rake-Aufgabe (doc_categories.rake) zum Neuerstellen von Seitenleistenabschnitten und Links aus aktiven Dokumentenindex-Themen – dies wird nicht unbedingt für eine Migration empfohlen, da dabei entweder der Parser oder Nokogiri verwendet werden müsste (deren Implementierungen abweichen und eine ungültige Migration verursachen können).
Wenn ich das also richtig verstehe, muss ich von nun an keines von alldem mehr tun? Die Rake-Aufgabe oder den Neulink-Prozess, wann immer ich Discourse aktualisiere?
Ich möchte nur sicherstellen, dass ich es richtig verstanden habe.