หนึ่งคำต่อหนึ่งสิ่ง
คำที่ Dee Wan ใช้บนหน้าจอและในเอกสาร และความหมายของแต่ละคำ เมื่อคำหนึ่งอาจหมายถึงได้สองอย่าง รายการนั้นจะบอกว่าเราหมายถึงอย่างไหน และเราเรียกอีกอย่างว่าอะไร
Installation และไซต์
หัวข้อที่มีชื่อว่า “Installation และไซต์”Installation
หัวข้อที่มีชื่อว่า “Installation”การ deploy Dee Wan หนึ่งชุด: admin Worker, admin UI, control database และบัญชีที่อยู่เบื้องหลัง
สิ่งเหล่านี้ ตัวติดตั้งแบบบรรทัดคำสั่ง (npm run setup) เป็นผู้สร้าง
web installer แบบพรีวิว ขับเคลื่อนตัวติดตั้ง (installer) ตัวเดียวกัน
แต่ไม่ใช่เส้นทางการติดตั้งที่รองรับ
- installation หนึ่งชุดให้บริการ ไซต์ จำนวนมาก
- มี control database หนึ่งชุดและ superadmin หนึ่งชุด
- ไม่ใช่ “การติดตั้งไซต์” ไซต์ถูกสร้างขึ้นภายใน installation ไม่ได้ถูกติดตั้ง
tenant หนึ่งตัวภายใน installation: มีชื่อ, slug, hostname และเนื้อหา, ภาษา, บทบาท (role) และ grant ของตัวเอง
- สร้างใน admin UI ไม่ใช่ผ่านตัวติดตั้งเด็ดขาด
- hostname ของไซต์ (โดเมนของมัน) คือที่ที่ public read API ของไซต์ตอบ header
Hostของ คำขอสาธารณะต้องตรงกับค่านี้ - ขึ้นอยู่กับ topology ของ installation ไซต์อาจมี content database ของตัวเองหรือใช้ร่วมกับไซต์อื่น
Cloudflare zone
หัวข้อที่มีชื่อว่า “Cloudflare zone”ออบเจกต์ของ Cloudflare ที่เก็บ DNS และการตั้งค่า edge ของโดเมนหนึ่ง credential สำหรับ purge cache และ rate limiting ตั้งค่าแยกตาม Cloudflare zone ในเอกสารเหล่านี้จะเขียนว่า “Cloudflare zone” เสมอ เพื่อไม่ให้สับสนกับ ownership zone
เนื้อหา
หัวข้อที่มีชื่อว่า “เนื้อหา”นิยามของเนื้อหาชนิดหนึ่ง: field ของมัน และเป็นแบบสาธารณะหรือส่วนตัว slug ของโมเดลคือ segment
ของ path ใน /v1/<model>
ฟิลด์บนโมเดลที่มีชื่อและชนิดข้อมูลกำกับ: text, rich text, number, boolean, select, date, media, JSON, relation หรือ component field แบบ relation เชื่อมรายการหนึ่งไปยังรายการของอีกโมเดลหนึ่ง
รายการเนื้อหา
หัวข้อที่มีชื่อว่า “รายการเนื้อหา”รายการหนึ่งของโมเดล เช่น บทความหนึ่งบทความ มี id, slug และเนื้อหาในหนึ่งภาษาหรือมากกว่า
ใน response ของ API instance_id หมายถึง id ของรายการเนื้อหา
Translation group
หัวข้อที่มีชื่อว่า “Translation group”เวอร์ชันภาษาต่าง ๆ ของรายการเนื้อหาหนึ่งรายการ ที่เก็บรวมกันไว้ แต่ละภาษามีขั้นตอน workflow และเวอร์ชันที่เผยแพร่ ของตนเอง การดำเนินการระดับกลุ่มย้ายทุกภาษาพร้อมกัน การดำเนินการระดับภาษาย้ายเพียงภาษาเดียว (ข้อความเก่าอาจเขียนว่า “locale group” ซึ่งหมายถึงสิ่งเดียวกัน)
Locale policy
หัวข้อที่มีชื่อว่า “Locale policy”การตั้งค่าต่อไซต์ว่า public API จะทำอย่างไรเมื่อรายการไม่มีเนื้อหาในภาษาที่ขอ:
- strict: ไม่ให้บริการอะไรเลยสำหรับภาษานั้น ไม่ใช้ภาษาสำรอง
- fallback: ภาษาที่ขอ จากนั้นภาษาสำรองของภาษานั้นตามลำดับที่ไซต์กำหนด (แต่ละภาษาไล่ต่อไปยังภาษาสำรอง
ของตัวเอง) หากลำดับของภาษาที่ขอไม่ลงท้ายด้วย หยุด จึงลองภาษาเริ่มต้นของไซต์และภาษาหลักของรายการ
ให้บริการเฉพาะภาษาที่เผยแพร่แล้วในลำดับนี้
localeในคำตอบระบุภาษาที่ให้บริการ
การเผยแพร่
หัวข้อที่มีชื่อว่า “การเผยแพร่”การทำให้เวอร์ชันปัจจุบันของรายการเนื้อหาเป็นเวอร์ชันที่ public read API ให้บริการ การเผยแพร่กระทำต่อภาษาเดียว หรือทุกภาษาของ translation group พร้อมกัน การยกเลิกเผยแพร่ภาษาเดียวถอนเฉพาะภาษานั้น ภาษาอื่นยังเผยแพร่อยู่
- เปลี่ยนสิ่งที่
/v1/…ตอบบน public hostname ของไซต์ ไม่เปลี่ยนโค้ดและไม่ deploy อะไรเลย - ไม่ใช่ “การเผยแพร่ไซต์” ไซต์ไม่ได้ถูกเผยแพร่ เนื้อหาของไซต์ต่างหากที่ถูกเผยแพร่
Snapshot
หัวข้อที่มีชื่อว่า “Snapshot”สำเนาเนื้อหาของรายการที่เปลี่ยนแปลงไม่ได้ สร้างเมื่อบันทึกเวอร์ชันใหม่ แต่ละสำเนามีหมายเลขเวอร์ชัน การเผยแพร่เลือกเวอร์ชันที่บันทึกไว้ให้ API สาธารณะส่งในแต่ละภาษา การกู้คืนเวอร์ชันเก่าสร้างเวอร์ชันใหม่ โดยไม่แก้ไขสำเนาต้นฉบับ
รายการเนื้อหาที่โมเดลของมันมี field slides ซึ่งเก็บเอกสารหน้า (page document) ดู
ข้อกำหนดข้อมูลหน้า
การอ่านแบบสาธารณะ
หัวข้อที่มีชื่อว่า “การอ่านแบบสาธารณะ”Public read API
หัวข้อที่มีชื่อว่า “Public read API”HTTP API แบบอ่านอย่างเดียวบน hostname ของไซต์ ภายใต้ /v1/ ดู
เอกสารอ้างอิง public read API
โมเดลสาธารณะ, โมเดลส่วนตัว
หัวข้อที่มีชื่อว่า “โมเดลสาธารณะ, โมเดลส่วนตัว”โมเดล สาธารณะ ใครก็อ่านได้ โมเดล ส่วนตัว อ่านได้เฉพาะด้วย site API token ที่ระบุชื่อโมเดลนั้น คำขอไปยังโมเดลส่วนตัวที่ไม่มี token ที่ถูกต้องจะได้ 404 แบบเดียวกับโมเดลที่ไม่มีอยู่
Site API token
หัวข้อที่มีชื่อว่า “Site API token”bearer token ที่สร้างใน การตั้งค่า → API ใช้อ่านโมเดลส่วนตัวที่มันระบุชื่อไว้ ขึ้นต้นด้วย
dw_site_ (หรือ dw_site2_ หลังการ rotate signing key) แสดงเพียงครั้งเดียว อาจหมดอายุได้
และเพิกถอนได้
Preview token
หัวข้อที่มีชื่อว่า “Preview token”token อายุสั้น (dw_prev_…) ที่ CMS สร้างเมื่อบรรณาธิการเปิดดูตัวอย่าง ใช้อ่าน draft ของรายการหนึ่ง
รายการเป็นเวลา 30 นาที ไม่ใช่ site API token
ค่า page.next_cursor แบบ opaque ที่ใช้ดึงหน้าถัดไปของรายการ ให้ส่งค่านี้กลับไปโดยไม่แก้ไข
Standalone backend
หัวข้อที่มีชื่อว่า “Standalone backend”Standalone backend
หัวข้อที่มีชื่อว่า “Standalone backend”โปรเจกต์แบ็กเอนด์ที่มีชนิดข้อมูลกำกับ ซึ่งสร้างจากโมเดลและเนื้อหาที่เผยแพร่แล้วของไซต์: Prisma schema, migration, Worker และเส้นทาง API ที่มีชนิดข้อมูลกำกับ ซึ่งเขียนลงในรีโพซิทอรีที่คุณเป็นเจ้าของ การตั้งค่า → ซอร์สโค้ดและการเผยแพร่ ส่งมอบและดีพลอย แต่ไม่ได้สร้างมัน
- ไม่เรียกกลับไปหาสิ่งใดใน Dee Wan ขณะรันไทม์
- การสร้างมันไม่ deploy อะไรเลย
- สร้างบนเครื่องของคุณ (
npm run backend:generateหรือnpm run backend:deliver) CMS ไม่มีตัวคอมไพล์ซอร์สที่โฮสต์ไว้ - มันคือการรีลีส schema และเนื้อหา ไม่ใช่ feed แบบสด: การเผยแพร่ครั้งหลังจะไปถึงมันก็ต่อเมื่อสร้างใหม่ และ deploy ใหม่เท่านั้น
Graduation คือชื่อภายในของสิ่งนี้ คุณจะเห็นมันในชื่อไฟล์ เช่น
graduation.manifest.json มีความหมายเดียวกับการสร้าง standalone backend
Ownership zone
หัวข้อที่มีชื่อว่า “Ownership zone”ไฟล์ใดใน standalone backend เป็นของใคร: generated (เขียนใหม่ทุกครั้งที่สร้างใหม่),
owned (src/owned/ ไม่ถูกเขียนทับเลย) หรือ shared (เขียนครั้งเดียว จากนั้นเป็นของคุณ) ดู
การขยายแบ็กเอนด์ของคุณ ไม่ใช่ Cloudflare zone
Detachment
หัวข้อที่มีชื่อว่า “Detachment”การหยุดสร้างใหม่จาก Dee Wan และเก็บ standalone backend ไว้เป็น repository ธรรมดา ดู สัญญาการแยกตัว
Deployment และ provisioning
หัวข้อที่มีชื่อว่า “Deployment และ provisioning”Deployment
หัวข้อที่มีชื่อว่า “Deployment”การทำให้ revision ที่ระบุหนึ่งตัวทำงานอยู่บน Cloudflare มีสองสิ่งที่ใช้คำนี้:
| คำศัพท์ | กระทำต่อ | อย่างไร |
|---|---|---|
| installation deployment | admin Worker และ admin UI | npm run deploy |
| site deployment | Worker และฐานข้อมูลของ standalone backend หนึ่งชุด | ปุ่ม Deploy ซึ่งเรียก build webhook ไปยัง CI ของ repository |
การสร้าง standalone backend ผลิตโค้ด ส่วน site deployment นำโค้ดนั้นไปรัน
Provisioning
หัวข้อที่มีชื่อว่า “Provisioning”การสร้างทรัพยากร Cloudflare ที่สิ่งหนึ่งต้องใช้ (ฐานข้อมูล, storage, DNS) และบันทึกว่าทรัพยากรนั้น มีอยู่ Provisioning สร้างทรัพยากร ส่วน deployment นำโค้ดไปวางบนทรัพยากรนั้น
คำที่เราไม่ใช้
หัวข้อที่มีชื่อว่า “คำที่เราไม่ใช้”| หลีกเลี่ยง | เพราะ | ให้ใช้ |
|---|---|---|
| “tenant” ใน UI | เป็นคำระดับ implementation | site |
| “instance” สำหรับ installation | มันยังหมายถึงรายการเนื้อหาด้วย | installation |
| “migrate” สำหรับการนำเข้าเนื้อหา | migration หมายถึงการเปลี่ยน schema | import |
| “export” หรือ “graduate” สำหรับ standalone backend | export คือเนื้อหาที่ออกไป ส่วน graduate เป็นชื่อกลไก | generate standalone backend |
| “locale group” | สองชื่อสำหรับสิ่งเดียว | translation group |
| “zone” โดด ๆ | มันมีสองความหมาย | Cloudflare zone หรือ ownership zone |
| “sync” | เคยมีความหมายหลายอย่าง | ระบุทิศทาง |
| “workflow” สำหรับไซต์ที่ปิด review | ไซต์นั้นไม่ได้เปิดใช้ขั้นตอนตรวจทาน | publish / unpublish |
ยังไม่เปิดตัว (pre-MVP) และยังไม่มีเวอร์ชันเสถียร
คอมมิตซอร์สโค้ด: e207e63239a627fbd2ae9c414ef7c6eb19fcfe5a (มีการแก้ไขที่ยังไม่คอมมิต)
วันที่สร้างเอกสาร (UTC): 2026-10-21T09:28:24.214Z
คอมมิตสำหรับอัปเกรด: ระบุไม่ได้: มีการแก้ไขที่ยังไม่คอมมิต. บันทึกการเปลี่ยนแปลง