يسمح ملحق Disqus لزوار الموقع بالتعليق على الحزم الفردية باستخدام نظام التعليق القائم على AJAX. تتمثل سلبيات هذا البرنامج المساعد في عدم تخزين التعليقات محليًا وعدم مشاركة معلومات المستخدم بين CKAN ونظام التعليق.
ملاحظة: يتطلب هذا الامتداد Ckan 1.7 أو أعلى
من أجل إعداد البرنامج الإضافي Disqus، عليك أولاً الانتقال إلى disqus.com وإعداد منتدى باسم المجال الخاص بك. سوف تكون قادرا على اختيار اسم المنتدى.
لتثبيت البرنامج المساعد، أدخل Virtualenv الخاص بك وقم بتحميل المصدر:
(pyenv)$ تثبيت النقطة -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
بالنسبة لإصدارات Ckan قبل 2.0، يرجى استخدام فرع الإصدار v1.8.
سيؤدي هذا أيضًا إلى تسجيل نقطة إدخال البرنامج الإضافي، لذا يجب أن تكون قادرًا الآن على إضافة ما يلي إلى ملف CKAN .ini الخاص بك:
ckan.plugins = disqus <other-plugins> disqus.name = YOUR_DISQUS_NAME
عند هذه النقطة، ستحتوي كل صفحة عرض لمجموعة البيانات على تعليقات Disqus. لإضافة تعليقات إلى صفحات أخرى، راجع القسم التالي.
سوف يستخدم Disqus window.location.href باعتباره disqus_url. من المفيد في بعض الأحيان، خصوصًا أثناء التطوير، تحديد عنوان url الأساسي الذي سيستخدمه Disqus بدلاً من ذلك. يمكن إضافة هذا إلى ملف CKAN .ini:
disqus.disqus_url = my_staging.server.com
لا تقم بتضمين "http://" أو شرطة مائلة زائدة.
لكي تظهر سلاسل التعليقات على الصفحات، قم بإدراجها في النماذج التي تريد أن تظهر التعليقات فيها:
{{h.disqus_comments()}}
ملاحظة لمطوري السمات: تحاول الامتدادات إنشاء معرف disqus_identifier للنموذج:
{وحدة التحكم/اسم كائن المجال}::{id}
حيث وحدة التحكم = 'group' في قسم المجموعة، و'dataset' في قسم مجموعة البيانات (لاحظ أن هذا يختلف عن اسم وحدة التحكم داخليًا والذي لا يزال حزمة)، و'resource' للموارد وما إلى ذلك. سيكون هذا المعرف مفيدًا إذا كنت تريد ذلك قم بالإشارة إلى هذا التعليق (على سبيل المثال لعدد التعليقات) في مكان آخر بالموقع.
أدخل في الصفحات التي تريد أن تظهر فيها التعليقات الأخيرة:
{{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 <other-plugins> disqus.name = YOUR_DISQUS_NAME disqus.secret_key = YOUR_DISQUS_SECRET_KEY disqus.public_key = YOUR_DISQUS_PUBLIC_KEY