Přehled odebrání závislostí
Složky řešení často závisí na jiných složkách řešení. Nemůžete odstranit součást řešení, která má závislosti z jiné součásti řešení. Závislosti jsou záznamy vytvořené automaticky rámcem řešení, aby se zabránilo vymazání požadovaných komponent, zatímco jedna nebo více závislých komponent stále obsahuje odkazy na ně. Příklad závislosti je následující: dané pole je vyžadováno pro funkci formuláře, pokud se někdy pokusíte provést akci, která povede k odstranění tohoto pole, formulář přestane fungovat.
Poznámka:
V tomto článku odstranit znamená, že komponenta je zcela odstraněna ze systému.
V tomto článku si probereme, jak zvládat tyto závislosti a strategie, které můžete použít k odstranění závislostí, které již nepotřebujete.
Závislosti nespravovaných vs. spravovaných součástí
Nejprve je důležité pochopit, že závislosti zabraňují pouze operacím, které odstraní požadovanou komponentu. Akce, které mohou komponentu odstranit, se liší v závislosti na tom, zda je nespravovaná nebo spravovaná.
Nespravované součásti
Tyto komponenty jsou reprezentovány jednou vrstvou v aktivním řešení. Jakákoliv operace Odstranění na takové součásti má za následek úplné odstranění komponenty.
Spravované součásti
Odstranění spravovaných komponent závisí na mnoha faktorech: počtu vrstev řešení, relativní poloze odinstalované vrstvy a vydavatelích komponent. Například při odstranění součásti zvažte následující scénáře a jaké bude očekávané chování při odinstalaci různých vrstev.
Ukázkové scénáře
Následující příklady scénářů ilustrují, co se stane s vrstvami řešení při odinstalaci řešení.
Scénář 1: Odinstalujte vrstvu s jedním řešením
Odinstalace řešení 1 způsobí odstranění komponenty, protože je to jediná vrstva pro komponentu.
Scénář 2: Odinstalujte vrstvy řešení od různých vydavatelů
- Odinstalace řešení 2 nezpůsobí odstranění součásti. Bude odstraněna pouze tato vrstva.
- Odinstalace řešení 1 způsobí odstranění komponenty, protože se akce provede v základní vrstvě. Ve skutečnosti nelze řešení 1 v tomto scénáři odinstalovat, protože řešení od jiného vydavatele komponentu rozšiřuje.
Scénář 3: Odinstalujte vrstvy s více řešeními od různých vydavatelů
- Odinstalace řešení 3 nezpůsobí odstranění součásti. Bude odstraněna pouze tato vrstva.
- Odinstalace řešení 2 nezpůsobí odstranění součásti. Bude odstraněna pouze tato vrstva.
- Odinstalace řešení 1 nezpůsobí odstranění komponenty, protože v tomto případě existuje jiné řešení od stejného vydavatele (vydavatel A = vydavatel C). Platforma odstraní vrstvu z řešení 1 a nahradí ji vrstvou z řešení 3.
Scénář 4: Odinstalace vrstev řešení v nespravovaném přizpůsobení
- Odinstalace aktivní (nespravované) vrstvy nezpůsobí odstranění komponenty. Bude odstraněna pouze tato vrstva. Uvědomte si, že aktivní řešení nemůžete odinstalovat, ale komponenty můžete odstranit pomocí vlastnosti Odebrat aktivní přizpůsobení.
- Odinstalace řešení 1 způsobí odstranění součásti. Akce se děje v základní vrstvě. Na rozdíl od scénáře 2 můžete odinstalovat řešení 1. Aktivní řešení není považováno za rozšíření a obě vrstvy budou odstraněny.
Zobrazit stránku závislostí
Příkaz Zobrazit závislosti vypíše závislosti pro vybrané řešení nebo komponentu řešení. Lze ji vyvolat:
- Výběrem Zobrazit závislosti na stránce řešení.
- Výběrem možnosti Rozšířené>Zobrazit závislosti v rámci řešení, když je vybrána součást řešení.
- Pokusem odinstalovat řešení, které způsobí, že platforma zjistí, že existují závislosti.
Na stránce Závislosti můžete komponentu otevřít, odebrat nebo odstranit. Více informací: Zobrazení závislostí součástí
Diagnostika závislostí
Zvažme následující scénář. Níže uvedená organizace má dvě řešení: Řešení - pracovní postup a Řešení - vlastní entita.
Majitel organizace se rozhodl, že již nepotřebují Řešení - vlastní entita, pokusil se jej smazat a zobrazila se mu následující stránka:
Aniž bychom šli do podrobností, můžeme dojít k závěru, že odinstalace řešení se snaží odstranit pojmenovanou entitu Vlastní entita a tři pole – Vlastní entita, název a Číselné pole – a všechny čtyři komponenty mají závislosti.
Poznámka:
Odinstalace řešení může potenciálně odstranit další součásti, ale protože nemají závislosti, nebudou se v seznamu zobrazovat.
Dalším krokem je kontrola odkazu Vrstvy řešení (sloupec zcela vpravo) pro každou závislost. To vám pomůže rozhodnou, jak postupovat pro odstranění závislosti.
Následující obrázek ukazuje podrobnosti závislosti mezi entitou (vlastní entitou) a procesem (testovací pracovní postup).
Na základě zobrazených dat můžete vidět, že závislá součást patří do řešení s názvem SolutionWorkflow. Chcete-li tuto závislost odstranit, můžete buď:
- Aktualizovat definici pracovního postupu v SolutionWorkflow odebráním všech odkazů na entitu nebo její dílčí komponenty. Potom aktualizovat nebo upgradovat řešení.
- Odinstalovat řešení SolutionWorkflow.
- Odebrat pracovní postup z nové verze řešení SolutionWorkflow a poté provést Upgrade.
Protože některá závislá součást může zabránit odstranění řešení, doporučujeme zkontrolovat všechny závislosti a provést všechny požadované změny v jedné operaci.
Následující obrázek ukazuje podrobnosti závislosti mezi entitou (vlastní entitou) a modelem řízenou aplikací (Moje aplikace).
Na základě zobrazených dat můžete vidět, že závislá součást patří do řešení s názvem Active. To znamená, že závislost byla vytvořena importem nespravovaného řešení nebo nespravovaným přizpůsobením, které bylo provedeno pomocí moderního uživatelského rozhraní nebo rozhraní API.
Chcete-li tuto závislost odstranit, můžete buď:
- Upravit definici aplikace založené na modelu a odstranit jakýkoli odkaz na entitu nebo její dílčí komponenty. Protože aplikace založené na modelu podporují publikování, musíte změny publikovat.
- Odstranit aplikaci založenou na modelu.
Poznámka:
Odinstalovat nespravované řešení není možnost, jak tuto závislost odstranit, protože nespravovaná řešení jsou pouze prostředkem pro seskupení součástí.
Akce k odstranění spravované závislosti
Spravované závislosti jsou ty, kde závislá komponenta je spojena se spravovaným řešením. Chcete-li vyřešit tento druh závislosti, musíte jednat podle řešení, do kterého byla komponenta přidána. Tato akce se může lišit v závislosti na tom, co se snažíte udělat.
Pokud se pokoušíte odinstalovat řešení
Postupujte takto:
- V cílové organizaci zkontrolujte odkaz Vrstvy řešení na nalezení toho, co je nejvyšším řešením v seznamu závislých komponent.
- Ve zdrojové organizaci připravte novou verzi tohoto řešení, kde řešení buď neobsahuje závislou komponentu, nebo má aktualizovanou verzi závislé komponenty, která neobsahuje odkazy na požadovanou komponentu. Vaším cílem je odstranit jakýkoli odkaz na požadované komponenty v nové verzi řešení.
- Export nové verze řešení
- V cílové organizaci upgradujte toto řešení.
- Opakujte odinstalaci.
Pokud se pokoušíte upgradovat řešení
V tomto případě musíte potvrdit, že jste chtěli odstranit požadovanou komponentu (pamatujte, že závislosti jsou vynucovány pouze u komponent, které jsou odstraňovány).
Pokud jste komponentu nechtěli smazat, můžete novou verzi řešení opravit přidáním komponenty zpět provedením následujícího postupu:
- V cílové organizaci odinstalujte postupné řešení (řešení, které končí na _Upgrade).
- V organizaci zdroje přidejte požadované komponenty zpět do řešení.
- Export nové verze.
- Opakujte upgrade.
Pokud je odstranění úmyslné, musíte závislost odstranit. Vyzkoušejte kroky uvedené v předchozí části „Pokud se pokoušíte odinstalovat řešení.“
Vrstvy a závislosti
Závislé komponenty mohou být vrstveny, takže možná budete muset změnit více než jedno řešení, abyste zcela odstranili závislost. Rámec závislostí počítá pouze závislosti mezi nejvyššími vrstvami pro požadované a závislé komponenty. To znamená, že musíte řešit cestu od shora dolů k řešení závislé komponenty.
Zvažte následující scénář:
Pokoušíte se odinstalovat Řešení - vlastní entita a operace je blokována závislostmi.
Začnete diagnostikovat závislost výběrem Vrstev řešení na atributu new_numberfield. Uvidíte následující obrazovku:
Protože závislosti jsou vytvářeny pouze mezi nejvyššími vrstvami každé komponenty, prvním krokem je řešení závislosti mezi atributem new_numberfield v SolutionCustomEntity a pracovní postup Test Workflow v SolutionWorkflow3.
Chcete-li odstranit závislost, rozhodnete se odinstalovat SolutionWorkflow3. To provedete, ale když se pokusíte odinstalovat řešení ještě jednou, zobrazí se vám stejná stránka závislostí:
Nicméně atribut new_numberfield již není uveden, i když existoval ve více vrstvách.
Akce k odstranění nespravované závislosti
Chcete-li odstranit nespravované závislosti, musíte jednat přímo na komponentech, nikoli na řešení, ke kterým patří. Pokud například chcete odstranit závislosti mezi atributem a formulářem, musíte je upravit v editoru formulářů a odstranit atribut z formuláře. Závislost bude odstraněna po výběru Uložit a Publikovat.
Poznámka:
- Příkaz Zobrazit závislosti vám umožňuje provést akci k zobrazení, odstranění závislosti, úpravě komponenty nebo odstranění komponenty. Více informací: Zobrazení závislostí součástí
- Můžete také odstranit závislou součást. Tato akce odstraní všechny závislosti spolu s komponentou.
Chcete-li zobrazit závislosti komponenty, v oblasti Řešení otevřete požadované řešení, vyberte svislé tři tečky vedle komponenty a poté vyberte Rozšířené>Zobrazit závislosti.
Stránka závislostí má dvě odlišné části:
- Závislé součásti: Seznam komponent, které závisí na vybraném poli. Jinými slovy, tyto komponenty budou mít toto pole jako požadovanou komponentu.
- Požadované komponenty: Seznam komponent, které toto pole vyžaduje, aby fungovalo. Jinými slovy, tyto komponenty budou mít toto pole jako závislou komponentu.