Nouveau format d'URL pour le sujet

Existe-t-il un moyen de prédire l’URL qui sera générée lorsqu’un nouveau sujet sera créé, tant que vous avez le titre du fil de discussion ?

La raison pour laquelle je pose la question est que j’ai un assistant qui crée un nouveau sujet une fois qu’il est terminé. En fonction des entrées de l’utilisateur dans les champs, le titre du fil de discussion suivra toujours un format spécifique.

Voici le point étrange. Plutôt que d’utiliser DiscoTOC (nous avons nos raisons), le POST 1 du sujet contient une quantité d’informations, mais aussi une table des matières. Le sujet sera TOUJOURS composé de 8 réponses et chacune d’elles utilisera une réponse prédéfinie pour créer le « titre » de chaque réponse, (1-7). J’ai l’assistant qui génère le titre avec un hyperlien vide vers chaque réponse, par exemple.

[1. Ordre du jour de la réunion](/2)
[2. Fichiers de la réunion](/3)
[3. Votes pendant la réunion](/4)
[4. Procès-verbal de la réunion - [Brouillon initial] Préliminaire pour commentaires](/5)
[5. Procès-verbal de la réunion - [Brouillon final] Examen pour distribution](/6)
[6. Procès-verbal de la réunion - [Copie de distribution] Vote pour accepter le procès-verbal de la réunion](/7)
[7. Réservé](/8)

La raison pour laquelle je pose la question est qu’une fois que l’assistant crée le sujet, il laisse à mon utilisateur cette liste pour une table des matières (toujours la même dans cette catégorie, chaque mois). Mon utilisateur doit copier l’URL du sujet, puis la coller avant le /Reply# car la manière dont Discourse génère l’URL d’un sujet a le numéro du fil (dynamique) à la toute fin de l’URL. Avec l’assistant, je peux générer la syntaxe de l’URL entière, moins l’ID du sujet.

Existe-t-il un moyen de générer une URL avant que le sujet ne soit créé (donc pas encore d’ID de sujet) que Discourse ignore un ID de sujet manquant mais qui lie toujours correctement au sujet. Ce serait immensément utile dans ce cas, et je suppose dans d’autres cas d’utilisation pour utiliser des assistants afin de générer automatiquement des liens dans un nouveau sujet en cours de création.

1 « J'aime »

Pourquoi l’assistant ne lit-il pas la réponse de l’appel de création de sujet, qui contient l’URL du sujet nouvellement créé, et ne la renvoie-t-il pas à votre utilisateur ?

2 « J'aime »

Je ne suis pas sûr de la façon dont l’assistant qui s’exécute avant la création du sujet peut capturer l’URL générée à venir et l’insérer dans le compositeur de l’assistant.

Peut-être que le wizard devrait créer le sujet en premier, afin qu’il puisse obtenir l’ID, puis le modifier avec les informations que vous souhaitez ?

Oui, j’essaie juste d’éliminer l’étape manuelle pour l’utilisateur qui doit maintenir un système de dossiers, mais qui est à l’épreuve des idiots pour les personnes qui ne sont pas à l’aise avec plus que le markdown très basique.

Le problème est que la personne responsable n’est pas embauchée ou nommée sur la base du mérite, c’est une élection de membres qui la met en position et c’est un poste élu spécifique qui en est chargé. Tel qu’il est, il s’agit simplement de déposer un document Word dans un dossier Dropbox chaque mois. C’est une petite courbe d’apprentissage dans la transition vers Discourse pour une partie de notre style de bibliothèque et de notre tenue de registres publics.

D’où le fait que je fais de mon mieux pour que l’utilisateur n’ait pas besoin de faire plus que de compléter un assistant chaque mois.

Alors peut-être le faire avec l’API ? Je ne comprends pas entièrement le problème, mais il semble que vous ayez un problème d’œuf et de poule. Vous pouvez généralement utiliser uniquement le slug sans l’ID du sujet comme https://meta.discourse.org/t/new-topic-url-format, donc peut-être que cela fonctionnera.

Bien vu Jay… tu as mis le doigt dessus

Je suppose que cela se résume au fait que l’assistant est déjà responsable de la création du titre du fil de discussion, donc l’URL peut être entièrement prédite à l’exception de l’ID du sujet. Existe-t-il donc un moyen pour Discourse de diriger un utilisateur vers un sujet si l’URL ne contient pas l’ID du sujet, ou existe-t-il une règle via un plugin personnalisé qui permet à Discourse d’ignorer l’ID du sujet à condition que la totalité de l’URL corresponde moins l’ID du sujet..

Je pense que si le slug est unique et qu’il ne commence pas par un nombre, il devrait fonctionner sans le topic_id.

Oui, mais il est impossible de pointer vers une réponse spécifique avec le dernier /reply#

Car c’est domaine/titre/ID du post/réponse#

J’essaie de trouver un moyen de diriger vers la réponse sans utiliser de champ ID de post générique ou en utilisant un tel champ.