Neues Themen-URL-Format

Gibt es eine Möglichkeit, die URL vorherzusagen, die generiert wird, wenn ein neues Thema erstellt wird, solange man den Thread-Titel hat?

Der Grund, warum ich frage: Ich habe einen Assistenten eingerichtet, der nach Abschluss ein neues Thema erstellt. Basierend auf Benutzereingaben in Felder folgt der Titel des Threads immer einem bestimmten Format.

Hier ist die seltsame Sache. Anstatt DiscoTOC zu verwenden (wir haben Gründe), enthält POST 1 im Thema eine Menge Informationen, aber auch ein Inhaltsverzeichnis. Das Thema wird IMMER 8 Antworten lang sein und jede von ihnen wird eine Standardantwort verwenden, um den “Titel” jeder Antwort zu erstellen (1-7). Ich lasse den Assistenten den Titel mit einem leeren Hyperlink zu jeder Antwort generieren, z. B.

[1. Meeting Agenda](/2)
[2. Meeting Files](/3)
[3. In meeting votes](/4)
[4. Meeting Minutes - [Initial Draft] Preliminary for feedback](/5)
[5. Meeting Minutes - [Final Draft] Consideration for distribution](/6)
[6. Meeting Minutes - [Distribution Copy] Vote to accept meeting minutes](/7)
[7. Reserved](/8)

Der Grund, warum ich frage, ist, dass der Assistent, sobald er das Thema erstellt hat, meinem Benutzer diese Liste als Inhaltsverzeichnis hinterlässt (in dieser Kategorie jeden Monat immer gleich). Mein Benutzer muss die URL des Themas kopieren und sie dann vor dem /Reply# einfügen, da Discourse die URL eines Themas mit der Thread-Nummer (dynamisch) am Ende der URL generiert. Mit dem Assistenten kann ich die Syntax der gesamten URL generieren, abzüglich der Topic-ID.

Gibt es eine Möglichkeit, eine URL zu generieren, bevor das Thema erstellt wird (also noch keine Topic-ID vorhanden ist), die Discourse eine fehlende Topic-ID ignoriert, aber trotzdem richtig auf das Thema verlinkt? Dies wäre in diesem Fall von immensem Nutzen und wahrscheinlich auch in einigen anderen Anwendungsfällen, um Assistenten zur automatischen Generierung von Links innerhalb eines neu erstellten Themas zu verwenden.

1 „Gefällt mir“

Warum liest der Assistent nicht die Antwort vom Aufruf zum Erstellen des Themas, die die URL des neu erstellten Themas enthält, und gibt diese an Ihren Benutzer zurück?

2 „Gefällt mir“

Ich bin mir nicht sicher, wie der Assistent, der vor der Erstellung des Themas ausgeführt wird, die bevorstehende generierte URL erfassen und in den Composer des Assistenten einfügen kann.

Vielleicht sollte der Wizard zuerst das Thema erstellen, damit er die ID abrufen und es dann mit den gewünschten Informationen bearbeiten kann?

Ja, ich versuche nur, den manuellen Schritt für den Benutzer zu eliminieren, der ein Aufzeichnungssystem pflegen muss, aber idiotensicher für Personen, die mit nichts anderem als sehr grundlegendem Markdown vertraut sind.

Das Problem ist, dass die verantwortliche Person nicht nach Leistung eingestellt oder zugewiesen wird, es ist eine Mitgliederwahl, die sie in die Position bringt, und es ist eine spezifische gewählte Position, die damit beauftragt ist. So wie es jetzt ist, wird jeden Monat nur ein Word-Dokument in einen Dropbox-Ordner geworfen. Dies ist eine kleine Lernkurve bei der Umstellung auf Discourse für einige unserer Bibliotheksstile und öffentlichen Aufzeichnungen.

Daher tue ich mein Bestes, um die Notwendigkeit zu beseitigen, dass der Benutzer mehr als nur einen Assistenten jeden Monat ausfüllen muss.

Dann vielleicht mit der API? Ich verstehe das Problem nicht ganz, aber es scheint, als hättest du ein Henne-Ei-Problem. Du kannst normalerweise nur den Slug ohne die Topic-ID verwenden, wie z. B. https://meta.discourse.org/t/new-topic-url-format, also vielleicht funktioniert das.

Genau auf den Punkt gebracht, Jay. Du hast es getroffen.

Ich schätze, es läuft darauf hinaus, dass der Assistent bereits für die Erstellung des Thread-Titels verantwortlich ist, daher kann die URL bis auf die Topic-ID vollständig vorhergesagt werden. Gibt es also eine Möglichkeit, wie Discourse einen Benutzer zu einem Thema leitet, wenn die URL keine Topic-ID enthält, oder gibt es eine Regel über ein benutzerdefiniertes Plugin, die es Discourse erlaubt, die Topic-ID zu ignorieren, vorausgesetzt, die gesamte URL stimmt bis auf die Topic-ID überein?

Ich denke, wenn der Slug eindeutig ist und nicht mit einer Zahl beginnt, sollte er ohne die topic_id funktionieren.

Es, aber es ist unmöglich, mit der letzten /reply# an eine bestimmte Antwort zu springen.

Da es sich um domain/title/postID/reply# handelt.

Ich versuche, einen Weg zu finden, um zur Antwort zu gelangen, ohne ein generisches Platzhalterzeichen im postID-Feld zu verwenden oder dieses zu verwenden.