D
Deep Dives

Publish dan Preview

Perbedaan lifecycle draft dan published pada DigitalStore, DigitalStorePage, product, dan checkout.

Dua state data

Toko Digital menyimpan konfigurasi dan page builder dalam dua state:

StateControllerFilter dataAkses
publishedDigitalStorePublishControllertype = publishedCustomer publik
draftDigitalStoreControllertype = draftPreview dengan token

Published dan draft memakai collection/model yang sama, tetapi tidak boleh dicampur dalam query.

Preview token

Request preview harus membawa query parameter token. PreviewDigitalStore::validateToken mencari token yang belum expired. Setelah valid, last_accessed_at diperbarui.

text
GET /pratinjau?token=<preview-token>

Path-based preview menggunakan bentuk:

text
GET /<username>/pratinjau?token=<preview-token>

Detail route preview dan checkout simulator dapat dilihat di Preview Token API.

Product dan section

Preview membaca product dari draft page, lalu mengambil data product live saat transform section berjalan. Product detail preview juga menggunakan ProductSlugResolver dengan store context.

Publish boundary

Source yang dianalisis menunjukkan published reader dan preview reader, tetapi tidak menjadikan proses publish sebagai kontrak API yang berdiri sendiri di repository ini. Jika menambah atau mengubah publish action, verifikasi writer draft, copy/publish record, dan consumer dazoapp secara bersamaan.