Skip to content

Commit dd7d673

Browse files
MakotoASAOKAclaude
andcommitted
docs: feature/jgss PRレビュー用資料と不具合再現データを追加
- WEKO3_BUILD_RESTORE_MANUAL.md: このブランチのビルド〜JGSSデータリストア手順書 - KNOWN_ISSUE_download_button_not_shown.md: 承認済み利用申請でもダウンロード ボタンが表示されない既知の不具合(事象・対応状況・再現データへのポインタ) - scripts/pr_review_init.sh: 上記2点をレビュー開始時にすぐ確認できる初期化スクリプト - scripts/demo/download_button_bug_repro/: 上記不具合を完全な合成データ (本番データ・個人情報は一切含まない)で再現するためのfixture一式 - .gitignore: 本番データ復元の作業ファイル(DBダンプ・ESスナップショット)を追跡対象外に Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 27de142 commit dd7d673

10 files changed

Lines changed: 1042 additions & 0 deletions

File tree

‎.gitignore‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,9 @@ test/data
9696
test/import.zip
9797
test/dummyfile/import.zip
9898
test/dummyfile/data
99+
100+
# JGSS本番データ復元の作業ファイル(サイズ大・個人情報含むため追跡しない)
101+
/after_restore.dump
102+
/after_restore_jgssdds.dump
103+
/es_snapshot_restore/
104+
/es_snapshot_restore_new/
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# 既知の不具合: 利用申請承認済みアカウントでもダウンロードボタンではなく申請ボタンが表示される
2+
3+
> この `feature/jgss` ブランチ上での作業・レビューにあたり、既知の別事象として最初に共有しておくノート。本PRのコード変更(ビルド修正・環境設定)そのものが原因の事象ではない。原因調査・改修方針は別途まとめ済みで、コードへの適用は本PRの範囲外(未実施)。
4+
5+
## 1. 事象
6+
7+
利用申請(usage application)が承認済み(承認済みステータス)のアカウントでログインし、当該アイテムの詳細画面にアクセスすると、期待される「ダウンロード」ボタンではなく「申請」ボタンが表示される。
8+
9+
## 2. 現在の対応状況
10+
11+
- 原因調査済み: `FilePermission.status` を承認時に `1`(承認済み)へ更新する処理が `feature/jgss` のコードに存在しないこと、および画面側の権限判定が実際の承認経路(`file_onetime_download` テーブル)を一切参照していないことが根本原因。
12+
- `jgss-pre` ブランチの実装を参考にした改修案・結合テスト計画を作成済み。
13+
- Redmineに起票済み(担当者に確認のこと。本ファイルにはチケット番号は含めていない)。
14+
- 上記いずれもコードへの適用はまだ行っていない。本ブランチのビルド・レビューを進める上で、この事象が別途あることを認識しておくこと。
15+
16+
## 3. 詳しい調査資料
17+
18+
同一環境(`/home/vagrant`)内に以下の内部ドキュメントがある(このgitリポジトリには含まれない)。
19+
20+
- `doc/download_button_not_shown_for_approved_user_report_20260916.md` — 原因調査レポート
21+
- `doc/download_button_fix_proposal_20260916.md` — 改修案(`jgss-pre`参考)
22+
- `doc/download_button_fix_integration_test_plan_20260916.md` — 結合テスト計画
23+
24+
## 4. 再現用データ
25+
26+
本リポジトリに、この事象をレビュアの手元で再現するための**完全に合成した**デモデータ一式を同梱している。本番データ・個人情報は一切含まない(メールアドレスは `populate-instance.sh` が作るデモアカウント `contributor@example.org` のみ)。
27+
28+
- 置き場所: `scripts/demo/download_button_bug_repro/`
29+
- 詳細手順: `scripts/demo/download_button_bug_repro/README.md`
30+
31+
### 投入(`install.sh` による通常の新規構築が済んだ後に実行)
32+
33+
```bash
34+
./scripts/demo/download_button_bug_repro/load.sh
35+
```
36+
37+
`fixture.sql`(PostgreSQL の差分行)と `es_bulk.ndjson`(Elasticsearch の当該アイテム文書)を投入する。自分が作る行だけを先に `DELETE` してから入れるため冪等で、既存行の変更・削除は行わない。
38+
39+
### 再現手順
40+
41+
1. `contributor@example.org` / `uspass123` でログインする。
42+
2. `https://<host>/records/2003976`(「サンプル制限公開アイテム / Sample Restricted Item」)を開く。
43+
3. ファイル `sample_restricted_data.txt` の行に、**「ダウンロード」ではなく「申請」ボタン**が表示される。押すと同じ利用申請ワークフローが最初から始まってしまう。
44+
45+
利用申請アクティビティ `A-20260917-00001` は `activity_status='F'`(承認・完了済み)であるにもかかわらず上記になる点が本事象である。
46+
47+
### DB 上のシグネチャ
48+
49+
| テーブル | 期待 | 実際 |
50+
| --- | --- | --- |
51+
| `workflow_activity` (`A-20260917-00001`) | `activity_status='F'` | `activity_status='F'` |
52+
| `file_permission` (`record_id='2003976'`) | `status=1` の行がある | **行が 1 件もない** |
53+
| `file_onetime_download` (`record_id='2003976'`) | — | `contributor@example.org` の行がある |
54+
55+
シェルからの検証は `docker compose exec -T web invenio shell /code/scripts/demo/download_button_bug_repro/verify.py` で行える。

0 commit comments

Comments
 (0)