Vedligeholde stabil ALM for modelbaseret appformular
Denne artikel indeholder oplysninger om de forskellige scenarier, du kan bruge til at implementere og anvende ALM (Healthy Application Lifecycle Management) til tilpasning af formularer i dine modelbaserede appløsninger.
I følgende afsnit beskrives, hvordan formularfletning fungerer, og hvordan tilpasninger vedligeholdes. De grundlæggende udviklingsscenarier med anbefalinger til vedligeholdelse af en vellykket ALM for en modelbaseret appformular er beskrevet i detaljer i hvert af de følgende afsnit. Alle scenarier indeholder trin, der skal følges, og som kan hjælpe dig med at implementere en korrekt ALM-proces, når du opdaterer løsningen eller en modelbaseret app.
Følg disse trin for at implementere en sund ALM-formular til dette scenario.
- Opret en ny formular, der hedder Formular A, i udviklingsmiljøet, og foretag tilpasninger i formularen.
- Opret en ny løsning (med navnet Løsning A i nedenstående diagram) i udviklingsmiljøet, som er en ikke-administreret løsning, og tilføj din nye formular. Eksportér den administrerede løsning. I dette trin eksporteres en fuld FormXml til formularen.
- I testmiljøet skal du importere administreret løsning fra trin 2, der opretter Formular A i testmiljøet. I nedenstående diagram oprettes FormA i testmiljøet, og i formularens brugergrænseflade vises Felt1 og Felt2, som Løsning A føjede til formularen.
- Når du yderligere tilpasser den formular, du oprettede i trin 1 ved hjælp af et nyt udviklingsmiljø (kildemiljø), skal du importere den administrerede Løsning A, der blev oprettet i trin 2, og sørge for, at den udviklingsforekomst, du bruger, har FormularA i en administreret tilstand. Som vist i diagrammet nedenfor importeres administreret løsning A i udviklingsmiljøet, og formularen tilpasses ved oprettelse af aktive tilpasninger. Formular A kan derefter føjes til en ny ikke-administreret løsning (Løsning B i diagrammet) og eksporteres som en administreret løsning fra udviklingsmiljøet. I dette trin eksporteres en differentieret (diff) FormXml til formularen.
- Importér administreret løsning (Løsning B) fra trin 4 i testmiljøet. Som vist i nedenstående diagram føjer Løsning B et nyt felt3 til FormularA og fjerner Felt2, som blev tilføjet af Løsning A. Brugergrænsefladen til formularen i testmiljøet viser nu Field3 og Field1 i formularen, men ikke Felt2 efter fletningen.
Som det ses i nedenstående diagram, er det ikke en sund ALM-praksis at oprette flere administrerede løsninger fra udviklingsmiljøet, hvor basisløsningen (Løsning A) er i ikke-administreret tilstand. Det skyldes, at Når du opretter en anden ikke-administreret løsning (løsning B) til den ikke-administrerede formular, eksporteres FormXml som en fuld FormXml i stedet for en diff FormXml som vist i det gyldige scenario ovenfor. Efterfølgende træder ændringer som fjernelse af en kolonne ikke i kraft.
Følg disse trin for at implementere en sund ALM-formular til dette scenario.
Opret en ny formular, der hedder Formular A, i udviklingsmiljøet, og foretag tilpasninger i formularen.
Opret en ny løsning (med navnet Løsning A i nedenstående diagram), som er en ikke-administreret løsning, og tilføj din nye formular. Eksportér den administrerede løsning. I dette trin eksporteres en fuld FormXml til formularen.
I testmiljøet skal du importere administreret løsning fra trin 2, der derefter opretter formularen i testmiljøet. I nedenstående diagram oprettes FormA i testmiljøet, og i formularens brugergrænseflade vises Felt1 og Felt2, som Løsning A føjede til formularen.
Når du yderligere tilpasser den formular, du har oprettet i trin 1, skal du bruge det samme miljø, hvor Løsning A er i ikke-administreret tilstand, oprette en programrettelse til løsningen og tilpasse formularen. Eksporter derefter programrettelsen som en administreret løsning. I dette trin eksporteres en fuld FormXml til formularen.
Importér administreret programløsning fra trin 4 i testmiljøet. Som vist i nedenstående diagram føjer Løsning A et nyt Felt3 til Formular A og fjerner Felt2, der blev tilføjet af Løsning A.
Bemærk
Programrettelser, der indeholder full formXml, sammenlignes altid med det basislag, som programrettelsen blev oprettet fra, og ignorerer eventuelle mellemliggende programrettelser mellem basislaget og den aktuelle programrettelse. Derfor fjernes Felt2, da det findes i Løsning A i basislaget, og fjernelsen registreres. Til gengæld tilføjes Felt3 med denne programrettelsesløsning, og det er ikke muligt at fjerne dem efterfølgende. Felter, der tilføjes via programrettelsesløsninger, er derfor som standard additive.
Når du yderligere tilpasser den formular, du har oprettet i trin 1 ved hjælp af opgraderinger, skal du bruge det samme miljø, hvor Løsning A er i ikke-administreret tilstand, og klone Løsning A til at opgradere løsningen og tilpasse formularen. Eksportér Løsning A-opgraderingen som en administreret løsning. I dette trin eksporteres en fuld FormXml til formularen.
Importér administreret løsning Løsning A-opgradering fra trin 6 i testmiljøet. Som vist i nedenstående diagram føjer Løsning A-opgradering en nyt Felt4 til Formular A og fjerner Felt2, som blev tilføjet af Løsning A. Brugergrænsefladen til formularen i testmiljøet viser nu Felt1, Felt3 og Felt4 på formularen, men Felt2 fjernes, når formularen flettes fra import.
Tilpasning af eksisterende administreret formular og vedligeholdelse af den ved hjælp af flere administrerede løsninger
Følg disse trin for at implementere en sund ALM-formular til dette scenario.
- Rediger en eksisterende administreret formular med navnet Formular B i dette eksempel i udviklingsmiljøet, og foretag tilpasninger af formularen. Bemærk, at løsning A er den administreret løsning, der allerede er installeret for formularen i udviklingsmiljøet.
- Opret en ny løsning (Løsning B i nedenstående diagram), som er en ikke-administreret løsning, og tilføj FormularB. Eksportér den administrerede løsning. I dette trin eksporteres en differentieret (diff) FormXml til formularen.
- I testmiljøet skal du importere administreret løsning fra trin 2, der derefter opretter et nyt løsningslag til formularen. Som vist i nedenstående diagram føjer FormularB de flettede ændringer fra Løsning A og Løsning B i testmiljøet, og brugergrænsefladen for formularen viser Felt1 og Felt3 i formularen, men ikke Felt2, der blev fjernet af Løsning B.
- Når du tilpasser den formular, du har tilpasset i trin 1, yderligere ved hjælp af nye administrerede løsninger, skal du sikre dig, at du bruger et nyt udviklingsmiljø med FormularB i en administreret tilstand. Som vist i diagrammet nedenfor importeres løsninger, der administreres af Løsning A og B, i det nye udviklingsmiljø. FormularB er tilpasset oprettelse af aktive tilpasninger, som derefter kan føjes til en ny løsning (Løsning C i diagrammet) og eksporteres som en administreret løsning.
- Importér administreret Løsning C fra trin 4 i testmiljøet. Som vist i nedenstående diagram føjer Løsning C et nyt Felt4 til FormularB og fjerner Felt3,der blev tilføjet af Løsning B. Brugergrænsefladen til formularen i testmiljøet viser nu Felt1 og Felt4 på formularen, ,men ikke Felt2 og Felt3.
Som det ses i nedenstående diagram, er det ikke en sund ALM-praksis at oprette flere administrerede løsninger fra udviklingsmiljøet, der indeholder en anden ikke-administreret tilstand, du har oprettet til samme formular. Bemærk, at løsning B er i ikke-administreret tilstand. Når du opretter en anden ikke-administreret løsning (Løsning C) til FormularB, eksporteres FormXml som en diff FormXml som vist i trin 4 i det ovennævnte scenario. Men Formular B indeholder også ændringerne fra Løsning B, som overskrives af de nye ændringer.
Som det f.eks. kan ses i diagrammet nedenfor, føjes Field3 til FormularB i Løsning B. Men når du nu opretter en ny løsning C i dette miljø med Løsning B i ikke-administreret tilstand og fjerner Felt3, fjernes Felt3 også i udviklingsmiljøet. Felt3 spores ikke i diff FormXml, når løsningen eksporteres, da ændringen af tilføjelse og fjernelse af denne kolonne blev foretaget i det samme aktive lag. Det betyder, at når administreret løsning C importeres i testmiljøet, gengives Feltet3 stadig i formularen, fordi diff FormXml aldrig registrerer det som fjernet (som om det blev fjernet i trin 5 i det sunde ALM-scenario ovenfor). Hvis du udfører formulartilpasningerne på denne måde, medfører det, at udviklingsmiljøet ikke er i overensstemmelse med testmiljøet.
Tilpasning af eksisterende administreret formular og vedligeholdelse af den ved hjælp af programmer og opgraderinger
Følg disse trin for at implementere en sund ALM-formular til dette scenario.
Tilpas en eksisterende administreret formular med navnet Formular B i dette eksempel i udviklingsmiljøet, og foretag tilpasninger af formularen. Bemærk, at løsning A er den administreret løsning, der allerede er installeret for formularen i udviklingsmiljøet.
Opret en ny løsning (Løsning B), som er en ikke-administreret løsning, og tilføj FormularB. Eksportér den administrerede løsning. I dette trin eksporteres en differentieret FormXml til formularen.
I testmiljøet skal du importere administreret Løsning B fra trin 2, der derefter opretter et nyt løsningslag til formularen. I nedenstående diagram får FormularB de flettede ændringer fra Løsning A og Løsning B i testmiljøet. Brugergrænsefladen til FormularB viser desuden Felt1 og Felt3 i formularen, men ikke Felt2, som blev fjernet af Løsning B.
Når du tilpasser formularen yderligere i trin 1 ved hjælp af en programrettelsesløsning, kan du bruge det samme udviklingsmiljø som trin 1, hvor Løsning B findes i ikke-administreret tilstand. Som vist i diagrammet nedenfor er Løsning A i administreret tilstand, og Løsning B er i ikke-administreret tilstand. Formularen tilpasses yderligere, og du opretter en programrettelse til løsning B, der føjer din formular til denne løsning og eksporterer den som en administreret programrettelsesløsning. I dette trin eksporteres en differentieret FormXml.
Importér administreret programrettelse Løsning B fra trin 4 i testmiljøet. Som vist i nedenstående diagram tilføjer Løsning B programrettelse et nyt Felt4 til FormularB og fjerner Felt3,der blev tilføjet af Løsning B.
Bemærk
Programrettelser er i sagens art additive og kan ikke fjerne komponenter, f.eks. kolonner, fra formularen. Så Felt3 fjernes derfor ikke fra formularen. Brugergrænsefladen til formularen i testmiljøet viser nu Felt1, Felt3 og Felt4 på formularen, men ikke Felt2.
Når du yderligere tilpasser den formular, du har oprettet i trin 1 ved hjælp af opgraderinger, skal du bruge det samme miljø, hvor Løsning B er i ikke-administreret tilstand, og klone Løsning B til at opgradere løsningen og tilpasse FormularB. Eksporter derefter opgraderingen som en administreret løsning. I dette trin eksporteres en differentieret FormXml til formularen.
Importér administreret Løsning B opgraderet løsning fra trin 6 i testmiljøet. Som vist i nedenstående diagram føjer Løsning b opgraderet et nyt Felt5 til FormularB og fjerner Felt3, der blev tilføjet af Løsning B. Brugergrænsefladen til formularen i testmiljøet viser nu Felt1, Felt4 og Felt5 på formularen, med Felt2 og Felt3 er fjernet.
Vedligeholdelse af ikke-administrerede løsninger og tilpasninger for en ny formular på tværs af flere udviklingsmiljøer
Følg disse trin for at implementere en sund ALM-formular til dette scenario.
- Opret en ny formular i udviklingsmiljø 1, der hedder FormularA , og foretag tilpasninger i formularen.
- Opret en ny løsning (Løsning A i nedenstående diagram), som er en ikke-administreret løsning, og tilføj din nye formular. Eksportér løsningen som ikke-administreret. I dette trin eksporteres en fuld FormXml til formularen.
- I Udviklingsmiljø 2 skal du importere den ikke-administrerede løsning fra trin 2, hvor formularen oprettes i Udviklingsmiljø 2. I nedenstående diagram oprettes FormularA i testmiljøet, og i formularens brugergrænseflade vises Felt1 og Felt2, som Løsning A tilføjede til formularen.
- Du kan tilpasse formularen yderligere i Udviklingsmiljø 2, når du foretager aktive tilpasninger i miljøet, f.eks. tilføjelse af en ny kolonne med navnet Felt3. FormularA viser nu Felt1, Felt2 og Felt3.
- I Udviklingsmiljø 1kan du også tilpasse formularen yderligere ved at tilføje Felt4. Brugergrænsefladen til formularen i udviklingsmiljø 1 viser nu Felt1, Felt2 og Felt4.
- Eksportér ikke-administreret løsning A med ændringerne i trin 5. I dette trin eksporteres en fuld FormXml til formularen.
- I udviklingsmiljø 2 importeres ikke-administreret løsning A opgraderet fra trin 6 i testmiljøet. Da den løsning, du importerer, indeholder den fulde FormXml til FormularA, overskrives den aktive tilpasning, der er foretaget i Udviklingsmiljø 1. I formularen vises nu kun Felt1, Felt2 og Felt4, men ikke Felt3, som var den ekstra aktive tilpasning, der blev foretaget i Udviklingsmiljø 1. Dette forekommer i forbindelse med import af ikke-administrerede løsninger, der indeholder hele FormXml til formularen.
Vedligeholdelse af ikke-administrerede løsninger og tilpasninger for en ny eksisterende formular på tværs af flere udviklingsmiljøer
Følg disse trin for at implementere en sund ALM-formular til dette scenario.
- Tilpas en eksisterende formular med navnet FormularB i dette eksempel i Udviklingsmiljø 1. Udfør derefter tilpasninger i formularen.
- Opret en ny løsning (Løsning B i nedenstående diagram), som vil være en ikke-administreret løsning, og tilføj FormularB. Eksportér løsningen som ikke-administreret. I dette trin eksporteres en differentieret FormXml til formularen.
- I testmiljøet skal du importere den ikke-administrerede løsning fra trin 2 i udviklingsmiljøLøsning 2 og derefter oprette et nyt løsningslag til formularen. Brugergrænsefladen FormularB viser felt11, Felt2 og Felt3 efter formularfletningen.
- Du kan tilpasse formularen yderligere i Udviklingsmiljø 2, når du foretager aktive tilpasninger i miljøet, f.eks. tilføjelse af en ny kolonne med navnet Felt4. FormularB viser nu Felt1, Felt2, Felt3 og Felt4.
- I Udviklingsmiljø 1kan du også tilpasse formularen yderligere ved at tilføje en ny kolonne Felt5. Brugergrænsefladen til formularen i udviklingsmiljø 1 viser nu Felt3 og Felt5.
- Eksportér ikke-administreret løsning B med ændringerne i trin 5. I dette trin eksporteres en differentieret FormXml til formularen.
- I udviklingsmiljø 2 importeres ikke-administreret løsning B opgraderet fra trin 6. Da den løsning, du importerer, indeholder den differentierede FormXml til FormularB, flettes den med den aktive tilpasning, der er foretaget i Udviklingsmiljø 1. Formularen viser nu felt1, Felt2, Felt3, Felt4 og Felt5. Dette forekommer i forbindelse med import af ikke-administrerede løsninger, der indeholder den differentierede FormXml til formularen.
- Hvis formularfletningen i trin 7 ikke er det, du ønsker, selvom du importerer en differentieret FormXml med den ikke-administrerede løsning, og du vil kunne overskrive de aktive tilpasninger, der er foretaget i Udviklingsmiljø 2, skal du fjerne det aktive lag for FormularB. Flere oplysninger: Fjernelse af et ikke-administreret lag.
- Eksportér ikke-administreret løsning B med ændringerne i trin 5. I dette trin eksporteres en differentieret FormXml til formularen.
- I udviklingsmiljø 2 importeres ikke-administreret løsning B opgraderet fra trin 9. Da der ikke findes et aktivt lag for formularen i Udviklingsmiljø 2 (se trin 8), importeres alle ændringerne fra ikke-administreret løsning B, selvom du importerer diff FormXml til FormularB. Formularen viser nu kun Felt1, Felt2, Felt3 og Felt5. Dette forekommer i forbindelse med import af ikke-administrerede løsninger, der indeholder den differentierede FormXml til formularen. Det er det samme resultat som trin 7 i vedligeholdelse af ikke-administrerede løsninger og tilpasninger for en eksisterende formular i flere udviklingsmiljøer.
Alle eksporterede løsningsløsninger indeholder en customizations.xml-fil. Når en formular er inkluderet i en løsning, findes den relaterede formulardefinition i formXml-afsnittene i customizations.xml-filen. FormXml kan enten være fuld eller differentieret (diff).
Den FormXml, du får ved eksport af en løsning til en formular i ikke-administreret tilstand, kaldes en fuld FormXml. Den fulde betyder, at den indeholder hele formulardefinitionen. Når du opretter en ny formular og eksporterer den, er formularen altid en fuld FormXml, da formularen i det miljø, du eksporterer fra, er i ikke-administreret tilstand og også er i oprettelsestilstand. Hvis du eksporterer flere løsninger fra det samme miljø, indeholder de også en fuld FormXml. Da attributten solutionaction
angiver en diff FormXml, indeholder den fulde FormXml i customization.xml-filen i den løsning, du eksporterer, ingen solutionaction
-attributter.
Den FormXml, du får ved eksport af en løsning til en formular i administreret tilstand, kaldes en differentieret eller diff FormXml. Diff betyder, at FormXml kun indeholder de ændringer, der er foretaget i de aktive tilpasninger i det pågældende miljø, og ikke hele formulardefinitionen. Når du tilpasser en eksisterende administreret formular og eksporterer den, er formularen altid en diff FormXml, da den kun indeholder aktive ændringer, der er foretaget af den. Diff FormXml i filen customization.xml i den løsning, du eksporterer, indeholder solutionaction
-attributter, der definerer, hvad ændringerne er, f.eks. Tilføjet, Fjernet, Ændret.
Diff FormXml sikrer, at din løsning kun vil give udtryk for de ændringer, din app har brug for, og at den vil blive påvirket mindre af ændringer fra andre lag. Diff FormXml gør også løsningen mindre omfangsfuld og hjælper den med at importere hurtigere.