Konfiguration und Fehlerbehebung von Oneboxes

:bookmark: Diese Anleitung erklärt, wie man Oneboxen in Discourse konfiguriert und Fehler behebt. Sie behandelt Admin-Einstellungen, die Funktionsweise von Oneboxen und Schritte zur Behebung häufiger Probleme.

:person_raising_hand: Erforderliches Benutzerniveau: Administrator

Oneboxen sind Rich-Link-Vorschauen, die Benutzer in ihren Beiträgen erstellen können. Während Benutzer diese Vorschauen einfach generieren können, haben Seitenadministratoren zusätzliche Kontrollmöglichkeiten und müssen möglicherweise Fehler beheben, wenn Links nicht wie erwartet als Vorschau angezeigt werden.

Admin-Konfiguration

Um Onebox-Einstellungen zu verwalten:

  1. Gehen Sie zum Admin-Panel
  2. Navigieren Sie zum Abschnitt Site-Einstellungen
  3. Suchen Sie nach „onebox“

Sie sehen eine Liste von Onebox-bezogenen Einstellungen:

Einige bemerkenswerte Einstellungen sind:

  • post onebox maxlength: Steuert die Textmenge, die in einer Onebox enthalten ist
  • enable inline onebox on all domains: Aktiviert Inline-Oneboxen und wandelt einfache URLs in verlinkte Titel um (z. B. wird https://en.wikipedia.org/wiki/Fun_(band) zu „Fun (band) - Wikipedia“)
  • blocked onebox domains: Ermöglicht das Deaktivieren von Oneboxen für bestimmte Domains

Wie Oneboxen funktionieren

Wenn ein Link in einem Beitrag enthalten ist, besucht Discourse die Zielseite und sucht nach Open Graph- oder oEmbed-Tags, einschließlich:

  • Seitenadresse
  • Titel
  • Hervorgehobenes Bild
  • Seiten-Icon (oder Favicon)
  • Beschreibung (obligatorisch)
  • Produktpreis (falls relevant)

:warning: Discourse erfordert, dass das Beschreibungs-Tag vorhanden ist und genügend Text enthält, um die Seite zusammenzufassen. Ohne dies wird der Ziel-Link nicht als Onebox angezeigt.

Hier ist ein Beispiel für eine Onebox für https://discourse.org/, die den Seitentitel, das hervorgehobene Bild, das Icon und die Beschreibung anzeigt:

Fehlerbehebung

Wenn Oneboxen nicht wie erwartet funktionieren, versuchen Sie die folgenden Schritte:

  1. Testen Sie die Seite mit iFramely:

    • Fügen Sie den Link ein und prüfen Sie, ob korrekte OpenGraph- oder oEmbed-Metatags verwendet werden
    • Stellen Sie sicher, dass der Beschreibungstext vorhanden und ausreichend ist
  2. Prüfen Sie, ob die Onebox-Anfrage blockiert wird:

    • Einige Hosts blockieren möglicherweise „unbekannte“ User Agents
    • Verifizieren Sie, dass die Zielwebsite den User Agent von Discourse nicht blockiert
  3. Wenn interne Links nicht als Oneboxen angezeigt werden:

    • Stellen Sie sicher, dass sich der Link nicht in einer sicheren Kategorie befindet
    • Interne Links werden aus Sicherheitsgründen nur in öffentlichen Kategorien oder innerhalb derselben Kategorie als Onebox angezeigt

Von der Rails-Konsole aus können Sie Oneboxen explizit invalidieren/abrufen, indem Sie die Methoden aufrufen, während Sie testen, indem Sie Folgendes tun:

[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)"

Zusätzliche Ressourcen

2 „Gefällt mir“

Dies ist eine gute Ressource, scheint aber zu kurz zu greifen.

Ich habe dies getan und es wurde eine Box zurückgegeben. Sie war inhaltlich nicht sehr umfangreich, sah aber dennoch besser aus als ein einfacher URL-Link.

Angenommen, der geringe Inhalt ist das Problem, warum sie nicht in einer Box angezeigt wird, was kann getan werden?

Ich sehe keine Einstellung, um Websites, die nicht genügend Inhalt haben, in einer Box anzuzeigen. Kann dann ein Website-Administrator kontaktiert werden, um eine Änderung auf seiner Seite vorzunehmen? Wenn ja, was muss gefragt werden?

Wie hilft das, das Problem der Nicht-Anzeige in einer Box zu lösen?

2 „Gefällt mir“