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.
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 ?
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.
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.
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..