เวลาเราพัฒนา Custom Module ใน Odoo สิ่งสำคัญที่ทุกโมดูลต้องมีคือ Manifest File ซึ่งเป็นตัวกำหนดข้อมูลพื้นฐานของโมดูล เช่น ชื่อ, ผู้พัฒนา, ลิขสิทธิ์ และไฟล์ที่ต้องโหลดเข้ามา
Manifest File คืออะไร?
ใน Odoo เวอร์ชันใหม่ ไฟล์นี้ชื่อว่า __manifest__.py (ถ้าเป็น Odoo เวอร์ชันเก่า อาจใช้ __openerp__.py)
หน้าที่หลักคือการบอก Odoo ว่าโมดูลนี้คืออะไร และทำงานร่วมกับโมดูลอื่น ๆ อย่างไร
ตัวอย่าง __manifest__.py:
{
'name': "Sales Customization",
'version': '16.0.1.0',
'summary': "ปรับแต่งโมดูลขายให้เหมาะกับธุรกิจ",
'author': "IMOTIF Co., Ltd.",
'website': "https://imotif.io",
'category': 'Sales',
'license': 'LGPL-3',
'depends': ['sale'],
'data': [
'views/sale_order_view.xml',
],
'installable': True,
'application': False,
}
ส่วนประกอบสำคัญใน Manifest File
- name → ชื่อโมดูล
- version → เวอร์ชันโมดูล
- summary / description → คำอธิบาย
- author → ผู้พัฒนา / บริษัทเจ้าของโมดูล
- website → เว็บไซต์ของผู้พัฒนา
- license → ประเภทลิขสิทธิ์ (เช่น LGPL-3, OPL-1)
- depends → โมดูลที่ต้องติดตั้งก่อน
- data → ไฟล์ XML/CSV ที่ต้องโหลด
- installable / application → ระบุว่าโมดูลติดตั้งได้ไหม และเป็น App หลักหรือเปล่า
ควรใส่ชื่อเราใน Manifest ไหม?
✅ ควรใส่ ถ้าเป็นโมดูลที่เราพัฒนาเอง
- ใส่ชื่อบริษัท (
author,website) เพื่อบ่งบอกความเป็นเจ้าของ - เป็นการสร้าง Branding และความน่าเชื่อถือ
- ตัวอย่าง:
'author': "IMOTIF", 'website': "https://imotif.io", 'license': "OPL-1",
⚠️ ไม่ควรใส่ ถ้าเป็นโมดูลของ Odoo หรือ OCA (Community)
- ไม่ควรลบหรือเปลี่ยนชื่อผู้พัฒนาต้นฉบับ
- ควรให้เครดิต เช่น
'author': "OCA, Customized by IMOTIF", - วิธีนี้จะถูกต้องตามจริยธรรมของ Open Source และยังบอกลูกค้าได้ว่าเราเป็นผู้ Customize
สรุป
- Manifest file คือไฟล์ metadata ของโมดูล Odoo
- การใส่ชื่อบริษัทลงใน Manifest → ควรทำถ้าเป็นงานที่เราพัฒนาเอง
- ถ้าเป็นโมดูลของ Odoo/OCA → ควรให้เครดิตต้นฉบับ และระบุว่าเราเป็นผู้ Customization
- วิธีนี้จะช่วยสร้าง ความน่าเชื่อถือ + professionalism โดยไม่กระทบสิทธิของผู้พัฒนาเดิม