Trình chỉnh sửa trực tuyến¶
Chế độ xem Trình chỉnh sửa trực tuyến cho phép chỉnh sửa mã nguồn của các bản dựng từ trình duyệt web. Nó cũng cho phép bạn mở terminal, console Python, console Odoo shell và Jupyter Notebooks.
Bạn có thể truy cập trình chỉnh sửa của một bản dựng thông qua tab nhánh, menu thả xuống bản dựng, hoặc bằng cách thêm /odoo-sh/editor vào URL của bản dựng (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 phần 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 (các tệp trong /src) của các bản dựng phát triển và staging. Đối với các bản dựng production, mã nguồn ở chế độ chỉ đọc vì áp dụng các thay đổi cục bộ trên máy chủ production không phải là thực hành tốt.
Ghi chú
Các thay đổi của bạn sẽ không được lan truyền đến các bản dựng mới. Cần phải commit chúng vào mã nguồn nếu bạn muốn chúng tồn tại lâu dài.
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 trong:
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/odoo/design-themes)
Để mở tệp trong trình soạn thảo, nhấp đúp vào tệp đó trong bảng duyệt tệp. Sau đó, bạn có thể chỉnh sửa tệp. Để lưu thay đổi, vào hoặc dùng phím tắt Ctrl+S.
Nếu bạn lưu tệp Python trong đường dẫn addons của máy chủ Odoo, Odoo sẽ phát hiện và tự động tải lại, nghĩa là thay đổi của bạn sẽ hiển thị ngay lập tức.
Tuy nhiên, nếu thay đổi của bạn được lưu trong cơ sở dữ liệu, chẳng hạn như nhãn trường hoặc chế độ xem, bạn cần cập nhật mô-đun liên quan để áp dụng thay đổi. Để cập nhật mô-đun của tệp hiện đang mở, vào .
Mẹo
Bạn cũng có thể thực thi lệnh sau trong terminal để cập nhật mô-đun:
odoo-bin -u <comma-separated module names> --stop-after-init
Commit và push thay đổi¶
Để commit và push thay đổi lên kho GitHub của bạn:
Mở terminal bằng cách vào .
Chuyển thư mục sang
~/src/user.cd ~/src/userKhai báo danh tính của bạn.
git config --global user.email "you@example.com" && git config --global user.name "Your Name"
Chuẩn bị thay đổi của bạn.
git add
Commit thay đổi của bạn.
git commit
Push thay đổi của bạn.
git push https HEAD:<branch>
Trong lệnh này:
httpslà tên kho lưu trữ GitHub từ xa HTTPS của bạn (ví dụ:https://github.com/username/repository.git).HEADlà tham chiếu đến bản sửa đổi mới nhất mà bạn đã commit.<branch>phải được thay thế bằng tên nhánh mà bạn muốn push thay đổi, thường là nhánh hiện tại nếu bạn làm việc trên bản phát triể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. Sau khi nhập thông tin xác thực, nhấn enter.
Mẹo
Nếu bạn kích hoạt xác thực hai yếu tố cho tài khoản GitHub của mình, bạn có thể tạo mã truy cập cá nhân và sử dụng nó làm mật khẩu. Cấp quyền repo là đủ.
Ghi chú
Không thể tự xác thực bằng SSH vì khóa SSH riêng của bạn không được lưu trữ trong các container xây dựng vì lý do bảo mật, cũng không được chuyển tiếp qua SSH agent vì bạn truy cập trình soạn thảo thông qua trình duyệt web.
Thư mục nguồn
~/src/userkhông được checkout trên một nhánh mà là trên một revision tách rời. Điều này là do các bản build hoạt động trên các revision cụ thể thay vì các nhánh, nghĩa là bạn có thể có nhiều bản build trên cùng một nhánh nhưng trên các revision khác nhau.
Sau khi các thay đổi của bạn được push, tùy theo hành vi push nhánh của bạn, một bản build mới có thể được tạo. Bạn có thể tiếp tục làm việc trong trình soạn thảo mà bạn đã push, vì nó sẽ có cùng revision với bản build mới được tạo. Tuy nhiên, luôn đảm bảo rằng bạn đang ở trong trình soạn thảo của bản build sử dụng revision mới nhất của nhánh của bạn.
Bảng điều khiển¶
Bạn có thể mở các console Python, đây là các shell tương tác IPython. Sử dụng các console Python này (thay vì các shell IPython trong terminal) cho phép bạn tận dụng khả năng hiển thị phong phú của chúng để hiển thị các đối tượng dưới dạng HTML.
Example
Lớp Pretty hiển thị danh sách theo cách dễ đọc.
Bạn có thể mở các console Odoo shell để thử nghiệm với registry Odoo và các phương thức model của cơ sở dữ liệu của bạn. Bạn cũng có thể đọc hoặc ghi trực tiếp trên các bản ghi của mình.
Cảnh báo
Trong console Odoo shell, các giao dịch được commit tự động. Điều này có nghĩa là các thay đổi được thực hiện đối với các bản ghi sẽ được áp dụng vào cơ sở dữ liệu. Ví dụ: nếu bạn thay đổi tên của người dùng, nó cũng sẽ được cập nhật trong cơ sở dữ liệu của bạn. Do đó, hãy sử dụng các console Odoo shell một cách cẩn thận trên các cơ sở dữ liệu production.
Bạn có thể sử dụng env để gọi các model của registry 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'}]