Implement Odoo ด้วย OCA สำเร็จได้อย่างไร

ความตั้งใจในการเขียนครั้งนี้ ก็เพื่อให้กลุ่มคนที่ไม่ใช่ Odoo Developer ได้มีภาพการใช้งาน OCA แบบคร่าวๆ ซึ่งแรงบันดาลใจส่วนหนึ่งเกิดจากประสบการณ์ส่วนตัว ที่ทำงานใน Role ของ Odoo Functional ที่เขียน code ไม่เป็น ไม่รู้จัก github มาก่อนค่ะ ฉนั้น Developer ข้ามไปได้เลยนะคะ ไม่ต้องอ่าน เพราะคงจะรู้ลึกกว่าเล็กอยู่แล้ว 🙂

บทความนี้ ประกอบด้วย 2 ส่วน

  1. สรุปจากงาน Talk Odoo Days 2020 หัวข้อ How to guide your Odoo project to success with OCA
  2. OCA modules Thai ค้นหาและใช้งานอย่างไร

How to guide your Odoo project to success with OCA

Reference: Original Talks by Rafael Blasco: Tecnativa https://youtu.be/9Y8uDqWqzPw

  • Key Success: Honesty and Sincerity
  • มี 2 หน่วยงานที่ทำให้เกิด Odoo และเป็นทางเลือกในการใช้ Odoo
    1. Odoo SA –> odoo.com
    2. Odoo Community Association: OCA –> odoo-community.org
  • บริษัท Tecnativa ทำงานอย่างไร
    • ทีมงานมีส่วนร่วมใน OCA เพื่อให้การพัฒนาระบบมี Standard
    • ทำงานกับ OCA เพื่อจะได้ความรู้นำไปใช้ใน project
    • OCA มีเครื่องมือในการทำ Project ให้แล้ว เช่น Runbot free test
    • มีผู้เชี่ยวชาญใน OCA ทั้ง Technical and Functional ให้พูดคุย

Odoo SA หรือ Odoo.com คือใคร

มาขยายความกันเล็กน้อย Odoo SA หรือ Odoo.com คือบริษัทที่ก่อตั้ง Odoo และเริ่มมี code บรรทัดแรกของ Odoo ให้พวกเราได้นำมาต่อยอด ซึ่งเมื่อผ่านกาลเวลามาแล้ว ก็เริ่มมี business model ที่เปลี่ยนแปลงไปตามกาลเวลา เพื่อให้ Odoo ได้ไปต่อยาวๆ การใช้งานในทางเลือกนี้ เรียกกันว่า Enterprise Edition (EE)

Odoo.com เป็นจุดเริ่มต้นในการศึกษาและทำความเข้าใจการใช้ระบบ Odoo ขั้นพื้นฐานได้ดี

  • Odoo Documents
  • Odoo eLearning
  • Runbot Test

แต่ถ้าจะนำไปให้บริการลูกค้า ลูกค้าจะต้องจ่ายค่า subscription ตามจำนวน Users และจำนวน Apps ที่เลือกใช้ ศึกษาเพิ่มเติมได้ที่ https://www.odoo.com/pricing

OCA: Odoo Community Association หรือ odoo-community.org

มาถึงพระเอกของเรา OCA non-profit organisation จดทะเบียนเป็นองค์กรไม่แสวงหาผลกำไร เป็นการรวมตัวกันของ Implementer และผู้ใช้ Odoo จากทั่วโลก เพื่อช่วยกันส่งเสริมการใช้งาน Odoo ให้แพร่หลายและสนับสนุนการร่วมกันพัฒนา Feature ต่างๆ ของ Odoo ให้มีความหลากหลายและตอบโจทย์การใช้จริง

OCA มีตัวช่วยในการทำให้ Project ทำงานได้ง่ายขึ้น เหมือนมี Developer อยู่ทั่วโลก และเป็นแนวทางการทำงานของ Open source จริงๆ

ถ้าต้องการรู้จัก OCA มากขึ้นในเชิงลึก เช่น OCA มี devops tools Free ให้ใช้ อะไรบ้าง ช่วยนักพัฒนาอย่างไร อ่านเพิ่มเติมได้ที่ บทความ https://www.ocathailand.org/10-เหตุผลในการ-contribute-กับ-oca/

Implement ด้วย OCA อย่างไร

  1. Customer Requirement เก็บความต้องการของลูกค้า
  2. GAP Analysis วิเคราะห์ช่องว่างระหว่าง ความต้องการของลูกค้า กับ Odoo base + OCA
  3. ประกอบร่าง modules ที่มีใน Odoo + OCA และ Demo / POC ลูกค้าได้เลย (ยังไม่ต้องพัฒนาระบบ)
  4. มี GAP → พัฒนาต่อยอดหรือพัฒนาเพิ่มเติม และเอาเข้า OCA เพื่อให้สิ่งที่เราพัฒนาเป็นไปตามมาตรฐานของ OCA
    1. Test script
    2. OCA standard
    3. Community comments
  5. User test and fix bug
  6. Data migration
  7. User training
  8. Go live

OCA มี Modules เยอะที่จะช่วยในการทำ Project และหลาย Modules ยังเป็น Best practice ที่ Functional สามารถนำไปใช้แนะนำให้ลูกค้าลองปรับเปลี่ยนกระบวนการทำงานให้ดียิ่งขึ้นด้วย

แล้ว Modules ต่างๆ ศึกษาหาเพิ่มเติมได้อย่างไร

  • แหล่งศึกษาหาเพิ่มเติม
  • เจอแล้วใช้งานอย่างไร สำหรับคนที่ไม่ใช่ Developer
    • Read.me อ่านคร่าวๆ ว่าใช้ทำอะไร ตรงที่เราต้องการหรือไม่
  • ถ้าอ่านแล้วคิดว่า “น่าจะ” ใช้ได้ แล้วอยากลองเล่นดู เพื่อให้แน่ใจ ทำอย่างไร
    • คลิกที่ Runbot เพื่อเข้าไปทดสอบได้เลย
  • ติดปัญหา ต้องการคำแนะนำ พูดคุย ทำอย่างไร
    • เปิด Issue ใน github เพื่อสอบถาม Community ได้เลย
  • พูดคุยใช้ภาษาไทยได้ไหม
  • ถ้าใช้งานได้ จะทำอย่างไรต่อ
    • Download code ได้เลย

ส่วนเพิ่มเติม Modules ไทยที่มีให้ทดลองใช้

  1. เข้าไปที่ https://odoo-community.org/shop
  2. Search ‘thai localization’
  3. เลือก module ที่ต้องการ

หวังว่า บทความนี้จะเป็นตัวช่วยเล็กๆ ในการเปิดประตูสู่โลก Open Source และนำ OCA modules มาใช้งานได้จริงๆ อย่าลืมนะคะ ถ้าอยากพูดคุยเกี่ยวกับ modules ต่างๆ https://github.com/OCA/l10n-thailand/issues และกดที่ New issue เปิดประเด็นให้ feedback ได้นะคะ เล็กเองก็กำลังหัดเข้า github เหมือนกันค่ะ I’m newbie too 🙂

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *