Stiamo utilizzando con piacere la funzionalità external_id per la nostra integrazione. Noto tuttavia che se eliminiamo un Topic, non possiamo crearne uno nuovo con lo stesso external_id e invece riceviamo l’errore:
{'action': 'create_post', 'errors': ['External has already been taken']}
È in qualche modo possibile riutilizzare lo stesso external_id dopo che un Topic che lo utilizzava è stato eliminato?
Capisco perché gli ID esterni non possano essere riutilizzati, ma sarebbe utile se potessero esserlo. Il mio caso d’uso è voler aggiungere ID esterni agli argomenti che vengono inviati a Discourse dal file system locale di un utente con un’applicazione CLI.
La relazione tra gli argomenti di Discourse e i file locali viene mantenuta in un database. È inevitabile che i database vengano eliminati, corrotti, ecc. Sarebbe rassicurante sapere che il database locale potrebbe essere ricostruito sulla base dei risultati di una query di Data Explorer.
Sfortunatamente, non poter riutilizzare gli ID esterni dopo che un argomento è stato eliminato creerà un altro problema. Mi ci sono imbattuto nei primi 5 minuti di test. Sulla base dell’esperienza passata con il plugin di WordPress, è comune che le persone eliminino argomenti creati tramite API. Soprattutto quando si imposta un’integrazione per la prima volta.
Modifica: forse ripristinare l’argomento tramite API funzionerebbe per il mio caso d’uso.