wir nutzen die external_id-Funktion für unsere Integration gerne. Ich stelle jedoch fest, dass wir, wenn wir ein Thema löschen, kein neues mit derselben external_id erstellen können und stattdessen die Fehlermeldung erhalten:
{'action': 'create_post', 'errors': ['External has already been taken']}
Ist es überhaupt möglich, dieselbe external_id wiederzuverwenden, nachdem ein Thema, das sie verwendet hat, gelöscht wurde?
Ich verstehe, warum externe IDs nicht wiederverwendet werden können, aber es wäre praktisch, wenn sie es könnten. Mein Anwendungsfall ist, externe IDs zu Themen hinzuzufügen, die von einer CLI-Anwendung aus dem lokalen Dateisystem von Discourse aufgerufen werden.
Die Beziehung zwischen Discourse-Themen und lokalen Dateien wird in einer Datenbank gepflegt. Es ist unvermeidlich, dass Datenbanken gelöscht, beschädigt usw. werden. Es wäre beruhigend zu wissen, dass die lokale Datenbank anhand der Ergebnisse einer Data Explorer-Abfrage wiederhergestellt werden könnte.
Leider wird die Unfähigkeit, externe IDs nach dem Löschen eines Themas wiederzuverwenden, ein weiteres Problem verursachen. Ich bin in den ersten 5 Minuten des Testens darauf gestoßen. Basierend auf früheren Erfahrungen mit dem WordPress-Plugin ist es üblich, dass Benutzer über die API erstellte Themen löschen. Besonders bei der erstmaligen Einrichtung einer Integration.
Bearbeiten: Vielleicht würde das Wiederherstellen des Themas über die API für meinen Anwendungsfall funktionieren.