Biên tập trực tuyến¶
Tổng quan¶
Trình chỉnh sửa trực tuyến cho phép bạn chỉnh sửa mã nguồn của bản dựng từ trình duyệt web. Nó cũng cung cấp cho bạn khả năng mở các thiết bị đầu cuối, bảng điều khiển Python, bảng điều khiển Odoo Shell và Notebooks.

Bạn có thể truy cập trình chỉnh sửa của bản dựng thông qua các tab nhánh, the menu thả xuống bản dựng hoặc bằng cách thêm /odoo-sh/editor vào tên miền bản dựng của bạn (ví dụ: https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Chỉnh sửa mã nguồn¶
Thư mục làm việc bao gồm các thư mục sau:
.
├── 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
Bạn có thể chỉnh sửa mã nguồn (tệp trong /src) trong các bản dựng phát triển và dàn dựng.
Ghi chú
Những thay đổi của bạn sẽ không được chuyển sang bản dựng mới, bạn phải cam kết chúng trong mã nguồn của mình nếu muốn duy trì chúng.
Đối với các bản dựng sản xuất, mã nguồn ở chế độ chỉ đọc vì việc áp dụng các thay đổi cục bộ trên máy chủ sản xuất không phải là phương pháp hay.
Mã nguồn của kho lưu trữ Github của bạn nằm trong /src/user,
Mã nguồn của Odoo nằm ở bên dưới
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Để mở tệp trong trình chỉnh sửa, chỉ cần nhấp đúp vào tệp đó trong bảng trình duyệt tệp ở bên trái.

Sau đó, bạn có thể bắt đầu thực hiện các thay đổi của mình. Bạn có thể lưu các thay đổi của mình bằng menu
hoặc bằng cách nhấn phím tắt Ctrl+S.
Nếu bạn lưu tệp Python trong đường dẫn bổ sung máy chủ Odoo của mình, Odoo sẽ phát hiện tệp đó và tự động tải lại để các thay đổi của bạn được phản ánh ngay lập tức mà không cần phải khởi động lại máy chủ theo cách thủ công.

Tuy nhiên, nếu thay đổi là dữ liệu được lưu trữ trong cơ sở dữ liệu, chẳng hạn như nhãn của trường hoặc dạng xem, bạn phải cập nhật mô-đun tương ứng để áp dụng thay đổi. Bạn có thể cập nhật mô-đun của tệp hiện đang mở bằng cách sử dụng menu
. Lưu ý rằng tệp được coi là hiện đang mở là tệp được tập trung vào trình soạn thảo văn bản chứ không phải tệp được đánh dấu trong trình duyệt tệp.
Bạn cũng có thể mở một terminal và thực hiện lệnh:
$ odoo-bin -u <comma-separated module names> --stop-after-init
Cam kết & Đẩy các thay đổi của bạn¶
Bạn có khả năng cam kết và đẩy các thay đổi của mình vào kho lưu trữ Github.
Mở một thiết bị đầu cuối (
),Thay đổi thư mục thành ~/src/user bằng cách sử dụng
cd ~/src/user
,Thực hiện các thay đổi của bạn bằng cách sử dụng
git add
,Cam kết các thay đổi của bạn bằng cách sử dụng
git commit
,Đẩy các thay đổi của bạn bằng cách sử dụng
git push https HEAD:<branch>
.
Trong lệnh cuối cùng này,
https là tên của kho lưu trữ từ xa HTTPS Github của bạn (ví dụ: https://github.com/username/repository.git),
HEAD là tham chiếu đến bản sửa đổi mới nhất mà bạn đã cam kết,
<branch> phải được thay thế bằng tên của nhánh mà bạn muốn thực hiện các thay đổi, rất có thể là nhánh hiện tại nếu bạn làm việc trong một bản dựng phát triển.

Ghi chú
Điều khiển từ xa SSH Github không được sử dụng vì khóa riêng SSH của bạn không được lưu trữ trong vùng chứa bản dựng của bạn (vì lo ngại về bảo mật rõ ràng) cũng như không được chuyển tiếp qua Tác nhân SSH (khi bạn truy cập trình chỉnh sửa này thông qua trình duyệt web) và do đó bạn không thể tự xác thực với Github sử dụng SSH. Bạn phải sử dụng điều khiển từ xa HTTPS của kho lưu trữ Github để đẩy các thay đổi của mình. Các thay đổi này được thêm tự động có tên là https trong điều khiển từ xa Git của bạn. Bạn sẽ được nhắc nhập tên người dùng và mật khẩu Github của mình. Nếu bạn đã kích hoạt xác thực hai yếu tố trên Github, bạn có thể tạo `mã thông báo truy cập cá nhân <https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ >`_ và sử dụng nó làm mật khẩu. Cấp quyền repo
là đủ.
Ghi chú
Thư mục nguồn Git ~/src/user không được kiểm tra trên một nhánh mà là trên một bản sửa đổi tách rời: Điều này là do các bản dựng hoạt động trên các bản sửa đổi cụ thể chứ không phải trên các nhánh. Nói cách khác, điều này có nghĩa là bạn có thể có nhiều bản dựng trên cùng một nhánh nhưng trên các bản sửa đổi khác nhau.
Khi các thay đổi của bạn được đẩy, theo hành vi đẩy nhánh của bạn, một bản dựng mới có thể được tạo. Bạn có thể tiếp tục làm việc trong trình chỉnh sửa mà bạn đã đẩy từ đó, vì nó sẽ có cùng bản sửa đổi với bản dựng mới đã được tạo nhưng luôn đảm bảo nằm trong trình chỉnh sửa của bản dựng sử dụng bản sửa đổi mới nhất của nhánh của bạn.
Bảng điều khiển¶
Bạn có thể mở bảng điều khiển Python, đó là các shell tương tác IPython. Một trong những bổ sung thú vị nhất để sử dụng bảng điều khiển Python thay vì IPython shell trong thiết bị đầu cuối là màn hình phong phú <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>
_ khả năng. Nhờ đó, bạn sẽ có thể hiển thị các đối tượng trong HTML.
Ví dụ: bạn có thể hiển thị các ô của tệp CSV bằng cách sử dụng pandas.

Bạn cũng có thể mở bảng điều khiển Odoo Shell để thử nghiệm các phương thức mô hình và đăng ký Odoo của cơ sở dữ liệu của bạn. Bạn cũng có thể trực tiếp đọc hoặc viết trên hồ sơ của bạn.
Cảnh báo
Trong Bảng điều khiển Odoo, các giao dịch được thực hiện tự động. Điều này có nghĩa là, ví dụ, những thay đổi trong hồ sơ được áp dụng một cách hiệu quả trong cơ sở dữ liệu. Nếu bạn thay đổi tên người dùng, tên của người dùng đó cũng sẽ được thay đổi trong cơ sở dữ liệu của bạn. Do đó, bạn nên sử dụng bảng điều khiển Odoo một cách cẩn thận trên cơ sở dữ liệu sản xuất.
Bạn có thể sử dụng env để gọi các mô hình đăng ký cơ sở dữ liệu của mình, ví dụ: env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
Lớp Pretty
cung cấp cho bạn khả năng dễ dàng hiển thị danh sách và ký tự một cách đẹp mắt, sử dụng rich display đã đề cập ở trên.

Bạn cũng có thể sử dụng pandas để hiển thị biểu đồ.
