Peritext - CRDT สำหรับ Rich Text
(inkandswitch.com)-
อัลกอริทึม CRDT สำหรับการทำงานร่วมกันบนเอกสาร rich text
-
สามารถทำงานแบบอะซิงโครนัสได้ จึงรองรับการแก้ไขบนเครื่องก่อนแล้วค่อย merge ภายหลัง
→ คล้ายกับ Git และ PR
- รักษาเจตนาของผู้เขียน
→ เมื่อมีการแก้ไขรูปแบบและแทรกข้อความพร้อมกัน ก็จะนำรูปแบบไปใช้กับตัวอักษรที่แทรกใหม่ด้วย
→ การจัดการ conflict ของการแก้ไขรูปแบบพร้อมกัน
- อัลกอริทึม Peritext
→ ใช้ CRDT สำหรับ plain text ที่มีอยู่เดิมเพื่อแสดงเอกสาร rich text
→ สร้าง CRDT operation ที่แสดงการเปลี่ยนแปลงฟอร์แมต
→ นำ operation นี้ไปใช้เพื่อสร้างสถานะภายใน (state) ของเอกสาร
→ สร้างเอกสารที่เหมาะกับตัวแก้ไขข้อความโดยอิงจากสถานะภายใน
- โอเพนซอร์ส TypeScript ที่ขยายจากเวอร์ชันเรียบง่ายของไลบรารี Automerge CRDT
→ คาดหวังว่าจะนำอัลกอริทึมนี้เข้าไปใส่ใน Automerge ภายหลัง
→ ตัวแก้ไขใช้ ProseMirror
1 ความคิดเห็น
ผมคิดผิดไปเอง CRDT คืออนาคต https://th.news.hada.io/topic?id=2962
ปรับแต่งเพื่อให้ได้ CRDT ที่เร็วขึ้น https://th.news.hada.io/topic?id=4744