Ekstensi Disqus memungkinkan pengunjung situs untuk mengomentari paket individual menggunakan sistem komentar berbasis AJAX. Kelemahan dari plugin ini adalah komentar tidak disimpan secara lokal dan informasi pengguna tidak dibagikan antara CKAN dan sistem komentar.
Catatan: Ekstensi ini memerlukan ckan 1.7 atau lebih tinggi
Untuk menyiapkan plugin Disqus, pertama-tama Anda harus mengunjungi disqus.com dan menyiapkan forum dengan nama domain Anda. Anda akan dapat memilih nama forum.
Untuk menginstal plugin, masukkan virtualenv Anda dan muat sumbernya:
(pyenv)$ pip install -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
Untuk ckan versi sebelum 2.0, silakan gunakan cabang rilis-v1.8.
Ini juga akan mendaftarkan titik masuk plugin, jadi Anda sekarang dapat menambahkan yang berikut ini ke file CKAN .ini Anda:
ckan.plugins = disqus <plugin-lainnya> disqus.name = NAMA_DISQUS_ANDA
Pada titik ini, setiap halaman tampilan kumpulan data akan memiliki komentar Disqus. Untuk menambahkan komentar ke halaman lain, lihat bagian berikutnya.
Disqus akan menggunakan window.location.href sebagai disqus_url. Terkadang membantu, terutama selama pengembangan, untuk menentukan url dasar yang akan digunakan oleh disqus. Ini dapat ditambahkan ke file CKAN .ini:
disqus.disqus_url = my_staging.server.com
Jangan sertakan 'http://' atau garis miring.
Agar untaian komentar muncul di halaman, masukkan ke dalam templat tempat Anda ingin komentar tersebut muncul:
{{h.disqus_comments()}}
Catatan untuk pengembang tema: ekstensi mencoba menghasilkan disqus_identifier dalam bentuk:
{controller/nama-objek-domain}::{id}
Dimana controller = 'group' di bagian grup, 'dataset' di bagian dataset (perhatikan ini berbeda dengan nama pengontrol secara internal yang masih berupa paket), 'resource' untuk sumber daya, dll. Pengidentifikasi ini akan berguna jika Anda mau referensikan komentar ini (misalnya untuk jumlah komentar) di tempat lain di situs.
Sisipkan di halaman yang Anda inginkan untuk menampilkan komentar terbaru:
{{h.disqus_recent()}}
Widget komentar terkini akan menampilkan 5 komentar terbaru secara default. Untuk menampilkan 10 komentar terbaru gunakan yang berikut ini:
{{h.disqus_recent(num_comments=10)}}
Disqus menawarkan banyak widget lainnya. Daripada menyediakannya secara otomatis sebagai bagian dari ekstensi ini, kami menyarankan agar pengembang tema memasukkan kode secara langsung (perhatikan bahwa Anda mengakses variabel konfigurasi yang relevan dari objek konfigurasi yang diteruskan ke semua templat).
Disqus menawarkan opsi "Single Sign On" yang memungkinkan pengguna mengirimkan komentar menggunakan nama pengguna/kata sandi lokal daripada memerlukan akun disqus terpisah. Untuk petunjuk tentang cara mengatur segala sesuatunya di sisi Disqus (yaitu membuat kunci API) lihat: https://help.disqus.com/customer/portal/articles/236206-integrating-single-sign-on
Untuk berintegrasi dengan plugin CKAN ini, Anda harus menyimpan kunci Publik dan Rahasia Anda di file CKAN ini:
ckan.plugins = disqus <plugin-lainnya> disqus.name = NAMA_DISQUS_ANDA disqus.secret_key = YOUR_DISQUS_SECRET_KEY disqus.public_key = YOUR_DISQUS_PUBLIC_KEY