MASIGNCLEAN102

Cara Membuat Modul Kustom di Odoo 19 (Hello World!)

Cara Membuat Modul Kustom di Odoo 19 (Hello World!)




Odoo 19 terkenal fleksibel karena memungkinkan developer membuat modul kustom. Dengan modul ini, kita bisa menambahkan fitur sesuai kebutuhan bisnis, mulai dari menu baru, laporan, sampai integrasi API eksternal. Dalam artikel ini kita akan belajar cara membuat modul sederhana Hello World di Odoo 19. Meskipun sederhana, contoh ini sangat penting untuk memahami struktur dasar modul Odoo.

Mengapa Membuat Modul Kustom?

  • Kebutuhan spesifik: ada fitur bisnis yang tidak tersedia di modul bawaan.
  • Integrasi: modul kustom bisa menghubungkan Odoo dengan aplikasi eksternal.
  • Laporan & workflow: membuat laporan unik dan otomatisasi proses kerja.
  • Kontrol penuh: semua bisa dimodifikasi sesuai keinginan.

Struktur Dasar Modul Odoo 19

Struktur folder untuk modul bernama hello_world adalah:

hello_world/
├── __init__.py
├── __manifest__.py
├── models/
│   ├── __init__.py
│   └── hello_model.py
├── views/
│   └── hello_view.xml
└── security/
    └── ir.model.access.csv

Langkah 1: Buat Folder Modul

cd /odoo/odoo-server/addons/
mkdir hello_world
cd hello_world

Langkah 2: Buat File Manifest

# __manifest__.py
{
    'name': 'Hello World',
    'version': '1.0',
    'category': 'Custom',
    'summary': 'Modul kustom sederhana Hello World di Odoo 19',
    'author': 'Alfansyah Nori Pratama',
    'depends': ['base'],
    'data': [
        'security/ir.model.access.csv',
        'views/hello_view.xml',
    ],
    'installable': True,
    'application': True,
}

Langkah 3: Buat File Init

# __init__.py
from . import models
# models/__init__.py
from . import hello_model

Langkah 4: Buat Model Python

# models/hello_model.py
from odoo import models, fields

class HelloWorld(models.Model):
    _name = 'hello.world'
    _description = 'Hello World Module'

    name = fields.Char(string='Hello Message', required=True, default="Hello, World!")

Langkah 5: Buat File Akses (Security)

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_hello_world,access_hello_world,model_hello_world,,1,1,1,1

Langkah 6: Buat Tampilan (Views)

<odoo>
    <record id="view_hello_world_tree" model="ir.ui.view">
        <field name="name">hello.world.tree</field>
        <field name="model">hello.world</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name"/>
            </tree>
        </field>
    </record>

    <record id="view_hello_world_form" model="ir.ui.view">
        <field name="name">hello.world.form</field>
        <field name="model">hello.world</field>
        <field name="arch" type="xml">
            <form>
                <sheet>
                    <group>
                        <field name="name"/>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

    <menuitem id="menu_hello_world_root" name="Hello World"/>
    <menuitem id="menu_hello_world" name="Messages" parent="menu_hello_world_root"/>

    <act_window id="action_hello_world"
                name="Hello World"
                res_model="hello.world"
                view_mode="tree,form"
                menu_id="menu_hello_world"/>
</odoo>

Langkah 7: Update Addons Path & Install Modul

  1. Pastikan folder hello_world ada di addons path (cek di odoo.conf).
  2. Restart Odoo server:
    ./odoo-bin -c /etc/odoo/odoo.conf -d odoo19_db -u hello_world
  3. Login ke Odoo, buka menu Apps, lalu install modul Hello World.

Hasil Akhir

Setelah modul berhasil diinstall, akan muncul menu baru Hello World dengan sub-menu Messages. Anda bisa menambahkan pesan baru, misalnya: Hello, World! atau Halo, Odoo 19!.

Tips Tambahan

  • Gunakan perintah odoo-bin scaffold untuk membuat kerangka modul otomatis.
  • Ikuti konvensi penamaan: nama_modul.nama_model.
  • Tambahkan folder static/ jika ingin menambahkan CSS, JS, atau gambar.
  • Gunakan QWeb untuk membuat laporan custom.

Kesimpulan

Membuat modul kustom di Odoo 19 membutuhkan pemahaman struktur dasar modul. Dengan membuat modul sederhana Hello World ini, kita belajar:

  1. Struktur folder modul.
  2. File manifest dan init.
  3. Model Python dengan ORM Odoo.
  4. File security untuk kontrol akses.
  5. View XML untuk tampilan UI.

Langkah ini bisa dikembangkan menjadi modul kompleks sesuai kebutuhan bisnis Anda.

FAQ

Apakah modul ini bisa dipasang di Odoo Enterprise?

Ya, modul kustom kompatibel dengan Odoo Community maupun Enterprise.

Apa perbedaan scaffold vs manual?

Scaffold membuat struktur modul otomatis, sedangkan manual memberi pemahaman lebih detail bagi pemula.

Bagaimana jika error saat install?

Cek log server Odoo. Biasanya error terjadi pada manifest, XML tidak valid, atau file security belum benar.

Bisa tidak modul kustom dijual?

Bisa. Banyak developer menjual modul di Odoo Apps Store setelah modul stabil.

Kata kunci terkait: Odoo 19, Modul Kustom Odoo, Odoo Hello World, Cara Membuat Modul Odoo, Odoo Development Indonesia.

Share This :
Funtechsy