2026年9月17日の仕様変更
9月17日の変更書を基に、17項目の変更を実装した。実装時の検証はローカルの分離した環境で行い、その後17:52 JSTに本番へ反映した。配備版・既存機能の保持・実機確認の範囲は9月17日の更新記録を参照。
確定した動作
| 対象 | 変更内容 |
|---|---|
| KIOSKの登録番号 | 画面下部に小さく表示。端末名と接続警告は上部に残す |
| KIOSKの時計 | サーバーのUTC時刻を基準に、日本時間を秒まで大きく表示。30秒ごとの接続確認で再同期。画面の再読み込みはしない |
| 保護者メニュー | 折りたたみメニューにまとめ、ホームのプロフィール・登録情報・通知設定の重複ボタンを整理 |
| 睡眠 | 就寝・起床を時刻入力。日付をまたぐ時間差を表示し、従来の睡眠メモも保持 |
| 朝食 | 食欲・食事量とは別に、食べた内容を任意入力 |
| 排便 | 前日夕方から連絡時までの性状・回数を任意入力。「なし」「不明」「未入力」を区別し、従来の排便メモも保持 |
| 登録アドレス | 管理者が一覧から削除画面へ進み、対象・理由を確認して削除。アカウント参照と連絡・回答履歴は残して利用停止 |
| 出欠確認の連絡欄 | 「保護者連絡」に改称し、出席・私用休み・病欠のアプリ連絡と、電話・口頭の受付を表示 |
| アンケート結果 | 管理者と、そのアンケートで明示的に指定された職員だけが全回答・CSVを閲覧。閲覧者を変更できるのは管理者 |
| 園からの連絡 | 保護者が未提出の日でも下書き・公開可能。保護者履歴は園児・日付単位で双方の連絡を表示 |
| お迎え予定 | 登園前から保護者ポータル・KIOSKで登録・変更。同じ予定を参照し、古い画面からの上書きを拒否 |
| 児童票作成状況 | クラス絞り込み、クラス別・年齢別の表示順と見出しを追加。年齢は年度4月1日の学年齢。既存の閲覧範囲を維持 |
| 健診・身体測定 | 測定一覧の「訂正」から既存記録を修正。理由、訂正前後、実施者、日時を履歴として保持し、同時更新を拒否 |
| 職員ホーム | クラスカードを出欠確認への入口に変更。アラームのある園児数を表示 |
| 出席の人数集計 | 目視で出席確認した園児も登園人数に含める。打刻がない人数を別表示し、登園時刻は作らない |
| 健康管理の並び順 | クラス表示順、クラスID、姓カナ・名カナ、園児ID。クラス未設定と姓カナ未入力はそれぞれ後ろに置く |
| 在園児の保護者追加 | 在園児を選んだ後、登録済み保護者の招待と新しい保護者の追加を選択。新規入園受付は別の入口を用意 |
集計と履歴
ホームの「登園」は、当日の登園打刻または出席確認のある園児数。「在園中」はそのうち降園打刻がなく、欠席確認でもない園児数。「未登園」は登園打刻・出席確認・欠席確認のいずれもない園児数とする。出席確認を取り消すと人数も戻り、打刻と出席確認が両方あっても一人として数える。打刻と欠席確認が矛盾する場合は元の記録を保持してアラームで確認する。
「アラーム」は有効なアラームがある園児数で、理由の延べ件数ではない。「要確認」は従来どおり未確認の園児等も含むため、別の指標として残す。出欠確認画面の「出席」は職員が出席を確認した人数である。
園から先に公開しても、保護者の提出記録を自動生成しない。下書きは保護者に表示せず、後から保護者が提出した場合は同じ日付の履歴へまとめる。今回の公開はポータル内への表示で、メール・Pushの新規送信は追加していない。
お迎え予定だけを登録した登降園レコードでは、実際の登園・降園時刻は空欄のままとする。変更履歴には前後の時刻・予定者・補食、操作元、実施者を記録する。降園後は予定を変更できず、保護者ポータルから過去日の予定変更もできない。予定の変更と実際の打刻・料金の確定は別の操作である。
保護者登録とアドレス削除
在園児への新しい保護者追加では、既存の園児・家庭・他の保護者を保持して保護者枠を追加する。追加したアカウントへの園児閲覧権限は、選択した園児だけに付与する。招待後に園児・家族情報が更新されていた場合は承認を止め、再招待を求める。
アドレス削除は、登録アドレス・ログインID、招待時のアドレス、該当する配送記録の宛先、家族・園児プロフィールと履歴にある該当アドレスを消去する。認証情報・有効セッション・招待・再設定手続き・Push購読を停止し、削除理由と実施者を別に記録する。必須・一意のアカウントキーにはメールではない内部識別子を用い、画面では「削除済み」と表示する。日次連絡・アンケートの参照関係、配送や登録の履歴自体は残す。
この操作は現在のアプリDB内の登録情報を対象とする。既存バックアップ・エクスポート・送信済みメールのコピーは書き換えない。
DB更新
起動時の組み込み移行で次を追加する。既存データの削除は行わない。
health_check_corrections: 健診訂正履歴。survey_result_viewers: アンケート別の結果閲覧職員。parent_address_removals: アドレス削除の実施記録。attendance_pickup_history: 補食の変更前後、保護者ID、操作元の列。既存履歴は職員操作として保持する。
睡眠・朝食内容・排便の追加項目は DailyContactEntry.extra_data に保存する。以前の自由記述項目と他の追加情報は保持する。既存アンケートには閲覧者を自動設定しないため、更新後の結果閲覧は管理者のみから始まり、管理者が必要な職員を指定する。
バックアップの現行スキーマ契約は spec-changes-20260917 に更新する。9月16日以前の契約ファイルは旧バックアップの検証用に残す。
検証
メモリ上のSQLite・合成データで、公開前後の連絡表示、日付をまたぐ睡眠、アンケート詳細・CSVの権限、健診の訂正履歴と競合、お迎え予定の双方からの変更、アドレス削除後の履歴保持、保護者追加時の既存情報保持を検証した。既存DBへの追加列移行の反復実行も検証対象に含む。
分離したブラウザーで、スマートフォン幅の保護者メニューと連絡入力、秒表示の時計、KIOSKとポータルのお迎え予定の往復、健診訂正とグラフ反映、結果閲覧設定、児童票の表示切替を確認した。
全体テストの初回実行は742件成功、3件失敗。失敗を修正し、関連52件の再検証後、配備準備時に開発版の全746件が成功した。本番の9月16日版を基に今日の変更を統合した配備版では全722件が成功し、既存のカレンダー取込・議事録出力・端末全画面維持もブラウザーで確認した。開発版と配備版はバックアップv2等の有無が異なるため、件数を合算しない。追加の回帰テストは test_spec_changes_20260917.py、画面操作の確認は tools/test-spec-20260917-browser.cjs に残した。Ruff・MkDocs strict・差分の空白検査も成功した。配備状況は9月17日の更新記録を参照。