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.

Tổng quan về trình chỉnh sửa trực tuyến

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ú

Để 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 File ‣ Save 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.

Thay đổi trong tệp Python 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 Odoo ‣ Update current module.

Dùng trình soạn thảo để cập nhật mô-đun hiện tại

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 File ‣ New ‣ Terminal.

  • Chuyển thư mục sang ~/src/user.

    cd ~/src/user
    
  • Khai 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:

    • https là tên kho lưu trữ GitHub từ xa HTTPS 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 đã 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.

Các lệnh để commit và push thay đổi

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/user khô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.

Ví dụ về lớp Pretty

Mẹo

Sử dụng pandas, bạn có thể hiển thị:

  • Các ô của tệp CSV

    Ví dụ CSV với pandas
  • Đồ thị

    Ví dụ đồ thị với pandas

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'}]