เครื่องมือแก้ไขออนไลน์¶
ภาพรวม¶
โปรแกรมแก้ไขออนไลน์ช่วยให้คุณสามารถแก้ไขซอร์สโค้ดของงานสร้างของคุณจากเว็บเบราว์เซอร์ นอกจากนี้ยังช่วยให้คุณสามารถเปิดเทอร์มินัล, คอนโซล Python, คอนโซลเชลล์ Odoo และ โน๊ตบุ๊ค
คุณสามารถเข้าถึงตัวแก้ไขของบิลด์ผ่าน แท็บสาขา, เมนูแบบเลื่อนลงของบิลด์ หรือโดยการเพิ่ม /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 อยู่ภายใต้
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
หากต้องการเปิดไฟล์ในตัวแก้ไข เพียงดับเบิลคลิกที่ไฟล์นั้นในแผงเบราว์เซอร์ไฟล์ทางด้านซ้าย
จากนั้นคุณสามารถเริ่มทำการเปลี่ยนแปลงได้ คุณสามารถบันทึกการเปลี่ยนแปลงได้ด้วยเมนู
หรือโดยการกดปุ่มทางลัด Ctrl+Sหากคุณบันทึกไฟล์ Python ที่อยู่ภายใต้เส้นทางส่วนเสริมเซิร์ฟเวอร์ Odoo ของคุณ Odoo จะตรวจจับและโหลดซ้ำโดยอัตโนมัติ เพื่อให้การเปลี่ยนแปลงของคุณมีผลทันที โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ด้วยตนเอง
อย่างไรก็ตาม หากการเปลี่ยนแปลงเป็นข้อมูลที่จัดเก็บไว้ในฐานข้อมูล เช่น ป้ายกำกับของฟิลด์ หรือมุมมอง คุณต้องอัปเดตโมดูลตามเพื่อใช้การเปลี่ยนแปลง คุณสามารถอัปเดตโมดูลของไฟล์ที่เปิดอยู่ในปัจจุบันได้โดยใช้เมนู
โปรดทราบว่าไฟล์ที่พิจารณาว่าเปิดอยู่ในปัจจุบันคือไฟล์ที่เน้นในตัวแก้ไขข้อความ ไม่ใช่ไฟล์ที่ไฮไลต์ในเบราว์เซอร์ไฟล์คุณยังสามารถเปิดเทอร์มินัลและรันคำสั่ง:
$ 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 การเปลี่ยนแปลง ซึ่งส่วนใหญ่เป็นสาขาปัจจุบันหากคุณทำงานในรุ่นการพัฒนา
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
คุณยังสามารถเปิดคอนโซลเชลล์ 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
ช่วยให้คุณสามารถแสดงรายการและการเขียนตามคำบอกได้อย่างง่ายดายโดยใช้ จอแสดงผลที่หลากหลาย กล่าวถึงข้างต้น
คุณยังสามารถใช้ pandas เพื่อแสดงกราฟได้