Configuración y resolución de problemas de oneboxes

:bookmark: Esta guía explica cómo configurar y solucionar problemas de oneboxes en Discourse. Cubre la configuración del administrador, cómo funcionan los oneboxes y los pasos para resolver problemas comunes.

:person_raising_hand: Nivel de usuario requerido: Administrador

Los oneboxes son previsualizaciones enriquecidas de enlaces que los usuarios pueden crear en sus publicaciones. Si bien los usuarios pueden generar fácilmente estas previsualizaciones, los administradores del sitio tienen controles adicionales y pueden necesitar solucionar problemas cuando los enlaces no se previsualizan como se esperaba.

Configuración del administrador

Para administrar la configuración de onebox:

  1. Vaya al panel de Administración
  2. Navegue a la sección de configuración del sitio
  3. Busque “onebox”

Verá una lista de configuraciones relacionadas con onebox:

Algunas configuraciones notables incluyen:

  • post onebox maxlength: Controla la cantidad de texto incluido en un onebox
  • enable inline onebox on all domains: Habilita los oneboxes en línea, convirtiendo las URL simples en títulos enlazados (por ejemplo, https://en.wikipedia.org/wiki/Fun_(band) se convierte en “Fun (band) - Wikipedia”)
  • blocked onebox domains: Le permite deshabilitar los oneboxes para dominios específicos

Cómo funcionan los oneboxes

Cuando se incluye un enlace en una publicación, Discourse visita la página de destino y busca etiquetas Open Graph o oEmbed, que incluyen:

  • Dirección del sitio
  • Título
  • Imagen destacada
  • Icono del sitio (o favicon)
  • Descripción (obligatorio)
  • Precio del producto (si es relevante)

:warning: Discourse requiere que la etiqueta de descripción esté presente y contenga suficiente texto para resumir la página. Sin esto, el enlace de destino no se convertirá en onebox.

Aquí hay un ejemplo de onebox para \u003chttps://discourse.org\u003e que muestra el título del sitio, la imagen destacada, el icono y la descripción:

Solución de problemas

Si los oneboxes no funcionan como se esperaba, pruebe estos pasos:

  1. Pruebe el sitio usando iFramely:

    • Pegue el enlace y verifique si está utilizando las metaetiquetas OpenGraph o oEmbed correctas
    • Asegúrese de que el texto de la descripción esté presente y sea adecuado
  2. Verifique si la solicitud de onebox está siendo bloqueada:

    • Algunos hosts pueden bloquear agentes de usuario “desconocidos”
    • Verifique que el sitio de destino no esté bloqueando el agente de usuario de Discourse
  3. Para enlaces internos que no se muestran como oneboxes:

    • Asegúrese de que el enlace no esté en una categoría segura
    • Los enlaces internos solo se convierten en onebox en categorías públicas o dentro de la misma categoría por razones de seguridad

Desde la consola de Rails, puede invalidar/obtener explícitamente los oneboxes llamando a los métodos mientras prueba haciendo:

[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.onebox(url)
=> "<aside class=\"onebox …(elided)"

Recursos adicionales

2 Me gusta

Este es un buen recurso, pero parece quedarse corto.

Hice esto y devolvió una caja, tenía poco contenido pero aún se veía mejor que un simple enlace URL.

Suponiendo que la falta de contenido es el problema para que no se muestre en mi sitio, ¿qué se puede hacer?

No veo una configuración para mostrar en una caja los sitios que no tienen suficiente contenido, así que, ¿se puede contactar a un administrador del sitio para que haga un cambio de su parte? Si es así, ¿qué se necesita preguntar?

¿Cómo ayuda a resolver el problema de no mostrarse en una caja?

2 Me gusta