Odoo galvenā dokumentācija norāda, ka mantotais RPC datubāzes pakalpojums tiek noņemts Odoo 20. Plašākās XML-RPC un JSON-RPC API ir novecojušas kopš 19.0 versijas, taču Odoo 20 nenovāc visus mantotos pakalpojumus. Odoo dokumentē, ka common un object pakalpojumi paliek pieejami līdz Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Tāpēc integrāciju komandām ir jānosaka, kuru pakalpojumu izmanto katrs ārējais savienojums, nevis jāuzskata mantotā RPC atbalsta noņemšana par vienu funkciju ar vienu noņemšanas datumu.

Odoo Ameriku pasākuma lapa norādīja, ka Odoo 20 tiks izlaists Sanfrancisko pasākuma laikā 2026. gada 2. un 3. septembrī. (Oxp26 Americas Introduction) Jaunināšanas plānošanā tagad var ņemt vērā dokumentēto datubāzes pakalpojuma noņemšanu, taču ražošanas lēmumi jāpārbauda saskaņā ar galīgo Odoo 20 laidiena dokumentāciju.

Noņemšana attiecas uz konkrētu pakalpojumu

Odoo nosauc `/xmlrpc`, `/xmlrpc/2` un `/jsonrpc` par mantotajiem gala punktiem, kas novecojuši kopš 19.0 versijas. Šo API ietvaros datubāzes pakalpojums tiek noņemts Odoo 20, savukārt common un object pakalpojumi ir paredzēti saglabāšanai līdz Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integrācija, kas izmanto saglabātu pakalpojumu, pēc Odoo 20 jaunināšanas var turpināt darboties, taču pats gala punkts vēl nenozīmē saderību.

Sistēma var izmantot dažādus pakalpojumus, izmantojot mantoto RPC saskarni. Tāpēc integrācijas pārskatā jāfiksē gan gala punkts, gan izsauktais pakalpojums. Lietojumprogrammas apraksts tikai kā XML-RPC vai JSON-RPC integrācija neparāda, vai tā ir atkarīga no operācijas, kas noņemta Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Common un object pakalpojumu turpmākā pieejamība ir īslaicīga. Odoo paredz abu noņemšanu Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Komandas var atdalīt steidzamus darbus pie datubāzes pakalpojuma izsaukumiem no saglabāto pakalpojumu migrācijas, taču abiem ir vajadzīgs plāns.

JSON-2 maina pieprasījuma līgumu

Odoo dokumentē JSON-2 kā aizvietojošo API. Tās gala punkta formāts ir `/json/2/<model>/<method>`, kur modelis un metode ir iekļauti URL. (Odoo master Docs: Reference External API) Tāpēc migrācija nozīmē vairāk nekā tikai bāzes ceļa aizstāšanu esošā RPC klientā. Katra operācija ir jāsasaista ar atbilstošo modeļa un metodes maršrutu.

JSON-2 pieprasa nosauktus argumentus JSON pieprasījuma struktūrā, nevis pozicionālos RPC argumentus. (Odoo master Docs: Reference External API) Esošie starpniekslāņi, starpprogrammatūra un ģenerētie klienti var pieņemt, ka argumentu secība nosaka nozīmi. Šie komponenti ir jāpārskata atsevišķi. Novirzīt mantoto pieprasījumu uz jauno gala punktu nedarbosies, ja klients turpinās veidot pozicionālos parametrus.

Katram migrētajam darbības veidam komandām jādokumentē mērķa modelis, metode un JSON-2 nepieciešamie nosauktie argumenti. (Odoo master Docs: Reference External API) Pēc tam pieprasījumi jāpārbauda attiecīgajā Odoo 20 vidē, īpaši tad, ja koplietota integrācijas bibliotēka veido izsaukumus vairākām lietotnēm. Statiskie payload salīdzinājumi nevar apstiprināt, kā serveris vai klients apstrādā visu pieprasījumu.

Autentifikācijai arī jāmainās

JSON-2 izmanto bearer API atslēgas autentifikāciju. (Odoo master Docs: Reference External API)Migrācijas darbiem jāpārklāj atslēgu izveide, droša glabāšana, autorizācijas galvenes apstrāde un atslēgu nomaiņa. Starpniekserveri, vārtejas un klientu bibliotēkas jāpārbauda, lai pārliecinātos, ka tie, pārsūtot pieprasījumus, saglabā galveni. Jāpārskata arī reģistrēšana, uzraudzība un kļūdu apstrāde, lai akreditācijas dati netiktu atklāti.

Dokumentācija nosaka autentifikācijas metodi, taču katrai organizācijai pašai jānosaka, kā API atslēgas iekļaujas tās akreditācijas datu kontrolē. (Odoo master Docs: Reference External API)Tas ietver atbildības piešķiršanu par atslēgām, vietu kontroli, kur tās var izmantot, un to, kā tiks atjauninātas ietekmētās integrācijas, kad atslēga tiek nomainīta.

Binārajiem laukiem ir atsevišķa saderības izmaiņa

Odoo ORM izmaiņu žurnāls reģistrē vēl vienu Odoo 20 RPC izmaiņu, bināro lauku attēlojumam tiek pievienots `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Tas ir atsevišķi no datubāzes pakalpojuma noņemšanas, jo tas maina atgrieztos datus, nevis pakalpojuma pieejamību. Lietojumprogrammas, kas nolasa, pārveido vai validē atbildes ar binārajiem laukiem, jāiekļauj saderības testēšanā.

Izmaiņu žurnāls apstiprina, ka tiek pievienots `filename` dalībnieks, taču tā praktiskā ietekme ir atkarīga no klienta. (Odoo master Docs: Orm Changelog) Pārbaudēs jānoskaidro, vai stingras shēmas, serializatori, atbilžu salīdzinājumi un pakārtotās transformācijas pieņem papildu dalībnieku. Klientiem, kas ignorē neatpazītus laukus, var nebūt vajadzīgas izmaiņas, taču šāda rīcība jāpārbauda, nevis jāpieņem.

Kā noteikt integrācijas audita tvērumu

Sāciet ar savienojumu identificēšanu, kas izmanto `/xmlrpc`, `/xmlrpc/2` vai `/jsonrpc`, kurus Odoo apzīmē kā novecojušus galapunktus. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Inventarizācijā jāiekļauj iekšēji izstrādātas lietojumprogrammas, starpprogrammatūra, plānotie procesi un trešo pušu savienotāji, kur ir pieejama konfigurācija vai pirmkods. Katram savienojumam piešķiriet īpašnieku, lai varētu pārbaudīt tā mērķi un statusu.

Pēc tam klasificējiet katru savienojumu pēc mantotā pakalpojuma. Datubāzes pakalpojuma izmantošanai nepieciešama novēršana Odoo 20 gadījumā, savukārt kopējā un objektu pakalpojuma izmantošana joprojām ir dokumentēta kā pieejama līdz Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Tas atbalsta pakāpenisku plānu: vispirms novērsiet Odoo 20 nesaderību, pēc tam nosakiet migrācijas datumus pārējiem novecojušajiem izsaukumiem.

Integrācijām, kas pāriet uz JSON-2, fiksējiet `/json/2/<model>/<method>` maršrutu, nosauktos pieprasījuma argumentus un bearer API atslēgas autentifikāciju, kas nepieciešama aizstājošajai saskarnei. (Odoo master Docs: Reference External API) Testēšanas gadījumiem jāaptver veiksmīgi pieprasījumi, noraidīta autentifikācija, nederīgi nosauktie argumenti un lietojumprogrammas atbildes datu apstrāde. Pievienojiet bināro lauku gadījumus visur, kur šie lauki parādās.

Apstipriniet galīgo Odoo 20 uzvedību

Noņemšanas detaļas ir ņemtas no Odoo master izstrādātāju dokumentācijas, savukārt paziņotais izlaiduma laiks ir no pasākuma lapas, kurā norādīts, ka Odoo 20 tiks izlaists 2026. gada septembra Amerikas pasākuma laikā. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Pirms ieviešanas komandām vēlreiz jāpārbauda dokumentācija par izlaisto Odoo 20 versiju un precīzo izdevumu un būvējumu, ko tās plāno izmantot.

Novecojuša RPC galapunkta izmantošana pati par sevi nepierāda, ka integrācija pārstās darboties Odoo 20, jo kopējie un objektu pakalpojumi joprojām ir dokumentēti līdz Odoo 22. Savukārt veiksmīga darbība agrākā versijā nenosaka saderību datubāzes pakalpojuma izsaukumam pēc tā noņemšanas. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Pārbaudes saraksts jauninājuma lēmumam

Pirms apstiprināt Odoo 20 jaunināšanu, lēmumu pieņēmējiem jāpieprasa integrāciju reģistrs, kurā redzams katrs novecojušais galapunkts, izsauktais pakalpojums, tā īpašnieks un plānotā novēršana. Atkarībām no datubāzes pakalpojuma jābūt ar pārbaudītu aizstājēju. Integrācijām, kas paliek pie kopējiem vai objektu pakalpojumiem, jābūt atsevišķam migrācijas datumam, kas atspoguļo to dokumentēto noņemšanu Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Pārskatam jāapstiprina, ka JSON-2 ieviešanā modelis un metode tiek iekļauti URL, tiek izmantoti nosaukti JSON argumenti un autentifikācija notiek ar bearer API atslēgu. Ja ir binārie lauki, testēšanā jāņem vērā `BinaryValue.filename` pievienošana. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Šīs pārbaudes atšķir tūlītēju Odoo 20 datubāzes pakalpojuma noņemšanu no vēlākas pārējo mantoto pakalpojumu izņemšanas.