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 繼續播舊內容,稍後重試。絕不會為了下載新版本而先刪掉舊版本。

詳見 Desired / Reported State