Estou migrando meu fórum de suporte do YouTrack (um sistema de helpdesk) para o Discourse.
Gostaria de usar a API para fazer o seguinte:
Extrair usuários (nome, nome de usuário, e-mail) do YouTrack e criar usuários equivalentes no Discourse. Não definir senhas para eles!
Enviar um convite a todos esses usuários para se cadastrarem no Discourse, usando os mesmos nomes de usuário e e-mails (para que criem novas senhas).
Extrair certos tópicos, anexos e comentários do YouTrack e criá-los no Discourse.
Para isso, será necessário que os mesmos usuários existam no Discourse, de modo que possam ser definidos como autores de tópicos e comentários. Isso deve ser feito, independentemente de esses usuários terem se cadastrado no Discourse após receber o convite ou não.
Problemas:
a) A documentação da API indica que o campo “password” é obrigatório ao criar um usuário. Como posso contornar isso?
b) Qual deve ser o estado desse usuário (criado via API, já possui alguns tópicos em seu nome, mas ainda não confirmado, nem com senha definida)?
Eu criaria os usuários, categorias, tópicos e posts usando um script de importação, em vez da API.
Não tenho certeza de qual é a melhor maneira de enviar e-mail para cada usuário individualmente, mas uma opção seria fazer com que o script de importação deixe os usuários ativados e permita que recebam uma mensagem de resumo por e-mail, de modo que o e-mail de resumo inclua instruções para acessar o novo fórum.
Eu não sei muito bem, mas parece que você tem um número de grupo inválido e está recebendo um erro? Se estiver adicionando o usuário, então parece que não está definindo um grupo já existente.
Você poderia alterar o script para que ele não defina uma senha, eu acho, mas definir uma senha aleatória que ninguém conhece é praticamente a mesma coisa que não ter senha.
Se precisar de personalização e tiver um orçamento, posso provavelmente fazer isso ainda hoje.
O número do grupo está correto, eu o peguei de /groups.json. De qualquer forma, meu objetivo atual é descobrir a solução com as ferramentas disponíveis. Obrigado, mesmo assim, pela oferta e ajuda!
Hmm. Bem, o script definitivamente precisa ser atualizado para enviar o usuário e a chave da API em um cabeçalho, em vez de na URL. Embora eu tenha quase certeza de que funcionava há dois anos, parece que foi escrito por alguém com dois anos menos de experiência do que eu tenho agora.
Ele não faz nenhuma verificação de erro para ver se o usuário foi realmente criado, então isso é algo que eu mudaria se fosse trabalhar nele.
Parece que, se você não tiver nenhum grupo, ele pulará a tentativa de adicionar o usuário ao grupo.
Ambas as razões são verdadeiras. Queríamos oferecer suporte aos nossos clientes em um fórum aberto, para que o mundo inteiro pudesse ver o quão bons somos E o YouTrack não era uma boa ferramenta para isso por vários motivos, e o fato de cobrar por usuário está entre eles.
Nossa configuração atual é a seguinte:
Discourse para suporte, solicitações de recursos e discussões. Os formulários de “Fale Conosco” em nossos sites também vão para lá (novos tópicos e usuários “em estágio” são criados automaticamente via API)
YouTrack para desenvolvimento — tarefas, bugs e outros problemas
Confluence para documentação geral. Alguns artigos, descrevendo casos de uso específicos, também são publicados no Discourse (manualmente)
Também tentamos usar o Discourse como nosso blog corporativo, mas depois preferimos o Hashnode.
Obrigado, Dmitry. Essa experiência será útil para nós.
Estamos prestes a migrar a documentação do Confluence. Ele possui uma função de busca fraca e pagamentos caros. O YouTrack tem um recurso de base de conhecimento com suporte a Markdown. Além disso, possui uma importação fácil e a função de busca é aceitável. O YouTrack é nosso sistema de rastreamento de bugs e continuaremos a utilizá-lo.
Se você puder confirmar que a base de conhecimento do YT é lenta em produção, poderíamos considerar não usá-la.
O Discourse é usado como sistema de suporte de terceiro nível. A função principal é salvar soluções dos clientes e compartilhar as melhores práticas. Infelizmente, usar o Discourse para clientes é difícil. Porque a equipe de suporte ao cliente usa um Service Desk. Além disso, é muito difícil criar centenas de categorias privadas para cada cliente.