Appearance
P-WORLD GIF 代表静止画・TTL
P-WORLD メール取り込み時の GIF は、公開表示では代表静止画を既定表示し、必要に応じて GIF 本体を切り替え表示できるように保持します。
代表静止画
- 代表フレームはアニメーション GIF の 10 コマ目を使用します。
- 10 コマ未満の GIF は最終フレームを使用します。
- 代表静止画は JPEG 添付として保存します。
- メール本文の
imgのsrcは代表静止画 URL を指します。 - GIF 本体は再生成・切り替え表示・保守用として TTL 期限まで保持します。
GIF 本体の TTL
- 取り込み時に GIF 添付へ
_pworld_gif_expires_at(Unix 時刻)を付与します。 - 保持日数は管理画面の GIF 保持日数 オプションに従います。既定値は 30 日です。
- TTL 実行時、
pworld_mail_image_refに記録された P-WORLD GIF で_pworld_gif_expires_atが未設定のものは、添付作成日時と最新参照日時の新しい方に保持日数を加えて期限を補完します。 - dry-run では期限補完用の meta を更新しません。
- 期限切れ削除の対象は GIF 添付のみです。代表静止画添付は削除しません。
表示可否と再生成可否
TTL に基づく判定は用途ごとに二系統とする。実装は PworldGifTtlEligibility に集約する。
| 用途 | 条件 | TTL 切れかつファイル残存時 |
|---|---|---|
| メール/フロントでの GIF 表示 | TTL 内、または _pworld_gif_expires_at が正でディスク上に読み取り可能な GIF ファイルが残っている(パージ遅延の Grace) | 表示可 |
| 代表静止画の再生成・再生成候補(alive) | _pworld_gif_expires_at > now のみ | 不可 |
_pworld_gif_expires_at が未設定または 0 以下のときは、ファイルの有無にかかわらず表示・再生成とも不可とする。
実行経路
- 取り込み時の代表静止画生成:
PworldImageProcessor - 代表フレーム抽出:
GifFrameExtractor/GifFrameExtractorInterface - 期限切れ GIF 削除:
PworldGifTtlPurgeService - 管理画面からの再生成:
PworldGifStillFrameRegenerator - 定期ジョブ: P-WORLDメール取得・TTLバッチ
管理画面からの代表静止画再生成は EP-009 を参照してください。