HUAN 讙 · 使用教學
核心概念
理解這六個概念就理解了 HUAN。
素材(Media Asset)
一個上傳的檔案:影片、圖片或 HTML。文字與網址不需要上傳,它們直接寫在版面設定裡。
每個素材會產生數種產物:
| 產物 | 用途 | 保留 |
|---|---|---|
original | 使用者上傳的原始檔 | 轉檔成功後刪除 |
thumbnail | 素材庫縮圖 | 長期 |
preview | 後台排版預覽 | 長期 |
playback | 派送到裝置播放 | 全部 ACK 且過保留期後回收 |
詳見素材生命週期。
版面(Layout)
一份畫面的設計。包含畫布尺寸、背景、間距,以及一棵遞迴分割樹。
任何區塊都可以被水平或垂直切成兩塊,每一塊可以放文字、跑馬燈、圖片、影片、網址或上傳的 HTML。
分割用的是比例而不是像素,因此同一份版面在不同解析度上維持相同的構圖。詳見版面與縮放。
修訂(Revision)
發布版面時建立的不可變快照。
草稿與已發布版本完全分離:你可以放心編輯草稿,現場播的還是上一次發布的內容。
裝置的目標狀態指向的是修訂 id,因此可以明確知道某台裝置在某個時刻播的是哪一版。
排程(Schedule)
「在哪些日子的哪個時段,哪些裝置播哪個版面」。
排程綁定 IANA 時區,正確處理日光節約時間。多筆排程同時生效時依明確定義的順序決勝:優先度 → 視窗較短 → 天數較少 → 有日期區間 → 較新 → id。
排程清單會下載到裝置本機,因此 Server 離線時裝置仍會照時間切換版面。詳見排程與時區。
裝置(Device)
一台已配對的播放器。
配對流程:裝置顯示 XXXX-XXXX 配對碼與 QR Code,已登入的管理員掃碼或輸入配對碼後確認綁定。裝置取得一組專屬的憑證,不同裝置不共用秘密。
裝置綁定後不能在本機修改內容。本機只提供裝置資訊、連線狀態與解除綁定。
目標狀態與回報狀態
Server 宣告「這台裝置應該是修訂 42」;裝置回報「我現在是 41」,然後自己下載、驗證、啟用,最後回報 42。
Server: desiredVersion = 42
Device: reportedVersion = 41
↓ 下載
↓ 驗證 SHA-256
↓ 全部就緒才原子性切換
Device: reportedVersion = 42
任何一個檔案失敗,裝置就留在 41 繼續播舊內容,稍後重試。絕不會為了下載新版本而先刪掉舊版本。