Quais alterações aqui, se houver, exigirão a re-cozimento de posts com hashtags neles?
Algum re-cozimento necessário acontecerá automaticamente com base na ativação disso, ou haverá uma etapa explícita de migração para re-cozimento?
Quais alterações aqui, se houver, exigirão a re-cozimento de posts com hashtags neles?
Algum re-cozimento necessário acontecerá automaticamente com base na ativação disso, ou haverá uma etapa explícita de migração para re-cozimento?
Após ativar o recurso, executei o rebake all posts através do rails.
Tenho muitos posts, a grande maioria dos quais não precisará ser tocada. Eu estava meio que esperando que houvesse uma habilidade de rebake-apenas-posts-afetados, seja explícita ou implícita.
A re-padronização pode até prejudicar postagens mais antigas, ao que parece:
Como evitar problemas potenciais ao re-padronizar todas as postagens?
Este recurso acabou de sair do forno. Não há nenhuma capacidade integrada para refazer todas as postagens que incluem menções de categoria/tag no momento. Manterei os ouvidos atentos aqui para o que as pessoas acham necessário e/ou quais soluções surgirão nesse ínterim.
Existe um padrão, talvez, que possamos usar para refazer todos os posts, exceto aqueles com um embed/onebox?
O que queremos reassarar são todas as postagens para as quais a representação cozida corresponde a class=\"hashtag\", tanto quanto sei.
Não acho que rebake_match ajudará aqui porque ele corresponde ao texto bruto, e não há opção para corresponder a texto cozido nas tarefas existentes do Rails. Portanto, isso exigirá, eu acho, codificação real, seja no console do Rails ou em uma nova tarefa.
Algo como
Post.where("cooked like '%class=\"hashtag\"%'").each do |p| p.rebake! end
Algo muito parecido com isso! Testei com sucesso exatamente isso no meu site de staging.
Estava pensando na opção de atraso para o posts:rebake_match, mas provavelmente não importa.
Claro que está insistindo em reprocessar todas as imagens nas postagens afetadas, o que é desnecessário, então uma correção automatizada apenas para isso poderia razoavelmente evitar isso, mas, enquanto isso, há um caminho a seguir.
Talvez eu queira fazer isso por ordem inversa e adicionar um atraso se um site tiver muitas postagens afetadas.
@mcwumbly Agora que a versão 3.0 foi anunciada com este como um recurso principal, o que você pensaria sobre uma migração que apenas corrigisse o texto sem reprocessar imagens, ou alternativamente, que permite refazer apenas as postagens afetadas com um atraso para não sobrecarregar as filas com o reprocessamento de imagens?
@martin você pode compartilhar algumas ideias aqui sobre como você poderia abordar este problema?
Em resumo, acho que o que as pessoas querem idealmente é algo como:
E talvez também:
Você já pode fazer algo assim.
Post.where("cooked like '%class=\\\"hashtag\\\"%'").update_all(baked_version: 0)
Isso irá processar as coisas nos trabalhos agendados em segundo plano.
Eu prevejo que aumentaremos nosso baked_version em algum momento no próximo ano.
Farei uma tarefa rake para fazer o que @sam sugere acima que os auto-hospedeiros possam executar.
Não acho que isso seja necessário, já que agora tornamos isso o padrão para novos sites e em breve removeremos a opção completamente. Se as pessoas quiserem experimentar, elas poderiam ativar a configuração, refazer algumas postagens manualmente na interface e, se não gostarem, desativar a configuração e refazer as mesmas postagens.
No entanto, em breve não haverá escolha.
Você sabe se a ideia de links de categoria coloridos ainda está sendo considerada?
Sim, mas achamos que o escopo é maior do que parece e ainda há uma série de detalhes de design a serem resolvidos primeiro, então não acontecerá imediatamente.
Legal, parece bom!
Acabei de mesclar uma tarefa do Rake para isto:
bundle exec rake hashtags:mark_old_format_for_rebake
Você poderia, por favor, fornecer um guia completo para iniciantes sobre como usar esse comando?
Existe alguma maneira de alterar posts individuais como usuário (por exemplo, editar/salvar com uma pequena alteração)?
Obrigado.
Este é o padrão usual para tarefas rake:
cd /var/discourse
./launcher enter app
bundle exec rake hashtags:mark_old_format_for_rebake
Isso deve funcionar. Se você for da equipe, pode clicar na chave inglesa e reconstruir o HTML.
Isso funcionou bem, obrigado. Para meus propósitos, pareceu ter menor risco do que tentar a tarefa rake.