Formato de URL para novo tópico

Existe uma maneira de prever o URL que será gerado quando um novo tópico for criado, desde que você tenha o título da thread?

O motivo pelo qual pergunto é que tenho um assistente configurado que cria um novo tópico após ser concluído. Com base na entrada do usuário em campos, o título da thread sempre seguirá um formato específico.

Aqui está o negócio estranho. Em vez de usar o DiscoTOC (temos nossos motivos), a POSTAGEM 1 no tópico contém um monte de informações, mas também tem um sumário. O tópico terá SEMPRE 8 respostas e cada uma delas usará uma resposta pré-definida para criar o “título” de cada resposta, (1-7). Tenho o assistente gerando o Título com um hyperlink em branco para cada resposta, por exemplo.

[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)

O motivo pelo qual pergunto é que, uma vez que o assistente cria o tópico, ele deixa meu usuário com esta lista para um TOC (sempre a mesma nesta categoria, todo mês). Meu usuário deve copiar o URL do tópico e, em seguida, colá-lo antes do /Reply#, porque a maneira como o Discourse gera o URL de um tópico tem o número da thread (dinâmico) no final do URL. Com o assistente, posso gerar a sintaxe do URL inteiro, menos o ID do tópico.

Existe uma maneira de gerar um URL antes que o tópico seja criado (então ainda não há ID de tópico) que o Discourse ignore um ID de tópico ausente, mas ainda assim vincule corretamente ao tópico. Isso seria imensamente útil neste caso e, suponho, em alguns outros casos de uso para usar assistentes para gerar automaticamente links dentro de um novo tópico que está sendo criado.

1 curtida

Por que o assistente não lê a resposta da chamada de criação de tópico, que contém a URL do tópico recém-criado, e a retorna ao seu usuário?

2 curtidas

Não tenho certeza de como o assistente que é executado antes da criação do tópico pode capturar a URL gerada e inseri-la no compositor do assistente.

Talvez fazer o assistente criar o tópico primeiro, para que ele possa obter o ID e, em seguida, editá-lo com as informações que você deseja?

Sim, estou apenas tentando eliminar a etapa manual para o usuário que precisa manter um sistema de registros, mas à prova de idiotas para pessoas que não se sentem confortáveis com mais do que o markdown mais básico.

O problema é que a pessoa responsável não é contratada ou designada com base no mérito, é uma eleição de membros que a coloca na posição e é uma posição eleita específica que tem essa tarefa. Como está agora, é apenas jogar um documento do Word em uma pasta do Dropbox a cada mês. Esta é uma pequena curva de aprendizado na transição para o Discourse para parte do nosso estilo de biblioteca e manutenção de registros públicos.

Daí, estou fazendo o meu melhor para tirar a necessidade de o usuário fazer mais do que completar um assistente a cada mês.

Então talvez fazer isso com a API? Eu não entendo completamente o problema, mas parece que você tem um problema de ovo/galinha. Você geralmente pode usar apenas o slug sem o ID do tópico como https://meta.discourse.org/t/new-topic-url-format, então talvez isso funcione.

Na mosca, Jay… você acertou.

Acho que se resume a que o assistente já é responsável por criar o título do tópico, portanto, a URL pode ser totalmente prevista, exceto pelo ID do tópico. Então, existe alguma maneira de o Discourse direcionar um usuário a um tópico se a URL não contiver o ID do tópico, ou existe alguma regra via um plugin personalizado que permite ao Discourse ignorar o ID do tópico, desde que a totalidade da URL corresponda, menos o ID do tópico?

Eu acho que se o slug for único e não começar com um número, ele deve funcionar sem o topic_id.

Sim, mas é impossível fixar em uma resposta específica com o último /reply#

Porque é domínio/título/postID/reply#

Tentando descobrir uma maneira de direcionar para a resposta sem ou usando algum placeholder genérico no campo postID