Mit der Disqus-Erweiterung können Website-Besucher mithilfe eines AJAX-basierten Kommentarsystems Kommentare zu einzelnen Paketen abgeben. Die Nachteile dieses Plugins bestehen darin, dass Kommentare nicht lokal gespeichert werden und Benutzerinformationen nicht zwischen CKAN und dem Kommentarsystem ausgetauscht werden.
Hinweis: Für diese Erweiterung ist Ckan 1.7 oder höher erforderlich
Um das Disqus-Plugin einzurichten, müssen Sie zunächst zu disqus.com gehen und ein Forum mit Ihrem Domainnamen einrichten. Sie können einen Namen für das Forum wählen.
Um das Plugin zu installieren, geben Sie Ihre virtuelle Umgebung ein und laden Sie die Quelle:
(pyenv)$ pip install -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
Für Ckan-Versionen vor 2.0 verwenden Sie bitte den Zweig release-v1.8.
Dadurch wird auch ein Plugin-Einstiegspunkt registriert, sodass Sie nun in der Lage sein sollten, Folgendes zu Ihrer CKAN-INI-Datei hinzuzufügen:
ckan.plugins = disqus <andere-plugins> disqus.name = YOUR_DISQUS_NAME
Zu diesem Zeitpunkt enthält jede Datensatzansichtsseite Disqus-Kommentare. Informationen zum Hinzufügen von Kommentaren zu anderen Seiten finden Sie im nächsten Abschnitt.
Disqus verwendet window.location.href als disqus_url. Manchmal ist es hilfreich, insbesondere während der Entwicklung, die Basis-URL anzugeben, die stattdessen von disqus verwendet werden soll. Dies kann zur CKAN-INI-Datei hinzugefügt werden:
disqus.disqus_url = my_staging.server.com
Geben Sie weder „http://“ noch einen abschließenden Schrägstrich ein.
Damit Kommentarthreads auf Seiten angezeigt werden, fügen Sie in die Vorlagen dort ein, wo die Kommentare angezeigt werden sollen:
{{h.disqus_comments()}}
Hinweis für Theme-Entwickler: Die Erweiterungen versuchen, einen disqus_identifier der Form zu generieren:
{Controller/Domänenobjektname}::{id}
Wobei Controller = „Gruppe“ im Gruppenabschnitt, „Datensatz“ im Datensatzabschnitt (beachten Sie, dass sich dies intern vom Controller-Namen unterscheidet, der immer noch ein Paket ist), „Ressource“ für Ressourcen usw. Diese Kennung ist nützlich, wenn Sie dies möchten Verweisen Sie auf diesen Kommentar (z. B. für die Anzahl der Kommentare) an anderer Stelle auf der Website.
Fügen Sie Folgendes auf den Seiten ein, auf denen aktuelle Kommentare angezeigt werden sollen:
{{h.disqus_recent()}}
Das Widget „Letzte Kommentare“ zeigt standardmäßig 5 aktuelle Kommentare an. Um 10 aktuelle Kommentare anzuzeigen, verwenden Sie Folgendes:
{{h.disqus_recent(num_comments=10)}}
Disqus bietet viele weitere Widgets. Anstatt diese automatisch als Teil dieser Erweiterung bereitzustellen, empfehlen wir Theme-Entwicklern, den Code direkt einzubinden (beachten Sie, dass Sie über das Konfigurationsobjekt, das an alle Vorlagen übergeben wird, auf die relevanten Konfigurationsvariablen zugreifen).
Disqus bietet eine „Single Sign On“-Option, die es Benutzern ermöglicht, Kommentare mit dem lokalen Benutzernamen/Passwort einzureichen, anstatt ein separates Disqus-Konto zu benötigen. Anweisungen zum Einrichten auf der Disqus-Seite (z. B. zum Erstellen von API-Schlüsseln) finden Sie unter: https://help.disqus.com/customer/portal/articles/236206-integrating-single-sign-on
Zur Integration mit diesem CKAN-Plugin müssen Sie Ihre öffentlichen und geheimen Schlüssel in der CKAN-INI-Datei speichern:
ckan.plugins = disqus <andere-plugins> disqus.name = YOUR_DISQUS_NAME disqus.secret_key = YOUR_DISQUS_SECRET_KEY disqus.public_key = YOUR_DISQUS_PUBLIC_KEY