Deli z drugimi prek


Ustvarjanje popravkov za poenostavitev posodobitev rešitev

Če dodate entiteto v rešitev in izvozite rešitev, se entiteta in vsa njena povezana sredstva izvozijo v to rešitev. Ta sredstva vključujejo atribute, obrazce, poglede, odnose in upodobitve ter druga sredstva, ki so zapakirana z entiteto. Izvoz vseh objektov pomeni, da lahko nenamerno spremenite objekte v ciljnem uvajanju ali prenesete neželene odvisnosti.

Za reševanje te težave lahko ustvarite in objavite popravke rešitve, ki vsebujejo podkomponente entitet, namesto da bi objavili celo entiteto in vsa njena sredstva. Izvirna rešitev in en ali več povezanih popravkov je mogoče pozneje zbrati (združiti) v posodobljeno različico rešitve, ki lahko nato nadomesti izvirno rešitev v ciljni organizaciji Microsoft Dataverse.

Popravki

Popravke lahko uveljavite za upravljane ali neupravljane rešitve ter vključite samo spremembe entitet in povezanih sredstev entiteti. Popravki ne vsebujejo nobenih neprilagojenih komponent sistema ali odnosov, od katerih je ta odvisen, saj te komponente že obstajajo v organizaciji, v katero se uvajajo. Na eni točki v razvojnem ciklu lahko zberete vse popravke v novo različico rešitve, da nadomestite izvirno rešitev, iz katere so bili popravki ustvarjeni.

Popravki so shranjeni v zbirki podatkov Dataverse kot zapisi entitete Solution. Neničelni atribut ParentSolutionId označuje, da je rešitev popravek. Popravke je mogoče ustvariti in upravljati prek SDK za .NET ali spletnih API-jev, ki so uporabni za razvoj avtomatizacije, kot je skript za namestitev izdelka. Toda spletna aplikacija Dataverse zagotavlja različne spletne obrazce, ki vam omogočajo interaktivno ustvarjanje in upravljanje popravkov.

  • Popravke je mogoče ustvariti samo iz nadrejene rešitve z uporabo CloneAsPatchRequest ali Dejanje CloneAsPatch.

  • Nadrejeni del popravka ne more biti popravek.

  • Popravki lahko imajo samo eno nadrejeno rešitev.

  • Popravek ustvari odvisnost (na ravni rešitev) do nadrejene rešitve.

  • Popravek lahko namestite samo, če je prisotna nadrejena rešitev.

  • Ne morete namestiti popravka, razen če se edinstveno ime in številka glavne/podrazličice nadrejene rešitve, kot je označeno z ParentSolutionId, ne ujemajo s tistimi nadrejene rešitve, nameščene v ciljni organizaciji.

  • Različica popravka mora imeti isto številko glavne različice in podrazličice, toda višjo številko graditve in izdaje od številke različice nadrejene rešitve. Prikazno ime je lahko drugačno.

  • Če ima rešitev popravke, morajo imeti naslednji popravki številčno višjo številko različice od katerega koli obstoječega popravka za to rešitev.

  • Popravki podpirajo iste postopke kot rešitve, npr. dodajalno posodobitev, ne pa odstranitve. S popravkom ne morete odstraniti komponent iz rešitve. Če želite odstraniti komponente iz rešitve, izvedite nadgradnjo.

  • Popravki, izvoženi kot upravljani, morajo biti uvoženi nad upravljano nadrejeno rešitev. Pravilo je, da se zaščita popravka (upravljano ali neupravljano) mora ujemati z nadrejenim elementom.

  • Ne uporabljajte neupravljanih popravkov za produkcijske namene.

  • Popravki so podprti samo v organizacijah Dataverse različice 8.0 ali novejše.

    Orodji SolutionPackager in PackageDeployer v tej izdaji podpirata popravke rešitve. Glejte spletno pomoč za orodje glede možnosti ukazne vrstice, ki so povezane s popravki.

Ustvarjanje popravka

Ustvarite popravek iz neupravljane rešitve v organizaciji z uporabo sporočila CloneAsPatchRequest ali dejanja CloneAsPatch ali z uporabo spletne aplikacije. Ko ustvarite popravek, postane izvirna rešitev zaklenjena in je ne morete spremeniti ali izvoziti, dokler v organizaciji obstajajo odvisni popravki, ki rešitev identificirajo kot nadrejeno rešitev. Shranjevanje različic popravkov je podobno shranjevanju različic rešitev in je določeno v naslednji obliki zapisa: glavna_različica.podrazličica.graditev.izdaja. Ko ustvarite popravek, ne morete spremeniti obstoječih večjih ali manjših različic rešitve.

Izvoz in uvoz popravka

Za izvoz in uvoz popravka lahko uporabite SDK za .NET ali spletne API-je, spletno aplikacijo ali Package Deployer orodje. Ustrezni SDK za razrede zahtev .NET sta ImportSolutionRequest in ExportSolutionRequest. Ustrezna dejanja za spletni API so Dejanje ImportSolution in Dejanje ExportSolution.

Primeri popravljanja

V naslednji tabeli so prikazane podrobnosti primera popravljanja. Upoštevajte, da se v tem primeru rešitev in popravki uvažajo v numeričnem vrstnem redu in se seštevajo, kar je skladno z uvozom rešitev na splošno.

Ime popravka Opis
Rešitev A, različica 1.0 (neupravljano) Vsebuje entiteto A s 6 polji.
Rešitev A, različica 1.0.1.0 (neupravljano) Vsebuje entiteto A s 6 polji (3 posodobljenimi) in doda entiteto B z 10 polji.
Rešitev A, različica 1.0.2.0 (neupravljano) Vsebuje entiteto C s 10 polji.

Proces uvoza je naslednji.

  1. Razvijalec ali prilagojevalec najprej uvozi osnovno rešitev (rešitev A 1.0) v organizacijo. Rezultat je entiteta A s 6 polji v organizaciji.

  2. Nato se uvozi popravek rešitve A, 1.0.1.0. Organizacija zdaj vsebuje entiteto A s 6 polji (3 so bila posodobljena), plus entiteto B z 10 polji.

  3. Nazadnje se uvozi popravek rešitve A, 1.0.2.0. Organizacija zdaj vsebuje entiteto A s 6 polji (3 posodobljena), entiteto B z 10 polji, plus entiteto C z 10 polji.

Drug primer popravljanja

Oglejmo si še en primer popravljanja s podrobnostmi, navedenimi v naslednji tabeli.

Ime popravka Opis
Rešitev A, različica 1.0 (neupravljano, osnovna rešitev) Vsebuje entiteto Account, kjer je dolžina polja številke kupca prilagojena s 20 na 30 znakov.
Rešitev B, različica 2.0 (neupravljana, drug dobavitelj) Vsebuje entiteto Account, kjer je dolžina polja številke kupca prilagojena na 50 znakov.
Rešitev A, različica 1.0.1.0 (neupravljano, popravek) Vsebuje posodobitev entitete Account, kjer je dolžina polja številke kupca prilagojena na 35 znakov.

Proces uvoza je naslednji:

  1. Razvijalec ali prilagojevalec najprej uvozi osnovno rešitev (rešitev A 1.0) v organizacijo. Rezultat je entiteta Account s poljem številke kupca s 30 znaki.

  2. Rešitev B je uvožena. Organizacija zdaj vsebuje entiteto Account s poljem številke kupca s 50 znaki.

  3. Uvozi se popravek rešitve A, 1.0.1.0. Organizacija še vedno vsebuje entiteto Account s poljem številke kupca s 50 znaki, kot je bilo uveljavljeno z rešitvijo B.

  4. Rešitev B je odstranjena. Organizacija zdaj vsebuje entiteto Account s poljem številke kupca s 35 znaki, kot je bilo uveljavljeno z rešitvijo A, popravek 1.0.1.0.

Brisanje popravka

Popravek ali osnovno (nadrejeno) rešitev lahko izbrišete z uporabo možnosti DeleteRequest ali, za spletne API-je, uporabite način HTTP DELETE. Proces brisanja se razlikuje za upravljano ali neupravljano rešitev, ki ima enega ali več popravkov, ki obstajajo v organizaciji.

Za neupravljano rešitev morate najprej odstraniti vse popravke za osnovno rešitev, v obratnem vrstnem redu, kot so bili ustvarjeni, preden odstranite osnovno rešitev.

Za upravljano rešitev preprosto odstranite osnovno rešitev. Sistem Dataverse samodejno odstrani popravke v obratnem vrstnem redu pred odstranitvijo osnovne rešitve. Lahko pa tudi odstranite posamezen popravek.

Posodobitev rešitve

Posodobitev rešitve vključuje zbiranje (združevanje) vseh popravkov te rešitve v novo različico rešitve. Nato se rešitev odklene in znova jo je mogoče spreminjati (samo neupravljana rešitev) ali izvoziti. Za upravljano rešitev nadaljnje spremembe rešitve niso dovoljene razen ustvarjanja popravkov iz novo posodobljene rešitve. Za zbiranje popravkov v neupravljano rešitev uporabite CloneAsSolutionRequest ali Dejanje CloneAsSolution. Kloniranje rešitve ustvari novo različico neupravljane rešitve, ki vključuje vse njene popravke, z višjo številko različice glavna_različica.podrazličica, istim enoličnim imenom in prikaznim imenom.

Za upravljano rešitev se zadeve obravnavajo nekoliko drugače. Najprej klonirate neupravljano rešitev (A), ki vključuje vse popravke, nato pa jo izvozite kot upravljano rešitev (B). V ciljni organizaciji, ki vsebuje upravljano različico rešitve (A) in njene popravke, uvozite upravljano rešitev (B) in nato izvedete DeleteAndPromoteRequest ali Dejanje DeleteAndPromote, da nadomestite upravljano rešitev (A) in njene popravke z nadgrajeno upravljano rešitvijo (B), ki ima višjo številko različice.

Glejte tudi

Uporaba segmentiranih rešitev