Číst v angličtině

Sdílet prostřednictvím


Udržování ALM formulářů v modelem řízených aplikacích v dobrém stavu

Tento článek poskytuje informace o různých scénářích, jak implementovat a provádět správnou správu životního cyklu aplikací (ALM) za účelem přizpůsobení formulářů ve vašich řešeních využívajících modelem řízené aplikace.

Následující části popisují, jak sloučení formulářů funguje a jak spravovat vlastní nastavení. V každé následující části jsou podrobně popsány základní vývojové scénáře s doporučeními zajišťujícími úspěšnou ALM pro formulář modelem řízené aplikace. Každý scénář obsahuje kroky, jejichž dodržování vám může pomoci implementovat správný proces ALM při aktualizaci vašeho řešení nebo modelem řízené aplikace.

Vytvoření nového formuláře a jeho správa pomocí více spravovaných řešení

Postupujte podle těchto kroků za účelem implementace správné ALM formuláře pro tento scénář.

  1. Vytvořte nový formulář s názvem FormA ve vývojovém prostředí a proveďte vlastní nastavení ve formuláři.
  2. Vytvořte nové řešení (s názvem Řešení A v níže uvedeném diagramu) ve vývojovém prostředí, což bude nespravované řešení, a přidejte svůj nový formulář. Exportujte řešení jako spravované. Tento krok exportuje úplný FormXml pro formulář.
  3. Ve svém testovacím prostředí importujte spravované řešení z kroku 2, které vytvoří FormulářA v testovacím prostředí. V níže uvedeném diagramu se vytvoří FormulářA v testovacím prostředí a uživatelské rozhraní formuláře zobrazí Pole1 a Pole2, jež Řešení A přidalo do formuláře.
  4. Když dále přizpůsobíte formulář, který jste vytvořili v kroku 1, pomocí nového vývojového (zdrojového) prostředí importujte spravované Řešení A vytvořené v kroku 2, ujistěte se, že instance vývoje, kterou používáte, má formulář A ve spravovaném stavu. Jak je znázorněno na obrázku níže, spravované Řešení A je importováno do vývojového prostředí a formulář je přizpůsoben prostřednictvím vytvoření aktivních vlastních nastavení. Potom lze FormulářA přidat do nového nespravovaného řešení (Řešení B v diagramu) a exportovat jako spravované řešení z vývojového prostředí. Tento krok exportuje diferenciální (diff) FormXml pro formulář.
  5. Ve svém testovacím prostředí importujte spravované řešení (Řešení B) z kroku 4. Jak ukazuje následující diagram, Řešení B přidává nové Pole3 do FormulářeA a odstraňuje Pole2, které bylo přidáno Řešením A. Uživatelské rozhraní formuláře v testovacím prostředí nyní po sloučení zobrazuje Pole3 a Pole1 ve formuláři, ale nikoli Pole2.

Diagram scénáře 1 popisující ALM formuláře.

Příklad nevhodného postupu pro tento scénář

Jak je vidět na níže uvedeném diagramu, není v rámci postupu ALM vhodné vytvářet více spravovaných řešení z vývojového prostředí, kde základní řešení (Řešení A) je v nespravovaném stavu. Je to proto, že když vytvoříte další nespravované řešení (Řešení B) pro nespravovaný formulář, exportuje se FormXml jako úplný FormXml namísto diferenciálního FormXml, jak je uvedeno v platném scénáři výše. Následně se změny jako odebrání sloupce neprojeví.

Příklad nevhodného ALM formuláře pro tento scénář.

Vytvoření nového formuláře a provádění vlastního nastavení pomocí oprav a upgradů

Postupujte podle těchto kroků za účelem implementace správné ALM formuláře pro tento scénář.

  1. Vytvořte nový formulář s názvem FormA ve vývojovém prostředí a proveďte vlastní nastavení ve formuláři.

  2. Vytvořte řešení (Řešení A v níže uvedeném diagramu), což bude nespravované řešení, a přidejte svůj nový formulář. Exportujte řešení jako spravované. Tento krok exportuje úplný FormXml pro formulář.

  3. Ve svém testovacím prostředí importujte spravované řešení z kroku 2, čímž vytvoříte formulář v testovacím prostředí. V níže uvedeném diagramu se vytvoří FormulářA v testovacím prostředí a uživatelské rozhraní formuláře zobrazí Pole1 a Pole2, jež Řešení A přidalo do formuláře.

  4. Při dalším provádění vlastního nastavení formuláře vytvořeného v kroku 1 pomocí oprav použijte stejné prostředí, kde Řešení A je v nespravovaném stavu, a vytvořte opravu řešení a přizpůsobte formulář. Dále exportujte opravu jako spravované řešení. Tento krok exportuje úplný formXml pro formulář.

  5. Ve svém testovacím prostředí importujte spravované řešení opravy z kroku 4. Jak je znázorněno na následujícím diagramu, oprava Řešení A přidává nové Pole3 do FormulářeA a odebírá Pole2, které bylo přidáno Řešením A.

    Poznámka

    Opravy obsahující úplný formXml jsou vždy porovnány se základní vrstvou, ze které byla oprava vytvořena, a ignorují jakékoli přechodné opravy mezi základní a aktuální opravou. Jako výsledek je odebráno Pole2, protože existuje v základní vrstvě Řešení A a odebrání je rozpoznáno. Na druhou stranu je tímto řešením přidáno Pole3 a nelze jej odebrat navazujícími opravami. Pole přidaná prostřednictvím oprav jsou tedy aditivní povahy.

  6. Při dalším provádění vlastního nastavení formuláře vytvořeného v kroku 1 pomocí upgradů použijte stejné prostředí, kde Řešení A je v nespravovaném stavu, a naklonujte Řešení A za účelem vytvoření řešení upgradu a přizpůsobení formuláře. Poté exportujte upgrade Řešení A jako spravované řešení. Tento krok exportuje úplný FormXml pro formulář.

  7. Ve svém testovacím prostředí importujte upgrade spravovaného Řešení A z kroku 6. Jak je znázorněno na následujícím diagramu, upgrade Řešení A přidává nové Pole4 do FormulářeA a odstraňuje Pole2, které bylo přidáno Řešením A. Uživatelské rozhraní formuláře v testovacím prostředí nyní zobrazuje Pole1, Pole3 a Pole4 ve formuláři, ale Pole2 bude odstraněno po sloučení formuláře z importu.

Diagram scénáře 2 popisující ALM formuláře.

Přizpůsobení existujícího spravovaného formuláře a jeho správa pomocí více spravovaných řešení

Postupujte podle těchto kroků za účelem implementace správné ALM formuláře pro tento scénář.

  1. Upravte existující spravovaný formulář s názvem FormulářB v tomto příkladu ve vývojovém prostředí a proveďte vlastní nastavení ve formuláři. Všimněte si, že řešení A je spravované řešení již nainstalované pro formulář ve vývojovém prostředí.
  2. Vytvořte nové řešení (Řešení B v níže uvedeném diagramu), což je nespravované řešení, a přidejte FormulářB. Exportujte řešení jako spravované. Tento krok exportuje diferenciální (diff) FormXml pro formulář.
  3. Ve svém testovacím prostředí importujte spravované řešení z kroku 2, čímž vytvoříte druhou vrstvu řešení pro formulář. V níže uvedeném diagramu získá FormulářB sloučené změny z Řešení A a Řešení B v testovacím prostředí a uživatelské rozhraní formuláře zobrazí Pole1 a Pole3 ve formuláři, ale nikoli Pole2, které bylo odstraněno Řešením B.
  4. Při dalším vlastním nastavování formuláře přizpůsobeného v kroku 1 pomocí nových spravovaných řešení použijte nové vývojové prostředí, které má formulář B ve spravovaném stavu. Jak ukazuje následující diagram, jsou spravovaná řešení Řešení A a Řešení B importována do nového vývojového prostředí. FormB je přizpůsoben a vytváří aktivní přizpůsobení, která pak lze přidat do nového řešení (Řešení C v diagramu) a exportovat jako spravované řešení.
  5. Ve svém testovacím prostředí importujte spravované Řešení C z kroku 4. Jak ukazuje následující diagram, Řešení C přidává nové Pole4 ve FormulářiB a odstraňuje Pole3, které bylo přidáno Řešením B. Uživatelské rozhraní formuláře v testovacím prostředí nyní zobrazuje Pole1 a Pole4 ve formuláři, ale nikoli Pole2 a Pole3.

Diagram scénáře 3 popisující ALM formuláře.

Příklad nevhodného postupu pro tento scénář

Jak je znázorněno na níže uvedeném diagramu, není v rámci postupu ALM vhodné vytvářet více spravovaných řešení z vývojového prostředí, které obsahuje jiné nespravované řešení vytvořené pro stejný formulář. Všimněte si, že Řešení B je v nespravovaném stavu. Když vytvoříte další nespravované řešení (Řešení C) pro FormulářB, exportuje se FormXml jako diferenciální FormXml, jak je znázorněno v kroku 4 ve výše uvedeném scénáři. Ale FormulářB také obsahuje změny z Řešení B, jež budou přepsány vašimi novými změnami.

Jak je například vidět na obrázku níže, je Pole3 přidáno do FormulářeB v Řešení B. Ale nyní, když vytvoříte nové Řešení C v tomto prostředí, s Řešením B v nespravovaném stavu, a odeberete Pole3, bude Pole3 rovněž odebráno ve vývojovém prostředí. Pole3 nebude sledováno v diff FormXml při exportu řešení, protože změna přidání a odebrání tohoto sloupce byla provedena ve stejném aktivním vrstva. To znamená, že když je spravované Řešení C importováno do testovacího prostředí, bude formulář i nadále zobrazovat Pole3, protože diferenciální FormXml jej nikdy nezaznamená jako odebrané (jako když bylo odebráno v kroku 5 ve výše uvedeném správném scénáři ALM formuláře). Provedení vlastního nastavení formuláře tímto způsobem povede k tomu, že vývojové prostředí nebude v souladu s testovacím prostředím.

Další příklad nevhodného ALM formuláře pro tento scénář.

Přizpůsobení existujícího spravovaného formuláře a jeho správa pomocí oprav a upgradů

Postupujte podle těchto kroků za účelem implementace správné ALM formuláře pro tento scénář.

  1. Přizpůsobte existující spravovaný formulář s názvem FormulářB v tomto příkladu ve vývojovém prostředí a proveďte vlastní nastavení ve formuláři. Všimněte si, že Řešení A je spravované řešení již nainstalované pro formulář ve vývojovém prostředí.

  2. Vytvořte řešení (Řešení B), což bude nespravované řešení, a přidejte FormulářB. Exportujte řešení jako spravované. Tento krok exportuje diferenciální FormXml pro formulář.

  3. Ve svém testovacím prostředí importujte spravované Řešení B z kroku 2, čímž vytvoříte druhou vrstvu řešení pro formulář. V níže uvedeném diagramu získá FormulářB sloučené změny z Řešení A a Řešení B v testovacím prostředí. Navíc uživatelské rozhraní FormulářeB zobrazuje Pole1 a Pole3 ve formuláři, ale nikoli Pole2, které bylo odstraněno Řešením B.

  4. Při dalším vlastním nastavování formuláře přizpůsobeného v kroku 1 pomocí řešení opravy můžete použít stejné vývojové prostředí jako v kroku 1, kde Řešení B existuje v nespravovaném stavu. Jak ukazuje následující diagram, Řešení A je ve spravovaném stavu a Řešení B je v nespravovaném stavu. Formulář je dále přizpůsoben a vytvoří se oprava pro Řešení B prostřednictvím přidání formuláře do tohoto řešení a jeho exportu jako spravovaného řešení opravy. Tento krok exportuje diferenciální FormXml.

  5. Ve svém testovacím prostředí importujte spravované Řešení B opravy z kroku 4. Jak ukazuje následující diagram, Oprava Řešení B přidává nové Pole4 do FormulářeB a odstraňuje Pole3, které bylo přidáno Řešením B.

    Poznámka

    Opravy mají aditivní charakter a nemohou z formuláře odebírat komponenty, jako například sloupce. Takže Pole3 nebude z formuláře odstraněno. Uživatelské rozhraní formuláře v testovacím prostředí nyní zobrazuje Pole1, Pole3 a Pole4 ve formuláři, ale nikoli Pole2.

  6. Při dalším provádění vlastního nastavení formuláře vytvořeného v kroku 1 pomocí upgradů použijte stejné prostředí, kde Řešení B je v nespravovaném stavu, a naklonujte Řešení B za účelem vytvoření řešení upgradu a přizpůsobení FormulářeB. Exportujte upgrade jako spravované řešení. Tento krok exportuje diferenciální FormXml pro formulář.

  7. Ve svém testovacím prostředí importujte spravované Řešení B upgradu z kroku 6. Jak ukazuje následující diagram, Upgrade Řešení B přidává nové Pole5 ve FormulářiB a odstraňuje Pole3, které bylo přidáno Řešením B. Uživatelské rozhraní formuláře v testovacím prostředí nyní zobrazuje Pole1, Pole4 a Pole5 ve formuláři, ale Pole2 a Pole3 jsou odstraněna.

Upravte stávající spravovaný formulář pomocí diagramu oprav a upgradů.

Správa nespravovaných řešení a vlastní nastavení nového formuláře napříč různými vývojovými prostředími

Postupujte podle těchto kroků za účelem implementace správné ALM formuláře pro tento scénář.

  1. Ve Vývojovém prostředí 1 vytvořte nový FormulářA a proveďte vlastní nastavení ve formuláři.
  2. Vytvořte řešení (Řešení A v níže uvedeném diagramu), což bude nespravované řešení, a přidejte svůj nový formulář. Exportujte řešení jako nespravované. Tento krok exportuje úplný FormXml pro formulář.
  3. Ve Vývojovém prostředí 2 importujte nespravované řešení z kroku 2, které vytvoří formulář ve Vývojovém prostředí 2. V níže uvedeném diagramu se vytvoří FormulářA a uživatelské rozhraní formuláře zobrazí Pole1 a Pole2, jež Řešení A přidalo do formuláře.
  4. Dále přizpůsobte formulář ve Vývojovém prostředí 2 prostřednictvím aktivních vlastních nastavení v prostředí, jako je například přidání nového sloupce s názvem Pole3. Formulář A nyní zobrazuje Pole1, Pole2 a Pole3.
  5. Ve svém Vývojovém prostředí 1 dále přizpůsobte formulář také přidáním Pole4. Uživatelské rozhraní formuláře ve Vývojovém prostředí 1 nyní zobrazuje Pole1, Pole2 a Pole4.
  6. Exportujte nespravované Řešení A se změnami provedenými v kroku 5. Tento krok exportuje úplný FormXml pro formulář.
  7. Ve Vývojovém prostředí 2 importujte nespravovaný Upgrade Řešení A z kroku 6. Protože importované řešení obsahuje úplný FormXml pro FormulářA, přepíše aktivní vlastní nastavení provedené ve Vývojovém prostředí 1. Formulář tedy nyní zobrazuje pouze Pole1, Pole2 a Pole4, ale nikoli Pole3, které bylo dalším aktivním vlastním nastavením provedeným ve Vývojovém prostředí 1. K tomuto chování dochází při jakémkoli importu nespravovaného řešení, jež má úplný FormXml pro formulář.

Nespravovaná řešení v různých prostředích.

Správa nespravovaných řešení a vlastní nastavení existujícího formuláře napříč různými vývojovými prostředími

Postupujte podle těchto kroků za účelem implementace správné ALM formuláře pro tento scénář.

  1. Ve Vývojovém prostředí 1 přizpůsobte existující formulář s názvem FormulářB v tomto příkladu. Poté proveďte vlastní nastavení ve formuláři.
  2. Vytvořte řešení (Řešení B v níže uvedeném diagramu), což bude nespravované řešení, a přidejte FormulářB. Exportujte řešení jako nespravované. Tento krok exportuje diferenciální FormXml pro formulář.
  3. Ve Vývojovém prostředí 2 importujte nespravované řešení z kroku 2, čímž vytvoříte druhou vrstvu řešení pro formulář. Uživatelské rozhraní FormulářeB zobrazuje Pole1, Pole2 a Pole3 po sloučení formuláře.
  4. Dále přizpůsobte formulář ve Vývojovém prostředí 2 prostřednictvím aktivních vlastních nastavení v prostředí, jako je například přidání nového sloupce s názvem Pole4. Formulář B nyní zobrazuje Pole1, Pole2, Pole3 a Pole 4.
  5. Ve Vývojovém prostředí 1 dále přizpůsobte formulář přidáním nového sloupce s názvem Pole5. Uživatelské rozhraní formuláře ve Vývojovém prostředí 1 nyní zobrazuje Pole3 a Pole5.
  6. Exportujte nespravované Řešení B se změnami provedenými v kroku 5. Tento krok exportuje diferenciální FormXml pro formulář.
  7. Ve Vývojovém prostředí 2 importujte nespravovaný Upgrade Řešení B z kroku 6. Protože importované řešení obsahuje diferenciální FormXml pro FormulářB, sloučí se s aktivními vlastními nastaveními provedenými ve Vývojovém prostředí 1. Formulář tedy nyní zobrazuje Pole1, Pole2, Pole3, Pole4 a Pole5. K tomuto chování dochází při jakémkoli importu nespravovaného řešení, jež má diferenciální FormXml pro formulář.
  8. Pokud sloučení formuláře v kroku 7 není to, co chcete, přestože importujete diferenciální FormXml s nespravovaným řešením, a chcete mít možnost přepsat aktivní vlastní nastavení provedená ve Vývojovém prostředí 2, v tom případě odeberte aktivní vrstvu pro FormulářB. Více informací: Odebrání nespravované vrstvy.
  9. Exportujte nespravované Řešení B se změnami provedenými v kroku 5. Tento krok exportuje diferenciální FormXml pro formulář.
  10. Ve Vývojovém prostředí 2 importujte nespravovaný Upgrade Řešení B z kroku 9. Protože ve formuláři ve Vývojovém prostředí 2 není žádná aktivní vrstva (viz krok 8), všechny změny z nespravovaného Řešení B jsou importovány, i když importujete diferenciální FormXml pro FormulářB. Formulář tedy nyní zobrazuje pouze Pole1, Pole2, Pole3 a Pole5. K tomuto chování dochází při jakémkoli importu nespravovaného řešení, jež má diferenciální FormXml pro formulář. Toto je stejný výsledek jako v kroku 7 ve scénáři Správa nespravovaných řešení a vlastní nastavení existujícího formuláře napříč různými vývojovými prostředími.

Diagram scénáře 6 popisující správu životního cyklu aplikace formuláře.

Úplný a diferenciální XML formuláře

Každý exportovaný balíček řešení obsahuje soubor customizations.xml. Kdykoli je do řešení zahrnut formulář, existuje související definice formuláře v oddílech FormXml souboru customizations.xml. FormXml může být buď úplný, nebo diferenciální (diff).

Úplný FormXml

FormXml získaný při exportu řešení pro formulář v nespravovaném stavu se nazývá úplný FormXml. Úplný znamená, že obsahuje celou definici formuláře. Když vytvoříte nový formulář a exportujete ho, bude formulář vždy představovat úplný FormXml, protože formulář v prostředí, ze kterého provádíte export, je v nespravovaném stavu a je také ve stavu vytvoření. Pokud exportujete další řešení ze stejného prostředí, budou také obsahovat úplný FormXml. Protože atribut solutionaction označuje diferenciální FormXml, nebude úplný FormXml v souboru customization.xml v exportovaném řešení obsahovat žádné atributy solutionaction.

Diferenciální (diff) FormXml

FormXml získaný při exportu řešení pro formulář ve spravovaném stavu se nazývá diferenciální neboli diff FormXml. Diferenciální znamená, že FormXml obsahuje pouze změny provedené v aktivních vlastních nastaveních v daném prostředí, a nikoli celou definici formuláře. Když přizpůsobíte existující spravovaný formulář a exportujete ho, bude formulář vždy představovat diferenciální FormXml, protože bude obsahovat pouze aktivní změny, které se v něm provedly. Diferenciální FormXml v souboru customization.xml v exportovaném řešení bude obsahovat atributy solutionaction definující provedené změny, jako například Přidáno, Odstraněno, Upraveno.

Diferenciální FormXml zajišťuje, že vaše řešení bude vyjadřovat pouze změny, které vaše aplikace potřebuje, a bude méně ovlivněno změnami z jiných vrstev. Diferenciální FormXml také činí řešení méně objemným a pomáhá ho rychleji importovat.

Viz také

Doporučení pro zdravou formu ALM