Erstellt ein Thema (über die REST-API) mit dem Feld „external_id“.
Dieses Thema gelöscht. Ich gehe davon aus, dass das Thema in der Datenbank vorhanden ist, aber für Benutzer verborgen wird.
Versucht, dasselbe Thema mit derselben „external_id“ zu erstellen. Ich erhalte die Meldung „External has already been taken“.
Wenn das Thema aus Benutzersicht gelöscht wird, sollte der Benutzer in der Lage sein, ein neues Thema mit denselben Daten zu erstellen. Warum geschieht dies nicht? Es scheint keine Möglichkeit zu geben, dieselbe „external_id“ zu verwenden. Das sieht nach einem Fehler aus.
2022/10/12 12:33:32 resp: &{Status:404 Not Found StatusCode:404 Proto:HTTP/2.0 ProtoMajor:2 ProtoMinor:0 Header:map[Content-Type:[application/json; charset=utf-8] Date:[Wed, 12 Oct 2022 10:33:32 GMT] Referrer-Policy:[strict-origin-when-cross-origin] Server:[nginx] Vary:[Accept-Encoding] X-Content-Type-Options:[nosniff] X-Discourse-Route:[topics/show_by_external_id] X-Discourse-Username:[mohan43u] X-Download-Options:[noopen] X-Frame-Options:[SAMEORIGIN] X-Permitted-Cross-Domain-Policies:[none] X-Request-Id:[26b86048-937c-451c-ac0c-b23dbcd3c8ca] X-Runtime:[0.013603] X-Xss-Protection:[0]] Body:0xc000183bc0 ContentLength:-1 TransferEncoding:[] Close:false Uncompressed:true Trailer:map[] Request:0xc00030a800 TLS:0xc0000d22c0}
2022/10/12 12:33:32 req: &{Method:GET URL:https://forums.tamillinuxcommunity.org/t/external_id/7N69MKNwQAs.json Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[Api-Key:[] Api-Username:[mohan43u]] Body:<nil> GetBody:<nil> ContentLength:0 TransferEncoding:[] Close:false Host:forums.tamillinuxcommunity.org Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr: RequestURI: TLS:<nil> Cancel:<nil> Response:<nil> ctx:0xc0000260b8}
2022/10/12 12:33:32 {"errors":["The requested URL or resource could not be found."],"error_type":"not_found"}
2022/10/12 12:33:32 uploading https://www.youtube.com/watch?v=7N69MKNwQAs
2022/10/12 12:33:32 {"title":"[Youtube] ஆண்ட்ராய்டுக்கான கட்டற்ற மென்பொருள் | FOSS for Android | F-Droid | Tamil","raw":"https://www.youtube.com/watch?v=7N69MKNwQAs\nஇந்த காணொளியில் F-Droid எவ்வாறு பயன்படுத்துவது? அதன் பயன் என்ன ? - என்பதை காண்போம்.\n\nகாணொளி வழங்கியவர்: \nமணிமாறன், விழுப்புரம் கட்டற்ற மென்பொருள் குழுமம்\n\nF-Droid: http://fdroid.org/\n\n#fdroid #fossforandroid #tamil #android #vglug","category":3,"external_id":"7N69MKNwQAs"}
2022/10/12 12:33:33 failed to create Topic: https://www.youtube.com/watch?v=7N69MKNwQAs
2022/10/12 12:33:33 err: <nil>
2022/10/12 12:33:33 resp: &{Status:422 Unprocessable Entity StatusCode:422 Proto:HTTP/2.0 ProtoMajor:2 ProtoMinor:0 Header:map[Cache-Control:[no-cache, no-store] Content-Type:[application/json; charset=utf-8] Date:[Wed, 12 Oct 2022 10:33:33 GMT] Referrer-Policy:[strict-origin-when-cross-origin] Server:[nginx] X-Content-Type-Options:[nosniff] X-Discourse-Route:[posts/create] X-Discourse-Username:[mohan43u] X-Download-Options:[noopen] X-Frame-Options:[SAMEORIGIN] X-Permitted-Cross-Domain-Policies:[none] X-Request-Id:[217f7585-269a-48b3-ac5e-215e02e76bdb] X-Runtime:[0.060606] X-Xss-Protection:[0]] Body:{cs:0xc00032c180} ContentLength:-1 TransferEncoding:[] Close:false Uncompressed:false Trailer:map[] Request:0xc000352100 TLS:0xc0000d22c0}
2022/10/12 12:33:33 req: &{Method:POST URL:https://forums.tamillinuxcommunity.org/posts.json Proto:HTTP/1.1 ProtoMajor:1 ProtoMinor:1 Header:map[Api-Key:[] Api-Username:[mohan43u] Content-Type:[application/json]] Body:0xc0005b0228 GetBody:0x6b0e40 ContentLength:733 TransferEncoding:[] Close:false Host:forums.tamillinuxcommunity.org Form:map[] PostForm:map[] MultipartForm:<nil> Trailer:map[] RemoteAddr: RequestURI: TLS:<nil> Cancel:<nil> Response:<nil> ctx:0xc0000260b8}
2022/10/12 12:33:33 {"action":"create_post","errors":["Title has already been used","External has already been taken"]}
Ich glaube, worauf @RGJ sich bezog: Das ist kein Fehler, da Discourse standardmäßig einen „Soft Delete“-Ansatz verwendet. Die external_id würde in diesem Kontext verwendet, was so vorgesehen ist.
Der Punkt ist, dass ein solches Thema wiederhergestellt werden kann und in diesem Fall gäbe es zwei Themen mit derselben externen ID. Die externe ID soll eindeutig sein, über alle Themen hinweg, einschließlich gelöschter. Wie @maiki sagte, ist dies so vorgesehen.
kann wiederhergestellt werden? wie? Ich möchte dieses Thema auch wiederherstellen, mein Problem wird dadurch gelöst. Aber es gibt keine Möglichkeit, dieses Thema wiederherzustellen.
Entweder sollte Discourse die Verwendung der external_id zulassen, die für ein gelöschtes Thema verwendet wird, oder es sollte eine Möglichkeit geben, das gelöschte Thema mit dieser external_id wiederherzustellen. Ich sehe keine dieser beiden Möglichkeiten.
Die Beiträge über mir zeigen deutlich, dass Themen wiederhergestellt werden können. Dass Sie dieses spezielle Thema anscheinend nicht wiederherstellen können, bedeutet nicht, dass dies ein Fehler ist, sondern eine Frage der Berechtigungen oder Einstellungen.
Sind Sie Administrator im Forum?
Übrigens, hören Sie bitte auf, dies als Bug zu klassifizieren.
Bitte benutze den abgesicherten Modus und sieh, ob du das tun kannst. Wenn du das nicht kannst, teile uns bitte im Detail mit, was du stattdessen siehst. Bildschirmaufnahmen helfen dabei.
Der Wiederherstellen-Button befindet sich im Thema „gelöscht“. Sie müssen es also anzeigen und von dort wiederherstellen.
Sie können nicht auf das entsprechende Menü in der Liste der gelöschten Beiträge des Benutzers zugreifen. Sie müssen zum Thema selbst gehen, um die Option im Menü zu sehen:
Ja, aber @Mohan43u hat einen Punkt, es gibt keine Möglichkeit, von der Liste der „gelöschten Beiträge“ dorthin zu gelangen. Wie kommt man also zu diesem Thema?
Außerdem scheint ?status=deleted nicht mehr zu funktionieren?
Es gibt keine Möglichkeit, außer von meiner Profilseite aus zu dem gelöschten Thema zu gelangen. Es ist von den Kategorien aus überhaupt nicht erreichbar.
/latest?status=deleted funktioniert auf meiner Testseite bei mir?
Ahhh, ich sehe es jetzt. Das Video hat definitiv geholfen. Ja, der Thema-Titel wird derzeit nicht für gelöschte Themen aus dieser Ansicht angezeigt. Dies wurde bereits angesprochen, aber es könnte sich lohnen, es noch einmal zu prüfen.
Könnten Sie versuchen, [YourSite]/latest?status=deleted einzugeben und zu sehen, ob Sie von dort aus über die Themenliste auf das Thema zugreifen können?
Und jetzt, da ich das andere Thema gefunden habe, gibt es noch einen weiteren Tipp, um über Ihre Mitarbeiterprotokolle zu dem gelöschten Thema zu navigieren, falls das hilfreich ist:
Ich glaube, er wird durch den CTA des Willkommens-Themenbannes verdeckt. Könnten Sie versuchen, ihn in Ihrer Konsole auszublenden und zu sehen, ob das Thema dahinter liegt? (Oder bearbeiten Sie das Willkommens-Thema, um den Banner auszublenden )