ゴミ箱機能(ソフトデリート)
## 🗑️ ゴミ箱機能とは
ゴミ箱機能(ソフトデリート)は、プログラムや課題を誤って削除してしまった場合に備えた安全機能です。削除されたアイテムは即座に消去されず、25日間の保管期間中であればいつでも復元できます。データ保護と運営効率化を両立した重要なセーフティネットです。
## 📋 ゴミ箱機能の対象
### 1. 削除対象アイテム
- **プログラム**: 作成したアクセラレータープログラム
- **課題・アサインメント**: プログラム内の課題・宿題
- **プレゼンテーション**: アップロードされた発表資料
- **評価結果**: カスタム評価テンプレートの評価結果
### 2. 保管期間と自動削除
- **保管期間**: 25日間の一時保存
- **自動削除**: 25日経過後の自動的な永久削除
- **削除予告**: 永久削除3日前の事前通知
- **緊急復元**: 最終日での緊急復元対応
### 3. ゴミ箱の階層管理
- **親子関係**: プログラム削除時の関連課題も一括ゴミ箱移動
- **依存関係**: 関連するファイル・データの一括管理
- **整合性保持**: 復元時の関連データ整合性確保
- **部分復元**: 必要な部分のみの選択的復元
## 🚀 ゴミ箱操作の流れ
### ステップ1: 削除実行
1. **削除操作**
- 削除ボタンをクリック
- 削除確認ダイアログの表示
- 「ゴミ箱に移動」の確認
2. **ゴミ箱移動**
- アイテムの即座ゴミ箱移動
- 削除完了通知の表示
- 通常表示からの非表示化
### ステップ2: ゴミ箱での管理
1. **ゴミ箱アクセス**
- ゴミ箱ページへの移動
- 削除されたアイテム一覧の確認
- 削除日時・残り日数の表示
2. **復元・永久削除**
- 復元したいアイテムの選択
- 「復元」または「完全削除」の選択
- 操作確認ダイアログの確認
### ステップ3: 復元完了
1. **データ復元**
- 元の場所への完全復元
- 関連データの整合性確認
- 復元完了通知
2. **アクセス確認**
- 復元されたアイテムの動作確認
- 関連機能の正常性確認
- 必要に応じた追加設定
## 📊 ゴミ箱管理画面
### アイテム一覧表示
- **削除アイテム**: 削除されたプログラム・課題の一覧
- **削除日時**: 各アイテムの削除実行日時
- **残り日数**: 永久削除までの残り日数表示
- **削除者**: 削除を実行したユーザー名
### フィルタ・検索機能
- **種類別フィルタ**: プログラム・課題・ファイル別の絞り込み
- **期間フィルタ**: 削除日期間での絞り込み
- **検索機能**: 名前・キーワードでの検索
- **ソート機能**: 削除日・名前・種類での並び替え
### 一括操作
- **複数選択**: チェックボックスでの複数アイテム選択
- **一括復元**: 選択したアイテムの一括復元
- **一括削除**: 選択したアイテムの一括永久削除
- **全選択**: ページ内全アイテムの一括選択
## 💼 運営者・管理者向け機能
### 管理者専用操作
- **全ユーザーゴミ箱**: 全ユーザーの削除アイテム一覧
- **強制復元**: 緊急時の管理者による強制復元
- **期間延長**: 特別な事情での保管期間延長
- **即座削除**: セキュリティ上必要な即座の永久削除
### 統計・分析
- **削除統計**: 削除頻度・復元率の統計
- **ユーザー別**: ユーザー別の削除・復元パターン
- **トレンド分析**: 時期別の削除傾向分析
- **エラー分析**: 誤削除のパターン分析
### システム最適化
- **容量管理**: ゴミ箱利用容量の監視
- **パフォーマンス**: 削除・復元処理の最適化
- **自動化**: 定期的な古いデータの自動削除
- **バックアップ**: ゴミ箱データの安全な保管
## 🔐 セキュリティ・権限管理
### アクセス権限
- **所有者権限**: 自分が削除したアイテムのみアクセス
- **管理者権限**: プログラム管理者の全参加者ゴミ箱アクセス
- **プラットフォーム管理者**: 全ユーザーゴミ箱への完全アクセス
- **読み取り専用**: 表示のみで操作不可の権限
### データ保護
- **暗号化**: ゴミ箱内データの暗号化保存
- **アクセスログ**: ゴミ箱操作の詳細ログ記録
- **不正防止**: 権限外アクセスの防止
- **監査対応**: セキュリティ監査への対応
### プライバシー保護
- **個人情報保護**: 削除データでの個人情報適切管理
- **データ最小化**: 必要最小限のデータのみ保管
- **同意管理**: ゴミ箱機能利用への明示的同意
- **削除権**: ユーザーによる即座の完全削除権利
## ⚙️ システム設計・技術仕様
### ソフトデリート実装
- **フラグ管理**: `deletedAt` フィールドでの削除状態管理
- **クエリフィルタ**: 通常表示での削除データ除外
- **インデックス最適化**: 削除フラグを考慮したインデックス
- **パフォーマンス**: 大量データでの高速フィルタリング
### 自動削除システム
- **バッチ処理**: 定期的な期限切れデータの自動削除
- **スケジューラ**: 日次・週次でのクリーンアップ処理
- **通知システム**: 削除前の事前通知機能
- **ログ記録**: 自動削除処理の詳細ログ
### データ整合性
- **外部キー制約**: 関連データの整合性保持
- **カスケード削除**: 親データ削除時の子データ自動削除
- **復元整合性**: 復元時の関連データ自動復元
- **競合処理**: 同時操作での整合性確保
## 📈 効果的な活用方法
### 誤削除対策
1. **確認習慣**: 削除前の内容確認の習慣化
2. **定期確認**: ゴミ箱の定期的な確認
3. **バックアップ**: 重要データの追加バックアップ
4. **権限管理**: 削除権限の適切な管理
### 運営効率化
1. **一括操作**: 複数アイテムの効率的な管理
2. **フィルタ活用**: 必要なデータの素早い特定
3. **自動化**: 定型的な削除・復元作業の自動化
4. **監視体制**: 削除動向の継続的な監視
### データ保護戦略
1. **段階的削除**: ソフトデリート→ハードデリートの段階的実行
2. **復元テスト**: 定期的な復元機能の動作テスト
3. **災害対策**: ゴミ箱データを含む災害復旧計画
4. **コンプライアンス**: 法的要件に応じた削除ポリシー
## 🆘 緊急時の対応
### データ復旧緊急時
1. **緊急連絡**: サポートへの緊急連絡
2. **状況説明**: 削除状況の詳細説明
3. **復元要請**: 緊急復元の要請
4. **事後確認**: 復元後のデータ整合性確認
### システム障害時
1. **バックアップ確認**: バックアップデータの確認
2. **代替手段**: 手動復元の代替手段
3. **影響範囲**: 障害影響範囲の特定
4. **復旧計画**: 段階的な復旧計画の実行
### 法的要請対応
1. **即座削除**: 法的要請による即座の完全削除
2. **証拠保全**: 必要に応じた削除データの証拠保全
3. **ログ提供**: 削除操作ログの適切な提供
4. **プライバシー**: 個人情報保護との適切なバランス
ゴミ箱機能を効果的に活用して、安全で確実なデータ管理と運営効率化を実現しましょう!