ตัวแก้ไขออนไลน์

มุมมอง Online Editor ช่วยให้สามารถแก้ไขซอร์สโค้ดของบิลด์ของคุณจากเว็บเบราว์เซอร์ นอกจากนี้ยังให้ความสามารถในการเปิดเทอร์มินัล คอนโซล Python คอนโซล Odoo shell และ Jupyter Notebooks

ภาพรวมของตัวแก้ไขออนไลน์

คุณสามารถเข้าถึงตัวแก้ไขของบิลด์ผ่าน แท็บแบรนช์ เมนูดรอปดาวน์บิลด์ หรือโดยการเพิ่ม /odoo-sh/editor ไปยัง URL ของบิลด์ (เช่น https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor)

การแก้ไขซอร์สโค้ด

ไดเรกทอรีการทำงานประกอบด้วยสิ่งต่อไปนี้:

.
├── 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

คุณสามารถแก้ไขซอร์สโค้ด (ไฟล์ภายใต้ /src) ของบิลด์สำหรับการพัฒนาและบิลด์สเตจจิ้ง สำหรับบิลด์สำหรับการใช้งานจริง ซอร์สโค้ดจะเป็นแบบอ่านอย่างเดียว เพราะการใช้การเปลี่ยนแปลงในเครื่องบนเซิร์ฟเวอร์สำหรับการใช้งานจริงไม่ใช่แนวทางปฏิบัติที่ดี

Note

ในการเปิดไฟล์ในตัวแก้ไข ให้ดับเบิลคลิกที่ไฟล์ในแผงเบราว์เซอร์ไฟล์ จากนั้นคุณสามารถแก้ไขไฟล์ได้ ในการบันทึกการเปลี่ยนแปลงของคุณ ไปที่ File ‣ Save หรือใช้แป้นพิมพ์ลัด Ctrl+S

หากคุณบันทึกไฟล์ Python ในเส้นทางแอดออนของเซิร์ฟเวอร์ Odoo ของคุณ Odoo จะตรวจจับและโหลดใหม่โดยอัตโนมัติ ซึ่งหมายความว่าการเปลี่ยนแปลงของคุณจะมองเห็นได้ทันที

การเปลี่ยนแปลงไฟล์ Python จะมองเห็นได้ทันที

อย่างไรก็ตาม หากการเปลี่ยนแปลงของคุณถูกเก็บไว้ในฐานข้อมูล เช่น ป้ายกำกับของฟิลด์หรือมุมมอง จำเป็นต้องอัปเดตโมดูลที่เกี่ยวข้องเพื่อใช้การเปลี่ยนแปลง ในการอัปเดตโมดูลของไฟล์ที่เปิดอยู่ในปัจจุบัน ไปที่ Odoo ‣ Update current module

การใช้ตัวแก้ไขเพื่ออัปเดตโมดูลปัจจุบัน

Tip

คุณยังสามารถรันคำสั่งต่อไปนี้ในเทอร์มินัลเพื่ออัปเดตโมดูล:

odoo-bin -u <comma-separated module names> --stop-after-init

การ commit และ push การเปลี่ยนแปลง

เพื่อ commit และ push การเปลี่ยนแปลงไปยัง GitHub repository ของคุณ:

  • เปิดเทอร์มินัลโดยไปที่ File ‣ New ‣ Terminal

  • เปลี่ยนไดเรกทอรีเป็น ~/src/user

    cd ~/src/user
    
  • ระบุข้อมูลประจำตัวของคุณ

    git config --global user.email "you@example.com" && git config --global user.name "Your Name"
    
  • จัดเตรียมการเปลี่ยนแปลงของคุณ

    git add
    
  • Commit การเปลี่ยนแปลงของคุณ

    git commit
    
  • Push การเปลี่ยนแปลงของคุณ

    git push https HEAD:<branch>
    

    ในคำสั่งนี้:

    • https คือชื่อของ HTTPS GitHub remote repository ของคุณ (เช่น https://github.com/username/repository.git)

    • HEAD คือการอ้างอิงถึง revision ล่าสุดที่คุณ commit

    • <branch> ต้องถูกแทนที่ด้วยชื่อของ branch ที่คุณต้องการ push การเปลี่ยนแปลงไป ซึ่งมักจะเป็น branch ปัจจุบันหากคุณทำงานบน development build

คุณจะถูกขอให้ป้อนชื่อผู้ใช้และรหัสผ่าน GitHub ของคุณ หลังจากป้อนข้อมูลรับรองแล้ว ให้กด enter

คำสั่งสำหรับ commit และ push การเปลี่ยนแปลง

Tip

หากคุณเปิดใช้งานการยืนยันตัวตนแบบสองปัจจัยสำหรับบัญชี GitHub ของคุณ คุณสามารถสร้าง personal access token และใช้เป็นรหัสผ่านได้ การให้สิทธิ์ repo ก็เพียงพอแล้ว

Note

  • ไม่สามารถยืนยันตัวตนโดยใช้ SSH ได้ เนื่องจาก private SSH key ของคุณไม่ได้ถูกเก็บไว้ใน build containers ของคุณด้วยเหตุผลด้านความปลอดภัย และไม่ได้ถูกส่งต่อผ่าน SSH agent เนื่องจากคุณเข้าถึงตัวแก้ไขผ่านเว็บเบราว์เซอร์

  • โฟลเดอร์ต้นทาง ~/src/user ไม่ได้ถูก checkout บน branch แต่อยู่บน detached revision เนื่องจาก builds ทำงานบน revisions เฉพาะแทนที่จะเป็น branches ซึ่งหมายความว่าคุณสามารถมีหลาย builds บน branch เดียวกันได้ แต่อยู่บน revisions ที่ต่างกัน

เมื่อการเปลี่ยนแปลงของคุณถูก push แล้ว ตาม:ref:พฤติกรรมการ push branch <odoo-sh/branches/tabs/settings> ของคุณ build ใหม่อาจถูกสร้างขึ้น คุณสามารถทำงานต่อในตัวแก้ไขที่คุณ push ออกไปได้ เนื่องจากจะมี revision เดียวกับ build ใหม่ที่ถูกสร้างขึ้น อย่างไรก็ตาม ให้แน่ใจเสมอว่าคุณอยู่ในตัวแก้ไขของ build ที่ใช้ revision ล่าสุดของ branch ของคุณ

คอนโซล

คุณสามารถเปิดคอนโซล Python ซึ่งเป็น IPython interactive shells การใช้คอนโซล Python เหล่านี้ (แทนที่จะใช้เชลล์ IPython ภายในเทอร์มินัล) ช่วยให้คุณสามารถใช้ rich display capabilities เพื่อแสดงออบเจ็กต์ในรูปแบบ HTML

Example

คลาส Pretty แสดงรายการในลักษณะที่อ่านง่าย

ตัวอย่างคลาส Pretty

Tip

การใช้ pandas คุณสามารถแสดง:

  • เซลล์ของไฟล์ CSV

    ตัวอย่าง CSV ของ pandas
  • กราฟ

    ตัวอย่างกราฟของ pandas

คุณสามารถเปิดคอนโซลเชลล์ Odoo เพื่อทดลองใช้งานรีจิสทรีและเมธอดโมเดลของฐานข้อมูลของคุณ คุณยังสามารถอ่านหรือเขียนข้อมูลลงในเรกคอร์ดของคุณได้โดยตรง

Warning

ในคอนโซลเชลล์ Odoo ธุรกรรมจะถูกคอมมิตโดยอัตโนมัติ ซึ่งหมายความว่าการเปลี่ยนแปลงที่ทำกับเรกคอร์ดจะถูกนำไปใช้กับฐานข้อมูล ตัวอย่างเช่น หากคุณเปลี่ยนชื่อของผู้ใช้ ชื่อดังกล่าวจะถูกอัปเดตในฐานข้อมูลของคุณด้วย ดังนั้นโปรดใช้คอนโซลเชลล์ Odoo อย่างระมัดระวังบนฐานข้อมูลที่ใช้งานจริง

คุณสามารถใช้ env เพื่อเรียกใช้โมเดลของรีจิสทรีฐานข้อมูลของคุณ เช่น env['res.users']

env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]