Importei 80.000 posts do phpBB para o Discourse. Nos posts, há muitas imagens vinculadas de sites remotos como [img]http://www.domain.tld/image.jpg[/img], que não estão mais lá.
O post não mostra nada onde a imagem deveria estar, o que causa irritação, pois o contexto é quebrado em alguns desses posts, pois não fica claro que entre um bloco de texto e o próximo existe/existia uma imagem.
Minha pergunta é: é possível colocar uma imagem de placeholder lá se a imagem original não estiver mais disponível?
Não tenho certeza. Se você remover uma tag BBCode inline, terá o URL da imagem em texto simples dentro do seu texto, e não usará o ícone de imagem quebrada.
Talvez você possa tentar remover a tag BBCode, mas inserindo uma linha vazia antes e depois do URL da imagem. Faça um backup primeiro!
Não tenho certeza.
Eu também deveria ter encontrado esse problema, pois também importei um fórum phpBB com tags [IMG] e 95% de imagens quebradas, mas, pelo que me lembro, depois de “assar” as imagens inline quebradas foram devidamente substituídas pelo ícone de imagem quebrada, mesmo quando estavam inline, mas posso estar enganado
Receio não ter uma solução pronta por enquanto, mas tenho certeza de que há uma maneira de descobrir.
Você tem por acaso um link para uma mensagem que contenha uma imagem inline quebrada? Você poderia copiar e colar o texto bruto também?
Se você verificar a primeira postagem, há um grande espaço em branco abaixo da última linha de texto e da assinatura. No código-fonte, você pode ver as imagens mortas, por exemplo:
Você tem a configuração baixar imagens remotas para o local ativada? O ícone de imagem quebrada aparece apenas depois que o Discourse tenta baixar a imagem remota e falha.
Se a configuração estiver desativada, ela deixará uma linha vazia.
Sim, está habilitado. Sempre esteve, mesmo antes de eu importar do phpBB.
É possível que o importador do phpBB não se importe com essa configuração? Pelo que entendi, o recozimento deveria ocorrer fora do importador e usar as configurações.
O recozimento de todas as postagens causa algum dano?
Acho que há uma configuração em /var/discourse/shared/standalone/import/settings.yml onde podemos definir o download de imagens remotas como verdadeiro ou falso, mas as postagens serão “assadas” após a importação, independentemente de essa opção ser definida ou não.
Vejo que suas linhas vazias agora mostram o ícone de imagem quebrada esperado:
\u003chttps://forum.gdngs.de/t/grill-shirts-von-3dsupply-de/5515\u003e
Em vez de “assar” um monte de postagens novamente, um bom teste é reconstruir o HTML de uma postagem específica nas opções de administrador da postagem, pois isso aciona um “rebake”:
E então acionar o trabalho UpdateHotlinkedRaw adicionando-o à fila:
Eu tentei na minha instância de teste usando uma de suas imagens quebradas e dentro do BBcode. Quando download remote images to local estava desativado, a linha vazia permaneceu. Quando estava ativado, o ícone de imagem quebrada apareceu em vez disso.
Ah, sim, você está certo. Acho que foi um problema de cache do navegador após o comando de “rebake”. Obrigado por verificar você mesmo!
Então, foi um problema de importação do phpBB de alguma forma. Eu juraria que não alterei nenhuma configuração relacionada a imagens remotas depois de importar tudo do phpBB…
Ah, legal. Eu encontrei e cliquei nele.
Não consigo encontrar nenhum trabalho UpdateHotlinkedRaw em lugar nenhum no Sidekiq… Você pode me ajudar a resolver isso? Tenho certeza de que é algum problema de PEBCAK.
Isso levaria à conclusão de que eu ativei download remote images to localdepois de importar tudo do phpBB. Hm… Como eu também tinha/tenho uma instalação de teste e testei muitas coisas lá, ainda tenho certeza de que já estava ativado antes.
Observação: o trabalho seria acionado em alguns minutos de qualquer maneira, ir para o Sidekiq é apenas uma maneira de verificar as coisas mais rapidamente.
O trabalho UpdateHotlinkedRaw deve estar presente segundos após você reconstruir o HTML de sua postagem, na aba Agendado do Sidekiq.
O trabalho só deve ser visível se a configuração baixar imagens remotas para local estiver habilitada nas configurações do seu fórum Discourse, e se sua postagem contiver imagem(ns).
Se isso não funcionar, então não tenho mais nenhuma ideia por enquanto…!
Obrigado, então está claro. Eu apenas reconstruí qualquer postagem - uma sem imagens remotas. Então nada aconteceu.
E obrigado, você me ajudou a resolver as coisas aqui. Vejo as imagens de placeholder agora. E muito provavelmente substituirei a imagem de placeholder pelo seu truque de CSS que você vinculou aqui.