Skip to content

Repository files navigation

English | 日本語

ckanext-feedback

codecov

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

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

対応 CKAN バージョン

CKAN バージョン Feedbackプラグイン 対応状況
2.10.x ~1.4.6 ✔️ 対応
2.11.x 1.5.0 ✔️ 対応

Main features

  • 👀 集計情報の可視化機能(ダウンロード数、利活用数、課題解決数)
  • 💬 データおよび利活用方法に対するコメント・評価機能
  • 🖼 データを利活用したアプリやシステムの紹介機能
  • 🏆 データを利活用したアプリやシステムの課題解決認定機能

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 /path/to/ckan.ini db upgrade -p feedback としてください。

Important

ckanコマンドは、ckan.iniがある場所で実行するか、-cckan.iniの指定が必要です。

  1. solrの再インデックスコマンドを実行

    ckan -c /path/to/ckan.ini search-index rebuild

    データセット数によっては時間がかかる可能性があるので注意してください。

Note

上記のコマンドは以下の場合に実行が必要です:

  • 初回インストール時
  • ソート機能を有効にした時
  • アップデート後

ソート機能の詳細はdataset一覧画面のソートオプションの追加を参照してください。

Tip

大量のデータセットがある場合は、search-index rebuild-fast コマンドで高速に処理できます。

実行する場合は、下記のCKAN公式サイトを必ず参照してから実行してください。

アップデートを行う場合

上記手順の以下を実行:

  1. CKAN環境にckanext-feedbackをインストールする
  2. フィードバック機能に必要なテーブルを作成する
  3. solrの再インデックスコマンドを実行

構成

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

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

開発者向け

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

前提

  • 以下のDocker環境で CKAN 本体と本Extensionを実行することを想定しています。
    • OS: Linux
    • ディストリビューション: Ubuntu 22.04
    • Python 3.10.13
    • 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にアクセスする

開発準備

Poetryによるパッケージインストール

本Extentionの開発を行う際は、Poetryを利用し、必要なパッケージをインストールしてください。

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

    curl -sSL https://install.python-poetry.org | python3 -
  2. pyproject.toml があるプロジェクトルートディレクトリに移動し、パッケージをインストールする

    poetry install

LinterとFomatterの設定

LinterとFomatterを使えるようにする

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 /srv/app/src_extensions/ckanext-feedback
  5. テストを実行

    ./test.sh

    ファイルを指定する場合は以下のように指定することが可能

    ./test.sh ckanext/feedback/tests/command/test_feedback.py

    クラス・関数単位での指定も可能(::クラス名::関数名)

    ./test.sh ckanext/feedback/tests/command/test_feedback.py::TestFeedbackCommand::test_feedback_default

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

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages