Odoo đang công bố tài liệu người dùng theo một đường dẫn 20.0 riêng, và hạ tầng hợp nhất chính thức của họ cho thấy công việc chuẩn bị đang diễn ra, nhắm tới nhánh 20.0. Những diễn biến này khiến tài liệu Odoo 20 và hoạt động phát triển trở nên hiển thị công khai. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge) Điều này không xác nhận ngày phát hành chung, cũng không cho thấy mọi tính năng, yêu cầu di chuyển và trang tài liệu đều đã hoàn tất. Các tổ chức nên phân biệt giữa việc chuẩn bị có thể nhìn thấy và một mốc phát hành sản xuất đã được xác nhận. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Odoo cũng đã thay đổi lịch trình loại bỏ các dịch vụ XML-RPC và JSON-RPC cũ. Việc loại bỏ hiện được hoãn đến Odoo 21.1/22, trong khi Odoo 20 và 21 vẫn giữ các dịch vụ này ở dạng lỗi thời cùng với JSON-2. (Odoo pull Docs: 16925) Vì vậy, các tích hợp dùng các dịch vụ cũ này không phải đối mặt với một sự kiện loại bỏ đã được xác nhận khi nâng cấp lên Odoo 20 hoặc 21. Tuy nhiên, việc bị gắn nhãn lỗi thời vẫn đòi hỏi phải lên kế hoạch, vì sự hiện diện trong các phiên bản đó không phải là cam kết sẽ giữ các giao diện này vô thời hạn. (Odoo pull Docs: 16925)

Những gì hoạt động công khai của Odoo 20 xác nhận

Ít nhất một trang tài liệu người dùng công khai hiện có trong cấu trúc tài liệu 20.0 của Odoo. Hạ tầng hợp nhất của Odoo cũng xác định hoạt động chuẩn bị cho nhánh 20.0. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge) Những nguồn này có thể hỗ trợ khám phá kỹ thuật sớm, nhưng chúng không chứng minh rằng toàn bộ bộ tài liệu đã hoàn chỉnh hoặc mọi thay đổi đang chuẩn bị sẽ được đưa vào sản xuất mà không thay đổi. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Các nhóm có thể dùng tài liệu hiện có để bắt đầu rà soát các quy trình kinh doanh bị ảnh hưởng và dùng hoạt động chuẩn bị để xác định các mảng phát triển đáng theo dõi. Ngân sách di chuyển và ngày bàn giao vẫn nên tính đến việc xác minh sau này dựa trên tài liệu cuối cùng, đường nâng cấp được hỗ trợ và bản dựng chính xác được chọn để triển khai. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Sự phân biệt này giúp tránh xem một đường dẫn tài liệu công khai như bằng chứng cho một bản phát hành đã hoàn tất. Các nguồn hiện có xác nhận rằng tài liệu Odoo 20 và công việc trên nhánh đều có thể nhìn thấy, nhưng chúng không cung cấp một danh sách kiểm tra chấp nhận phát hành đầy đủ. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

RPC cũ vẫn còn dùng được nhưng bị lỗi thời

Các kế hoạch dựa trên việc kỳ vọng loại bỏ XML-RPC và JSON-RPC trong Odoo 20 nên được xem xét lại. Vị trí hiện tại hoãn việc loại bỏ đến Odoo 21.1/22 và giữ cả hai dịch vụ cũ có sẵn trong Odoo 20 và 21. JSON-2 cũng có sẵn song song với chúng. (Odoo pull Docs: 16925) Vì vậy, các tổ chức có thể xem lại mức độ khẩn cấp của những bản viết lại được lên kế hoạch chỉ để tránh một sự cố ngừng hoạt động trên Odoo 20, đồng thời tiếp tục công việc cần thiết để rời khỏi các giao diện đã bị lỗi thời. (Odoo pull Docs: 16925)

Những người phụ trách tích hợp nên lập một danh mục việc sử dụng XML-RPC và JSON-RPC trên toàn bộ mã tùy chỉnh, hệ thống bên ngoài và các kết nối được quản lý ngoài phần triển khai Odoo cốt lõi. Sau đó, mỗi phụ thuộc có thể được gán cho một người phụ trách, kiểm thử trên phiên bản Odoo mục tiêu và đánh giá khả năng chuyển sang JSON-2. (Odoo pull Docs: 16925) Vì điểm loại bỏ được nêu là Odoo 21.1/22, việc lập kế hoạch nên theo tài liệu cho đúng phiên bản mục tiêu thay vì xem cách diễn đạt đó như một hạn chót theo lịch. (Odoo pull Docs: 16925)

Đối với Odoo 20 và 21, việc dùng RPC cũ là một rủi ro bị ngừng hỗ trợ và có thể bị loại bỏ trong tương lai, chứ không phải là xác nhận rằng các dịch vụ đó không còn tồn tại. Kiểm thử nâng cấp vẫn nên xem xét xác thực, xử lý yêu cầu, hành vi lỗi và kết quả nghiệp vụ do từng tích hợp tạo ra. (Odoo pull Docs: 16925) Nguồn xác nhận rằng có thể tồn tại song song với JSON-2, nhưng không nói rằng mọi lệnh gọi cũ đều có một tương đương JSON-2 giống hệt hoặc việc chuyển đổi sẽ không cần thay đổi ứng dụng. (Odoo pull Docs: 16925)

Việc hoãn lại tạo thêm thời gian cho chuyển đổi theo giai đoạn, nhưng không nên xem đó là lý do để bỏ sót việc ghi chép các phụ thuộc. Một kế hoạch thực tế có thể duy trì các tích hợp hiện có trong quá trình nâng cấp Odoo 20 hoặc 21, đồng thời chuyển chúng sang JSON-2 trước điểm loại bỏ đã nêu. Lộ trình nên được xem xét lại nếu Odoo thay đổi kế hoạch phiên bản một lần nữa. (Odoo pull Docs: 16925)

Mức tối thiểu của Python và PostgreSQL tăng lên

Odoo đã chọn Python 3.12 làm phiên bản Python tối thiểu cho Odoo 20 và PostgreSQL 15 làm phiên bản PostgreSQL tối thiểu. (mergebot.odoo.com) Các yêu cầu này cần được đưa vào các buổi rà soát mức sẵn sàng cho các cài đặt tự quản lý và các môi trường khác mà tổ chức kiểm soát nền tảng ứng dụng hoặc cơ sở dữ liệu. Những hệ thống thấp hơn một trong hai mức tối thiểu sẽ cần thay đổi nền tảng trước khi có thể được xem xét theo đường cơ sở Odoo 20 đã nêu. (mergebot.odoo.com)

Việc kiểm tra phiên bản nên bao gồm môi trường phát triển, kiểm thử, staging, sản xuất, khôi phục sao lưu và khôi phục sau thảm họa. Các image build, định nghĩa triển khai và quy trình khôi phục cũng có thể chỉ định phiên bản Python hoặc PostgreSQL và nên được rà soát theo các mức tối thiểu mới. (mergebot.odoo.com)

Nguồn xác lập các phiên bản tối thiểu đã chọn nhưng không mô tả mọi điều kiện tương thích đối với hệ điều hành, các gói Python, các phần mở rộng PostgreSQL hoặc các mô-đun Odoo của bên thứ ba. (mergebot.odoo.com) Vì vậy, các tổ chức nên kiểm thử bộ mô-đun thực tế và thiết kế triển khai của mình trên Python 3.12 và PostgreSQL 15. Đáp ứng các phiên bản tối thiểu là một yêu cầu của nền tảng, không phải là bằng chứng rằng mọi thành phần tùy chỉnh hoặc của bên thứ ba đều tương thích. (mergebot.odoo.com)

Cách điều chỉnh kế hoạch Odoo 20

Một kế hoạch sẵn sàng cho Odoo 20 có thể chia công việc thành ba luồng. Luồng thứ nhất là theo dõi tài liệu công khai 20.0 và việc đưa nhánh lên staging để nắm các thay đổi liên quan đến quy trình nghiệp vụ và thiết kế kỹ thuật. Luồng thứ hai là chuyển việc di trú RPC cũ từ một chặn đứng việc loại bỏ của Odoo 20 sang công việc ngừng hỗ trợ theo lịch, hoàn thành trước điểm loại bỏ Odoo 21.1/22 đã nêu. Luồng thứ ba là xác minh hạ tầng theo các mức tối thiểu Python 3.12 và PostgreSQL 15. (Odoo 20.0 Docs: eCommerce B2b B2c; Odoo pull Docs: 16925; mergebot.odoo.com; Runbot Merge)

Cách tiếp cận này tránh hai sai lầm trong lập kế hoạch. Một là trì hoãn mọi chuẩn bị vì các nguồn này không xác lập một cột mốc phát hành chung. Sai lầm còn lại là xem tài liệu công khai và hoạt động staging như bằng chứng rằng mọi tính năng, giao diện và yêu cầu triển khai đều đã chốt. Các nguồn này ủng hộ công việc chuẩn bị, còn phê duyệt cuối cùng nên phụ thuộc vào việc xác minh theo bản phát hành và môi trường triển khai đã chọn. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Kiểm kê RPC có thể tiến hành độc lập với quyết định phát hành cuối cùng của Odoo 20 vì lập trường hiện tại xác định dịch vụ kế thừa vẫn tiếp tục được cung cấp và có một mốc loại bỏ muộn hơn. Các nhóm hạ tầng cũng có thể xác định các môi trường thấp hơn Python 3.12 hoặc PostgreSQL 15 trước khi lịch trình di chuyển ứng dụng được chốt. (Odoo pull Docs: 16925; mergebot.odoo.com)

Các kiểm tra trước khi phê duyệt một lần di chuyển

Trước khi phê duyệt một lần di chuyển sang Odoo 20, người ra quyết định nên xác minh chính xác bản dựng đang được xem xét, tài liệu áp dụng cho các ứng dụng của họ và liệu các thay đổi đã được đưa vào giai đoạn có liên quan có bị sửa đổi trong quá trình chuẩn bị phát hành hay không. Tài liệu công khai 20.0 và hoạt động của nhánh cho thấy tiến triển nhưng không xác định trạng thái phát hành cuối cùng. (Odoo 20.0 Docs: eCommerce B2b B2c; Runbot Merge)

Quy trình phê duyệt cũng nên bao gồm danh sách có tài liệu về các phụ thuộc XML-RPC và JSON-RPC, một chủ sở hữu và phương án di chuyển cho từng phụ thuộc, cùng bằng chứng kiểm thử cho mọi chuyển sang JSON-2. Các tích hợp hiện có có thể tiếp tục dùng các dịch vụ đã lỗi thời trong Odoo 20 và 21 theo lập trường hiện tại, nhưng kế hoạch nên xử lý việc loại bỏ ở Odoo 21.1/22. (Odoo pull Docs: 16925)

Cuối cùng, các nhóm nên xác nhận Python 3.12 và PostgreSQL 15 trên toàn bộ môi trường sản xuất, phi sản xuất và khôi phục. Các mô-đun tùy chỉnh, gói bên ngoài và quy trình vận hành nên được kiểm thử trên các phiên bản đó thay vì mặc định tương thích chỉ dựa trên quyết định về phiên bản tối thiểu. (mergebot.odoo.com)

Lập trường hiện tại hỗ trợ chuẩn bị sớm mà không ngụ ý rằng Odoo 20 là bản cuối cùng: tài liệu công khai và giai đoạn nhánh có sẵn để xem xét, RPC kế thừa vẫn bị coi là lỗi thời nhưng còn được cung cấp qua Odoo 20 và 21, và các mức tối thiểu của nền tảng tăng lên Python 3.12 và PostgreSQL 15. (Odoo 20.0 Docs: eCommerce B2b B2c; Odoo pull Docs: 16925; mergebot.odoo.com; Runbot Merge)