Dari Programmer PHP ke Odoo

Hari ini (September 2018) tepat 10 bulan saya bekerja sebagai programmer Odoo. Sebelumnya sebagai programmer PHP. Saya akan menceritakan kesan dan pengalaman saya mengenai Odoo, dari sudut pandang programmer PHP.


Basic saya, sebelum jadi programmer Odoo, adalah programmer PHP (bisa dibilang full stack sih, karena juga pegang javascript dan database juga) selama 1 tahun lebih sekian bulan. PHP native, Codeigniter atau Yii. Angular Js atau React. Mysql atau PostgreSql sebagai database.


Odoo adalah software Erp open source, walaupun juga ada versi Enterprise yang berbayar.


It’s like magic. Itulah kesan pertama saya saat mencoba Odoo. Kenapa ? Berikut ini kelebihan / kemudahan jika kita bekerja dengan Odoo :


1. Lebih mudah dalam menangani database

Di Odoo kita tidak perlu membuat database secara manual, kemudian memasukkan nama database tersebut ke script kita. Kita bisa membuat database dihalaman awal Odoo sebelum login, tentu saja hanya user tertentu saja yang bisa membuat database ini. Dan jika kita memiliki banyak database, kita hanya perlu klik link database tersebut kemudian login seperti biasa. Tidak perlu menyediakan 1 program per 1 database, atau mengganti nama database di script kita.


2. Tidak perlu query atau kode html yang kompleks

ORM pada Odoo juga sangat mudah. Untuk membuat tabel database / model, kita hanya perlu membuat class yang extend ke class tertentu, dan beberapa property. Secara otomatis jika module yang kita buat diinstall, Odoo akan membuat tabel dan kolomnya secara otomatis akan dibuat sesuai dengan property dari class yang kita buat. Tampilan Html-nya pun secara default langsung bisa digunakan tanpa perlu menulis kode Html secara manual, tentu saja dengan tampilan default.


Memang sih PHP Framework seperti Yii punya fitur untuk membuat tabel dan tampilan (view) secara otomatis juga, yang bernama Gii. Tapi kelebihan Odoo jika dibandingkan dengan Gii adalah kita bisa menulis script kita dimana saja, tidak harus di folder tertentu.


3. Modular

Setiap fungsi tertentu pada Odoo di kelompokkan berdasarkan module. Misal module penjualan dan pembelian adalah 2 modul yang berbeda. Kita bisa install salah satunya saja. Dan kelebihan lainnya, untuk mengubah fungsi suatu module kita tidak perlu untuk mengubah kode asli Odoo. Cukup buat module lain yang mengoveride module yang sudah ada saja. Sehingga script kode asli tidak berubah. Hal ini juga memudahkan jika ada 2 programmer yang mengubah fitur pada module yang sama, misal penjualan tapi pada area yang berbeda, sehingga tidak ada konflik.


Setelah membicarakan kelebihannya berikut kekurangannnya menurut saya


1. Harus sering restart service dan upgrade module

Odoo ditulis dengan bahasa Python untuk backend dan Xml untuk view / tampilan. Tentu saja tetap menggunakan javascript. Jika kita melakukan perubahan pada file Python atau javascript kita harus restart service Odoo, dan proses ini butuh waktu. Sedangkan jika melakukan perubahan pada file Xml kita harus melakukan upgrade module pada menu tertentu, jika tidak, perubahan yang kita lakukan belum bisa dilihat efeknya. Sedangkan jika kita koding PHP cukup refresh browser dan semua perubahan yang kita lakukan seketika akan terlihat efeknya.


2. Tidak murni Html

Untuk membuat tampilan, Odoo menggunakan Xml yang dipadukan dengan Html. Html biasa tetap digunakan tetapi harus dibalut dengan kode-kode xml tertentu. Hal ini sebenarnya bisa jadi kelebihan kalau sudah terbiasa, karena kita bisa membuat tampilan tabel html dengan satu baris kode saja. Tapi butuh membiasakan diri.

Leave a Reply

Your email address will not be published. Required fields are marked *