เครื่องมือแก้ไขออนไลน์

ภาพรวม

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

../../../_images/interface-editor.png

คุณสามารถเข้าถึงตัวแก้ไขของบิลด์ผ่าน แท็บสาขา, เมนูแบบเลื่อนลงของบิลด์ หรือโดยการเพิ่ม /odoo-sh/editor ให้กับชื่อโดเมนบิลด์ของคุณ (เช่น 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

การเปลี่ยนแปลงของคุณจะไม่ถูกเผยแพร่ไปยังบิลด์ใหม่ คุณต้อง commit การเปลี่ยนแปลงเหล่านั้นในซอร์สโค้ดของคุณหากคุณต้องการให้คงอยู่

สำหรับบิลด์ที่ใช้งานจริง ซอร์สโค้ดเป็นแบบอ่านอย่างเดียว เนื่องจากการใช้การเปลี่ยนแปลงในเครื่องบนเซิร์ฟเวอร์ที่ใช้งานจริงไม่ใช่แนวปฏิบัติที่ดี

  • ซอร์สโค้ดของที่เก็บ Github ของคุณอยู่ภายใต้ /src/user

  • ซอร์สโค้ดของ Odoo อยู่ภายใต้

หากต้องการเปิดไฟล์ในตัวแก้ไข เพียงดับเบิลคลิกที่ไฟล์นั้นในแผงเบราว์เซอร์ไฟล์ทางด้านซ้าย

../../../_images/interface-editor-open-file.png

จากนั้นคุณสามารถเริ่มทำการเปลี่ยนแปลงได้ คุณสามารถบันทึกการเปลี่ยนแปลงได้ด้วยเมนู ไฟล์ ‣ บันทึก .. ไฟล์ หรือโดยการกดปุ่มทางลัด Ctrl+S

../../../_images/interface-editor-save-file.png

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

../../../_images/interface-editor-automaticreload.gif

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

../../../_images/interface-editor-update-current-module.png

คุณยังสามารถเปิดเทอร์มินัลและรันคำสั่ง:

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

Commit & Push การเปลี่ยนแปลงของคุณ

คุณสามารถที่จะ Commit และ Push การเปลี่ยนแปลงของคุณไปยังพื้นที่เก็บข้อมูล Github ของคุณได้

  • เปิดเทอร์มินัล (ไฟล์ -> ใหม่ -> เทอร์มินัล)

  • เปลี่ยนไดเร็กทอรีเป็น ~/src/user โดยใช้ cd ~/src/user,

  • แสดงการเปลี่ยนแปลงของคุณโดยใช้ เพิ่ม git,

  • ยอมรับการเปลี่ยนแปลงของคุณโดยใช้ git commit,

  • Push การเปลี่ยนแปลงของคุณโดยใช้ git push https HEAD:<branch>.

ในคำสั่งสุดท้ายนี้

  • https คือชื่อของพื้นที่เก็บข้อมูลระยะไกล HTTPS Github ของคุณ (เช่น https://github.com/username/repository.git)

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

  • <branch> จะต้องถูกแทนที่ด้วยชื่อของสาขาที่คุณต้อง Push การเปลี่ยนแปลง ซึ่งส่วนใหญ่เป็นสาขาปัจจุบันหากคุณทำงานในรุ่นการพัฒนา

../../../_images/interface-editor-commit-push.png

Note

ไม่ได้ใช้รีโมต SSH Github เนื่องจากคีย์ส่วนตัว SSH ของคุณไม่ได้โฮสต์อยู่ในคอนเทนเนอร์บิลด์ของคุณ (สำหรับข้อกังวลด้านความปลอดภัยที่ชัดเจน) หรือส่งต่อผ่านตัวแทน SSH (เมื่อคุณเข้าถึงตัวแก้ไขนี้ผ่านเว็บเบราว์เซอร์) ดังนั้นคุณจึงไม่สามารถรับรองความถูกต้องของตัวเองกับ Github ใช้ SSH คุณต้องใช้ HTTPS ระยะไกลของที่เก็บ Github ของคุณเพื่อพุชการเปลี่ยนแปลงของคุณ ซึ่งจะถูกเพิ่มชื่อโดยอัตโนมัติเป็น https ในรีโมท Git ของคุณ คุณจะได้รับแจ้งให้ป้อนชื่อผู้ใช้และรหัสผ่าน Github ของคุณ หากคุณเปิดใช้งานการตรวจสอบสิทธิ์แบบสองปัจจัยบน Github คุณสามารถสร้าง `โทเค็นการเข้าถึงส่วนบุคคล <https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ >`_ และใช้เป็นรหัสผ่าน การให้สิทธิ์ `` repo`` ก็ถือว่าเพียงพอ

Note

โฟลเดอร์ซอร์ส Git ~/src/user ไม่ได้ถูกเช็คเอาท์ในสาขา แต่ในการแก้ไขที่แยกออกมา: นี่เป็นเพราะว่าบิลด์ทำงานในการแก้ไขเฉพาะมากกว่าสาขา ซึ่งหมายความว่าคุณสามารถมีได้หลายบิลด์ในสาขาเดียวกัน แต่มีการแก้ไขต่างกัน

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

คอนโซล

คุณสามารถเปิดคอนโซล Python ซึ่งเป็น IPython เชลล์เชิงโต้ตอบ สิ่งที่น่าสนใจที่สุดอย่างหนึ่งในการใช้คอนโซล Python แทนที่จะเป็นเชลล์ IPython ภายในเทอร์มินัลคือ จอแสดงผลที่หลากหลาย <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display> _ความสามารถ ด้วยเหตุนี้คุณจึงสามารถแสดงวัตถุในรูปแบบ HTML ได้

ตัวอย่างเช่น คุณสามารถแสดงเซลล์ของไฟล์ CSV โดยใช้ pandas

../../../_images/interface-editor-console-python-read-csv.png

คุณยังสามารถเปิดคอนโซลเชลล์ Odoo เพื่อทดลองใช้การลงทะเบียน 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'}]

คลาส Pretty ช่วยให้คุณสามารถแสดงรายการและการเขียนตามคำบอกได้อย่างง่ายดายโดยใช้ จอแสดงผลที่หลากหลาย กล่าวถึงข้างต้น

../../../_images/interface-editor-console-odoo-pretty.png

คุณยังสามารถใช้ pandas เพื่อแสดงกราฟได้

../../../_images/interface-editor-console-odoo-graph.png