Fjernelse af oversigt over afhængigheder
Løsningskomponenter afhænger ofte af andre løsningskomponenter. Du kan ikke slette nogen løsningskomponent, der har afhængigheder fra andre løsningskomponenter. Afhængigheder er poster, der oprettes automatisk løsningsstrukturen for at forhindre, at påkrævede komponenter slettes, mens en eller flere afhængige komponenter stadig indeholder referencer til dem. Et eksempel på en afhængighed er følgende: Hvis et felt er nødvendigt, for at en fomular kan fungere, holder formularen op med at fungere, hvis du på et tidspunkt forsøger at udføre en handling, der medfører, at det pågældende felt slettes.
Bemærk
I denne artikel betyder slette, at komponenten fjernes helt fra systemet.
I denne artikel gennemgås, hvordan du håndterer disse afhængigheder, og de strategier, du kan bruge til at fjerne afhængigheder, som du ikke længere har brug for.
Afhængigheder af ikke-administrerede versus administrerede komponenter
For det første er det vigtigt at forstå, at afhængigheder kun forhindrer handlinger, der sletter en påkrævet komponent. De handlinger, der kan slette en komponent, er forskellige, afhængigt af om den er ikke-administreret eller administreret.
Ikke-administrerede komponenter
Disse komponenter repræsenteres ved et enkelt lag i den aktive løsning. Alle Slette-handlinger udført på en sådan komponent medfører, at komponenten fjernes fuldstændig.
Administrerede komponenter
Sletningen af administrerede komponenter afhænger af flere faktorer: antallet af løsningslag, den relative placering af det lag, der fjernes, og udgiverne af komponenten. Når en komponent f.eks. slettes, skal du overveje følgende scenarier, og hvilken funktionsmåde du kan forvente, når du fjerner de forskellige lag.
Eksempelscenarier
I følgende eksempelscenarier illustreres det, hvad der sker med løsningslag, når der fjernes løsninger.
Scenarie 1: Fjernelse af et enkelt løsningslag
Fjernelse af løsning 1 medfører sletning af en komponent, fordi det er det eneste lag for komponenten.
Scenarie 2: Fjernelse af løsningslags fra forskellige udgivere
- Fjernelse af løsning 2 medfører ikke sletning af komponenter. Kun det pågældende lag vil blive fjernet.
- Fjernelse af løsning 1 medfører sletning af en komponent, fordi handlingen sker i basislaget. Faktisk kan løsning 1 ikke fjernes i dette scenarie, fordi en løsning fra en anden udgiver udvider komponenten.
Scenarie 3: Fjernelse af flere løsningslags fra forskellige udgivere
- Fjernelse af løsning 3 medfører ikke sletning af komponenter. Kun det pågældende lag vil blive fjernet.
- Fjernelse af løsning 2 medfører ikke sletning af komponenter. Kun det pågældende lag vil blive fjernet.
- Fjernelse af løsning 1 medfører ikke sletning af en komponent, da der i dette tilfælde er en anden løsning fra den samme udgiver (udgiver A = udgiver C)). Platformen fjerner laget fra løsning 1 og erstatter det med laget fra løsning 3.
Scenarie 4: Fjernelse af løsningslag i en ikke-administreret tilpasning
- Hvis du fjerner det aktive (ikke-administrerede) lag, medfører det ikke, at en komponent slettes. Kun det pågældende lag vil blive fjernet. Bemærk, at du ikke kan fjerne den aktive løsning, men du kan fjerne komponenter ved hjælp af funktionen Fjern aktiv tilpasning.
- Fjernelse af løsning 1 medfører sletning af en komponent. Handlingen sker i basislaget. I modsætning til scenarie 2 kan du fjerne løsning 1. Den aktive løsning betragtes ikke som en udvidelse, og begge lag fjernes.
Vis afhængigheder-side
Kommandoen Vis afhængigheder angiver afhængighederne for den valgte løsning eller løsningskomponent. Det kan aktiveres ved at:
- Vælge Vis afhængigheder på løsningssiden.
- Valg af Avanceret>Vis afhængigheder i en løsning, når der vælges en løsningskomponent.
- Forsøger at fjerne en løsning, som medfører, at platformen registrerer, at afhængighederne findes.
På siden Afhængigheder kan du åbne, fjerne eller slette komponenten. Flere oplysninger: Få vist afhængigheder for en komponent
Diagnosticering af afhængigheder
Lad os overveje følgende scenarie. Organisationen nedenfor indeholder to løsninger: Løsning – Arbejdsproces og Løsning – Brugerdefineret objekt.
Organisationens ejer besluttede, at de ikke længere har brug for Løsning – Brugerdefineret objekt, prøvede at slette det og blev præsenteret for følgende side:
Uden at gå i detaljer, kan vi konkludere, at fjernelsen af løsningen forsøger at slette et objekt med navnet Brugerdefineret objekt og tre felter Brugerdefineret objekt, Navn og Nummerfeltog alle fire komponenter har afhængigheder.
Bemærk
Hvis du fjerner løsningen, kan der muligvis blive slettet flere komponenter, men da de ikke har afhængigheder, vises de ikke på listen.
Det næste trin er at undersøge linket Løsningslag (kolonnen yderst til højre) for hver afhængighed. Dette kan hjælpe dig med at beslutte, hvad du skal foretage dig for at fjerne afhængigheden.
I følgende figur vises afhængighedsoplysninger mellem objektet (brugerdefineret objekt) og processen (test af arbejdsproces).
Afhængigt af de viste data kan du se, at den afhængige komponent tilhører en løsning med navnet SolutionWorkflow. Hvis du vil fjerne denne afhængighed, kan vi enten:
- Opdater definitionen af arbejdsprocessen i SolutionWorkflow ved at fjerne eventuelle referencer til objektet eller de tilhørende underkomponenter. Opdater eller Opgrader derefter løsningen.
- Fjern SolutionWorkflow-løsningen.
- Fjern arbejdsprocessen fra en ny version af SolutionWorkflow-løsningen, og udfør derefter en Opgradering.
Da en hvilken som helst afhængig komponent kan forhindre fjernelse af løsningen, anbefales det, at du kontrollerer alle afhængighederne og foretager alle de nødvendige ændringer i en enkelt handling.
I følgende figur vises afhængighedsoplysninger mellem objektet (brugerdefineret objekt) og en modelbaseret app (Min app).
Afhængigt af de viste data kan du se, at den afhængige komponent tilhører en løsning med navnet Active. Dette angiver, at afhængigheden blev oprettet ved at importere en ikke-administreret løsning eller via en ikke-administreret tilpasning, der blev udført via den moderne brugergrænseflade eller API.
Hvis du vil fjerne denne afhængighed, kan du enten:
- Redigere definitionen for den modelbaserede app, så den fjerner enhver reference til objektet eller de tilhørende underkomponenter. Eftersom modelbaserede apps understøtter publicering, skal du publicere dine ændringer.
- Slette den modelbaserede app.
Bemærk
Fjernelse af en ikke-administreret løsning er ikke en mulighed for at fjerne denne afhængighed, da ikke-administrerede løsninger kun er en måde at gruppere komponenter på.
Handlinger, der fjerner en administreret afhængighed
Administrerede afhængigheder er dem, hvor den afhængige komponent er knyttet til en administreret løsning. Du skal reagere på den løsning, hvor komponenten blev tilføjet, for at løse denne type afhængighed. Denne handling kan variere, afhængigt af hvad du forsøger at gøre.
Hvis du forsøger at fjerne en løsning
Følg disse trin:
- I målorganisationen skal du undersøge linket Løsningslag for at finde, hvad der er den øverste løsning på listen for den afhængige komponent.
- I kildeorganisationen skal du forberede en ny version af løsningen, hvor løsningen enten ikke indeholder den afhængige komponent, eller har en opdateret version af den afhængige komponent, der ikke indeholder referencer til den påkrævede komponent. Dit mål er at fjerne alle referencer til de påkrævede komponenter i den nye version af løsningen.
- Eksportere den nye versionen af løsningen.
- I målorganisationen skal du Opgradere denne løsning.
- Forsøg at fjerne igen.
Hvis du forsøger at opgradere en løsning
I dette tilfælde skal du bekræfte, at du vil slette den påkræved komponent (husk, at afhængigheder kun skal gennemtvinges for de komponenter, der skal slettes).
Hvis du ikke vil slette komponenten, kan du rette den nye version af løsningen ved at tilføje komponenten igen ved hjælp af følgende fremgangsmåde:
- I målorganisationen skal du fjerne den trindelte løsning (den løsning, der afsluttes i Opgrader).
- I kildeorganisationen skal du føje de(n) påkrævede komponent(er) til løsningen igen.
- Eksportere den nye version.
- Forsøge at foretage opgraderingen igen.
Hvis sletningen er tilsigtet, skal du fjerne afhængigheden. Prøv at udføre de trin, der er beskrevet i den foregående sektion "Hvis du forsøger at fjerne en løsning".
Lag og afhængigheder
De afhængige komponenter kan lagdeles, så det kan være nødvendigt at ændre mere end én løsning for at fjerne en afhængighed fuldstændig. I afhængighedsstrukturen beregnes der kun afhængigheder mellem de øverste lag for de påkrævede og afhængige komponenter. Det betyder, at du skal arbejde oppefra og ned i forhold til løsningerne for den afhængige komponent.
Overvej følgende scenarie:
Du forsøger at fjerne Løsning – Brugerdefineret objekt, og handlingen blokeres af afhængigheder.
Du begynder at diagnosticere afhængigheden ved at vælge Løsningslag i attributten new-numberfield. Du ser følgende skærmbillede:
Da der kun oprettes afhængigheder mellem de øverste lag i de enkelte komponenter, er det første trin at behandle afhængigheden mellem attributten new_numberfield i SolutionCustomEntity og arbejdsprocessen Test arbejdsproces i SolutionWorkflow3.
For at fjerne afhængigheden skal du beslutte at fjerne SolutionWorflow3. Det gør du, men når du forsøger at fjerne løsningen én gang mere, præsenteres du for den samme side med afhængigheder:
Attributten new_numberfield er dog ikke længere angivet, selvom den fandtes i flere lag.
Handlinger, der fjerner en ikke-administreret afhængighed
Hvis du vil fjerne ikke-administrerede afhængigheder, skal du handle direkte på komponenterne og ikke i de løsninger, de er knyttet til. Hvis du f.eks. vil fjerne afhængighederne mellem en attribut og en formular, skal du redigere den i formulareditor og fjerne attributten fra formularen. Afhængigheden fjernes, når du vælger Gem og Publicer.
Bemærk
- Kommandoen Vis afhængigheder giver dig mulighed for at udføre handlinger for at få vist, fjerne afhængigheden, redigere komponenten eller slette komponenten. Flere oplysninger: Få vist afhængigheder for en komponent
- Du kan også slette den afhængige komponent. Denne handling sletter alle afhængigheder sammen med komponenten.
Hvis du vil have vist afhængighederne for en komponent, fra området Løsninger skal du åbne den ønskede løsning og vælge de lodrette ellipser ud for komponenten og derefter vælge Avanceret>Vis afhængigheder.
Siden for afhængigheder består af to forskellige dele:
- Afhængige komponenter: En liste over komponenter, der afhænger af det valgte felt. Med andre ord vil disse komponenter have dette felt som den påkrævede komponent.
- Påkrævede komponenter: En liste over komponenter, som dette felt skal bruge for at kunne fungere. Med andre ord vil disse komponenter have dette felt som den afhængige komponent.