Odoon master-dokumentaatio kertoo, että vanha RPC-tietokantapalvelu poistetaan Odoo 20:ssa. Laajemmat XML-RPC- ja JSON-RPC-API:t on poistettu käytöstä versiosta 19.0 alkaen, mutta Odoo 20 ei poista kaikkia vanhoja palveluja. Odoo dokumentoi common- ja object-palveluiden olevan käytettävissä Odoo 22:een asti. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integraatiotiimien on siksi tunnistettava, mitä palvelua kukin ulkoinen yhteys käyttää, eikä käsiteltävä vanhan RPC:n tukea yhtenä ominaisuutena, jolla on yksi poistumispäivä.
Odoon Americas-tapahtumasivu kertoi, että Odoo 20 julkaistaisiin San Franciscon tapahtumassa 2. ja 3. syyskuuta 2026. (Oxp26 Americas Introduction) Päivityssuunnittelussa voidaan jo nyt huomioida dokumentoitu tietokantapalvelun poistaminen, mutta tuotantopäätökset tulisi tarkistaa Odoo 20:n lopullisesta julkaisudokumentaatiosta.
Poisto koskee tiettyä palvelua
Odoo nimeää `/xmlrpc`, `/xmlrpc/2` ja `/jsonrpc` vanhoiksi päätepisteiksi, jotka on poistettu käytöstä versiosta 19.0 alkaen. Näiden API:en sisällä tietokantapalvelu poistetaan Odoo 20:ssa, kun taas common- ja object-palveluiden on tarkoitus säilyä Odoo 22:een asti. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Integraatio, joka käyttää säilyvää palvelua, voi jatkaa toimintaansa Odoo 20 -päivityksen jälkeen, mutta pelkkä päätepiste ei vielä osoita yhteensopivuutta.
Järjestelmä voi käyttää eri palveluja vanhan RPC-rajapinnan kautta. Siksi integraatiotarkistuksessa tulisi kirjata sekä päätepiste että kutsuttu palvelu. Sovelluksen kuvaaminen vain XML-RPC- tai JSON-RPC-integraatioksi ei osoita, riippuuko se Odoo 20:ssa poistetusta operaatiosta. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
common- ja object-palveluiden jatkuva saatavuus on tilapäistä. Odoo suunnittelee molempien poistamista Odoo 22:ssa. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Tiimit voivat erottaa tietokantapalvelukutsujen kiireellisen työn säilyvien palvelujen migraatiosta, mutta molemmat vaativat suunnitelman.
JSON-2 muuttaa pyyntösopimusta
Odoo dokumentoi JSON-2:n korvaavana API:na. Sen päätepisteen muoto on `/json/2/<model>/<method>`, ja malli sekä metodi sisältyvät URL-osoitteeseen. (Odoo master Docs: Reference External API) Migraatio tarkoittaa siis enemmän kuin peruspolun vaihtamista olemassa olevassa RPC-asiakkaassa. Jokainen operaatio on mapattava oikeaan malli- ja metodireittiin.
JSON-2 edellyttää nimettyjä argumentteja JSON-pyynnön rungossa, ei asemointiin perustuvia RPC-argumentteja. (Odoo master Docs: Reference External API) Olemassa olevat wrapperit, middleware-komponentit ja generoitu koodi voivat olettaa, että argumenttien järjestys määrittää merkityksen. Nämä osat on tarkistettava erikseen. Vanhan pyynnön ohjaaminen uuteen päätepisteeseen ei toimi, jos asiakas jatkaa asemointiin perustuvien parametrien rakentamista.
Jokaisesta siirretystä operaatiosta tiimien tulisi dokumentoida JSON-2:n vaatima kohdemalli, metodi ja nimetyt argumentit. (Odoo master Docs: Reference External API) Pyynnöt tulisi sitten testata asianmukaisessa Odoo 20 -ympäristössä, erityisesti silloin kun jaettu integraatiokirjasto muodostaa kutsuja useille sovelluksille. Staattiset hyötykuvien vertailut eivät voi vahvistaa, miten palvelin tai asiakas käsittelee koko pyynnön.
Myös todennuksen on muututtava
JSON-2 käyttää bearer-API-avaintodennusta. (Odoo master Docs: Reference External API) Siirtotyön tulisi kattaa avaimen luonti, turvallinen tallennus, valtuutusotsakkeen käsittely ja avaimen vaihtaminen. Välityspalvelimet, yhdyskäytävät ja asiakaskirjastot on tarkistettava sen varmistamiseksi, että ne säilyttävät otsakkeen pyyntöjä välittäessään. Myös lokitusta, valvontaa ja virheenkäsittelyä tulisi tarkastella, jotta tunnistetiedot eivät paljastu.
Dokumentaatio määrittää todennusmenetelmän, mutta kunkin organisaation on itse päätettävä, miten API-avaimet sopivat sen tunnistetietojen hallintaan. (Odoo master Docs: Reference External API) Tähän kuuluu vastuun määrittäminen avaimista, sen hallinta missä niitä voidaan käyttää, sekä sen määrittely, miten asiaankuuluvat integraatiot päivitetään, kun avain vaihdetaan.
Binaarikentillä on erillinen yhteensopivuusmuutos
Odoon ORM-muutosloki kirjaa toisen Odoo 20:n RPC-muutoksen: binaarikenttien esitykseen lisätään `BinaryValue.filename`. (Odoo master Docs: Orm Changelog) Tämä on erillinen tietokantapalvelun poistamisesta, koska se muuttaa palautettua dataa eikä palvelun saatavuutta. Sovellusten, jotka lukevat, muuntavat tai validoivat binaarikenttiä sisältäviä vastauksia, tulisi sisältyä yhteensopivuustestaukseen.
Muutosloki vahvistaa, että `filename`-jäsen lisätään, mutta sen käytännön vaikutus riippuu asiakkaasta. (Odoo master Docs: Orm Changelog) Testeissä tulisi tarkistaa, hyväksyvätkö tiukat skeemat, sarjallistajat, vastausten vertailut ja alaspäin suuntautuvat muunnokset ylimääräisen jäsenen. Asiakasohjelmat, jotka sivuuttavat tuntemattomat kentät, eivät ehkä tarvitse muutoksia, mutta tämä käyttäytyminen pitäisi varmistaa, ei olettaa.
Näin rajaat integraatio-auditoinnin
Aloita tunnistamalla yhteydet, jotka käyttävät `/xmlrpc`, `/xmlrpc/2` tai `/jsonrpc`, jotka Odoo merkitsee vanhentuneiksi päätepisteiksi. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Luettelon tulisi kattaa sisäisesti kehitetyt sovellukset, väliohjelmistot, ajastetut prosessit ja kolmannen osapuolen liittimet, joissa asetukset tai lähdekoodi ovat saatavilla. Määritä kullekin yhteydelle omistaja, jotta sen tarkoitus ja tila voidaan varmistaa.
Seuraavaksi luokittele kukin yhteys perinteisen palvelun mukaan. Tietokantapalvelun käyttö vaatii korjaamista Odoo 20:ssä, kun taas common- ja object-palvelun käyttö on dokumentoidusti saatavilla Odoo 22:een asti. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API) Tämä tukee vaiheittaista suunnitelmaa: käsittele ensin Odoo 20:n yhteensopimattomuus, ja aseta sitten siirtopäivät muille vanhentuneille kutsuille.
JSON-2:een siirtyvien integraatioiden osalta kirjaa `/json/2/<model>/<method>`-reitti, nimettyjen pyyntöargumenttien käyttö ja korvaavan rajapinnan edellyttämä bearer-API-avaintodennus. (Odoo master Docs: Reference External API) Testitapausten tulisi kattaa onnistuneet pyynnöt, hylätty todennus, virheelliset nimetyt argumentit ja palautetun datan käsittely sovelluksessa. Lisää binaarikenttätapaukset aina, kun tällaisia kenttiä esiintyy.
Vahvista lopullinen Odoo 20:n käyttäytyminen
Poistotiedot on poimittu Odoon master-kehittäjädokumentaatiosta, kun taas ilmoitettu julkaisuaikataulu tulee tapahtumasivulta, jonka mukaan Odoo 20 julkaistaan syyskuun 2026 Americas-tapahtuman aikana. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API; Oxp26 Americas Introduction) Ennen käyttöönottoa tiimien tulisi tarkistaa dokumentaatio julkaistulle Odoo 20 -versiolle sekä tarkka edition ja build, jota he aikovat käyttää.
Vanhentuneen RPC-päätepisteen käyttö ei yksin todista, että integraatio lakkaisi toimimasta Odoo 20:ssä, koska common- ja object-palvelut on edelleen dokumentoitu Odoo 22:een asti. Toisaalta onnistunut toiminta aiemmassa versiossa ei osoita yhteensopivuutta tietokantapalvelukutsulle sen poistamisen jälkeen. (Odoo master Docs: Reference External API; Odoo master Docs: Reference External Rpc API)
Päivityspäätöksen tarkistuslista
Ennen Odoo 20 -päivityksen hyväksymistä päätöksentekijöiden tulisi pyytää integraatiorekisteri, joka näyttää jokaisen vanhentuneen päätepisteen, kutsutun palvelun, sen omistajan ja suunnitellun korjauksen. Tietokantapalveluun liittyvillä riippuvuuksilla tulisi olla testattu korvaava ratkaisu. Integraatioille, jotka jäävät common- tai object-palveluihin, tulisi olla erillinen siirtopäivä, joka heijastaa niiden dokumentoitua poistumista Odoo 22:ssa. (Odoo master Docs: Reference External API; Odoo master Docs: Viittaus ulkoiseen Rpc API:in)
Katselmuksen tulisi varmistaa, että JSON-2-toteutuksissa malli ja menetelmä sijoitetaan URL-osoitteeseen, käytetään nimettyjä JSON-argumentteja ja todennuksessa käytetään bearer API-avainta. Kun binäärikenttiä on mukana, testauksessa on huomioitava `BinaryValue.filename`-ominaisuuden lisääminen. (Odoo master Docs: Viittaus ulkoiseen API:in; Odoo master Docs: Orm Changelog) Nämä tarkistukset erottavat Odoo 20:n välittömän database-service-poiston jäljellä olevien perinteisten palvelujen myöhemmästä poistamisesta.
