L'extension Disqus permet aux visiteurs du site de commenter des packages individuels à l'aide d'un système de commentaires basé sur AJAX. Les inconvénients de ce plugin sont que les commentaires ne sont pas stockés localement et que les informations utilisateur ne sont pas partagées entre CKAN et le système de commentaires.
Remarque : Cette extension nécessite ckan 1.7 ou supérieur
Afin de configurer le plugin Disqus, vous devez d'abord vous rendre sur disqus.com et créer un forum avec votre nom de domaine. Vous pourrez choisir un nom de forum.
Pour installer le plugin, entrez votre virtualenv et chargez le source :
(pyenv)$ pip install -e git+https://github.com/okfn/ckanext-disqus#egg=ckanext-disqus
Pour les versions de ckan antérieures à 2.0, veuillez utiliser la branche release-v1.8.
Cela enregistrera également un point d'entrée du plugin, vous devriez donc maintenant pouvoir ajouter ce qui suit à votre fichier CKAN .ini :
ckan.plugins = disqus <autres plugins> disqus.name = VOTRE_DISQUS_NAME
À ce stade, chaque page d'affichage de l'ensemble de données comportera des commentaires Disqus. Pour ajouter des commentaires dans d'autres pages, consultez la section suivante.
Disqus utilisera window.location.href comme disqus_url. Il est parfois utile, notamment pendant le développement, de spécifier l'URL de base que disqus doit utiliser à la place. Ceci peut être ajouté au fichier CKAN .ini :
disqus.disqus_url = mon_staging.server.com
N'incluez pas « http:// » ou une barre oblique finale.
Pour que les fils de commentaires apparaissent sur les pages, insérez-les dans les modèles à l'endroit où vous souhaitez que les commentaires apparaissent :
{{h.disqus_comments()}}
Note pour les développeurs de thèmes : les extensions tentent de générer un disqus_identifier de la forme :
{contrôleur/nom-objet-domaine} : {id}
Où contrôleur = 'group' dans la section groupe, 'dataset' dans la section dataset (notez que cela diffère du nom du contrôleur en interne qui est toujours un package), 'resource' pour les ressources, etc. Cet identifiant sera utile si vous le souhaitez ensuite faites référence à ce commentaire (par exemple pour le nombre de commentaires) ailleurs sur le site.
Insérez sur les pages où vous souhaitez que les commentaires récents apparaissent :
{{h.disqus_recent()}}
Le widget de commentaires récents affichera 5 commentaires récents par défaut. Pour afficher 10 commentaires récents, utilisez ce qui suit :
{{h.disqus_recent(num_comments=10)}}
Disqus propose de nombreux autres widgets. Plutôt que de les fournir automatiquement dans le cadre de cette extension, nous suggérons aux développeurs de thèmes d'incorporer le code directement (notez que vous accédez aux variables de configuration pertinentes à partir de l'objet de configuration transmis dans tous les modèles).
Disqus propose une option « Single Sign On » qui permet aux utilisateurs de soumettre des commentaires en utilisant le nom d'utilisateur/mot de passe local plutôt que d'avoir besoin d'un compte Disqus séparé. Pour obtenir des instructions sur la façon de configurer les choses du côté de Disqus (c'est-à-dire créer des clés API), voir : https://help.disqus.com/customer/portal/articles/236206-integrating-single-sign-on
Pour intégrer ce plugin CKAN, vous devez stocker vos clés Publique et Secrète dans le fichier ini CKAN :
ckan.plugins = disqus <autres plugins> disqus.name = VOTRE_DISQUS_NAME disqus.secret_key = VOTRE_DISQUS_SECRET_KEY disqus.public_key = VOTRE_DISQUS_PUBLIC_KEY