Skip to Content

PMIS Federation Transport

Alpha License: LGPL-3 PMISuite/federation Version: 18.0

Overjena asinhrona dostava PMIVerse Federation za Odoo 18 Community. Transport povezuje omejene poslovne prilagodilnike; ne omogoča splošnega oddaljenega izvajanja modelov in sam ne upravlja uporabnikov.

Funkcionalnosti

  • Povezave po podjetjih z eno smerjo, zmogljivostjo, parom vrstnikov in organizacijsko delegacijo.

  • Izvorni časovno omejeni ključi API z natančnim obsegom pmis.federation.

  • Prejemniško odobrena menjava ključev z omejenim prekrivanjem.

  • Omejena končna točka HTTPS/JSON brez nadomestnega overjanja s sejo.

  • Nespremenljive odhodne operacije in transakcijska vhodna potrdila.

  • Zaščita ponovitev po povzetku, zaklenjena odprema, omejene ponovitve in skrbniški pregled.

  • Zunanja vezava zbirke, namestitve in okolja.

  • Osnove skupne prijave RS256/PKCE ter časovno omejena izmenjava s pripetim HTTPS za ločena prilagodilnika Provider/Login.

  • Neodvisno preverjanje pogodbe naročil v1 za povpraševanja, ponudbe in potrjena naročila z zamrznjenimi strankami/naslovi, vrsticami brez izdelkov, odvisnostmi ponudb in neobdavčenimi decimalnimi zneski.

Pogodba naročil je na voljo razvijalcem. Sam Transport ne vodi dnevnika dokumentov in ne ustvari izvornih naročil. Exchange doda overjeno dostavo prek operacij/potrdil, Orders pa izvorno pošiljanje in nasprotne osnutke.

Povezave in dostop

Odvisnosti so pmis_federation_core ter Python urllib3, PyJWT in cryptography. Skrbniki upravljajo Federation > Delivery > Service Connections in dostave v dovoljenih podjetjih Directory Owner.

Vsaka vhodna povezava ima ločen aktiven portalni Federation Service Principal z dostopom podjetja in brez internih skupin. Nima neposrednega dostopa do imenika, vhodne ali odhodne vrste. Odhodne poverilnice so v zaščitenih nastavitvah delavca, ne v poljih povezave.

PMIS_FEDERATION_RUNTIME veže natančno ime/UUID zbirke, UUID lokalne namestitve, okolje in prihodnji potek. Odhodni vnosi vežejo tudi končno točko, odobrene IP-je in omejeni žeton bearer. Manjkajoča, potekla ali neskladna vezava blokira vhodne spremembe in odhodno dostavo.

Federation: dispatch queued profiles je privzeto neaktiven; omogočen teče vsako minuto in izbere največ 20 zapadlih operacij.

Podprte operacije

POST /pmis/federation/v1/operations zahteva HTTPS, ključ bearer, application/json in Content-Length. Različica 1 podpira:

  • profile.observe: opažanja oddaljenega računa za Hub.

  • profile.apply: revizijsko preverjene spremembe profila za Account.

  • membership.provision: ustvarjanje dodeljenih računov v Account.

  • account.disable: izrecno enosmerno onemogočenje pripravljenih računov v Account.

  • roles.apply: lokalne organizacijske/profilne dodelitve Account.

  • membership.remove: selektivni umik organizacije v Account.

  • assignment.repair: prejemniško odobrena zamenjava dodelitve/obnovitev upravičenih računov.

  • messaging.send: preverjena neposredna sporočila Messaging.

Neznana polja/zmogljivosti, nepravilni UUID-ji, podvojeni ključi JSON, neskončne konstante in neveljavne revizije so zavrnjeni. Računske/profilne operacije sprejmejo samo storitveni pripis; sporočila zahtevajo točno preverjeno osebo. Zahteve/odgovori so omejeni na 64 KiB, organizacijski obseg na 1–100 različnih delegiranih UUID-jev.

Exchange doda od računov neodvisne kanale naročil, računov, dobropisov, dobav, vračil in preklicev s preverjenim pošiljateljem, nespremenljivimi posnetki in ločenim prenosom prilog. Imajo lastne sheme/dnevnik, ne vsebin ciljnih računov. Skupna prijava in upravljanje Matrix imata ločene prilagodilnike ter končne točke. Natančne sheme so v prenosni specifikaciji.

Obnašanje dostave

Prilagodilniki ustvarijo vnose vrste v lastnih transakcijah. Odprema znova preveri vsebino, delegacijo, vezavo in cilj. Prejemnik skupaj potrdi poslovni učinek in potrdilo. Enaka ponovitev vrne shranjeni rezultat; spremenjeni podatki so zavrnjeni. POST /pmis/federation/v1/receipts uporablja isto omejeno ovojnico in overjanje, a samo pridobi obstoječe potrdilo, nikoli ne izvaja operacije. HTTP 404 ob manjkajočem dokazilu ne dokazuje odsotnosti oddaljenega računa.

Outgoing Operations kaže čakajoče, uspešne, potrebne pregleda in zavržene operacije; Incoming Receipts izide in overjeni pripis. Javno pisanje ne more zamenjati vsebine operacije.

Začasne omrežne napake, HTTP 408/429 in napake strežnika podaljšujejo razmik od 30 sekund do ene ure. Po osmih samodejnih poskusih je potreben pregled, enako pri preusmeritvah, trajnih napakah in neveljavnih potrditvah. Skrbniški Retry ohrani UUID, vsebino in števec.

Pošiljatelj pripne odobreni razrešeni IP in ohrani preverjanje imena/certifikata; preusmeritvam ne sledi. Povratni, link-local, multicast in nedoločeni naslovi so prepovedani, zasebni zahtevajo izrecno odobritev. Čas povezave/branja je 5/15 sekund, skupni rok 30 sekund pa zajame DNS, TCP/TLS, prenos zahteve, glave, uokvirjanje kosov in telo. Presežen rok uporabi običajno omejeno ponovitev in ohrani identiteto operacije za negotove oddaljene učinke.

Trenutne meje

account.inspect ob nameščenem Account uporablja ločeno delegirani overjeni POST /pmis/federation/v1/state samo za branje. Je dodatna zmogljivost v1, objavljena z omejenim odkrivanjem. Uporablja ista JSON, izvajalna, HTTPS in časovna varovala, ni pa uvrstljiva v vrsto ali pošljiva na operations/receipts. Ponovitve berejo trenutno stanje brez ponovitvenih potrdil ali poslovnih učinkov.

Kopirane zunanje poverilnice in gostiteljske nastavitve zahtevajo lastno izolacijo; vezava zbirke jih ne izolira. Odstranitev zahteva ustavljeno dostavo in potrjeni aktualni izvoz zgodovine. Glejte razvojni seznam.

Odkrivanje in obnovitev potrdil

Overjeni GET /pmis/federation/v1/capabilities vrne protokol, omejitev vsebine, podporo potrdil in samo zmogljivost overjene povezave, če je nameščen prejemni prilagodilnik. Pravila prejemnika še veljajo.

Pred vsako operacijo, poizvedbo stanja ali potrdila pošiljatelj preveri odgovor prek istega pripetega HTTPS in poverilnice. Odkrivanje in zahteva delita 30-sekundni rok. V1 ostane uporabna ob objavljenih novejših različicah/neznanih zmogljivostih; različica v vrsti, UUID, povzetek in vsebina se ne spremenijo zaradi pogajanja. Zahtevana zmogljivost in omejitev velikosti se morata ujemati. Obnovitev potrdil zahteva različico, velikost in podporo potrdil, ne nameščenega poslovnega prilagodilnika.

Manjkajoče odkrivanje, tudi HTTP 404 starega vrstnika, napačni odgovori, nepodprte različice/zmogljivosti ali premajhna meja preprečijo zahtevo in zahtevajo pregled. 408/429, napake strežnika in omrežja ohranijo omejene ponovitve. Odkrivanje ne nadomesti pooblastila cilja.

Skrbniki z Reconcile Receipt pridobijo zgodovinska dokazila opažanj, profilov, priprave in onemogočenja. Nameščeni prilagodilniki znova preverijo cilj. Iskanje ne ponovi učinka in ne ponastavi poskusov; manjkajoče potrdilo ohrani negotovost. Zgodovina po neodvisnih lokalnih spremembah ne dokazuje trenutnega stanja prejemnika.

Preklic in menjava storitvenih ključev

Revoke Federation Service Keys na vhodni povezavi omogoča pooblaščenemu skrbniku podjetja odstranitev vseh izvornih ključev natančnega obsega pmis.federation namenskega uporabnika. Deluje tudi na arhiviranih povezavah brez omogočenega prometa. Drugi uporabniki in obsegi, tudi globalni ključi, ostanejo. Globalni ključi niso primerni za overjanje federacije.

Dejanje ne ustvari nadomestila in ne spreminja nastavitev pošiljatelja. Nov točni ključ izdajte po izvornem postopku prejemnika in ga zunaj kanala nastavite pri pošiljatelju. Čistopisni ključi ne sodijo v povezave, imenik ali dostavne zapise.

Za načrtovano menjavo uporabite Rotate Federation Service Keys. Izdajte časovno omejeni izvorni ključ istega uporabnika in obsega, ga namestite v zaščiteno okolje pošiljatelja ter najprej potrdite uspešno dostavo. Izberite metapodatke nadomestila in potrdite namestitev. Rok opustitve je privzeto 24 ur, mora biti prihodnji in največ sedem dni oddaljen; nadomestni ključ mora poteči pozneje. Stari trajni ali daljši ključi dobijo ta rok, krajši poteki/drugi obsegi/uporabniki ostanejo. Med prekrivanjem delujeta oba. Ponovitev ne podaljša stare veljavnosti. Izvorni potek blokira ključe brez načrtovanega čiščenja, ki lahko pozneje odstrani metapodatke. Arhivirane povezave in neaktivni uporabniki ne menjajo, lahko pa prekličejo. Menjava ne spremeni operacij, potrdil ali nastavitev pošiljatelja in ne shrani čistopisne skrivnosti.

Lokalne ponastavitve gesel so v Account prek auth_signup in ne dodajo oddaljene ponastavitvene zmogljivosti Transport.

Izolacija razreševalnika

Kopija zbirke brez ustrezne zunanje vezave ne aktivira prometa; zunanje poverilnice in gostitelj zahtevajo ločeno izolacijo. DNS uporablja največ štiri ločene podprocese na delavca. Potekle/prekinjene poizvedbe se končajo in pospravijo pred sprostitvijo mesta. Otroci prejmejo samo usmerjevalne vhode z minimalnim okoljem, brez poverilnic in nastavitev Odoo. Čakanje uporablja isti rok; zagon procesa vsaki dostavi doda manjši strošek.

Hramba dostave

Aktivno dnevno opravilo po 90 dneh v paketih po 100 skrči besedilo zaključenih odhodnih profilov. pmis_federation_transport.retention_days dovoljuje 1–3650. Čakajoče/negotove dostave ostanejo popolne. Prvotni povzetki, UUID-ji, usmerjanje, obseg, revizije in izidi ostanejo sledljivi. Vhodna potrdila so trajna; skrčenje ne omogoči ponovne izvedbe zaključenega.

Delivery > Export Delivery History pripravi celoten posnetek ustavljene dostave, obvezen pred odstranitvijo. Shranite in potrdite ga z izključenim zunanjim izvajanjem. Po ponovni namestitvi obnovite dokazila ponovitev pred omogočenjem; izvoz ni samodejni uvoznik. Odstranitev ne razveljavi že uporabljenih oddaljenih učinkov. Natančne meje so v identitetah, hrambi in najemih.

Lokalizacija

Vključeni so angleški izvorni nizi in slovenski katalog (i18n/sl.po).

Prijava napak

Napake spremljamo v sistemu prijav repozitorija PMISuite.

Zasluge

Avtorji

Sodelujoči

  • Matjaž Mozetič

Vzdrževalci

LUXIM MATMOZ

Trenutni vzdrževalec:

sysadminmatmoz

Luxim je neodvisno podjetje za raziskave, razvoj in uvajanje rešitev, usmerjeno v reševanje zahtevnih problemov v ekosistemu Odoo.

Odoo Community Association

Luxim je aktiven član OCA (Odoo Community Association).