Skip to content

The extension to feedback on CKAN datasets such as review, number of downloads,use-cases,resolved-problems, and way of use

License

Notifications You must be signed in to change notification settings

c-3lab/ckanext-feedback

Repository files navigation

ckanext-feedback

codecov

このCKAN Extensionはデータ利用者からのフィードバックを得るための機能を提供します。 本Extensionの利用者からの意見・要望や活用事例の報告を受け付ける仕組み等によって、データ利用者はデータの理解が進みデータ利活用が促進され、データ提供者はデータのニーズ理解やデータ改善プロセスの効率化が行えます。

This CKAN Extension provides functionality to obtain feedback from data users. The mechanism for receiving opinions/requests and reports on usage examples from users of this extension will help data users understand data and promote data utilization, while data providers will be able to understand data needs and improve the data improvement process. You can improve efficiency.

フィードバックにより利用者と提供者間でデータを改善し続けるエコシステムを実現することができます。

Feedback enables an ecosystem between users and providers that continually improves the data.

Main features

  • 👀 集計情報の可視化機能(ダウンロード数、利活用数、課題解決数)
    • Visualization function for aggregate information (number of downloads, number of uses, number of problems solved)
  • 💬 データおよび利活用方法に対するコメント・評価機能
    • Comment and evaluation function for data and usage methods
  • 🖼 データを利活用したアプリやシステムの紹介機能
    • Feature to introduce apps and systems that utilize data
  • 🏆 データを利活用したアプリやシステムの課題解決認定機能
    • Problem-solving certification function for apps and systems that utilize data

Quick Start

CKANの環境に本Extensionを適用する手順を示します。

前提

  • 以下の環境にインストールされている CKAN 2.10.4 に本Extensionを追加することを想定しています。
    • OS: Linux
    • ディストリビューション: Ubuntu 22.04
    • Python 3.10.13

手順

  1. CKAN環境にckanext-feedbackをインストールする

    • venvなどの仮想環境でCKANを実行している場合は、仮想環境をアクティブにしてから実行してください。
    pip install ckanext-feedback
  2. 以下のコマンドでCKANの設定を行うファイル(ckan.ini)を開く

    • ckan.ini が存在しているパスを指定してください。
    • パスが不明な場合、 find / -name ckan.ini などを実行して検索してください
    vim /etc/ckan/ckan.ini
  3. 以下の行にfeedbackを追加

    ckan.plugins = stats ・・・ recline_view feedback
  4. フィードバック機能に必要なテーブルを作成する

    ckan db upgrade -p feedback
    • ckan.ini が見つからないなどのエラーが出る場合、 ckan -c <ckan.iniのパス> db upgrade -p feedback としてください。

構成

本Extensionを構成する3つのモジュール

設定や管理に関するドキュメント

開発者向け

Docker環境で本Extensionの開発を行う手順を示します。

前提

  • 以下のDocker環境で CKAN 本体と本Extensionを実行することを想定しています。
    • OS: Linux
    • ディストリビューション: Ubuntu 22.04
    • Docker 27.4.0

ビルド方法

  1. ckanext-feedbackをローカル環境にGitHub上からクローンする

    git clone https://github.com/c-3lab/ckanext-feedback.git
  2. ckanext-feedback/development ディレクトリに移動し、そのディレクトリにあるcontainer_setup.shを実行し、コンテナを起動

  3. 同じく、ckanext-feedback/development ディレクトリにいる状態で feedback_setup.sh を実行し、ckanext-feedbackをインストールして必要なテーブルを作成する。

    • feedback_setup.sh の実行中に The feedback config file not found と表示される場合がありますが、問題はありません。
    • The feedback config file とは、 feedback_config.json が該当し、オンオフ機能の詳細ドキュメントで解説しています。
  4. http://localhost:5000にアクセスする

LinterとFomatterの設定

  1. poetryをインストールする

    pip install poetry
  2. LinterとFomatterを使えるようにする

    poetry install
    poetry run pre-commit install
    • 以後、git commit 時に、staging されているファイルに対して isort, black, pflake8 が実行され、それらによる修正が発生すると、commit されなくなる。
    • 手動で isort, black, pflake8 を行いたい場合、poetry run pre-commit で可能。

参考ドキュメント

テスト

  1. 上記のビルド方法に従い、ビルドを行う

  2. コンテナ内に入る

    docker exec -it --user root ckan-docker-ckan-dev-1 /bin/bash
  3. その他の必要なものをインストールする

    pip install -r /srv/app/src/ckan/dev-requirements.txt
    pip install pytest-ckan
  4. ディレクトリを移動

    cd /usr/lib/python3.10/site-packages/ckanext/feedback/tests
  5. テストを実行

    CKAN_SQLALCHEMY_URL= CKAN_DATASTORE_READ_URL= CKAN_DATASTORE_WRITE_URL= pytest -s --ckan-ini=config/test.ini --cov=ckanext.feedback --cov-branch --disable-warnings ./

LICENSE

AGPLv3 LICENSE

CopyRight

Copyright (c) 2023 C3Lab

About

The extension to feedback on CKAN datasets such as review, number of downloads,use-cases,resolved-problems, and way of use

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published