Oversikt over fjerning av avhengigheter

Løsningskomponenter er ofte avhengige av andre løsningskomponenter. Du kan ikke slette en løsningskomponent som har avhengigheter til en annen løsningskomponent. Avhengigheter er oppføringer som opprettes automatisk av løsningsrammeverket for å forhindre at nødvendige komponenter slettes mens én eller flere avhengige komponenter fremdeles inneholder referanser til dem. Et eksempel på en avhengighet er følgende: Gitt at et felt er obligatorisk for at et skjema skal fungere: Hvis du prøver å utføre en handling som fører til at dette feltet blir slettet, slutter skjemaet å fungere.

Merk

I denne artikkelen vil slett si at komponenten er fullstendig fjernet fra systemet.

I denne artikkelen skal vi diskutere hvordan du håndterer disse avhengighetene, og strategiene du kan bruke til å fjerne avhengigheter du ikke lenger har bruk for.

Avhengigheter for uadministrerte komponenter i forhold til administrerte komponenter

For det første er det viktig å forstå at avhengigheter bare forhindrer operasjoner som vil slette en nødvendig komponent. Handlingene som kan slette en komponent, varierer avhengig av om den er uadministrert eller administrert.

Uadministrerte komponenter

Disse komponentene representeres av et enkelt lag i den aktive løsningen. Alle slette-operasjoner på en slik komponent fører til at komponenten fjernes fullstendig.

Administrere komponenter

Slettingen av administrerte komponenter avhenger av flere faktorer: antall løsningslag, den relative plasseringen av laget som blir avinstallert, og komponentutgiverne. Når en komponent for eksempel slettes, må du vurdere følgende scenarier og hva den forventede virkemåten vil være når du avinstallerer de forskjellige lagene.

Eksempelscenarioer

Eksempelscenariene illustrerer hva som skjer med løsningslagene når løsninger blir avinstallert.

Scenario 1: Avinstallere ett løsningslag

Avinstallere med ett løsningslag.

Hvis du avinstallerer løsning 1, fører det til at en komponent slettes fordi den er det eneste laget for komponenten.

Scenario 2: Avinstallere løsningslag fra forskjellige utgivere

Avinstallere med to lag – annen utgiver.

  • Hvis du avinstallerer løsning 2, fører det ikke til sletting av en komponent. Bare det laget blir fjernet.
  • Hvis du avinstallerer løsning 1, fører det til at en komponent slettes, fordi handlingen skjer i et basislag. Løsning 1 kan faktisk ikke avinstalleres i dette scenarioet, fordi en løsning fra en annen utgiver utvider komponenten.

Scenario 3: Avinstallere flere løsningslag fra forskjellige utgivere

Avinstallere med flere lag – annen utgiver.

  • Hvis du avinstallerer løsning 3, fører det ikke til sletting av en komponent. Bare det laget blir fjernet.
  • Hvis du avinstallerer løsning 2, fører det ikke til sletting av en komponent. Bare det laget blir fjernet.
  • Hvis du avinstallerer løsningen 1, fører dette ikke til at en komponent slettes, fordi i dette tilfellet finnes det en annen løsning fra samme utgiver (utgiver A = utgiver C). Plattformen fjerner laget fra løsning 1 og erstatter det med laget fra løsning 3.

Scenario 4: Avinstallere løsningslag i en uadministrert tilpassing

Avinstallere med to lag – uadministrert tilpassing.

  • Hvis du avinstallerer det aktive (uadministrerte) laget, fører dette til at ikke en komponent slettes. Bare det laget blir fjernet. Vær oppmerksom på at du ikke kan avinstallere den aktive løsningen, men du kan fjerne komponenter ved hjelp av funksjonen Fjern aktiv tilpassing.
  • Hvis du avinstallerer løsning 1, fører det til sletting av en komponent. Handlingen skjer i basislaget. Til forskjell fra scenario 2 kan du avinstallere løsning 1. Den aktive løsningen blir ikke ansett som en utvidelse, og begge lagene blir fjernet.

Vis side for avhengigheter

Kommandoen Vis avhengigheter viser avhengighetene for den valgte løsningen eller løsningskomponenten. Den kan startes ved å gjøre følgende:

  • Velge Vis avhengigheter på løsningssiden.
  • Valg av Avansert>Vis avhengigheter i en løsning når en løsningskomponent velges.
  • Prøve å avinstallere en løsning, som vil føre til at plattformen registrerer at avhengigheter finnes.

På siden Avhengigheter kan du åpne, fjerne eller slette komponenten. Mer informasjon: Vis avhengigheter for en komponent

Diagnostisere avhengigheter

Tenk deg følgende scenario. Organisasjonen nedenfor har to løsninger: Løsning – arbeidsflyt og Løsning – egendefinert enhet.

Løsningsliste med to løsninger.

Eieren av organisasjonen bestemte at de ikke lenger krever Løsning – egendefinert enhet, prøvde å slette den, og ble presentert med følgende side:

Avhengighetsdetaljer etter at de prøvde å slette en løsning.

Uten å gå i detaljer kan vi konkludere med at avinstallasjonen av løsningen prøver å slette en enhet kalt Egendefinert enhet og tre felt, Egendefinert enhet, Navn og Tallfelt, og alle fire komponenter har avhengigheter.

Merk

Hvis du avinstallerer løsningen, kan det potensielt slette flere komponenter, men fordi de ikke har avhengigheter, vil de ikke vises i listen.

Det neste trinnet er å merke av for Løsningslag-koblingen (kolonnen lengst til høyre) for hver avhengighet. Det hjelper deg med å bestemme hva du må gjøre for å å fjerne avhengigheten.

Følgende figur viser avhengighetsdetaljer mellom enheten (egendefinert enhet) og prosessen (testarbeidsflyt).

Detaljer for egendefinert enhetsavhengighet.

Basert på dataene som vises, kan du se at den avhengige komponenten tilhører en løsning med navnet SolutionWorkflow. Vi kan fjerne denne avhengigheten ved å gjøre ett av følgende:

  • Oppdater definisjonen av arbeidsflyten i SolutionWorkflow ved å fjerne eventuelle referanser til enheten eller delkomponentene. Deretter velger du Oppdater eller Oppgrader for løsningen.
  • Avinstallere SolutionWorkflow-løsningen.
  • Fjern arbeidsflyten fra en ny versjon av SolutionWorkflow-løsningen, og utfør deretter en Oppgradering.

Ettersom en avhengig komponent kan hindre fjerning av løsningen, anbefaler vi imidlertid at du kontrollerer alle avhengighetene og gjør alle nødvendige endringer i én enkelt operasjon.

Følgende figur viser avhengighetsdetaljer mellom enheten (egendefinert enhet) og en modelldreven app (Min app).

Avhengighet mellom Enhet (Egendefinert enhet) og App (Min app).

Basert på dataene som vises, kan du se at den avhengige komponenten tilhører en løsning med navnet Active. Dette angir at avhengigheten ble opprettet ved å importere en uadministrert løsning eller gjennom en uadministrert tilpassing som ble utført via det moderne grensesnittet eller API.

For å fjerne denne avhengigheten kan du gjøre ett av følgende:

  • Rediger definisjonen av den modelldrevne appen for å fjerne eventuelle referanser til enheten eller delkomponentene. Fordi modelldrevne apper støtter publisering, må du publisere endringene.
  • Slett den modelldrevne appen.

Merk

Avinstallasjon av en uadministrert løsning er ikke et alternativ for å fjerne denne avhengigheten, fordi uadministrerte løsninger er bare er en metode for å gruppere komponenter.

Handlinger for å fjerne en administrert avhengighet

Administrerte avhengigheter er en avhengig komponent som er knyttet til en administrert løsning. Hvis du vil løse denne typen avhengighet, må du finne ut hvilken løsning komponenten ble lagt til i. Handlingen kan variere avhengig av hva du prøver å gjøre.

Hvis du prøver å avinstallere en løsning

Gjør følgende:

  1. I målorganisasjonen ser du på Løsningslag-koblingen for å finne ut hva som er den øverste løsningen på listen for den avhengige komponenten.
  2. I kildeorganisasjonen forbereder du en ny versjon av løsningen, der løsningen ikke inneholder den avhengige komponenten, eller har en oppdatert versjon av den avhengige komponenten som ikke inneholder referanser til den nødvendige komponenten. Målet er å fjerne alle referanser til de nødvendige komponentene i den nye versjonen av løsningen.
  3. Eksporter den nye versjonen av løsningen.
  4. I målorganisasjonen velger du Oppgrader.
  5. Prøv å avinstallere på nytt.

Hvis du prøver å oppgradere en løsning

I dette tilfellet må du bekrefte at du vil slette den nødvendige komponenten (husk at avhengigheter bare håndheves på komponenter som blir slettet).

Hvis du ikke vil slette komponenten, kan du rette den nye versjonen av løsningen ved å legge til komponenten på nytt ved å gjøre følgende:

  1. I målorganisasjonen avinstallerer du den trinnvise løsningen (løsningen som slutter med _Oppgrader).
  2. Legg til nødvendige komponenter tilbake i løsningen i kildeorganisasjonen.
  3. Eksporter den nye versjonen.
  4. Prøv oppgraderingen på nytt.

Hvis slettingen ble gjort med vilje , må du fjerne avhengigheten. Prøv fremgangsmåten i forrige del "Hvis du prøver å avinstallere en løsning".

Lag og avhengigheter

De avhengige komponentene kan være lagvis, slik at det kan hende du må endre mer enn én løsning for fullstendig å fjerne en avhengighet. Avhengighetsrammeverket beregner bare avhengigheter mellom de øverste lagene for de nødvendige og avhengige komponentene. Det betyr at du må jobbe fra øverst til nederst i løsningene i den avhengige komponenten.

Tenk deg følgende scenario:

Velge en løsning å avinstallere.

Du prøver å avinstallere Løsning – egendefinert enhet, og operasjonen blokkeres av avhengigheter.

Avhengigheter som blokkerer avinstallasjonen av løsningen.

Du starter å diagnostisere avhengigheten ved å velge Løsningslag i attributtet new_numberfield. Du ser dette skjermbildet:

Avhengighet mellom new_numberfield-attributtet og arbeidsflyten Test arbeidsflyt.

Fordi avhengigheter bare opprettes mellom de øverste lagene i hver komponent, er det første trinnet å behandle avhengigheten mellom attributtet new_numberfield i SolutionCustomEntity og arbeidsflyten Test arbeidsflyt i SolutionWorkflow3.

For å fjerne avhengigheten må du fjerne SolutionWorkflow3. Du gjør dette, men når du prøver å avinstallere løsningen én gang til, vises den på samme siden med avhengigheter:

Avhengigheter som blokkerer avinstallasjonen av Løsning – egendefinert enhet.

Attributtet new_numberfield vises imidlertid ikke lenger, selv om det eksisterte i flere lag.

Handlinger for å fjerne en uadministrert avhengighet

Hvis du vil fjerne uadministrerte avhengigheter, må du utføre handlinger direkte på komponentene, ikke i løsningene de tilhører. Hvis du for eksempel vil fjerne avhengighetene mellom et attributt og et skjema, må du redigere det i skjemaredigeringsprogrammet og fjerne attributtet fra skjemaet. Avhengigheten blir fjernet etter at du har valgt Lagre og Publiser.

Merk

  • Med kommandoen Vis avhengigheter kan du vise handlinger, fjerne avhengigheten, redigere komponenten eller slette komponenten. Mer informasjon: Vis avhengigheter for en komponent
  • Du kan også slette den avhengige komponenten. Handlingen sletter alle avhengigheter sammen med komponenten.

Hvis du vil vise avhengighetene for en komponent, åpner du området Løsninger, åpner løsningen du ønsker, velger de loddrette ellipsene ved siden av komponenten og deretter velger du Avansert>Vis avhengigheter.

Siden med avhengigheter har to forskjellige deler:

  • Avhengige komponenter: En liste over komponenter som er avhengige av det valgte feltet. Disse komponentene vil med andre ord ha dette feltet som nødvendig komponent.
  • Nødvendige komponenter: En liste over komponenter som dette feltet krever for å kunne fungere. Disse komponentene vil med andre ord ha dette feltet som avhengig komponent.

Komponentavhengigheter.

Se også