Qual a maneira mais fácil de exportar um único tópico?

Olá,

Estamos tentando exportar um único tópico de uma instância do Discourse para armazenamento local ou, preferencialmente, para outra instância. Os administradores da instância original apoiam a mudança, mas não necessariamente desejam gastar muito tempo trabalhando na implementação da transferência, então estamos buscando soluções disponíveis que sejam relativamente rápidas e sem complicações.

Até o momento, estamos considerando duas opções:

Embora o primeiro link seja certamente a maneira mais direta de atingir nosso objetivo final, não temos certeza de que nossos administradores estarão dispostos a realizar o que parece ser uma quantidade considerável de trabalho de sua parte para apoiar a mudança, e por isso também estamos considerando o Discourse Downloader de @pfaffman.

No entanto, se uma dessas opções for claramente melhor considerando nossas necessidades e restrições, gostaríamos muito de receber insights de outras pessoas que já fizeram uma ou outra, ou que estão mais familiarizadas com o processo do que nós. Além disso, se houver alguma outra opção que não encontramos e que seria melhor, ficaríamos muito felizes em saber!

Obrigado pelo seu tempo!

A ferramenta de linha de comando para importação/exportação de tópicos/categorias resume-se a alguns comandos e, no máximo, cinco minutos de trabalho.

Você considerou as implicações legais de copiar usuários para outra instância?

Todos os usuários estão concordando com a mudança, então não espero que seja um problema.

Se você achar o contrário, por favor, me avise!

Você realmente quer dizer um único tópico? Por que não copiar e colar na interface web?

Edição: ah, sim. Um tópico tem muitas postagens. Desculpe. :frowning_face:

De qualquer forma, agora que entendi, acho que usaria a tarefa rake se você conseguir que seus administradores façam isso. Não acho que seja tão difícil.

Possíveis motivos:

  • Você quer os usuários, uploads, citações, curtidas, etc.
  • O tópico tem um milhão de posts

Certo, então

Os administradores disseram não para ambas as soluções porque seria muito trabalho fazer.

Foram as palavras deles, não as minhas; eu também não sou fã.

Será que você sabe como obter um arquivo .json não apenas para uma postagem, mas para todo o tópico, sem permissões de administrador?

Edição: Isso talvez fosse melhor como um tópico próprio, já que, suponho, não está mais alinhado com o título. Ainda assim, parece spam, então não farei.

Acho que você não precisa executar a solução do @pfaffman no servidor. Pelo que sei, você não precisa dos administradores para isso.

É necessária uma chave de API.

Esse é um tópico de fórum público? Nesse caso, isso deve funcionar sem chave de API.

Uau! Parece mesmo que escrevi de forma que não será necessária uma chave de API se o tópico for público.

Ou talvez não?

Empurrei uma correção, então você pode fazer um git pull e deve funcionar agora com um arquivo apikeys vazio. (Acho que você precisa criar um vazio, no entanto). Ele fará o download de um tópico para um arquivo de texto.

Eu o escrevi para análise offline de discussões, então não tenho certeza de quão útil será sem algum trabalho adicional. Acho que deve permitir que você baixe o conteúdo localmente, mas não será de grande ajuda (como está) para movê-lo para outro Discourse.

Se você quiser movê-lo para outro Discourse e for um tópico público, precisará, digamos, adaptar essa ferramenta para algo diferente. Se tiver um orçamento, pode entrar em contato comigo ou postar em Marketplace.

Para ser honesto, se eu fosse gastar tanto tempo, provavelmente escreveria algo que varresse o tópico e baixasse manualmente todos os arquivos .json individuais lol

Infelizmente, não consigo realmente dedicar recursos a nenhuma dessas opções, então executar o downloader pode ser a melhor opção que tenho.

Obrigado!

Esse código é um bom ponto de partida. Ele baixa os arquivos JSON e depois os converte para outras coisas.

Parece útil — obrigado!

Obrigado pelo código Ruby, @pfaffman!

Para quem prefere Python, há um ótimo ponto de partida sobre como usar a API e os arquivos JSON em mcmcclur/ArchiveDiscourse: Código para arquivar meus sites Discourse.