Disqus
Disqusサードパーティコメントシステムを統合し、Drupalのネイティブコメントを強力で機能豊富なディスカッションプラットフォームに置き換えまたは拡張します。
disqus
インストール
composer require 'drupal/disqus:^2.0'
概要
Disqusモジュールは、Disqusコメントプラットフォームとのシームレスな統合を提供し、サイト管理者がDrupalのネイティブコメントシステムをDisqusの堅牢なディスカッション機能に置き換えることを可能にします。Disqusは、リアルタイムコメント、ソーシャルメディア統合、モデレーションツール、スパムフィルタリングを提供し、すべてDisqusのWebインターフェースを通じて管理されます。
このモジュールはFieldベースのアーキテクチャを実装しており、Disqusコメントを任意のフィールド対応Entityタイプ(Node、ユーザー、カスタムEntity)で有効にできます。これにより、どのコンテンツタイプでDisqusコメントをサポートするかをきめ細かく制御できます。さらに、このモジュールは、最近のコメント、人気のスレッド、トップコメンターウィジェットなど、コミュニティのエンゲージメントを表示するための複数の表示Blockを提供します。
高度な機能には、DrupalとDisqus間のシームレスな認証のためのシングルサインオン(SSO)統合、新しいコメントに対するGoogle Analyticsイベントトラッキング、新しいコメントが投稿された際のコンテンツ作成者へのメール通知、DrupalとDisqus間のスレッド更新と削除を同期するための完全なAPI統合が含まれます。このモジュールはDrupal 7インストールからの移行と、DrupalとDisqus間の双方向コメント移行もサポートしています。
Features
- 任意のコンテンツEntityタイプ(Node、ユーザー、カスタムEntity)に追加できるFieldベースのDisqusコメント
- 最適なパフォーマンスのためのJavaScriptベースの読み込みによるリアルタイムコメント埋め込み
- ユーザーがDisqus上でDrupal認証情報を使用してコメントできるシングルサインオン(SSO)統合
- 4つの設定可能なBlock:コンビネーションウィジェット、人気スレッド、最近のコメント、トップコメンター
- ViewsでコメントをカウントするためのDisqusコメント数Fieldハンドラーを提供するViews統合
- 新しいコメントに対するGoogle Analyticsイベントトラッキング(Google Analyticsモジュールが必要)
- コンテンツに新しいコメントが投稿された際のコンテンツ作成者へのメール通知
- Entityのタイトルまたは URL が変更された際にDisqusスレッドを自動的に更新するAPI統合
- Entityが削除された際のスレッドのクローズまたは削除の設定
- Drupal 7のDisqus設定とFieldインスタンスからの完全な移行サポート
- Migrate APIを使用したDisqusからDrupalへのコメントインポート機能
- Migrate APIを使用したDrupalからDisqusへのコメントエクスポート機能
- Disqusの言語をサイトの現在の言語で上書きするローカライゼーションサポート
- ログイン済みユーザーの情報でDisqusゲストフォームを事前入力するユーザー認証情報の継承
- Disqusの動作を拡張するためのカスタマイズ可能なJavaScriptコールバック
- JavaScriptが無効なユーザー向けのnoscriptフォールバック
Use Cases
ネイティブコメントをDisqusに置き換え
Drupalのネイティブコメントシステムを置き換えたいサイト管理者は、コンテンツタイプにDisqusコメントFieldを追加できます。これにより、スパムフィルタリング、ソーシャルログインオプション、リアルタイムコメント、DisqusのWebインターフェースを通じた一元化されたモデレーションが提供され、Drupalサーバー上でコメントインフラストラクチャを管理する必要がなくなります。
サイドバーにエンゲージメントウィジェットを表示
DisqusのBlockを使用して、サイトのサイドバーまたはフッター領域にコミュニティのアクティビティを表示します。「最近のコメント」Blockは最新のディスカッションを表示し、「人気スレッド」はトレンドコンテンツを強調し、「トップコメンター」はアクティブなコミュニティメンバーを表彰します。これらすべてが訪問者の参加を促進します。
SSOによる統一認証
ユーザーにDrupal認証情報を使用してコメントさせたい組織は、シングルサインオンを有効にできます。ユーザーがDisqusで「ログイン」をクリックすると、Drupalのログインフォームにリダイレクトされ、認証後すぐに別のDisqusアカウントを作成することなくコメントできます。
Analyticsでコメントエンゲージメントを追跡
ユーザーエンゲージメントを理解したいマーケティングチームは、Google Analyticsトラッキングを有効にできます。新しいコメントが投稿されるたびにGAで「Disqus/Comment」イベントがトリガーされ、どのコンテンツが最もディスカッションを生成しているか、およびユーザーインタラクションパターンの分析が可能になります。
Drupal 7 Disqusインストールからの移行
Drupal 7からアップグレードするサイトは、含まれている移行パスを使用して、Disqus設定、Field設定、Entity表示設定をDrupal 9/10/11に自動的に転送し、コメントシステムの継続性を維持できます。
既存のDisqusコメントをDrupalにインポート
Disqusから移行するサイトは、コメントインポート移行を使用してDisqusからすべてのコメントを取得し、ネイティブのDrupalコメントとして作成し、Drupalデータベースにディスカッション履歴を保持できます。
新しいコメントの作成者通知
記事のディスカッションについて常に情報を得たいコンテンツ作成者は、メール通知機能の恩恵を受けることができます。有効にすると、作成者は自分のコンテンツに誰かがコメントするたびにメールを受け取り、タイムリーな応答とコミュニティエンゲージメントを可能にします。
Tips
- 適切なスレッド初期化を確保するために、コンテンツを作成する前にコンテンツタイプにDisqus Fieldを追加してください。
- コメントの継続性を維持するために、環境間でコンテンツを移行する際にカスタムスレッド識別子を使用してください。
- ページレイアウトを圧迫することなくエンゲージメントを促進するために、Disqus Blockを戦略的に配置してください。
- SSOを使用する予定がある場合は早めに設定してください。後で変更するとユーザーアカウントの不一致が発生する可能性があります。
- 本番環境にデプロイする前に、開発環境でDisqus統合をテストしてください。
- 多言語サイトでユーザーエクスペリエンスを向上させるために、ローカライゼーションサポートの有効化を検討してください。
- コンテンツリストでコメント数を表示し、ディスカッションを促進するためにViews統合を使用してください。
Technical Details
Admin Pages 1
/admin/config/services/disqus
ショートネーム、動作オプション、API認証情報、シングルサインオン設定を含むDisqus統合設定を構成します。
権限 4
Hooks 1
hook_disqus_user_data_alter
Disqusシングルサインオンで使用するために準備されたユーザーデータを変更します。モジュールがDisqusに送信されるユーザー情報をカスタマイズできます。
Troubleshooting 6
/admin/config/services/disqusでDisqusショートネームが正しく設定されていることを確認してください。ユーザーに「Disqusコメントを閲覧」権限があることを確認してください。ブラウザでJavaScriptが有効になっていて、広告ブロッカーがdisqus.comのスクリプトを妨害していないことを確認してください。
コメント数を表示するにはDisqus JavaScriptが正常に読み込まれる必要があります。カウント表示は正しいスレッド識別子の使用にも依存します。ショートネームが正しいことを確認し、ブラウザコンソールでJavaScriptエラーを確認してください。
Disqus PHP APIバインディングがComposer経由でインストールされていることを確認してください。APIキー(公開キー、シークレットキー、ユーザーアクセストークン)が正しく入力されていることを確認してください。Disqusアプリケーションがdisqus.com/api/applications/で必要な権限を持っていることを確認してください。
SSOには公開キーとシークレットキーの両方が設定されている必要があります。詳細設定で「シングルサインオンを使用」が有効になっていることを確認してください。ユーザーはDrupalにログインする権限を持っている必要があります。Disqusアプリケーション設定のSSO設定がサイトと一致していることを確認してください。
API設定セクションで「スレッドを更新」を有効にしてください。これにはDisqusAPIクラスが利用可能で、有効なユーザーアクセストークンが必要です。Drupalログでエラーメッセージを確認してください。
この機能にはAPIアクセス用の有効なシークレットキーが必要です。動作設定で「新しいコメントを作成者に通知」を有効にしてください。コンテンツEntityはEntityOwnerInterfaceを実装している必要があります。Drupalのメールシステム設定とログを確認してください。
Security Notes 5
- APIキー(特にシークレットキーとユーザーアクセストークン)は機密情報として扱う必要があります。クライアントサイドコードやバージョン管理に公開しないでください。
- 新しいコメント通知エンドポイントには悪用を防ぐためのフラッド保護が含まれていますが、高トラフィックサイトでは追加のレート制限を検討してください。
- SSO認証はHMAC-SHA1署名を使用して、DrupalとDisqus間のユーザー認証情報を検証します。
- このモジュールはDrupalの権限システムを尊重します。「Disqusコメントを閲覧」が適切なロールにのみ付与されていることを確認してください。
- コメントインポート移行を使用する場合、コメントが正当なDisqusフォーラムから発信されていることを検証してください。