重要なお知らせを管理画面で確実に届ける仕組みが必要
- Dominant language
- PHP
- Stars
- 788
- Forks
- 719
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 39
Description
## 現状
EC-CUBE から店舗へ情報を届ける経路は、現在 2 つしかありません。
1. **ダッシュボードのお知らせ枠** — `eccube_info_url`(`app/config/eccube/packages/eccube.yaml`)を iframe で読み込んでいます(`src/Eccube/Resource/template/admin/index.twig`)。全店舗一律で対象を絞れず、iframe の中なので強調表示もできません。ダッシュボードを開かなければ見えません。また、現在表示されているのは「セキュリティ対策まとめ」「セキュリティへの取り組み」「管理・運用マニュアル」「公式メルマガ」への常設リンクで、日付のある項目はありません。時事的なお知らせを流す枠としては運用されていない状態です。
2. **プラグイン一覧の更新表示** — `PluginController::index()` がその場でオーナーズストア API を呼び、`update_status == 3` を表示します(`src/Eccube/Service/PluginApiService.php`)。この画面を開いたときだけ判定され、結果は保存されません。その更新が急ぐべきものかどうかも区別されません。
## 課題
急いで対応してほしい事柄があっても、店舗側が該当の画面を開くまで気づけません。重要度を区別して伝える手段もありません。たとえば次のようなものが該当します。
- **外部要因による期限** — EMV 3-D セキュア導入義務化、決済 API の仕様変更や提供終了など。期限を過ぎると決済が止まります。現在これらは決済代行各社がそれぞれ加盟店へメールで案内しており、EC-CUBE 側からは届けられていません。
- **セキュリティ更新** — 本体やプラグインの修正版のリリース。
- **サポート期限** — 利用中のバージョンや PHP のサポート終了。
- **重大な不具合の修正** — 受注やメール送信に実害が出るもの。
## 提案
管理画面のどのページを開いていても目に入る形で、重要なお知らせを届けられるようにしたいです。
- **表示は全画面共通の枠に出す。** `default_frame.twig` には既に `info.twig`(メンテナンスモード)と `notice_debug_mode.twig`(デバッグモード)が同じ位置に置かれているので、作法はそれに倣えます。
- **取得は管理画面へのアクセスを契機にする。** cron は事業者側での設定が必要になり、前提にできません。
- **重要度と表示の強さはサーバ側から指定する。** 本体は内容を解釈せず、指定に従って表示するだけにします。本体をリリースし直さずに運用側でパターンを増やせるようにするためです。
後方互換な追加のため 4.4.x でも入れられます。実装の当たりは付いており、スキーマ変更なしで収まる見込みです。
## 判断を仰ぎたい点
1. そもそもこの仕組みが必要か。既存のお知らせ枠の改善で足りるか。
2. 認証キー未登録の店舗にも届けるか。届けるなら経路をどうするか(`BaseInfo::authentication_key` は nullable で、未登録のままでも運用できます)。
3. 配信対象を絞り込むか、全店舗一律にするか。
4. 事業者が通知を閉じられるようにするか。
5. 対象バージョン。4.4.0 に入れるか、4.4.x 以降にするか。
Contributor guide
Research direction
Start by reviewing app/config/eccube/packages/eccube.yaml, src/Eccube/Resource/template/admin/index.twig, src/Eccube/Service/PluginApiService.php, and the shared default_frame.twig layout. Resolve the listed questions about authentication, targeting, dismissal, and supported versions before choosing an implementation. Done means an agreed design for fetching and displaying important notices across the management screens.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, symfony
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100