Salah satu fitur penting dalam Odoo adalah kemampuan untuk mengelola beberapa database dalam satu instance Odoo. Untuk mempermudah pengelolaan dan akses ke database yang berbeda, Odoo menyediakan fitur yang disebut dbfilter. Fitur ini sangat berguna dalam lingkungan multi-tenant dimana satu instance Odoo melayani beberapa database.
Apa itu dbfilter?
dbfilter adalah parameter konfigurasi di Odoo yang memungkinkan Anda untuk menyaring dan menentukan database mana yang akan diakses berdasarkan pola tertentu. Ini sangat berguna ketika Anda memiliki banyak database dan ingin mengatur akses ke database tertentu berdasarkan URL.
Cara Kerja dbfilter
dbfilter bekerja dengan menggunakan ekspresi reguler (regex) untuk mencocokkan nama database dengan pola yang ditentukan. Ketika pengguna mengakses Odoo melalui URL tertentu, dbfilter akan memeriksa pola dalam URL tersebut dan mencocokkan dengan nama database yang tersedia. Jika ada kecocokan, Odoo akan mengarahkan pengguna ke database yang sesuai.
Contoh Penggunaan dbfilter
Anda dapat mengkonfigurasi dbfilter di file konfigurasi odoo.conf.
Menggunakan Subdomain
Jika Anda memiliki dua database, klien1 dan klien2 dan Anda ingin mengarahkan pengguna ke database yang sesuai berdasarkan subdomain, Anda dapat mengatur dbfilter seperti ini:
[options]
dbfilter = ^%d$
Dengan konfigurasi ini, %d akan digantikan dengan bagian subdomain dari URL, sehingga pengguna yang mengakses klien1.contoh.com akan diarahkan ke database klien1, dan pengguna yang mengakses klien2.contoh.com akan diarahkan ke database klien2.
Menggunakan Domain Penuh
Jika Anda ingin mencocokkan domain penuh, Anda dapat menggunakan %h:
[options]
dbfilter = ^%h$
Dalam hal ini, jika URL adalah contoh.com, maka Odoo akan mencoba mencocokkan database dengan nama contoh.com.
Menggunakan Ekspresi Reguler
Anda juga dapat menggunakan ekspresi reguler yang lebih kompleks untuk mencocokkan pola nama database. Misalnya:
[options]
dbfilter = ^(klien[0-9]+)$
Pola ini akan mencocokkan semua database yang namanya dimulai dengan klien diikuti oleh angka.
Atau seperti ini:
[options]
dbfilter = ^(demo|training).*$
Pola ini akan mencocokkan semua database yang namanya berisi demo atau training.
Berikut adalah contoh penggunaan pada domain digjayaintegrasolusindo.com yang mempunyai subdomain sebagai berikut:
Pola yang diterapkan pada dbfilter di atas sebagai berikut:
[options]
dbfilter = ^%d.*$
Terlihat pada gambar di atas dbfilter mencocokkan database dari ekspresi yang diterapkan berdasarkan subdomain.
Manfaat Menggunakan dbfilter
- Keamanan: Membatasi akses ke database tertentu berdasarkan URL atau pola nama pengguna.
- Kemudahan Pengelolaan: Mempermudah pengelolaan banyak database dalam satu instance Odoo, terutama dalam lingkungan multi-tenant.
- Fleksibilitas: Dapat disesuaikan dengan kebutuhan bisnis yang berbeda.
Dengan menggunakan dbfilter, Anda dapat mengatur akses ke database Odoo dengan lebih efisien dan aman.