Odoo adalah platform perangkat lunak manajemen bisnis yang terintegrasi dan fleksibel. Dari sudut pandang developer, Odoo menawarkan berbagai kelebihan, seperti kemampuan untuk mengustomisasi dan mengintegrasikan dengan aplikasi dan sistem lainnya. Odoo juga memiliki kurva belajar yang tinggi, sehingga memerlukan waktu dan usaha untuk memahami dan menggunakannya.
Dalam hal teknis, Odoo dibangun menggunakan framework Python dan memiliki arsitektur yang modular, sehingga memudahkan developer untuk mengembangkan dan mengintegrasikan aplikasi. Odoo juga memiliki fitur-fitur seperti ORM (Object-Relational Mapping), yang memungkinkan developer untuk berinteraksi dengan database secara lebih mudah.

LiClipse
Dalam pengembangan Odoo, ada beberapa software development yang populer digunakan oleh developer. Beberapa contoh software development yang umum digunakan adalah Visual Studio Code (VSCode), PyCharm, dan Eclipse. VSCode adalah editor kode yang ringan dan fleksibel, PyCharm adalah IDE yang populer untuk pengembangan Python, dan Eclipse adalah IDE yang luas digunakan dalam pengembangan perangkat lunak. Semua software ini memiliki fitur-fitur yang membantu developer dalam pengembangan Odoo, seperti syntax highlighting, code completion, dan debugging.
Dalam hal ini, LiClipse adalah salah satu pilihan yang paling populer di kalangan developer Odoo. LiClipse adalah plugin Eclipse yang dirancang khusus untuk pengembangan Python. Dengan LiClipse, developer dapat mengembangkan aplikasi Odoo dengan lebih mudah dan efisien, serta memiliki akses ke berbagai fitur dan alat yang membantu dalam pengembangan. LiClipse juga memiliki fitur-fitur seperti code completion, syntax highlighting, dan debugging, yang membuat pengembangan Odoo menjadi lebih mudah dan efektif. Dengan demikian, LiClipse adalah pilihan yang sangat baik untuk developer yang ingin mengembangkan aplikasi Odoo.

Miniconda
Python Virtual Environment (PVE) adalah sebuah teknologi yang memungkinkan pengembang untuk membuat lingkungan pengembangan yang terisolasi dan mandiri untuk setiap proyek. Dalam konteks pengembangan Odoo, PVE sangat berguna karena Odoo memiliki banyak versi yang berbeda-beda, dan setiap versi memiliki kebutuhan paket Python yang berbeda-beda. Dengan PVE, pengembang dapat membuat lingkungan pengembangan yang terisolasi untuk setiap versi Odoo, sehingga dapat menghindari konflik antara paket-paket Python yang berbeda-beda.
Miniconda adalah salah satu varian dari conda yang lebih ringan dan mudah digunakan. Miniconda dapat digunakan untuk membuat PVE yang terisolasi dan mandiri untuk setiap proyek Odoo. Dengan Miniconda, pengembang dapat menginstal dan mengelola paket-paket Python dan dependensi lainnya dengan lebih mudah dan efektif. Miniconda juga dapat digunakan untuk membuat lingkungan pengembangan yang konsisten dan dapat diulang, sehingga memudahkan proses pengembangan dan pengujian Odoo. Dengan demikian, Miniconda adalah pilihan yang sangat baik untuk pengembang Odoo yang ingin membuat PVE yang terisolasi dan mandiri untuk setiap proyek.
Instalasi LiClipse
1. Unduh LiClipse melaui tautan https://www.liclipse.com/download.html
2. Extract LiClipse
3. Jalankan LiClipse dengan melakukan klik ganda ke ikon berikut
4. Apabila berhasil, akan muncul tampilan berikut
Instalasi Miniconda
1. Unduh Miniconda
Minicoadapat diunduh melalui tautan https://repo.anaconda.com/miniconda/ atau untuk Linux 64-bit bisa menjalankan perintah
2. Install Miniconda
3. Apabila muncul opsi berikut, pilih ‘yes’ agar Miniconda bisa langsung berjalan saat membuka terminal
4. Apabila install berhasil, terminal akan diawali dengan ‘(base)
Membuat Env untuk Development Odoo 18
1. Unduh Odoo 18
Untuk mengunduh Odoo bisa dilakukan dengan banyak cara, salah satunya adalah melalui tautan berikut kemudian extract
2. Membuat environment, untuk Odoo 18, gunakan Python 3.10.13
3. Install requirement
4. Memasukkan environtment ke dalam LiClipse
Untuk memasukkan environtment ke dalam LiClipse klik menu ‘Window’ > ‘Preferences’, pada sidebar expand ‘PyDev’ > expand ‘Interpreters’ > ‘Python Interpreter’.
Klik tombol ‘Config Conda’ kemudian klik ‘...’ kemudian pilih lokasi dimana executable Conda berada kemudian klik ‘Save’.
Setelah itu klik tombol ‘New …’ pilih ‘Choose from Conda’ kemudian pilih ‘odoo-18’ dan klik ‘OK’
5. Membuat project LiClipse
Untuk membuat project Odoo baru di LiClipse klik main menu ‘File’ > ‘New’ > ‘PyDev Project’, unset ‘Use default’ kemudian pilih lokasi base Odoo.
6. Membuat file konfigurasi baru
Untuk membuat file konfigurasi baru secara otomatis, klik main menu ‘Run’ > ‘Run Configurations…’ kemudian pada sidebar window pilih ‘Python Run’ > ‘New’
Pada tab ‘Main’ set ‘Odoo 18 CE’ sebagai di inputan ‘Project’ dan ‘${workspace_loc:Odoo 18 CE/odoo-bin}’ di inputan ‘Main Module’
Pada tab ‘Arguments’ set ‘-c ./${string_prompt} -s –stop-after-init’ kemudian klik tombol ‘Apply’ kemudian tombol ‘Run’. Apabila berhasil, akan muncul popup input, masukkan nama berkas, setelah proses selesai, akan muncul berkas baru sesuai dengan nama yang kita masukkan.
Ubah file konfigurasi tersebut dengan konfigurasi yang ada, terutama untuk pengaturan databasenya terlebih dahulu.
7. Test running
Sebelum berjalan lebih jauh, kita perlu mencoba apakah yang telah kita kerjakan dapat berjalan dengan baik, maka kita perlu membuat konfigurasi untuk menjalankan Odoo dengan cara masuk kembali ke ‘Run Configurations…’ buat baru ‘Python Run’ atau untuk mempercepat proses, duplicate yang sudah ada.
Masuk ke tab ‘Arguments’ set ‘Program arguments’ menjadi ‘-c ./odoo.conf’ klik tombol ‘Apply’ kemudian klik tombol ‘Run’
Apabila running berhasil, saat mengakses http://localhost:8069/ pada browser, akan muncul halaman diatas.
Membuat Addon Odoo di LiClipse
1. Addons Path
Saat development Odoo, kita tidak dianjurkan untuk mencampur addon buatan kita dengan addon bawaan Odoo. Oleh karena itu kita perlu membuat addon direktori baru kemudian memasukkan ke konfigurasi Odoo.
Buat project Odoo baru di LiClipse klik main menu ‘File’ > ‘New’ > ‘PyDev Project’, unset ‘Use default’ kemudian pilih lokasi yang telah kita tambahkan.
Klik tombol ‘Next >’ kemudian pilih ‘Odoo 18 CE’ sebagai reference kemudian klik tombol ‘Finish’
2. Scaffolding
Ada cara cepat untuk membuat addon di Odoo, yaitu dengan memanfaatkan scaffold yang disediakan Odoo. Untuk memasukkan scaffold ke LiClipse masuk kembali ke ‘Run Configurations…’ buat baru ‘Python Run’ atau untuk mempercepat proses, duplicate yang sudah ada.
Pada tab ‘Arguments’, set ‘scaffold ${string_prompt} ${folder_prompt}’ pada ‘Program arguments’. Setelah klik tombol ‘Apply’ kemudian klik tombol ‘Run’, akan muncul 2 kali popup, yang pertama adalah untuk nama addon, sedangkan yang kedua adalah untuk lokasi addon, pilih addon path custom yang telah kita buat.
Apabila berhasil, akan muncul addon baru di project custom yang telah kita buat.
3. __manifest__.py
Berkas __manifest__.py berisi informasi dasar dari addon yang kita buat misal nama, deskripsi, dan kebutuhan addon buatan kita terhadap addon lain atau disebut dependency. Memahami dependency sangat berguna apalagi saat kita akan mengembangkan addon yang sudah ada. Misal pada kasus ini, kita akan mengmbangkan addon ’contacts’, maka yang harus kita lakukan adalah menambahkan ‘contacts’ pada ‘depends’.
4. Development
Dengan scaffold, kita sangat dipermudah dalam pembuatan modul, kita juga bisa mempelajari bagaimana bentuk minimal addon.
Sebagai awal, kita akan mencoba menambahkan field gender pada contact. Pertama kita harus mengetahui model apa yang akan kita tambahi dengan cara masuk ke developer mode kemudian buka halaman contacts
Klik debug icon kemudian pilih ‘View: Form’, klik tanda panah pada ‘Model of the view’ kemudian lihat kolom ‘Model’.
Setelah mengetahui model yang akan kita kembangkan adalah ‘res.partner’, kita bisa kembali ke LiClipse, buka folder ‘models’ kemudian klik ganda berkas ‘models.py’ kemudian isi sesuai dengan field baru yang ingin kita tambahkan.
Untuk menambahkannya ke tampilan, misal kita ingin muncul di atas field ‘Job Position’ maka kita harus membuka kembali debug icon kemudian pilih ‘View: Form’.
Kembali ke LiClipse, buka folder ‘views’ kemudian klik ganda berkas ‘views.py’ kemudian isi sebagai sesuai dengan yang kita inginkan.
Sebagai informasi tambahan, untuk mendapatkan nama field, saat developer mode, kemudian arahkan ke ‘?’ field yang diinginkan.
5. Install Addon
Untuk menginstall addon, bisa memperbaharui ‘Run Configurations’, dengan menambahkan opsi ‘-d’ diikuti nama database dan ‘-i’ diikuti nama addon custom yang telah dibuat. Klik ‘Apply’ kemudian klik ‘Run’. Pastikan semua proses ‘Run’ yang berjalan telah dihentikan.
Apabila berhasil, maka custom yang telah kita buat akan muncul di halaman yang kita inginkan.
6. Update Addon
Misal kita ingin mengubah gender ke dalam Bahasa Indonesia secara coding, pertama kita update ‘models.py’ terlebih dahulu.
Untuk mengupdate addon, bisa memperbaharui ‘Run Configurations’, dengan menambahkan opsi ‘-d’ diikuti nama database dan ‘-u’ diikuti nama addon custom yang telah dibuat. Klik ‘Apply’ kemudian klik ‘Run’. Pastikan semua proses ‘Run’ yang berjalan telah dihentikan.
Apabila berhasil, maka tambilan field gender akan diperbaharui seperti gambar dibawah.
7. Debugging
Untuk masuk ke mode debug, klik main menu ‘Run’ > ‘Debug Configurations…’ di dalamnya sudah terisi otomatis sama seperti di menu ‘Run Configurations…’ yang telah kita buat. Untuk mencoba mode debug, pertama kita buat field compute terlebih dahulu, kemudian di salah satu line proses compute, kita beri breakpoint.
Langkah berikutnya adalah jalankan Odoo dengan mode debug, buka browser, kemudian buka halaman contact. Isi ‘date_of_birth’ sesuai dengan yang kita inginkan. Apabila debug berhasil, akan muncul konfirmasi untuk masuk mode debug. Dengan mode debug, kita bisa mengetahui perubahan variabel yang kita buat.
Kesimpulan
Walaupun bukan satu-satunya development tool yang bisa digunakan namun LiClipse menawarkan fitur-fitur yang sangat bermanfaat dan memudahkan dalam development Odoo seperti integrasi dengan Miniconda sebagai PVE, command shortcut, code explorer and reference, serta debugging mode. Secara keseluruhan, LiClipse sangat bisa diperhitungkan sebagai opsi saat mencari development tool.