Dela via


Ta bort beroenden – översikt

Komponenter är ofta beroende av andra komponenter. Du kan inte ta bort någon komponent som har beroenden från en annan komponent. Beroenden är poster som skapas automatiskt av lösningsramverket för att förhindra att nödvändiga komponenter tas bort medan en eller flera av de beroende komponenterna fortfarande innehåller referenser till dem. Ett exempel på ett beroende är följande: Om ett fält krävs för att ett formulär ska fungera slutar formuläret att fungera om du försöker utföra en åtgärd som leder till att fältet tas bort.

Kommentar

I den här artikeln innebär borttagning att komponenten tas bort helt från systemet.

I den här artikeln diskuterar vi hur du hanterar dessa beroenden och strategier som du kan använda för att ta bort beroenden som du inte längre behöver.

Beroenden för icke-hanterade kontra hanterade komponenter

För det första är det viktigt att du förstår att beroenden endast hindrar åtgärder som tar bort en nödvändig komponent. Åtgärderna som kan ta bort en komponent är olika, beroende på om den är icke-hanterad eller hanterad.

Icke-hanterade komponenter

Dessa komponenter representeras av ett enskilt lager i den aktiva lösningen. Varje borttagningsåtgärd som används på en sådan komponent medför att komponenten tas bort helt.

Hanterade komponententer

Borttagningen av hanterade komponenter beror på flera faktorer: antalet lösningslager, den relativa positionen för lagret som ska avinstalleras, samt komponentutgivaren. Om en komponent t. ex tar bort en komponent bör du tänka på följande scenarier och vad som kan förväntas uppstå när du avinstallerar de olika lagren.

Exempelscenarier

Följande exempelscenarier illustrerar vad som händer med lösningslager när lösningar avinstalleras.

Scenario 1: Avinstallera ett enskilt lösningslager

Avinstallera med ett enskilt lager.

Om du avinstallerar Lösning 1 uppstår en komponentborttagning eftersom detta är komponentens enda lager.

Scenario 2: Avinstallera lösningslager från olika utgivare

Avinstallera med två lager – olika utgivare.

  • Om du avinstallerar Lösning 2 uppstår ingen borttagning av komponenter. Endast det lagret tas bort.
  • Om du avinstallerar Lösning 1 uppstår en komponentborttagning eftersom åtgärden äger rum i baslagret. Faktum är att Lösning 1 i inte kan avinstalleras i detta scenario eftersom en lösning från en annan utgivare utökar komponenten.

Scenario 3: Avinstallera flera lösningslager från olika utgivare

Avinstallera med flera lager – olika utgivare.

  • Om du avinstallerar Lösning 3 uppstår ingen borttagning av komponenter. Endast det lagret tas bort.
  • Om du avinstallerar Lösning 2 uppstår ingen borttagning av komponenter. Endast det lagret tas bort.
  • Om du avinstallerar Lösning 1 uppstår ingen borttagning av en komponent, detta eftersom det i det här fallet finns en annan lösning från samma utgivare (Utgivare A = Utgivare C). Plattformen tar bort lagret från Lösning 1 och ersätts med lagret från Lösning 3.

Scenario 4: Avinstallera lösningslager i en icke-hanterad anpassning

Avinstallera med två lager – icke-hanterad anpassning.

  • Om du avinstallerar det aktiva (icke-hanterade) lagret uppstår ingen borttagning av komponenten. Endast det lagret tas bort. Observera att du inte kan avinstallera den aktiva lösningen, men du kan ta bort komponenter med funktionen Ta bort aktiv anpassning.
  • Om du avinstallerar Lösning 1 raderas komponenterna. Åtgärden utförs i grundlagret. Till skillnad från Scenario 2 kan du avinstallera Lösning 1. Den aktiva lösningen betraktas inte som ett tillägg, och båda lagren tas då bort.

Visa sidan för beroenden

Kommandot Visa beroenden visar beroendena för den valda lösningen eller lösningskomponenten. Den kan anropas av:

  • Välja Visa beroenden på lösningssidan.
  • Välj Avancerade>Visa beroenden i en lösning när en lösningskomponent väljs.
  • Ett försök görs att avinstallera en lösning som gör att plattformen upptäcker att beroenden finns.

På sidan Beroenden kan du öppna, ta bort eller ta bort komponenten. Mer information: Visa beroenden för en komponent

Diagnostisera beroenden

Föreställ dig följande scenario: Organisationen nedan har två lösningar: Lösning – arbetsflöde och Lösning – egen entitet.

Lösningslista med två lösningar.

Ägaren till organisationen beslutade att de inte längre behöver ha Lösning – Anpassad entitet, försökte ta bort den, och presenterades med följande sida:

Beroendeinformation efter försök att ta bort en lösning.

Utan att bli alltför detaljerade kan vi nå slutsatsen att avinstallationen av lösningen försöker ta bort en entitet med namnet Anpassad entitet och tre fält Anpassad entitet, Namn och Värdefält, och alla fyra komponenter har beroenden.

Kommentar

Om du avinstallerar lösningen kan du eventuellt ta bort fler komponenter, men eftersom de inte har några beroenden visas de inte i listan.

Nästa steg är att kontrollera länken Lösningslager (kolumnen längst till höger) för respektive beroende. Det hjälper dig att bestämma vad du ska göra för att ta bort beroendet.

I följande bild visas beroendeinformation mellan entiteten (egen entitet) och process (testarbetsflöde).

Information om beroenden för anpassade entiteter.

Beroende på vilka data som visas kan du se att den beroende komponenten tillhör en lösning med namnet SolutionWorkflow. För att ta bort detta beroende kan vi antingen:

  • Uppdatera definitionen av arbetsflödet i SolutionWorkflow genom att ta bort alla referenser till entiteten eller dess delkomponenter. Uppdatera eller uppgradera sedan lösningen.
  • Avinstallera SolutionFlow-lösningen.
  • Ta bort arbetsflödet från en ny version av SolutionWorkflow-lösningen och utför sedan en uppgradering.

Eftersom en beroende komponent kan förhindra borttagning av lösningen rekommenderar vi att du kontrollerar alla beroenden och utför alla ändringar som krävs i en och samma åtgärd.

I följande bild visas beroendeinformation mellan entiteten (egen entitet) och en modellbaserad app (Min app).

Beroende mellan entitet (Anpassad entitet) och app (Min app).

Beroende på vilka data som visas kan du se att den beroende komponenten tillhör en lösning med namnet Aktiv. Detta indikerar att beroendet skapades genom att importera en icke-hanterad lösning, eller via en icke-hanterad anpassning som kördes via det moderna användargränssnittet eller API:t.

För att ta bort detta beroende kan du antingen:

  • Redigera definitionen av den modellbaserade programmet om du vill ta bort en referens till entiteten eller dess delkomponenter. Eftersom modellbaserade program stöder publicering måste du publicera dina ändringar.
  • Ta bort den modelldrivna programmet.

Kommentar

Avinstallation av en icke-hanterad lösning är inte ett alternativ för att ta bort beroendet, detta eftersom icke.hanterade lösningar bara utgör ett sätt att gruppera komponenter.

Åtgärder för att ta bort ett hanterat beroende

Beroende komponenter är sådana där den beroende komponenten är associerad med en hanterad lösning. För att kunna lösa den här typen av beroende måste du agera på lösningen där komponenten lades till. Åtgärden kan variera beroende på vad du försöker göra.

Om du försöker avinstallera en lösning

Följ stegen nedan:

  1. Kontrollera länken Lösningslager i målorganisationen för att hitta den översta lösningen i listan över den beroende komponenten.
  2. Förbered en ny version av lösningen i källorganisationen där lösningen antingen inte innehåller den beroende komponenten eller har en uppdaterad version av den beroende komponenten som inte innehåller referenser till den begärda komponenten. Målet är att ta bort alla referenser till de nödvändiga komponenterna i den nya versionen av lösningen.
  3. Exportera den nya versionen av lösningen.
  4. I målorganisationen uppgraderar du den lösningen.
  5. Försök att avinstallera igen.

Om du försöker uppgradera en lösning

I det här fallet måste du bekräfta att du vill ta bort den nödvändiga komponenten (kom ihåg att beroenden endast tillämpas på komponenter som tas bort).

Om du inte vill ta bort komponenten kan du korrigera den nya versionen av lösningen genom att lägga till komponenten igen genom att göra följande:

  1. I målorganisationen avinstallerar du den mellanlagrade lösningen (lösningen som avslutas i _Upgrade).
  2. I källorganisationen lägger du till nödvändig(a) komponent(er) i lösningen igen.
  3. Exportera den nya versionen.
  4. Förök köra uppgraderingen igen,

Om borttagningen är avsiktlig måste du ta bort beroendet. Försök med de steg som beskrivs i föregående avsnitt "Om du försöker avinstallera en lösning".

Lager och beroenden

De beroende komponenterna kan lagras i lagret, så du kan behöva ändra mer än en lösning för att helt ta bort ett beroende. Beroenderamverket beräknar endast beroenden mellan de översta lagren för de obligatoriska och beroende komponenterna. Det innebär att du måste jobba dig framåt, uppifrån och ner, genom lösningarna för den beroende komponenten.

Föreställ dig följande scenario:

Välja en lösning för avinstallation.

Du försöker avinstallera Lösning – anpassad entitet och åtgärden blockeras av beroenden.

Beroenden blockerar avinstallationen av lösningen.

Du startar diagnostiseringen av beroendet genom att välja Lösningslager i attributet new_numberfield. Nu visas följande skärm:

Beroendet mellan attributet new_numberfield och arbetsflödet för testarbetsflöde.

Eftersom beroenden endast skapas mellan de översta lagren i varje komponent är det första steget att hantera beroendet mellan attributet new_numberfield i SolutionCustomEntity och arbetsflödet Testarbetsflöde i SolutionWorkflow3.

I syfte att ta bort beroendet beslutar du dig för att avinstallera SolutionWorkflow3. Detta gör du, men när du försöker avinstallera lösningen en gång till visas samma sida med beroenden:

Beroenden blockerar avinstallationen av Lösning – Anpassad entitet.

Attributet new_numberfield attributet visas emellertid inte längre, även om det fanns i fler lager.

Åtgärder för att ta bort ett icke-hanterat beroende

Om du vill ta bort icke-hanterade beroenden måste du agera direkt på komponenterna, inte i de lösningar de tillhör. Om du till exempel vill ta bort beroendena mellan ett attribut och ett formulär måste du redigera dessa i formulärredigeraren och ta bort attributet från formuläret. Beroendet tas bort när du har markerat Spara och Publicera.

Kommentar

  • Med kommandot Visa beroenden kan du vidta åtgärder för att visa, ta bort beroendet, redigera komponenten eller ta bort komponenten. Mer information: Visa beroenden för en komponent
  • Du kan också ta bort den beroende komponenten. Åtgärden tar bort alla beroenden tillsammans med komponenten.

För att se beroenden för en komponent, från området Lösningar öppnar du den lösning du vill ha och markerar de vertikala ellipserna bredvid komponenten och väljer sedan Avancerad>Visa beroenden.

Sidan med beroenden har två distinkta delar:

  • Beroende komponenter: en lista över komponenter som är beroende av det valda fältet. Med andra ord kommer komponenterna att ha det här fältet som nödvändig komponent.
  • Nödvändiga komponenter: en lista över komponenter som krävs för att det här fältet ska fungera. Med andra ord kommer komponenterna att ha det här fältet som beroende komponent.

Komponentberoenden.

Se även