Module OpenERP – Pengenalan Singkat

Pada kesempatan kali ini saya ingin mencoba menjelaskan secara singkat mengenai modul openerp.

Ada beberapa structure pembuatan modul dalam openerp, yaitu :

1. Simple Modul

nama_modul/
__init__.py
__openerp__.py
nama_file.py
nama_file_view.xml

2. Complex Modul

nama_modul/
__init__.py
__openerp__.py
nama_file.py
nama_file_view.xml
nama_file_workflow.xml
nama_file_report.xml

report/
__init__.py
nama_report.py
nama_report_view.xml

wizard/
__init__.py
nama_wizard.py
nama_wizard_view.xml

security/
nama_security.csv
nama_security.xml

Intro :

Setiap bahasa pemrograman memiliki ketentuan penamaan/penulisan code (naming convention) masing2. Ada banyak jenis2 name convention, seperti :

  • CamelCase (digunakan oleh java, C#, VB, dll),
  • lowercase (digunakan C, C++, dll),
  • CAPITALIZED_WITH_UNDERSCORES, dst.

CamelCase terdiri dari UpperCamelCase & lowerCamelCase. Sedangkan coding python menggunakan:

– UpperCamelCase untuk nama class.

– CAPITALIZED_WITH_UNDERSCORES untuk konstanta,

lowercase_separated_by_underscores untuk selain kedua tsb (bisa variabel, method, dll).

Karna openerp based on python, maka mulai sekarang jika kita membuat coding biasakan memulai dari hal yg kecil seperti ini. Untuk selengkapnya bisa baca2 di http://en.wikipedia.org/wiki/Naming_convention_%28programming%29

Setiap modul openerp WAJIB terdiri -minimal- dari 2 file, yaitu __init__.py & __openerp__.py. Fungsi dari file __init__.py menandakan bahwa folder tersebut adalah suatu modul python bukan hanya folder biasa. Temen2 mungkin bisa mencoba memanggil dari file python dengan perintah import nama_modul. Jika modul tsb tidak ada file __init__.py maka hasilnya pasti error. Sama sepert __init__.py, file __openerp__.py menandakan bahwa folder tersebut adalah suatu modul openerp bukan hanya folder biasa. Karna openerp ditulis menggunakan python, maka file __init__.py juga wajib disertakan.

Mungkin intronya cukup sekian (kepanjangan ya hehehe), kita lanjut lagi ke pembahasan technical.

File __init__.py akan dijalankan 1x ketika modul tersebut dipanggil/diinstal. Isi dari file __init__.py adalah file2 python, yaitu yang memiliki extensi .py (*.py). Sedangkan isi dari file2 __openerp__.py sbb :


{
 'name' : 'Module Name', # Nama modul yang dibuat
 'version' : '0.1', # Versi modul yang dibuat
 'author' : 'Tiny', # Developer/programmer yang membuat modul (bisa instansi (team) or individu)
 'website' : '<a href="http://www.openerp.com" target="_blank">http://www.openerp.com</a>', # Website yang bersangkutan
 'category' : 'Tools', # Pengelompokan modul yang dibuat
 'description' : 'description of this module', # Penjelasan singkat dari modul yang dibuat
 'depends' : ['base'], # Berisi daftar modul2 yang perlu diinstal sebelum modul ini diinstal atau daftar modul tsb akan terinstall otomatis ketika modul ini akan diinstal
 'init_xml' : ['module_name_data.xml'], # Daftar file xml yang HANYA akan dijalankan 1x pada saat modul diinstal
 'demo_xml' : ['module_name_demo.xml'], # Daftar file xml yang berisi data untuk mode demo
 'update_xml' : [ 'module_name_view.xml', 'module_name_workflow.xml' ], # Daftar file xml yang dapat dijalankan berkali-kali baik pada saat modul diinstal, server di restart, modul di update, dst.
 'installable' : True, # Jika diisi True, maka modul tersebut bisa diinstall. Jika False, maka modul tsb tidak dapat diinstal
 'active' : False, # Jika diisi True, maka modul tersebut akan diinstall ketika database dibuat (create new database). Jika False, maka modul tsb tidak diinstall pada saat database dicreate
 }

Beberapa keterangan diatas akan terlihat pada form penginstalan module.

Advertisements

5 thoughts on “Module OpenERP – Pengenalan Singkat

  1. Pingback: Technical Training -Part 2- | Tutorial OpenERP

  2. Pingback: Print Multi Record Dengan 1 Halaman | Tutorial OpenERP

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s