Glavna Odoojeva dokumentacija navaja, da je zastarela storitev RPC za podatkovno bazo odstranjena v Odoo 20. Širša API-ja XML-RPC in JSON-RPC sta zastarela od različice 19.0, vendar Odoo 20 ne odstrani vseh starih storitev. Odoo dokumentira, da storitvi common in object ostajata na voljo do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracijske ekipe morajo zato prepoznati storitev, ki jo uporablja vsaka zunanja povezava, namesto da bi podporo za stare RPC obravnavale kot eno samo funkcijo z enim datumom odstranitve.
Odoojeva stran dogodka za Amerike je navedla, da bo Odoo 20 izdan med dogodkom v San Franciscu 2. in 3. septembra 2026. (Oxp26 Americas Introduction) Načrtovanje nadgradenj lahko že zdaj upošteva dokumentirano odstranitev storitve za podatkovno bazo, vendar je treba odločitve za produkcijo preveriti glede na končno dokumentacijo izdaje Odoo 20.
Odstranitev velja za določeno storitev
Odoo označuje `/xmlrpc`, `/xmlrpc/2` in `/jsonrpc` kot zastarele končne točke, ki so zastarele od različice 19.0. V okviru teh API-jev je storitev za podatkovno bazo odstranjena v Odoo 20, medtem ko je predvideno, da bosta storitvi common in object ostali do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integracija, ki uporablja ohranjeno storitev, lahko po nadgradnji na Odoo 20 še naprej deluje, vendar sama končna točka ne dokazuje združljivosti.
Sistem lahko prek starega vmesnika RPC uporablja različne storitve. Pregled integracije mora zato zapisati tako končno točko kot tudi klicano storitev. Opis aplikacije zgolj kot integracije XML-RPC ali JSON-RPC ne pokaže, ali je odvisna od operacije, ki je bila v Odoo 20 odstranjena. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Nadaljnja razpoložljivost storitev common in object je začasna. Odoo obe načrtuje odstraniti v Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Ekipe lahko ločijo nujno delo na klicih storitve za podatkovno bazo od migracije ohranjenih storitev, vendar obe zahtevata načrt.
JSON-2 spreminja pogodbo zahtevka
Odoo dokumentira JSON-2 kot nadomestni API. Njegova oblika končne točke je `/json/2/<model>/<method>`, pri čemer sta model in metoda vključena v URL. (Odoo master Docs: Reference External API) Migracija zato pomeni več kot le zamenjavo osnovne poti v obstoječem odjemalcu RPC. Vsako operacijo je treba preslikati na ustrezno pot modela in metode.
JSON-2 zahteva imenovane argumente v telesu JSON zahtevka namesto pozicijskih argumentov RPC. (Odoo master Docs: Reference External API) Obstoječi ovijalniki, vmesna programska oprema in generirani odjemalci lahko predvidevajo, da vrstni red argumentov določa pomen. Te komponente je treba pregledati posamezno. Preusmeritev stare zahteve na novo končno točko ne bo delovala, če odjemalec še naprej sestavlja pozicijske parametre.
Za vsako migrirano operacijo morajo ekipe dokumentirati ciljni model, metodo in imenovane argumente, ki jih zahteva JSON-2. (Odoo master Docs: Reference External API) Zahteve je treba nato preizkusiti v ustreznem okolju Odoo 20, zlasti kadar skupna integracijska knjižnica sestavlja klice za več aplikacij. Statične primerjave koristnih podatkov ne morejo potrditi, kako strežnik ali odjemalec obravnavata celoten zahtevek.
Tudi preverjanje pristnosti se mora spremeniti
JSON-2 uporablja preverjanje pristnosti z API-ključem bearer. (Odoo master Docs: Reference External API)Migracijsko delo mora zajemati ustvarjanje ključev, varno shranjevanje, obravnavo avtentikacijskih glav in zamenjavo ključev. Preveriti je treba posrednike, prehode in odjemalske knjižnice, da se zagotovi, da pri posredovanju zahtev ohranijo glavo. Pregledati je treba tudi beleženje, nadzor in obravnavo napak, da poverilnice ne bodo razkrite.
Dokumentacija določa način avtentikacije, vendar mora vsaka organizacija sama določiti, kako API-ključi ustrezajo njenim kontrolam poverilnic. (Odoo master Docs: Reference External API) To vključuje dodelitev odgovornosti za ključe, nadzor nad tem, kje se lahko uporabljajo, in opredelitev, kako bodo prizadete integracije posodobljene ob zamenjavi ključa.
Polja binarne vrste imajo ločeno spremembo združljivosti
Odoojev dnevnik sprememb ORM beleži še eno spremembo RPC v Odoo 20: predstavitev binarnih polj doda `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) To je ločeno od odstranitve storitve za podatkovno zbirko, ker spreminja vrnjene podatke, ne pa razpoložljivosti storitve. Aplikacije, ki berejo, preoblikujejo ali preverjajo odgovore z binarnimi polji, je treba vključiti v testiranje združljivosti.
Dnevnik sprememb potrjuje, da je član `filename` dodan, vendar je njegov praktični učinek odvisen od odjemalca. (Odoo master Docs: Orm Changelog) Testi morajo preveriti, ali stroge sheme, serializatorji, primerjave odgovorov in nadaljnje preobrazbe sprejmejo dodatni član. Odjemalci, ki ne upoštevajo neznanih polj, morda ne bodo potrebovali prilagoditev, vendar je treba to vedenje preveriti, ne pa predpostaviti.
Kako določiti obseg revizije integracije
Začnite z identifikacijo povezav, ki uporabljajo `/xmlrpc`, `/xmlrpc/2` ali `/jsonrpc`, ki jih Odoo označuje kot zastarele končne točke. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Inventar naj zajema interno razvite aplikacije, vmesno programsko opremo, načrtovane procese in povezovalnike tretjih oseb, kjer sta konfiguracija ali izvorna koda na voljo. Vsaki povezavi dodelite odgovorno osebo, da je mogoče preveriti njen namen in stanje.
Nato vsako povezavo razvrstite glede na podedovano storitev. Uporaba storitve za podatkovno zbirko zahteva odpravo za Odoo 20, medtem ko je uporaba storitev common in object še vedno dokumentirana kot na voljo do Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) To podpira postopni načrt: najprej odpravite nezdružljivost z Odoo 20, nato določite datume selitve za preostale zastarele klice.
Za integracije, ki prehajajo na JSON-2, zabeležite pot `/json/2/<model>/<method>`, poimenovane argumente zahtevka in avtentikacijo API-ključa z nosilcem, ki jo zahteva nadomestni vmesnik. (Odoo master Docs: Reference External API) Testni primeri naj pokrivajo uspešne zahteve, zavrnjeno avtentikacijo, neveljavne poimenovane argumente in obravnavo vrnjenih podatkov v aplikaciji. Dodajte primere binarnih polj povsod, kjer se ta polja pojavijo.
Potrdite končno vedenje Odoo 20
Podrobnosti o odstranitvi izhajajo iz Odoojeve master razvijalske dokumentacije, medtem ko napovedani čas izdaje izhaja iz strani dogodka, ki navaja, da bo Odoo 20 izdan med dogodkom Americas septembra 2026. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Pred uvedbo v produkcijo naj ekipe znova preverijo dokumentacijo za izdano različico Odoo 20 ter natančno izdajo in gradnjo, ki jo nameravajo uporabiti.
Uporaba zastarele končne točke RPC sama po sebi ne dokazuje, da integracija v Odoo 20 ne bo več delovala, ker sta storitvi common in object dokumentirani kot na voljo do Odoo 22. Nasprotno pa uspešno delovanje v prejšnji različici ne vzpostavlja združljivosti za klic storitve za podatkovno zbirko po njeni odstranitvi. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Kontrolni seznam za odločitev o nadgradnji
Pred odobritvijo nadgradnje na Odoo 20 naj odločevalci zahtevajo register integracij, ki prikazuje vsako zastarelo končno točko, klicano storitev, njenega lastnika in načrtovano odpravo. Odvisnosti od storitve za podatkovno zbirko bi morale imeti preizkušeno zamenjavo. Integracije, ki ostajajo na storitvah common ali object, bi morale imeti ločen datum selitve, ki odraža njuno dokumentirano odstranitev v Odoo 22. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Pregled mora potrditi, da implementacije JSON-2 postavijo model in metodo v URL, uporabljajo poimenovane argumente JSON in se overijo z API-ključem bearer. Kadar so prisotna binarna polja, mora testiranje upoštevati dodatek `BinaryValue.filename`. (Odoo master Docs: Reference External API; Odoo master Docs: Orm Changelog) Ti preverjanji ločujeta takojšnjo odstranitev storitve baze podatkov v Odoo 20 od poznejše ukinitve preostalih zapuščinskih storitev.
