Odoo pagrindinėje dokumentacijoje nurodoma, kad sena RPC duomenų bazės paslauga Odoo 20 yra pašalinama. Platesnės XML-RPC ir JSON-RPC API nuo 19.0 versijos yra nebepalaikomos, tačiau Odoo 20 nepašalina visų senųjų paslaugų. Odoo dokumentacijoje nurodoma, kad bendroji ir objekto paslaugos lieka prieinamos iki Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Todėl integracijų komandos turi nustatyti, kokia paslauga naudojama kiekvienam išoriniam ryšiui, o ne laikyti senosios RPC palaikymą viena funkcija su viena pašalinimo data.

Odoo Amerikos renginio puslapyje buvo nurodyta, kad Odoo 20 bus išleista per San Fransisko renginį 2026 m. rugsėjo 2 ir 3 d. (Oxp26 Americas Introduction) Atnaujinimo planavimas jau dabar gali atsižvelgti į dokumentuotą duomenų bazės paslaugos pašalinimą, tačiau gamybos sprendimus reikėtų tikrinti pagal galutinę Odoo 20 leidimo dokumentaciją.

Pašalinimas taikomas konkrečiai paslaugai

Odoo nurodo `/xmlrpc`, `/xmlrpc/2` ir `/jsonrpc` kaip senus galinius taškus, nebepalaikomus nuo 19.0 versijos. Šiose API duomenų bazės paslauga Odoo 20 yra pašalinama, o bendroji ir objekto paslaugos planuojamos palikti iki Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracija, kuri naudoja paliktą paslaugą, gali veikti ir po atnaujinimo į Odoo 20, tačiau vien galinis taškas nesuteikia suderinamumo garantijos.

Sistema per senąją RPC sąsają gali naudoti skirtingas paslaugas. Todėl integracijos peržiūroje reikėtų užfiksuoti ir galinį tašką, ir kviečiamą paslaugą. Apibūdinti programą tik kaip XML-RPC ar JSON-RPC integraciją neparodo, ar ji priklauso nuo operacijos, pašalintos Odoo 20. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Tolesnis bendrosios ir objekto paslaugų prieinamumas yra laikinas. Odoo numato abi jas pašalinti Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Komandos gali atskirti skubius darbus su duomenų bazės paslaugos kvietimais nuo paliktų paslaugų migracijos, tačiau abiem atvejais reikia plano.

JSON-2 keičia užklausos sutartį

Odoo JSON-2 aprašo kaip pakeičiamąją API. Jos galinio taško formatas yra `/json/2/<model>/<method>`, o modelis ir metodas įtraukiami į URL. (Odoo master Docs: Reference External API) Todėl migracija reiškia daugiau nei tik pagrindinio kelio pakeitimą esamame RPC kliente. Kiekviena operacija turi būti susieta su tinkamu modelio ir metodo maršrutu.

JSON-2 reikalauja įvardytų argumentų JSON užklausos kūne, o ne pozicinių RPC argumentų. (Odoo master Docs: Reference External API) Esami apvalkalai, tarpinė programinė įranga ir sugeneruoti klientai gali manyti, kad argumentų seka lemia reikšmę. Tuos komponentus reikia peržiūrėti atskirai. Senos užklausos nukreipimas į naują galinį tašką neveiks, jei klientas ir toliau kurs pozicinius parametrus.

Kiekvienai perkeliamai operacijai komandos turėtų dokumentuoti tikslinį modelį, metodą ir JSON-2 reikalingus įvardytus argumentus. (Odoo master Docs: Reference External API) Tada užklausas reikėtų išbandyti atitinkamoje Odoo 20 aplinkoje, ypač kai bendra integracijos biblioteka kuria kvietimus kelioms programoms. Statinis apkrovų palyginimas negali patvirtinti, kaip serveris ar klientas apdoroja visą užklausą.

Taip pat turi keistis autentifikavimas

JSON-2 naudoja API rakto autentifikavimą su bearer tokenu. (Odoo master Docs: Reference External API)Migracijos darbai turėtų apimti raktų kūrimą, saugų saugojimą, autorizacijos antraštės tvarkymą ir raktų keitimą. Tarpiniai serveriai, vartai ir klientų bibliotekos turėtų būti patikrinti, siekiant užtikrinti, kad perduodant užklausas antraštė būtų išsaugota. Taip pat reikėtų peržiūrėti žurnalavimą, stebėseną ir klaidų tvarkymą, kad įgaliojimai nebūtų atskleisti.

Dokumentacijoje nustatomas autentifikavimo metodas, tačiau kiekviena organizacija turi nuspręsti, kaip API raktai dera su jos prieigos duomenų valdymo kontrole. (Odoo master Docs: Reference External API) Tai apima atsakomybės už raktus priskyrimą, naudojimo vietų kontrolę ir apibrėžimą, kaip paveiktos integracijos bus atnaujintos pakeitus raktą.

Dvejetainių laukų suderinamumo pakeitimas yra atskiras

Odoo ORM pakeitimų žurnale nurodytas dar vienas Odoo 20 RPC pakeitimas: dvejetainių laukų vaizdavimas papildomas `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Tai yra atskira nuo duomenų bazės paslaugos pašalinimo, nes keičiasi grąžinami duomenys, o ne paslaugos prieinamumas. Programos, kurios skaito, transformuoja arba validuoja atsakymus su dvejetainiais laukais, turėtų būti įtrauktos į suderinamumo testavimą.

Pakeitimų žurnalas patvirtina, kad pridedamas `filename` narys, tačiau jo praktinis poveikis priklauso nuo kliento. (Odoo master Docs: Orm Changelog) Testuose reikėtų patikrinti, ar griežtos schemos, serializatoriai, atsakymų palyginimai ir tolimesnės transformacijos priima papildomą narį. Klientams, kurie ignoruoja nežinomus laukus, gali nereikėti jokių pakeitimų, tačiau tai turėtų būti patikrinta, o ne laikoma savaime suprantamu dalyku.

Kaip aprėpti integracijos auditą

Pradėkite nuo jungčių, kurios naudoja `/xmlrpc`, `/xmlrpc/2` arba `/jsonrpc`, identifikavimo, nes Odoo jas žymi kaip nebenaudojamus galinius taškus. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Inventoriuje turėtų būti aprėptos viduje sukurtos programos, tarpinė programinė įranga, suplanuoti procesai ir trečiųjų šalių jungtys, jei yra prieinama konfigūracija arba šaltinio kodas. Kiekvienai jungčiai paskirkite atsakingą asmenį, kad būtų galima patikrinti jos paskirtį ir būseną.

Tada klasifikuokite kiekvieną jungtį pagal senąją paslaugą. Duomenų bazės paslaugos naudojimui reikės taisymo Odoo 20 versijoje, o bendrosios ir objektų paslaugos naudojimas vis dar nurodomas kaip prieinamas iki Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Tai padeda rengti etapais pagrįstą planą: pirmiausia pašalinkite Odoo 20 nesuderinamumą, tada nustatykite likusių nebenaudojamų iškvietimų migracijos datas.

Integracijoms, pereinančioms į JSON-2, užfiksuokite `/json/2/<model>/<method>` maršrutą, įvardytus užklausos argumentus ir bearer API rakto autentifikavimą, reikalingą pakeitimo sąsajai. (Odoo master Docs: Reference External API) Testų atvejai turėtų apimti sėkmingas užklausas, atmestą autentifikavimą, neteisingus įvardytus argumentus ir programos elgseną grąžintų duomenų atžvilgiu. Pridėkite dvejetainių laukų atvejus ten, kur tie laukai pasitaiko.

Patvirtinkite galutinę Odoo 20 elgseną

Pašalinimo detalės yra paimtos iš Odoo pagrindinės kūrėjų dokumentacijos, o paskelbtas išleidimo laikas nurodytas renginio puslapyje, kuriame sakoma, kad Odoo 20 bus išleistas per 2026 m. rugsėjo Americas renginį. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Prieš diegdamos komandos turėtų dar kartą patikrinti išleistos Odoo 20 versijos dokumentaciją ir tikslų leidimą bei versiją, kurią jos ketina naudoti.

Vien nebenaudojamo RPC galinio taško naudojimas pats savaime neįrodo, kad integracija nustos veikti Odoo 20, nes bendroji ir objektų paslaugos dokumentuotos kaip prieinamos iki Odoo 22. Ir atvirkščiai, sėkmingas veikimas ankstesnėje versijoje neužtikrina suderinamumo su duomenų bazės paslaugos iškvietimu po jos pašalinimo. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Atnaujinimo sprendimo kontrolinis sąrašas

Prieš tvirtinant Odoo 20 atnaujinimą, sprendimų priėmėjai turėtų paprašyti integracijų registro, kuriame būtų nurodytas kiekvienas nebenaudojamas galinis taškas, iškviesta paslauga, jos atsakingas asmuo ir planuojamas taisymas. Duomenų bazės paslaugų priklausomybės turėtų turėti išbandytą pakeitimą. Integracijos, kurios lieka bendrosiose arba objektų paslaugose, turėtų turėti atskirą migracijos datą, atitinkančią jų dokumentuotą pašalinimą Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)

Peržiūra turėtų patvirtinti, kad JSON-2 įgyvendinimai modelį ir metodą pateikia URL, naudoja įvardytus JSON argumentus ir autentifikuojasi naudodami bearer API raktą. Kai yra dvejetainių laukų, testavimas turėtų atsižvelgti į `BinaryValue.filename` pridėjimą. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Šie patikrinimai leidžia atskirti nedelsiamą Odoo 20 duomenų bazės paslaugos pašalinimą nuo vėlesnio likusių senųjų paslaugų nutraukimo.