Creato un Topic (utilizzando l’API REST) con il campo “external_id”
Eliminato quel Topic, presumo che il Topic sarà presente nel Database ma sarà nascosto agli utenti
Ho provato a creare lo stesso Topic con lo stesso “external_id”, ricevo “External has already been taken”
Se il Topic viene eliminato dal punto di vista dell’utente, allora l’utente dovrebbe essere in grado di creare un nuovo Topic con gli stessi dati, ma perché non succede non sembra esserci modo di utilizzare lo stesso “external_id”. Sembra un bug.
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"]}
Penso che a cosa si riferisse @RGJ: questo non è un bug, poiché Discourse utilizza un approccio di “eliminazione logica” per impostazione predefinita. L’external_id verrebbe utilizzato in quel contesto, il che è voluto.
Il punto è che un argomento del genere può essere ripristinato e, in tal caso, ci sarebbero due argomenti con lo stesso ID esterno. L’ID esterno dovrebbe essere univoco, tra tutti gli argomenti, inclusi quelli eliminati. Come ha detto @maiki, questo è per progettazione.
può essere ripristinato? come? Anch’io voglio ripristinare quell’argomento, il mio problema sparirebbe. ma non c’è modo di ripristinare quell’argomento.
O discourse dovrebbe permettere di usare l’external_id che viene utilizzato su un argomento eliminato o dovrebbe avere un modo per ripristinare l’argomento eliminato con quell’external_id. Non vedo nessuna di queste due cose.
I post sopra di me indicano chiaramente che gli argomenti possono essere ripristinati. Il fatto che tu sembri incapace di ripristinare questo specifico argomento non significa che si tratti di un bug, ma di una questione di permessi o impostazioni.
Sei amministratore del forum?
Comunque, per favore, smetti di classificarlo come Bug.
Si prega di utilizzare la modalità provvisoria e vedere se è possibile farlo. Se non è possibile, si prega di dirci in grande dettaglio cosa si vede invece. Gli screenshot aiuteranno.
/latest?status=deleted funziona sul mio sito di test?
Ahhh, ora capisco. Il video ha decisamente aiutato. Sì, il titolo dell’argomento attualmente non appare negli argomenti eliminati da quella vista. Questo è stato segnalato in precedenza, ma potrebbe valere la pena di dargli un’altra occhiata.
Potresti provare [Il Tuo Sito]/latest?status=deleted e vedere se riesci ad accedere all’argomento dall’elenco degli argomenti lì invece?
E ora che ho trovato l’altro argomento, c’è anche un altro suggerimento per navigare all’argomento eliminato tramite i tuoi log dello staff, se può essere d’aiuto:
Penso che il tuo sia nascosto dal banner di benvenuto dell’argomento CTA. Potresti provare a nasconderlo nella tua console e vedere se l’argomento è dietro di esso? (o modificare l’argomento di benvenuto per chiudere il banner )