Este guia explica como configurar e solucionar problemas de oneboxes no Discourse. Ele abrange configurações de administrador, como as oneboxes funcionam e etapas para resolver problemas comuns.
Nível de usuário necessário: Administrador
Oneboxes são pré-visualizações de links enriquecidas que os usuários podem criar em suas postagens. Embora os usuários possam gerar facilmente essas pré-visualizações, os administradores do site têm controles adicionais e podem precisar solucionar problemas quando os links não são pré-visualizados conforme o esperado.
Configuração do administrador
Para gerenciar as configurações de onebox:
- Acesse o painel de Administração
- Navegue até a seção de configurações do site
- Pesquise por “onebox”
Você verá uma lista de configurações relacionadas a onebox:
Algumas configurações notáveis incluem:
post onebox maxlength: Controla a quantidade de texto incluída em uma oneboxmax oneboxes per post: Limita o número de oneboxes que podem aparecer em uma única postagem (padrão: 50)enable inline onebox on all domains: Habilita oneboxes em linha em todos os domínios, convertendo URLs simples em títulos vinculados (por exemplo,https://en.wikipedia.org/wiki/Fun_(band)torna-se “Fun (band) - Wikipedia”). Isso está habilitado por padrão.blocked onebox domains: Permite desabilitar oneboxes para domínios específicosblock onebox on redirect: Quando habilitado, impede a criação de onebox para URLs que redirecionam para um destino diferente
Como as oneboxes funcionam
Quando um link é incluído em uma postagem, o Discourse visita a página de destino e procura por tags Open Graph ou oEmbed, incluindo:
- Endereço do site
- Título
- Imagem em destaque
- Ícone do site (ou favicon)
- Descrição (obrigatória)
- Preço do produto (se relevante)
O Discourse exige que a tag de descrição esteja presente e contenha texto suficiente para resumir a página. Sem isso, o link de destino não será convertido em onebox.
Aqui está um exemplo de onebox para https://discourse.org que mostra o título do site, a imagem em destaque, o ícone e a descrição:
Solução de problemas
Se as oneboxes não estiverem funcionando conforme o esperado, tente estas etapas:
-
Teste o site usando iFramely:
- Cole o link e verifique se ele está usando as tags meta OpenGraph ou oEmbed corretas
- Certifique-se de que o texto da descrição esteja presente e adequado
-
Verifique se a solicitação de onebox está sendo bloqueada:
- Alguns servidores podem bloquear agentes de usuário “desconhecidos”
- Verifique se o site de destino não está bloqueando o agente de usuário do Discourse
-
Para links internos que não são exibidos como oneboxes:
- Certifique-se de que o link não esteja em uma categoria segura
- Links internos só geram onebox em categorias públicas ou dentro da mesma categoria por motivos de segurança
A partir do console do Rails, você pode invalidar/buscar explicitamente as oneboxes chamando os métodos durante os testes, fazendo:
[1] pry(main)> Oneboxer.invalidate(url)
=> 0
[2] pry(main)> Oneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)\"
[3] pry(main)> InlineOneboxer.invalidate(url)
=> 0
[4] pry(main)> InlineOneboxer.lookup(url)
=> {url: "https://example.com", title: "Example Page Title"}
