Kommentare in Drupal erweitern (Alternative: Disqus)

Mi, 25.08.2010 - 20:10 -- Daniel Espendiller

Will man in Drupal oder anderen CMS-Systemen die Kommentar-Funktionen effektiv nutzen, so sollte / muss man mittlerweile eine ganze Reihe von Einstellungen und Modulen installieren. Viele Seiten integrieren immer öfter Disqus als alternative Kommentarfunktion. Bei Disqus handelt es sich um einen externen Dienst, den man per Javascript in seine Seite einbinden kann. Das Erstellen und die Verwaltung von Kommentare wird dann komplett aus der eigenen Seite ausgelagert, dies hat logischweise Vor- und Nachteile.

Was kann Disqus?

  • User können sich über diese Web2.0 Accounts authentifizieren (Twitter, Facebook, ...)
  • Automatische Benachrichtung bei Antworten und neuen Kommentaren per E-Mail
  • integierter Spamschutz
  • Import und Export von Kommentaren jeder Zeit möglich
  • Trackback Funktionen

Drupal Kommentare erweitern

Will bzw. muss man die ganzen Funktionen in Drupal implementieren, so muss man folgende Erweiterungen nutzen:

Spam-Schutz

Je weiter eine Seite in Suchmaschinen wie Google nach oben wandern, je mehr Interesse haben auch Spammer irgendeinen Link auf die Seite zubekommen. Bots füllen alle sämtliche Formulare auf einer Seite aus und hoffen, dass dabei etwas rumkommt. Ohne irgendeinen Schutz kommen so ziemlich schnell unerwünschte Kommentare mit nicht gerade sehr schönen Links zusammen.
Die meisten Seite nutzen deswegen kleine Bilder und mit relativ unleserlichen Buchstaben, womit Bots ausgesperrt werden soll. Die sogenannten CAPTCHA lassen sich auch unter Drupal einbinden.
Nach Installation des CAPTCHA Modules lassen sich für alle bekannte Formulare in Drupal unterschiedliche CAPTCHA mit Bild oder einfachen Rechenaufgaben hinterlegen.
Wer lieber auf CAPTCHA verzichten will kann es auch mal mit den Modulen Spam und Mollom versuchen. Die Filtern die Kommentaren nach Inhalten raus ähnlich wie die E-Mailspamfilter.

E-Mail Benachrigtigung

Wird ein neuer Kommentar oder eine Antwort erstellt. So ist es natürlich sehr wichtig den eigentlicher User auch darüber zu Informieren. Hier hilft das Comment Notify Module. Innerhalb des Kommentarformular stellt es entsprechende Auswahlen bereit.

HTML-Tags entfernen

In Kommentare sollten diverse HTML und sogar Javascript Tags automatisch entfernt werden. Hierzu gibt es überlicherweise die Eingabeformate (Input Formats) in Drupal. Hiermit lassen sich Vorlagen anlagen, in denen definiert wird, welche HTML-Tags erlaubt sind. Diese Vorlagen lassen sich dann allerdings nicht besonders gut auf Kommentare zuweisen. Ebenso werden neben den Eingabefeldern Hilfen zur Formatierung angezeigt.
Um etwas Ordnung reinzubringen und dem Anwender nur die nötigen Informationen anzuzeigen gibt das Module Better Formats. So können Standard Eingabeformate sowohl auf Rollen- als auch Formularbasis definiert werden. Zusätzlich kann in den Benutzerberechtigungen noch die Hilfe und Co. unterhalb der Formulare angepasst werden.

Trackback

Anwortet ein fremder Blogeintrag auf einen Beitrag, so wird manchmal ein Trackback durchgeführt. Dem eigentlich Beitrag wird mitgeteilt, dass er einen Verweis von extern bekommen hat. Diese Verweise werden dann auf den meisten Seiten direkt in die Kommentare mit einem Link zur fremden Seiten eingebunden. Auch dieses läßt sich mit Drupal abbilden hierzu gibt es zwei Möglichkeiten: Trackback und Pingback.

Alternative: Disqus

Eine komplett fertige Lösung bietet Disqus an. Alle Kommentare werden anhand der der Nodeid an Disqus übertragen.

Einstellungen

Viel muss man nicht Einstellen beim Disqus Module. Nach der Anmeldung seiner Seite bei DISQUS bekommt man eine Subdomain für alle Kommentare. Wobei man nur diese Subdomain eintragen muss. Also Beispiel http://www.example.com ergibt http://example.disqus und eintragen müssen wir dann example. Einen nötigen API-Key bekommen durch Klicken des Links unterhalb des Eingabefeldes.
Nun müssen wir noch auswählen auf welchen Inhaltstypen die Disqus Kommentare angezeigt werden sollen, ansonst werden sie nirgendwo angezeigt.
Zu guter Letzt stellen wir noch ein wie die Kommentare angezeigt werden soll. Content Area, also direkt unter den Beiträgen, so wie die Standard Kommentare ist wohl die meist genutzt Einstellung.

Kommentare importieren

Nutz man bisher die Drupal Kommentarfunktion und möchte alle bisher erstellen Kommentare nach Disqus übertragen, muss man das Disqus Export Module nutzen. Wobei die aktuell vorliegende Version noch nicht ganz ausgereift ist. So lassen sich hiermit keine anonymen Kommentare ohne Mail-Adresse übertragen. Hat man die Drupal Kommentare derartig eingestellt, so muss man aktuell hierfür disqus_export nutzen (das Disqus Import/Export Module muss deaktiviert sein). Hier kann man eine anonyme E-Mailadresse hinterlegen, die bei leeren Adressen genutzt werden.
Weiter ist darauf zu achten, dass man den Export auch mehrmals durchlaufen lassen kann bzw. sogar muss, je nach Anzahl der übertragenden Kommentare. Bereits übetragene Kommentare werden nicht erneut übernommen.

Drupal Kommentarfunktion deaktiveren

Sind alle Kommentare nach Disqus Übertragen, so sollte man die Kommentar-Funktion von Drupal deaktivieren bzw. ein Erstellen von Kommentare komplett verbieten. Dazu wechselt man in die Benutzerberechtigungen und entfernt die Haken für die entsprechenden Gruppen (meistens Gast). Für den Admin kann könnte man z.B. die "alten" Kommentare noch anzeigen lassen.

Synchronisieren

Kommentare sollten zwischen Drupal und Disqus syncron gehalten werden und eventuell Zwecks Suchmachinschenoptimierung über das noscript Tag eingebunden werden. Dazu bin ich allerdings bisher noch nicht gekommen.

Disqus - noscript

Vielen Dank für den Artikel, als kleiner Hinweis für Leute mit Drupal 7: das Exportieren der bestehenden Kommentare funktioniert da scheinbar noch nicht! Man kann aber, wie ich es mache die alten Kommentare weiterhin anzeigen lassen:

http://go-crowdsourcing.de/art...

Nur ein Testkommentar. Ich wollte sehen wie sich die kommentarfunktion vom handy aus bedienen lässt
Bis auf die überlappenden. Links scheinbar gut.