Skip to main content

No project description provided

Project description

Tests

ckanext-comments

Add comment-trees to CKAN pages.

This plugins provides comment threads linked to any of the main CKAN entities:

  • datasets
  • resources
  • groups
  • organizations
  • users.

All the features are API-first, so anything you can do via UI, can be done via API.

No changes to the WebUI are done by default. One have to include a snippet into Jinja2 template in order to show the comments on a page.

{# subject_type := package | group | resource | user #}
{% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}

:info: For the datasets it also can be achieved by enabling ckanext.comments.enable_default_dataset_comments option.

Requirements

  • python >= 3.7
  • CKAN >= 2.9

Installation

To install ckanext-comments:

  1. Install python package
pip install ckanext-comments
  1. Add comments to the ckan.plugins setting in your CKAN config file

  2. Apply database migrations

ckan db upgrade -p comments
  1. Add cooments/snippets/thread.html to your package/read.html template, like this:
{% ckan_extends %}

{% block primary_content_inner %}
  {{ super() }}
  {% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
{% endblock primary_content_inner %}

Config settings

# Require comment approval in order to make it visible
# (optional, default: true).
ckanext.comments.require_approval = false

# Editor(admin) can edit draft comments
# (optional, default: true).
ckanext.comments.draft_edits = true

# Author can edit own draft comments
# (optional, default: true).
ckanext.comments.draft_edits_by_author = false

# Editor(admin) can edit approved comments
# (optional, default: false).
ckanext.comments.approved_edits = false

# Author can edit own approved comments
# (optional, default: false).
ckanext.comments.approved_edits_by_author = false

# Number of reply levels that are shown on mobile layout
# (optional, default: 3).
ckanext.comments.mobile_depth_threshold = 3

# Include default thread implementation on the dataset page
# (optional, default: false).
ckanext.comments.enable_default_dataset_comments = true

API

comments_thread_create

Create a thread for the subject.

Args:

  • subject_id(str): unique ID of the commented entity
  • subject_type(str:package|resource|user|group): type of the commented entity

comments_thread_show

Show the subject's thread.

Args:

  • subject_id(str): unique ID of the commented entity
  • subject_type(str:package|resource|user|group): type of the commented entity
  • init_missing(bool, optional): return an empty thread instead of 404
  • include_comments(bool, optional): show comments from the thread
  • include_author(bool, optional): show authors of the comments
  • combine_comments(bool, optional): combine comments into a tree-structure
  • after_date(str:ISO date, optional): show comments only since the given date

comments_thread_delete

Delete the thread.

Args:

  • id(str): ID of the thread

comments_comment_create

Add a comment to the thread.

Args:

  • subject_id(str): unique ID of the commented entity
  • subject_type(str:package|resource|user|group): type of the commented entity
  • content(str): comment's message
  • reply_to_id(str, optional): reply to the existing comment
  • create_thread(bool, optional): create a new thread if it doesn't exist yet

comments_comment_show

Show the details of the comment

Args:

  • id(str): ID of the comment

comments_comment_approve

Approve draft comment

Args:

  • id(str): ID of the comment

comments_comment_delete

Remove existing comment

Args:

  • id(str): ID of the comment

comments_comment_update

Update existing comment

Args:

  • id(str): ID of the comment
  • content(str): comment's message

Tests

To run the tests, do:

pytest --ckan-ini=test.ini

License

AGPL

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckanext-comments-0.1.1.tar.gz (103.0 kB view details)

Uploaded Source

Built Distribution

ckanext_comments-0.1.1-py3-none-any.whl (45.8 kB view details)

Uploaded Python 3

File details

Details for the file ckanext-comments-0.1.1.tar.gz.

File metadata

  • Download URL: ckanext-comments-0.1.1.tar.gz
  • Upload date:
  • Size: 103.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for ckanext-comments-0.1.1.tar.gz
Algorithm Hash digest
SHA256 568e277354e4231664f937a81dc654b289ae093e335836ab9379c3b94606602b
MD5 691a5fd19ba876a285b537aaef594c89
BLAKE2b-256 2f66e14cd96f5b9abcde0d31ec611a74c52184a216c1e727ed86923feac2463f

See more details on using hashes here.

Provenance

File details

Details for the file ckanext_comments-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ckanext_comments-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 60fc0287e844f0adb4545aced4309dd9b9eb7db5b01c4ec64f5e515d5c7703e3
MD5 a2390b2e703ecbe618b1cdb9e0743ebb
BLAKE2b-256 d80a4902487c5ff4e771a3ed3df6b9d6a60fc6eb980f2edebd4d6bbce804a591

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page