English | 日本語
このCKAN Extensionはデータ利用者からのフィードバックを得るための機能を提供します。
本Extensionの利用者からの意見・要望や活用事例の報告を受け付ける仕組み等によって、データ利用者はデータの理解が進みデータ利活用が促進され、データ提供者はデータのニーズ理解やデータ改善プロセスの効率化が行えます。
フィードバックにより利用者と提供者間でデータを改善し続けるエコシステムを実現することができます。
| CKAN バージョン | Feedbackプラグイン | 対応状況 |
|---|---|---|
| 2.10.x | ~1.4.6 | ✔️ 対応 |
| 2.11.x | 1.5.0 | ✔️ 対応 |
- 👀 集計情報の可視化機能(ダウンロード数、利活用数、課題解決数)
- 💬 データおよび利活用方法に対するコメント・評価機能
- 🖼 データを利活用したアプリやシステムの紹介機能
- 🏆 データを利活用したアプリやシステムの課題解決認定機能
CKANの環境に本Extensionを適用する手順を示します。
- 以下の環境にインストールされている CKAN 2.10.4 に本Extensionを追加することを想定しています。
- OS: Linux
- ディストリビューション: Ubuntu 22.04
- Python 3.10.13
-
CKAN環境にckanext-feedbackをインストールする
- venvなどの仮想環境でCKANを実行している場合は、仮想環境をアクティブにしてから実行してください。
pip install ckanext-feedback
-
以下のコマンドでCKANの設定を行うファイル(
ckan.ini)を開くckan.iniが存在しているパスを指定してください。- パスが不明な場合、
find / -name ckan.iniなどを実行して検索してください
vim /etc/ckan/ckan.ini
-
以下の行に
feedbackを追加ckan.plugins = stats ・・・ recline_view feedback
-
フィードバック機能に必要なテーブルを作成する
ckan db upgrade -p feedback
ckan.iniが見つからないなどのエラーが出る場合、ckan -c /path/to/ckan.ini db upgrade -p feedbackとしてください。
Important
ckanコマンドは、ckan.iniがある場所で実行するか、-cでckan.iniの指定が必要です。
-
solrの再インデックスコマンドを実行
ckan -c /path/to/ckan.ini search-index rebuild
データセット数によっては時間がかかる可能性があるので注意してください。
Note
上記のコマンドは以下の場合に実行が必要です:
- 初回インストール時
- ソート機能を有効にした時
- アップデート後
ソート機能の詳細はdataset一覧画面のソートオプションの追加を参照してください。
Tip
大量のデータセットがある場合は、search-index rebuild-fast コマンドで高速に処理できます。
実行する場合は、下記のCKAN公式サイトを必ず参照してから実行してください。
上記手順の以下を実行:
- CKAN環境にckanext-feedbackをインストールする
- フィードバック機能に必要なテーブルを作成する
- solrの再インデックスコマンドを実行
-
リソースや利活用方法へのコメントを管理することが出来ます
- 詳しくは管理者用画面ドキュメントをご覧ください
-
特定のモジュールのみを利用することも可能です
- 設定方法はON/OFF機能の詳細ドキュメントをご覧ください
-
ログインの有無やログインしているユーザーの権限(adminなど)によって、実行可能なアクションを設定しています
- 権限に関する詳細は管理者権限の詳細ドキュメントをご覧ください
Docker環境で本Extensionの開発を行う手順を示します。
- 以下のDocker環境で CKAN 本体と本Extensionを実行することを想定しています。
- OS: Linux
- ディストリビューション: Ubuntu 22.04
- Python 3.10.13
- Docker 27.4.0
-
ckanext-feedbackをローカル環境にGitHub上からクローンするgit clone https://github.com/c-3lab/ckanext-feedback.git
-
ckanext-feedback/developmentディレクトリに移動し、そのディレクトリにあるcontainer_setup.shを実行し、コンテナを起動 -
同じく、
ckanext-feedback/developmentディレクトリにいる状態でfeedback_setup.shを実行し、ckanext-feedbackをインストールして必要なテーブルを作成する。feedback_setup.shの実行中にThe feedback config file not foundと表示される場合がありますが、問題はありません。The feedback config fileとは、feedback_config.jsonが該当し、オンオフ機能の詳細ドキュメントで解説しています。
-
http://localhost:5000にアクセスする
本Extentionの開発を行う際は、Poetryを利用し、必要なパッケージをインストールしてください。
-
Poetryをインストールする
curl -sSL https://install.python-poetry.org | python3 - -
pyproject.tomlがあるプロジェクトルートディレクトリに移動し、パッケージをインストールするpoetry install
LinterとFomatterを使えるようにする
poetry run pre-commit install- 以後、git commit 時に、staging されているファイルに対して isort, black, pflake8 が実行され、それらによる修正が発生すると、commit されなくなる。
- 手動で isort, black, pflake8 を行いたい場合、
poetry run pre-commitで可能。
-
上記のビルド方法に従い、ビルドを行う
-
コンテナ内に入る
docker exec -it --user root ckan-docker-ckan-dev-1 /bin/bash -
その他の必要なものをインストールする
pip install -r /srv/app/src/ckan/dev-requirements.txt pip install pytest-ckan
-
ディレクトリを移動
cd /srv/app/src_extensions/ckanext-feedback -
テストを実行
./test.sh
ファイルを指定する場合は以下のように指定することが可能
./test.sh ckanext/feedback/tests/command/test_feedback.py
クラス・関数単位での指定も可能(::クラス名::関数名)
./test.sh ckanext/feedback/tests/command/test_feedback.py::TestFeedbackCommand::test_feedback_default
Copyright (c) 2023 C3Lab