Tentei importar meus dados usando apenas a API, mas parece que a maneira recomendada é usar um importador. Na verdade, meus dados vêm de um feed RSS do ListServ que converti para JSON.
Ao pesquisar na issue, vi que o formato necessário para meus dados parece ser este:
"topics": [
{
"id": 1,
"title": "O título",
"pinned": false,
"posts": [
{
"id": 2,
"body": "O conteúdo",
"date": "A data",
"author": "nome_de_usuario"
}
]
}
]
}
Primeira pergunta: Esse é o formato correto para o json_generic?
Segunda pergunta: Há mais informações sobre como usar isso?
Se você conseguir acessar os arquivos mbox, será muito mais fácil.
O script de importação genérico é exatamente isso: você precisará examinar o código para ver o que ele espera e ajustá-lo ou seus dados para que correspondam.
Acho que não tenho acesso aos arquivos mbox. Sou assinante e recebo apenas algumas mensagens do grupo. Já tentei essa rota. O sistema está em uma branch diferente e estou tentando apresentar o Discourse à nossa organização.
Você pode confirmar se minha estrutura JSON está correta, exceto por alguns campos?
À primeira vista, parece que você está no caminho certo. Mas, é claro, precisará usar os nomes dos campos corretos. E também será necessário importar os usuários para que funcione.
Já importei os usuários através da API. Acho que tive sorte desta vez. O conteúdo não passa nas validações e, pelo que parece, não consigo desativá-las apenas para enviar meu arquivo JSON para o meu Discourse local.
Acho que cada postagem precisará buscar o userId no Discourse. Isso faz sentido, ou há uma abordagem diferente?
Você vai querer começar do zero e deixar o script criar os usuários. Ele precisa do ID de importação em um campo personalizado do usuário para realizar as consultas.
Como preciso refazer os usuários, isso funcionaria? Neste exemplo, o usuário 1 (John Doe) cria o tópico 1, “The Title”, e esse tópico tem 1 post de John Doe com o conteúdo “Body”?
Se estiver correto, como uso o script json_generic para iniciar o processo? Estou um pouco confuso sobre o próximo passo no processo.