Dijeli putem


Stvorite zakrpe radi pojednostavljivanja ažuriranja rješenja

Ako entitet dodate rješenju i izvozite rješenje, entitet i sva sredstva povezana s njime izvoze se u to rješenje. Ta sredstva uključuju atribute, obrasce, prikaze, odnose i vizualne prikaze te bilo koja druga sredstva koja su u paketu s entitetom. Izvoz svih objekata znači da možete nenamjerno mijenjati objekte na ciljnom uvođenju ili preuzimati nenamjerne ovisnosti.

Da biste to riješili, možete stvoriti i objaviti zakrpe rješenja koje sadrže podkomponente entiteta umjesto objavljivanja cijelog entiteta i svih njegovih sredstava. Izvorno rješenje i jedna povezana zakrpa ili više povezanih zakrpa mogu se kasnije kumulirati (spojiti) u ažuriranu verziju rješenja, koja tada može zamijeniti izvorno rješenje u ciljnoj tvrtki ili ustanovi s uslugom Microsoft Dataverse.

Zakrpe

Zakrpe možete primijeniti na upravljana ili neupravljana rješenja i uključuju samo promjene entiteta i sredstva povezana s entitetom. Zakrpe ne sadrže nijednu neprilagođenu komponentu sustava ili odnose o kojima ovise jer ove komponente već postoje u tvrtki ili ustanovi u koju su uvedeni. U nekom trenutku razvojnog ciklusa, sve zakrpe možete kumulirati u novu verziju rješenja da biste zamijenili izvorno rješenje od kojeg su zakrpe stvorene.

Zakrpe su pohranjene u bazu podataka usluge Dataverse kao zapisi entiteta Solution. Atribut ParentSolutionId koji nema vrijednost nula označava da je rješenje zakrpa. Zakrpe se mogu stvarati i njima se može upravljati putem SDK-a za .NET ili Web API-je, koji su korisni za razvoj automatizacije kao što je skripta za instalaciju proizvoda. Međutim, web-aplikacija Dataverse nudi razne web-obrasce koji vam omogućuju interaktivno stvaranje zakrpa i upravljanje njima.

  • Zakrpe se mogu stvoriti samo iz nadređenog rješenja koristeći CloneAsPatchRequest ili akciju CloneAsPatch.

  • Roditelj flastera ne može biti zakrpa.

  • Naljepci mogu imati samo jedno nadređeno rješenje.

  • Zakrpa stvara ovisnost (na razini rješenja) o nadređenom rješenju.

  • Zakrpu možete instalirati samo ako je dostupno nadređeno rješenje.

  • Zakrpa ne možete instalirati ako se jedinstveni naziv i broj glavne/pomoćne verzije nadređenog rješenja, kako je identificirao ParentSolutionId, ne podudaraju s nazivima nadređenog rješenja instaliranog u ciljnoj organizaciji.

  • Verzija zakrpe mora imati isti glavni i pomoćni broj, ali veći broj međuverzije i izdanja od broja verzije nadređenog rješenja. Zaslonsko ime može biti drugačije.

  • Ako rješenje sadrži zakrpe, sljedeće zakrpe moraju imati brojčano veći broj verzije od bilo koje postojeće zakrpe za to rješenje.

  • Zakrpe podržavaju iste operacije kao i rješenja, kao što je kumulativno ažuriranje, ali ne i uklanjanje. Ne možete ukloniti komponente iz rješenja koristeći zakrpu. Za uklanjanje komponenti iz rješenja izvršite nadogradnju.

  • Zakrpe izvezene kao upravljane moraju se uvesti uz upravljano nadređeno rješenje. Pravilo je da zaštita zakrpa (upravljana ili neupravljana) mora odgovarati nadređenom elementu.

  • Nemojte koristiti neupravljane zakrpe u proizvodne svrhe.

  • Zakrpe su podržane samo u tvrtkama ili ustanovama s verzijom sustava Dataverse 8.0 ili novijom.

    Alati SolutionPackager i PackageDeployer u ovom izdanju podržavaju zakrpe rješenja. Pogledajte internetsku pomoć alata za sve opcije naredbene linije koje se odnose na zakrpe.

Stvaranje zakrpe

Stvorite zakrpu iz neupravljanog rješenja u tvrtki koristeći poruku CloneAsPatchRequest ili akciju CloneAsPatch ili s pomoću web-aplikacije. Nakon što stvorite zakrpu, izvorno rješenje postaje zaključano i ne možete je mijenjati ili izvoziti sve dok u organizaciji postoje zavisne zakrpe koje identificiraju rješenje kao nadređeno rješenje. Verzija zakrpe slična je verziji rješenja i navedena je u sljedećem formatu: major.minor.build.release. Prilikom stvaranja zakrpe ne možete mijenjati postojeće glavne ili pomoćne verzije rješenja.

Izvoz i uvoz zakrpe

SDK možete koristiti za .NET ili Web API-je, web-aplikaciju ili Package Deployer alat za izvoz i uvoz zakrpe. Odgovarajući SDK za .NET klase zahtjeva su ImportSolutionRequest i ExportSolutionRequest. Relevantne akcije za web API su akcija ImportSolution i akcija ExportSolution.

Primjeri krpanja

Sljedeća tablica navodi detalje primjera krpanja. Uzmite u obzir da u ovom primjeru rješenje i zakrpe se uvoze numeričkim redoslijedom i da su kumulativni što je općenito u skladu s uvozom rješenja.

Naziv zakrpe Opis
RješenjeA, verzija 1.0 (neupravljano) Sadrži entitetA sa 6 polja.
RješenjeA, verzija 1.0.1.0 (neupravljano) Sadrži entitetA sa 6 polja (3 ažurirana) i dodaje entitetB s 10 polja.
RješenjeA, verzija 1.0.2.0 (neupravljano) Sadrži entitetC s 10 polja.

Postupak uvoza je sljedeći.

  1. Razvojni inženjer ili osoba za prilagodbu sustava najprije uvozi osnovno rješenje (RješenjeA 1.0) u tvrtku ili ustanovu. Rezultat je entietA sa 6 polja u tvrtki ili ustanovi.

  2. Zatim je uvezena zakrpa RješenjeA 1.0.1.0. Tvrtka ili ustanova sada sadrži entitetA sa 6 polja (3 su ažurirana) i entitetB s 10 polja.

  3. Zatim je uvezena zakrpa RješenjeA 1.0.2.0. Tvrtka ili ustanova sada sadrži entitetA sa 6 polja (3 su ažurirana) i entitetB s 10 polja te entitetC s 10 polja.

Još jedan primjer krpanja

Pogledajmo još jedan primjer krpanja s detaljima navedenim u sljedećoj tablici.

Naziv zakrpe Opis
RješenjeA, verzija 1.0 (neupravljano, osnovno rješenje) Sadrži entitet Account u kojem je duljina polja broja računa prilagođena na 20 do 30 znakova.
RješenjeB, verzija 2.0 (neupravljano, različit dobavljač) Sadrži entitet Account u kojem je duljina polja broja računa prilagođena na 50 znakova.
RješenjeA, verzija 1.0.1.0 (neupravljano, zakrpa) Sadrži ažuriranje entiteta Account u kojem je duljina polja broja računa prilagođena na 35 znakova.

Postupak uvoza je sljedeći:

  1. Razvojni inženjer ili osoba za prilagodbu sustava najprije uvozi osnovno rješenje (RješenjeA 1.0) u tvrtku ili ustanovu. Rezultat je entitet Account s poljem broja računa od 30 znakova.

  2. RješenjeB se uvozi. Tvrtka ili ustanova sad sadrži entitet Account s poljem broja računa od 50 znakova.

  3. Uvozi se zakrpa RješenjeA 1.0.1.0. Tvrtka ili ustanova i dalje sadrži entitet Account s poljem broja računa od 50 znakova kako je primijenilo RješenjeB.

  4. Deinstalirano je RješenjeB. Tvrtka ili ustanova sad sadrži entitet Account s poljem broja računa od 35 znakova kako je primijenila zakrpa RješenjeA 1.0.1.0.

Brisanje zakrpe

Možete izbrisati zakrpu ili osnovno (nadređeno) rješenje koristeći DeleteRequest ili, za web- API, upotrijebite metodu HTTP DELETE. Postupak brisanja različit je za upravljano ili neupravljano rješenje koje ima jednu zakrpu ili više zakrpa koje postoje u tvrtki ili ustanovi.

Za neupravljano rješenje najprije morate deinstalirati sve zakrpe s osnovnim rješenjem, obrnutim redoslijedom verzije od onog kojim su stvorene, prije nego što deinstalirate osnovno rješenje.

Za upravljano rješenje jednostavno deinstalirate osnovno rješenje. Sustav Dataverse automatski deinstalira zakrpe obrnutim redoslijedom verzije prije deinstaliranja osnovnog rješenja. Također možete samo deinstalirati jednu zakrpu.

Ažuriranje rješenja

Ažuriranje rješenja uključuje kumuliranje (spajanje) svih zakrpa za to rješenje u novu verziju rješenja. Zatim se to rješenje otključava i može se ponovno izmijeniti (samo neupravljano rješenje) ili izvesti. Za upravljano rješenje nisu dopuštene dodatne izmjene rješenja, osim stvaranja zakrpa iz novo ažuriranog rješenja. Za kumuliranje zakrpa u neupravljano rješenje upotrijebite CloneAsSolutionRequest ili akciju CloneAsSolution. Kloniranje rješenja stvara novu verziju neupravljanog rješenja koja uključuje sve njegove zakrpe, s višim brojem verzije major.minor, istim jedinstvenim nazivom i zaslonskim imenom.

Za upravljano rješenje postupak je malo drugačiji. Najprije klonirajte neupravljano rješenje (A), uključujući sve njegove zakrpe, a zatim ga izvezite kao upravljano rješenje (B). U ciljnoj tvrtki koja sadrži upravljanu verziju (A) rješenja i njegove zakrpe uvezete upravljano rješenje (B), a zatim izvršite DeleteAndPromoteRequest ili akciju DeleteAndPromote kako biste zamijenili upravljano rješenje (A) i njegove zakrpe nadograđenim upravljanim rješenjem (B) koji ima veći broj verzije.

Pogledajte također

Upotreba segmentiranih rješenja