# ckanext-feedback
[![codecov](https://codecov.io/github/c-3lab/ckanext-feedback/graph/badge.svg?token=8T2RIXPXOM)](https://codecov.io/github/c-3lab/ckanext-feedback)
この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
1. CKANの仮想環境をアクティブにする(CKANコンテナ等の環境内で実行してください)
```bash
. /usr/lib/ckan/venv/bin/activate
```
2. 仮想環境にckanext-feedbackをインストールする
```bash
pip install ckanext-feedback
```
3. 以下のコマンドで設定を行うファイルを開く
```bash
vim /etc/ckan/production.ini
```
4. 以下の行に`feedback`を追加
```bash
ckan.plugins = stats ・・・ recline_view feedback
```
5. フィードバック機能に必要なテーブルを作成する
```bash
ckan db upgrade -p feedback
```
## 構成
### 本Extensionは3つのモジュールで構成されています
* [utilization](./docs/ja/utilization.md)
* [resource](./docs/ja/resource.md)
* [download](./docs/ja/download.md)
### 設定や管理に関するドキュメント
* リソースや利活用方法へのコメントを管理することが出来ます
* 詳しくは[管理者用画面ドキュメント](docs/ja/admin.md)をご覧ください
* 特定のモジュールのみを利用することも可能です
* 設定方法は[オンオフ機能の詳細ドキュメント](./docs/ja/switch_function.md)をご覧ください
* ログインの有無やログインしているユーザーの権限(adminなど)によって、実行可能なアクションを設定しています
* 権限に関する詳細は[管理者権限の詳細ドキュメント](./docs/ja/authority.md)をご覧ください
## 開発者向け
### ビルド方法
1. `ckanext-feedback`をローカル環境にGitHub上からクローンする
```bash
git clone https://github.com/c-3lab/ckanext-feedback.git
```
2. `ckanext-feedback/development`下にある`container_setup.sh`を実行し、コンテナを起動
3. ckanext-feedbackをインストールして必要なテーブルを作成するために、`ckanext-feedback/development`下にある`feedback_setup.sh`を実行する
4. `http://localhost:5000`にアクセスする
### LinterとFomatterの設定
1. poetryをインストールする
```bash
pip install poetry
```
2. LinterとFomatterを使えるようにする
```bash
poetry install
poetry run pre-commit install
```
* 以後、git commit 時に、staging されているファイルに対して isort, black, pflake8 が実行され、それらによる修正が発生すると、commit されなくなる。
* 手動で isort, black, pflake8 を行いたい場合、poetry run pre-commit で可能。
### 参考ドキュメント
* [feedbackコマンド 詳細ドキュメント](./docs/ja/feedback_command.md)
* [言語対応(i18n) 詳細ドキュメント](./docs/ja/i18n.md)
## テスト
1. 上記のビルド方法に従い、ビルドを行う
2. コンテナ内に入る
```bash
docker exec -it --user root ckan-docker-ckan-dev-1 /bin/bash
```
3. その他の必要なものをインストールする
```bash
pip install -r /srv/app/src/ckan/dev-requirements.txt
pip install pytest-ckan
```
4. ディレクトリを移動
```bash
cd /usr/lib/python3.10/site-packages/ckanext/feedback/tests
```
5. テストを実行
```bash
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](https://github.com/c-3lab/ckanext-feedback/blob/feature/documentation-README/LICENSE)
## CopyRight
Copyright (c) 2023 C3Lab
Raw data
{
"_id": null,
"home_page": "https://github.com/c-3lab/ckanext-feedback/",
"name": "ckanext-feedback",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0.0,>=3.8.16",
"maintainer_email": null,
"keywords": "ckan, ckan extension, opendata, open-data, review",
"author": "C3Lab",
"author_email": "info.c3lab@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/5a/a3/9d5e4e7181b1116c0b6b1638b33e4a9725fc4661dd1e8bd534b57afd3132/ckanext_feedback-1.3.7.tar.gz",
"platform": null,
"description": "# ckanext-feedback\n\n[![codecov](https://codecov.io/github/c-3lab/ckanext-feedback/graph/badge.svg?token=8T2RIXPXOM)](https://codecov.io/github/c-3lab/ckanext-feedback)\n\n\u3053\u306eCKAN Extension\u306f\u30c7\u30fc\u30bf\u5229\u7528\u8005\u304b\u3089\u306e\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u5f97\u308b\u305f\u3081\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\n\u672cExtension\u306e\u5229\u7528\u8005\u304b\u3089\u306e\u610f\u898b\u30fb\u8981\u671b\u3084\u6d3b\u7528\u4e8b\u4f8b\u306e\u5831\u544a\u3092\u53d7\u3051\u4ed8\u3051\u308b\u4ed5\u7d44\u307f\u7b49\u306b\u3088\u3063\u3066\u3001\u30c7\u30fc\u30bf\u5229\u7528\u8005\u306f\u30c7\u30fc\u30bf\u306e\u7406\u89e3\u304c\u9032\u307f\u30c7\u30fc\u30bf\u5229\u6d3b\u7528\u304c\u4fc3\u9032\u3055\u308c\u3001\u30c7\u30fc\u30bf\u63d0\u4f9b\u8005\u306f\u30c7\u30fc\u30bf\u306e\u30cb\u30fc\u30ba\u7406\u89e3\u3084\u30c7\u30fc\u30bf\u6539\u5584\u30d7\u30ed\u30bb\u30b9\u306e\u52b9\u7387\u5316\u304c\u884c\u3048\u307e\u3059\u3002\n\nThis 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.\n\n\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u306b\u3088\u308a\u5229\u7528\u8005\u3068\u63d0\u4f9b\u8005\u9593\u3067\u30c7\u30fc\u30bf\u3092\u6539\u5584\u3057\u7d9a\u3051\u308b\u30a8\u30b3\u30b7\u30b9\u30c6\u30e0\u3092\u5b9f\u73fe\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\n\nFeedback enables an ecosystem between users and providers that continually improves the data.\n\n## Main features\n\n* \ud83d\udc40 \u96c6\u8a08\u60c5\u5831\u306e\u53ef\u8996\u5316\u6a5f\u80fd(\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u6570\u3001\u5229\u6d3b\u7528\u6570\u3001\u8ab2\u984c\u89e3\u6c7a\u6570)\n * Visualization function for aggregate information (number of downloads, number of uses, number of problems solved)\n* \ud83d\udcac \u30c7\u30fc\u30bf\u304a\u3088\u3073\u5229\u6d3b\u7528\u65b9\u6cd5\u306b\u5bfe\u3059\u308b\u30b3\u30e1\u30f3\u30c8\u30fb\u8a55\u4fa1\u6a5f\u80fd\n * Comment and evaluation function for data and usage methods\n* \ud83d\uddbc \u30c7\u30fc\u30bf\u3092\u5229\u6d3b\u7528\u3057\u305f\u30a2\u30d7\u30ea\u3084\u30b7\u30b9\u30c6\u30e0\u306e\u7d39\u4ecb\u6a5f\u80fd\n * Feature to introduce apps and systems that utilize data\n* \ud83c\udfc6 \u30c7\u30fc\u30bf\u3092\u5229\u6d3b\u7528\u3057\u305f\u30a2\u30d7\u30ea\u3084\u30b7\u30b9\u30c6\u30e0\u306e\u8ab2\u984c\u89e3\u6c7a\u8a8d\u5b9a\u6a5f\u80fd\n * Problem-solving certification function for apps and systems that utilize data\n\n## Quick Start\n\n1. CKAN\u306e\u4eee\u60f3\u74b0\u5883\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u3059\u308b(CKAN\u30b3\u30f3\u30c6\u30ca\u7b49\u306e\u74b0\u5883\u5185\u3067\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044)\n\n ```bash\n . /usr/lib/ckan/venv/bin/activate\n ```\n\n2. \u4eee\u60f3\u74b0\u5883\u306bckanext-feedback\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\n\n ```bash\n pip install ckanext-feedback\n ```\n\n3. \u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u8a2d\u5b9a\u3092\u884c\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\n\n ```bash\n vim /etc/ckan/production.ini\n ```\n\n4. \u4ee5\u4e0b\u306e\u884c\u306b`feedback`\u3092\u8ffd\u52a0\n\n ```bash\n ckan.plugins = stats \u30fb\u30fb\u30fb recline_view feedback\n ```\n\n5. \u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u6a5f\u80fd\u306b\u5fc5\u8981\u306a\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3059\u308b\n\n ```bash\n ckan db upgrade -p feedback\n ```\n\n## \u69cb\u6210\n\n### \u672cExtension\u306f3\u3064\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\n\n* [utilization](./docs/ja/utilization.md)\n* [resource](./docs/ja/resource.md)\n* [download](./docs/ja/download.md)\n\n### \u8a2d\u5b9a\u3084\u7ba1\u7406\u306b\u95a2\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\n\n* \u30ea\u30bd\u30fc\u30b9\u3084\u5229\u6d3b\u7528\u65b9\u6cd5\u3078\u306e\u30b3\u30e1\u30f3\u30c8\u3092\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\n * \u8a73\u3057\u304f\u306f[\u7ba1\u7406\u8005\u7528\u753b\u9762\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8](docs/ja/admin.md)\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\n\n* \u7279\u5b9a\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u307f\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\n * \u8a2d\u5b9a\u65b9\u6cd5\u306f[\u30aa\u30f3\u30aa\u30d5\u6a5f\u80fd\u306e\u8a73\u7d30\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8](./docs/ja/switch_function.md)\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\n\n* \u30ed\u30b0\u30a4\u30f3\u306e\u6709\u7121\u3084\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u3044\u308b\u30e6\u30fc\u30b6\u30fc\u306e\u6a29\u9650(admin\u306a\u3069)\u306b\u3088\u3063\u3066\u3001\u5b9f\u884c\u53ef\u80fd\u306a\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\n * \u6a29\u9650\u306b\u95a2\u3059\u308b\u8a73\u7d30\u306f[\u7ba1\u7406\u8005\u6a29\u9650\u306e\u8a73\u7d30\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8](./docs/ja/authority.md)\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\n\n## \u958b\u767a\u8005\u5411\u3051\n\n### \u30d3\u30eb\u30c9\u65b9\u6cd5\n\n1. `ckanext-feedback`\u3092\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306bGitHub\u4e0a\u304b\u3089\u30af\u30ed\u30fc\u30f3\u3059\u308b\n\n ```bash\n git clone https://github.com/c-3lab/ckanext-feedback.git\n ```\n\n2. `ckanext-feedback/development`\u4e0b\u306b\u3042\u308b`container_setup.sh`\u3092\u5b9f\u884c\u3057\u3001\u30b3\u30f3\u30c6\u30ca\u3092\u8d77\u52d5\n\n3. ckanext-feedback\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u5fc5\u8981\u306a\u30c6\u30fc\u30d6\u30eb\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u3001`ckanext-feedback/development`\u4e0b\u306b\u3042\u308b`feedback_setup.sh`\u3092\u5b9f\u884c\u3059\u308b\n\n4. `http://localhost:5000`\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\n\n### Linter\u3068Fomatter\u306e\u8a2d\u5b9a\n\n1. poetry\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\n\n ```bash\n pip install poetry\n ```\n\n2. Linter\u3068Fomatter\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\n\n ```bash\n poetry install\n poetry run pre-commit install\n ```\n\n * \u4ee5\u5f8c\u3001git commit \u6642\u306b\u3001staging \u3055\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066 isort, black, pflake8 \u304c\u5b9f\u884c\u3055\u308c\u3001\u305d\u308c\u3089\u306b\u3088\u308b\u4fee\u6b63\u304c\u767a\u751f\u3059\u308b\u3068\u3001commit \u3055\u308c\u306a\u304f\u306a\u308b\u3002\n * \u624b\u52d5\u3067 isort, black, pflake8 \u3092\u884c\u3044\u305f\u3044\u5834\u5408\u3001poetry run pre-commit \u3067\u53ef\u80fd\u3002\n\n### \u53c2\u8003\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\n\n* [feedback\u30b3\u30de\u30f3\u30c9 \u8a73\u7d30\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8](./docs/ja/feedback_command.md)\n* [\u8a00\u8a9e\u5bfe\u5fdc(i18n) \u8a73\u7d30\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8](./docs/ja/i18n.md)\n\n## \u30c6\u30b9\u30c8\n\n1. \u4e0a\u8a18\u306e\u30d3\u30eb\u30c9\u65b9\u6cd5\u306b\u5f93\u3044\u3001\u30d3\u30eb\u30c9\u3092\u884c\u3046\n\n2. \u30b3\u30f3\u30c6\u30ca\u5185\u306b\u5165\u308b\n\n ```bash\n docker exec -it --user root ckan-docker-ckan-dev-1 /bin/bash\n ```\n\n3. \u305d\u306e\u4ed6\u306e\u5fc5\u8981\u306a\u3082\u306e\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\n\n ```bash\n pip install -r /srv/app/src/ckan/dev-requirements.txt\n pip install pytest-ckan\n ```\n\n4. \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u79fb\u52d5\n\n ```bash\n cd /usr/lib/python3.10/site-packages/ckanext/feedback/tests\n ```\n\n5. \u30c6\u30b9\u30c8\u3092\u5b9f\u884c\n\n ```bash\n 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 ./\n ```\n\n## LICENSE\n\n[AGPLv3 LICENSE](https://github.com/c-3lab/ckanext-feedback/blob/feature/documentation-README/LICENSE)\n\n## CopyRight\n\nCopyright (c) 2023 C3Lab\n\n\n",
"bugtrack_url": null,
"license": "AGPL-3.0",
"summary": "The extension to feedback on CKAN datasets such as review, number of downloads,use-cases,resolved-problems, and way of use",
"version": "1.3.7",
"project_urls": {
"Documentation": "https://github.com/c-3lab/ckanext-feedback/README.md",
"Homepage": "https://github.com/c-3lab/ckanext-feedback/",
"Repository": "https://github.com/c-3lab/ckanext-feedback/"
},
"split_keywords": [
"ckan",
" ckan extension",
" opendata",
" open-data",
" review"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ee999a804070f48450fc838c9ed139a9208b5afed879f47128630ce6b367a92a",
"md5": "32e1cdef1f1be61306f780b340f73a7e",
"sha256": "7be07d5709b3ec2b9bf6870198e4c4d24bf23fbf9bea2194a04e777f8cde63b3"
},
"downloads": -1,
"filename": "ckanext_feedback-1.3.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "32e1cdef1f1be61306f780b340f73a7e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0.0,>=3.8.16",
"size": 153560,
"upload_time": "2024-12-05T04:49:09",
"upload_time_iso_8601": "2024-12-05T04:49:09.835250Z",
"url": "https://files.pythonhosted.org/packages/ee/99/9a804070f48450fc838c9ed139a9208b5afed879f47128630ce6b367a92a/ckanext_feedback-1.3.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5aa39d5e4e7181b1116c0b6b1638b33e4a9725fc4661dd1e8bd534b57afd3132",
"md5": "e73efae58f64be42d74080ed23ee39ec",
"sha256": "8453ddbcbb21056cb6a30b0415eeb6e0e916a408c4349031566cb371520ee1a4"
},
"downloads": -1,
"filename": "ckanext_feedback-1.3.7.tar.gz",
"has_sig": false,
"md5_digest": "e73efae58f64be42d74080ed23ee39ec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0.0,>=3.8.16",
"size": 92652,
"upload_time": "2024-12-05T04:49:11",
"upload_time_iso_8601": "2024-12-05T04:49:11.791918Z",
"url": "https://files.pythonhosted.org/packages/5a/a3/9d5e4e7181b1116c0b6b1638b33e4a9725fc4661dd1e8bd534b57afd3132/ckanext_feedback-1.3.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-05 04:49:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "c-3lab",
"github_project": "ckanext-feedback",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "ckanext-feedback"
}