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

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.2.0.tar.gz (104.5 kB view details)

Uploaded Source

Built Distribution

ckanext_comments-0.2.0-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ckanext-comments-0.2.0.tar.gz
  • Upload date:
  • Size: 104.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 1b47d0080801679efe25b489ce26f98360ab716c5f24d34519f5e4471f886861
MD5 4039613e23fcfed88eb2a5e509d9a9cc
BLAKE2b-256 9bd75603e2ce166801a4cefa280e8bd76b8af5adfe7158d88a87ba9813813b60

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for ckanext_comments-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab580f470f397da846ec92dc90de9b92fce0223e13352e7bd78234aebb2bc5b0
MD5 9d4ff4458cfb9fa42d981cc506b0051a
BLAKE2b-256 04ba1b84631be5f64d82422ddef652c7908a5a23a4405d7ff499454d6acfa961

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