Disqus 拡張機能を使用すると、サイト訪問者が AJAX ベースのコメント システムを使用して個々のパッケージにコメントできるようになります。このプラグインの欠点は、コメントがローカルに保存されず、CKAN とコメント システムの間でユーザー情報が共有されないことです。
注: この拡張機能には ckan 1.7 以降が必要です
Disqus プラグインをセットアップするには、まず disqus.com にアクセスし、ドメイン名を使用してフォーラムをセットアップする必要があります。フォーラム名を選択できるようになります。
プラグインをインストールするには、virtualenv を入力してソースをロードします。
(pyenv)$ pip install -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
ckan バージョン 2.0 より前の場合は、release-v1.8 ブランチを使用してください。
これによりプラグインのエントリ ポイントも登録されるため、CKAN .ini ファイルに次の内容を追加できるようになります。
ckan.plugins = disqus <その他のプラグイン> disqus.name = YOUR_DISQUS_NAME
この時点で、各データセット ビュー ページには Disqus コメントが表示されます。他のページにコメントを追加するには、次のセクションを参照してください。
Disqus は、disqus_url として window.location.href を使用します。特に開発中に、代わりに使用する disqus のベース URL を指定すると役立つ場合があります。これは CKAN .ini ファイルに追加できます。
disqus.disqus_url = my_staging.server.com
「http://」または末尾のスラッシュを含めないでください。
ページにコメント スレッドを表示するには、コメントを表示したいテンプレートに次の内容を挿入します。
{{h.disqus_comments()}}
テーマ開発者向けの注意: 拡張機能は、次の形式の disqus_identifier を生成しようとします。
{コントローラー/ドメインオブジェクト名}::{id}
ここで、controller = グループセクションの「グループ」、データセットセクションの「データセット」(これはまだパッケージである内部のコントローラー名とは異なることに注意してください)、リソースの場合は「リソース」などです。この識別子は、次の場合に役立ちます。このコメントをサイト内の他の場所で参照してください (コメント数など)。
最近のコメントを表示したいページに挿入します。
{{h.disqus_recent()}}
最近のコメント ウィジェットには、デフォルトで 5 件の最近のコメントが表示されます。最近のコメント 10 件を表示するには、次のコマンドを使用します。
{{h.disqus_recent(num_comments=10)}}
Disqus は他にも多くのウィジェットを提供します。これらをこの拡張機能の一部として自動的に提供するのではなく、テーマ開発者がコードを直接組み込むことをお勧めします (すべてのテンプレートに渡される構成オブジェクトから関連する構成変数にアクセスすることに注意してください)。
Disqus は、ユーザーが個別の disqus アカウントを必要とするのではなく、ローカルのユーザー名/パスワードを使用してコメントを送信できる「シングル サインオン」オプションを提供します。 Disqus 側で設定する方法 (API キーの作成など) については、https://help.disqus.com/customer/portal/articles/236206-integrating-single-sign-on を参照してください。
この CKAN プラグインと統合するには、公開キーと秘密キーを CKAN ini ファイルに保存する必要があります。
ckan.plugins = disqus <その他のプラグイン> disqus.name = YOUR_DISQUS_NAME disqus.secret_key = YOUR_DISQUS_SECRET_KEY disqus.public_key = YOUR_DISQUS_PUBLIC_KEY