Ce guide explique comment configurer et dépanner les oneboxes dans Discourse. Il couvre les paramètres d’administration, le fonctionnement des oneboxes et les étapes pour résoudre les problèmes courants.
Niveau d’utilisateur requis : Administrateur
Les oneboxes sont des aperçus de liens enrichis que les utilisateurs peuvent créer dans leurs publications. Bien que les utilisateurs puissent facilement générer ces aperçus, les administrateurs de site ont des contrôles supplémentaires et peuvent avoir besoin de dépanner lorsque les liens ne s’affichent pas comme prévu.
Configuration d’administration
Pour gérer les paramètres des oneboxes :
- Accédez au panneau d’administration
- Naviguez vers la section des paramètres du site
- Recherchez “onebox”
Vous verrez une liste de paramètres liés aux oneboxes :
Certains paramètres notables incluent :
post onebox maxlength: contrôle la quantité de texte incluse dans une oneboxenable inline onebox on all domains: active les oneboxes intégrées, convertissant les URL simples en titres liés (par exemple,https://en.wikipedia.org/wiki/Fun_(band)devient “Fun (band) - Wikipedia”)blocked onebox domains: vous permet de désactiver les oneboxes pour des domaines spécifiques
Comment fonctionnent les oneboxes
Lorsqu’un lien est inclus dans une publication, Discourse visite la page de destination et recherche les balises Open Graph ou oEmbed, y compris :
- Adresse du site
- Titre
- Image mise en avant
- Icône du site (ou favicon)
- Description (obligatoire)
- Prix du produit (si pertinent)
Discourse exige que la balise de description soit présente et contienne suffisamment de texte pour résumer la page. Sans cela, le lien cible ne sera pas converti en onebox.
Voici un exemple de onebox pour \u003chttps://discourse.org\u003e qui affiche le titre du site, l’image mise en avant, l’icône et la description :
Dépannage
Si les oneboxes ne fonctionnent pas comme prévu, essayez ces étapes :
-
Testez le site à l’aide de iFramely :
- Collez le lien et vérifiez s’il utilise les bonnes balises méta OpenGraph ou oEmbed
- Assurez-vous que le texte de description est présent et adéquat
-
Vérifiez si la requête de onebox est bloquée :
- Certains hôtes peuvent bloquer les agents utilisateurs “inconnus”
- Vérifiez que le site cible ne bloque pas l’agent utilisateur de Discourse
-
Pour les liens internes qui ne s’affichent pas en oneboxes :
- Assurez-vous que le lien ne se trouve pas dans une catégorie sécurisée
- Les liens internes ne sont convertis en oneboxes que dans les catégories publiques ou au sein de la même catégorie pour des raisons de sécurité
Depuis la console Rails, vous pouvez explicitement invalider/récupérer les oneboxes en appelant les méthodes lors des tests en faisant :
[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)"
