Editor Online¶
Gambaran Umum¶
Editor Online memungkinkan Anda untuk mengedit source code build Anda dari browser website. Ini juga memberikan Anda pilihan untuk membuka terminal, console Python, console Odoo Shell dan Notebooks.

Anda dapat mengakses editor build melalui tab branch, menu dropdown build atau dengan menambahkan /odoo-sh/editor ke nama domain build Anda (contoh, https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Edit source code¶
Direktori yang bekerja dibuat dari folder-folder berikut:
.
├── home
│ └── odoo
│ ├── src
│ │ ├── odoo Odoo Community source code
│ │ │ └── odoo-bin Odoo server executable
│ │ ├── enterprise Odoo Enterprise source code
│ │ ├── themes Odoo Themes source code
│ │ └── user Your repository branch source code
│ ├── data
│ │ ├── filestore database attachments, as well as the files of binary fields
│ │ └── sessions visitors and users sessions
│ └── logs
│ ├── install.log Database installation logs
│ ├── odoo.log Running server logs
│ ├── update.log Database updates logs
│ └── pip.log Python packages installation logs
Anda dapat mengedit source code (file di bawah /src) di development dan and build staging.
Catatan
Perubahan Anda tidak akan berlaku ke build baru, Anda harus commit mereka di source code Anda bila Anda ingin memastikan mereka berlaku.
Untuk build production, source code adalah read-only, karena menerapkan perubahan lokal pada server production bukan merupakan praktek yang bagus.
Source code repositori Github Anda memiliki lokasi /src/user,
Source code Odoo berlokasi di
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Untuk membuka file di editor, cukup klik dua-kali pada panel browser file di kiri.

Anda lalu dapat mulai melakukan perubahan Anda. Anda dapat menyimpan perubahan Anda dengan menu
atau dengan memencet shortcut Ctrl+S.
Bila Anda save file Python yang berada di bawah path addon server Odoo, Odoo akan mendeteksinya dan memuatnya secara otomatis supaya perubahan langsung berlaku, tanpa harus restart server secara manual.

Namun, bila perubahan adalah data yang disimpan di database, seperti label field, atau tampilan, Anda harus mengupdate modul yang sesuai untuk menerapkan perubahannya. Anda dapat mengupdate modul file yang saat ini dibuka dengan menggunakan menu
. Ingat bahwa file yang dipilih dianggap sebagai saat ini dibuka adalah file yang terfokus di editor teks, bukan file yang di highlight di browser file.
Anda juga dapat membuka terminal dan menjalankan command:
$ odoo-bin -u <comma-separated module names> --stop-after-init
Commit & Push perubahan Anda¶
Anda memiliki pilihan untuk commit dan push perubahan Anda ke repositori Github Anda.
Buka terminal (
),Ubah direktori menjadi ~/src/user menggunakan
cd ~/src/user
,Stage perubahan Anda menggunakan
git add
,Commit perubahan Anda menggunakan
git commit
,Push perubahan Anda menggunakan
git push https HEAD:<branch>
.
Di command terakhir ini,
https adalah nama HTTPS repositori remot Github Anda (e.g. https://github.com/username/repository.git),
HEAD adalah referensi ke revisi terakhir yang Anda commit,
<branch> harus diganti dengan nama branch di mana Anda ingin push perubahannya, kemungkinan besar merupakan branch saat ini bila Anda bekerja di build development.

Catatan
SSH remot Github tidak digunakan karena SSH private key Anda tidak dihosting di container build Anda (untuk alasan keamanan) dan tidak diforward melalui SSH Agent (selagi Anda mengakses editor ini melalui browser website) dan oleh karena itu Anda tidak dapat mengautentikasi diri Anda ke Github menggunakan SSH. Anda harus menggunakan HTTPS remot dari repositori Github Anda untuk push perubahan Anda, yang ditambahkan secara otomatis dinamakan sebagai https di Git remot Anda. Anda akan di-prompt untuk memasukkan username dan password Github Anda. Bila Anda mengaktifkan autentikasi dua-faktor di Github, Anda dapat membuat token akses pribadi dan menggunakannya sebagai password. Cukup dengan memberikan permission repo
.
Catatan
Source folder Git ~/src/user tidak di check-out di branch tapi pada revisi yang terpisah: Ini karena build bekerja pada revisi-revisi tertentu alih-alih pada branch. Dengan kata lain, ini berarti Anda dapat memiliki lebih dari satu build pada branch yang sama, tapi pada revisi yang berbeda-beda.
Setelah perubahan Anda di push, menurut perilaku push branch Anda, build baru mungkin dibuat. Anda dapat melanjutkan bekerja di editor dari mana Anda melakukan push, karena akan memiliki revisi yang sama dengan build yang baru saja dibuat, tapi selalu pastikan untuk berada di editor dengan build yang menggunakan revisi terkini dari branch Anda.
Console¶
Anda dapat membuka console Python, yaitu IPython interactive shells. Salah satu penambahan paling menarik untuk menggunakan console Python alih-alih IPython shell di dalam terminal adalah kemampuan rich display. Berkat hal ini, Anda dapat menampilkan object di HTML.
Anda dapat contohnya menampilkan cell dari cell CSV menggunakan pandas.

Anda juga dapat membuka console Odoo Shell untuk mengutak atik registry Odoo dan model method database Anda. Anda juga dapat langsung membaca atau menulis pada record Anda.
Peringatan
Di Odoo Console, transaksi secara otomatis di-commit. Ini berarti, sebagai contoh, bahwa perubahan di record diterapkan secara efektif di database. Bila Anda mengganti nama user, nama user diubah di database Anda juga. Anda oleh karena itu sebaiknya menggunakan console Odoo secara hati-hati pada database production
Anda dapat menggunakan env untuk invoke model registry database Anda, contoh, env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
Class Pretty
memberikan Anda pilihan untuk dengan mudah menampilkan list dan dicts dengan tampilan yang rapih, menggunakan rich display yang disebut di atas.

Anda juga dapat menggunakan pandas untuk menampilkan grafik.
