|
|
|
สอบถามแนวคิด การทำ web application update ให้ กับ ผู้ใช้งาน |
|
|
|
|
|
|
|
ทำเหมือน wordpress plugin update ป่าวครับ?
|
|
|
|
|
Date :
2019-01-04 19:33:52 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/AgniCMS/agni-cms
ผมเคยทำไว้นานแล้ว อัคนี CMS. มันมี check update ในตัวด้วย ลองเอาโค้ดไปแกะดูก็ได้ครับ. แต่ส่วนของ server ที่ปล่อยอัพเดทผมไม่ได้เปิดเผยโค้ด.
หลักๆก็ทำตัวจัดการฝั่งผู้ให้บริการ แยกเป็นแพ็คๆแล้วแต่จะเรียก เช่น เป็นปลั๊กอินตัวๆไป, เป็นโมดูล, ฯลฯ.
ตัวจัดการนี้ก็ธรรมดาๆ Create/Read/Update/Delete. มีส่วนพิเศษก็ตรง URL ที่อาจจะเป็น REST API ที่เปิดให้ทางเว็บของฝั่งลูกค้า connect เข้ามาตรวจสอบอะไรต่างๆ.
ข้อมูลที่ทางเว็บฝั่งลูกค้าควรจะส่งเข้ามาก็มีหลักๆที่ต้องการเช่น ชื่อปลั๊กอิน(แล้วแต่จะกำหนดว่าคือปลั๊กอินหรือโมดูลหรืออะไร), รุ่น แล้วเทียบกับทางผู้ให้บริการว่าชื่อแพ็คนั้นมีไหม ถ้ามีรุ่นของเราใหม่กว่าไหม เป็นต้น.
อาจส่งอย่างอื่นมาอีก เช่น serial number มาเช็ค แต่เอาเบสิคให้ได้ก่อนดีกว่า.
ฝั่งลูกค้า ก็ส่งข้อมูลแพ็คเกจไปเช็คกับผู้ให้บริการ อันไหนมีหรือไม่มี ถ้ามีแล้วรุ่นทางผู้ให้บริการใหม่กว่าหรือไม่ เป็นต้น. แล้วก็ถ้ามีรุ่นใหม่กว่า แสดงว่าจะอัพเดทได้ ก็ทำบันทึกลงใน task ของระบบว่ามีคิวรอการอัพเดท ให้ลูกค้าดำเนินการกดเพื่ออัพเดท.
การอัพเดทหลักๆแบ่งเป็นส่วน DB, files. ส่วนของไฟล์ต่างๆก็จะใช้วิธีลบของเก่าทุกอย่าง ยกเว้นพวก config, uploaded files. ส่วนของ DB ก็ใช้หลักการ migration แบบ Codeigniter ซึ่งมันง่ายดีครับ.
|
|
|
|
|
Date :
2019-01-06 03:04:53 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|