Overzicht van afhankelijkheden verwijderen
Oplossingsonderdelen hangen vaak af van andere oplossingsonderdelen. U kunt geen oplossingsonderdelen verwijderen die afhankelijk zijn van een ander oplossingsonderdeel. Afhankelijkheden zijn records die automatisch door het oplossingenframework worden gemaakt om te voorkomen dat vereiste onderdelen worden verwijderd terwijl een of meer afhankelijke onderdelen nog steeds verwijzingen naar deze onderdelen bevatten. Een afhankelijkheid is bijvoorbeeld nuttig als een bepaald veld vereist is om een formulier te laten functioneren, want als u een actie probeert uit te voeren die ertoe leidt dat dit veld wordt verwijderd, zal het formulier niet meer werken.
Notitie
In dit artikel betekent verwijderen dat het onderdeel volledig uit het systeem wordt verwijderd.
In dit artikel bespreken we hoe u met deze afhankelijkheden kunt omgaan en welke strategieën u kunt gebruiken om afhankelijkheden te verwijderen die u niet langer nodig hebt.
Afhankelijkheden van onbeheerde versus beheerde onderdelen
Ten eerste is het belangrijk om te weten dat afhankelijkheden alleen bewerkingen voorkomen die een vereist onderdeel zullen verwijderen. Met welke acties een onderdeel kan worden verwijderd, hangt af van de vraag of een onderdeel onbeheerd of beheerd is.
Onbeheerde onderdelen
Deze onderdelen worden vertegenwoordigd door een enkele laag in de actieve oplossing. Elke verwijderbewerking voor een dergelijk onderdeel resulteert in de volledige verwijdering van het onderdeel.
Beheerde onderdelen
Het verwijderen van beheerde onderdelen is afhankelijk van meerdere factoren: het aantal oplossingslagen, de relatieve positie van de laag die wordt verwijderd en de uitgever van het onderdeel. Wordt een onderdeel verwijderd, overweeg dan bijvoorbeeld de volgende scenario's en wat het verwachte gedrag is wanneer u de verschillende lagen verwijdert.
Voorbeeldscenario's
In de volgende voorbeeldscenario's ziet u wat er met oplossingslagen gebeurt wanneer oplossingen worden verwijderd.
Scenario 1: een enkele oplossingslaag verwijderen
Als u Oplossing 1 verwijdert, wordt er een onderdeel verwijderd omdat dit de enige laag voor het onderdeel is.
Scenario 2: oplossingslagen van verschillende uitgevers verwijderen
- Als u Oplossing 2 verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd.
- Als u Oplossing 1 verwijdert, wordt er een onderdeel verwijderd omdat de actie plaatsvindt in de basislaag. In feite kan Oplossing 1 in dit scenario zelfs niet worden verwijderd, omdat een oplossing van een andere uitgever het onderdeel uitbreidt.
Scenario 3: meerdere oplossingslagen van verschillende uitgevers verwijderen
- Als u Oplossing 3 verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd.
- Als u Oplossing 2 verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd.
- Het verwijderen van oplossing 1 leidt niet tot het verwijderen van onderdelen omdat er in dit geval een andere oplossing is van dezelfde uitgever (Uitgever A = Uitgever C). Het platform verwijdert de laag uit Oplossing 1 en vervangt deze door de laag uit Oplossing 3.
Scenario 4: oplossingslagen verwijderen in een onbeheerde aanpassing
- Als u de actieve (onbeheerde) laag verwijdert, wordt er geen onderdeel verwijderd. Alleen die laag wordt verwijderd. U ziet dat u de actieve oplossing niet kunt verwijderen, maar dat u wel onderdelen kunt verwijderen met de functie Actieve aanpassing verwijderen.
- Als u Oplossing 1 verwijdert, wordt er een onderdeel verwijderd. De actie vindt plaats in de basislaag. In tegenstelling tot scenario 2, kunt u in dit scenario Oplossing 1 verwijderen. De actieve oplossing wordt niet als een extensie beschouwd en beide lagen worden verwijderd.
Pagina Afhankelijkheden weergeven
De opdracht Afhankelijkheden weergeven geeft een overzicht van de afhankelijkheden voor de geselecteerde oplossing of het geselecteerde oplossingsonderdeel. Deze pagina kan als volgt worden aangeroepen:
- Door Afhankelijkheden weergeven te selecteren op de oplossingspagina.
- Door Geavanceerd>Afhankelijkheden weergeven te selecteren binnen een oplossing wanneer een oplossingsonderdeel wordt geselecteerd.
- Als u een oplossing probeert te verwijderen, zal dat ertoe leiden dat het platform detecteert dat er afhankelijkheden bestaan.
Vanaf de pagina Afhankelijkheden kunt u het onderdeel openen, verwijderen of verwijderen. Meer informatie: Afhankelijkheden voor een onderdeel bekijken
Afhankelijkheden analyseren
Laten we eens kijken naar het volgende scenario: De onderstaande organisatie heeft twee oplossingen: Oplossing - Workflow en Oplossing - Aangepaste entiteit.
De eigenaar van de organisatie besluit dat Oplossing - Aangepaste entiteit niet langer nodig is en probeert deze oplossing te verwijderen, maar krijgt daarop de volgende pagina te zien:
Zonder in detail te treden, kunnen we concluderen dat bij het verwijderen van de oplossing een poging is gedaan om een entiteit met de naam Aangepaste entiteit en de drie velden Aangepaste entiteit, Naam en Nummerveld te verwijderen, en al deze vier onderdelen hebben afhankelijkheden.
Notitie
Als u de oplossing verwijdert, worden mogelijk meer onderdelen verwijderd, maar omdat deze geen afhankelijkheden hebben, verschijnen ze niet in de lijst.
De volgende stap is het controleren van de koppeling Oplossingslagen (meest rechtse kolom) voor elke afhankelijkheid. Dat helpt u om te beslissen of u de afhankelijkheid wilt verwijderen.
In de volgende afbeelding worden de afhankelijkheidsdetails tussen de entiteit (Aangepaste entiteit) en het proces (Test workflow) weergegeven.
Op basis van de weergegeven gegevens kunt u zien dat het afhankelijke onderdeel behoort tot een oplossing met de naam SolutionWorkflow. Deze afhankelijkheid kan op de volgende manieren worden verwijderd:
- Werk de definitie van de werkstroom in SolutionWorkflow bij door alle verwijzingen naar de entiteit of de bijbehorende subonderdelen te verwijderen. Vervolgens kunt u de oplossing bijwerken of upgraden.
- Verwijder de oplossing SolutionWorkflow.
- Verwijder de werkstroom uit een nieuwe versie van de Solutionworkflow-oplossing en voer vervolgens een upgrade uit.
Omdat elk afhankelijke onderdeel de verwijdering van de oplossing kan verhinderen, raden we u aan om alle afhankelijkheden te controleren en alle vereiste wijzigingen in één keer aan te brengen.
In de volgende afbeelding worden de afhankelijkheidsdetails tussen de entiteit (Aangepaste entiteit) en een modelgestuurde app (My App) weergegeven.
Op basis van de weergegeven gegevens kunt u zien dat het afhankelijke onderdeel behoort tot een oplossing met de naam Active. Dit geeft aan dat de afhankelijkheid is gemaakt door een onbeheerde oplossing te importeren of via een onbeheerde aanpassing die is uitgevoerd via de moderne gebruikersinterface of API.
U kunt deze afhankelijkheid op de volgende manieren verwijderen:
- Bewerk de definitie van de modelgestuurde app om elke verwijzing naar de entiteit of de bijbehorende subonderdelen te verwijderen. Omdat modelgestuurde apps publiceren ondersteunen, moet u uw wijzigingen publiceren.
- Verwijder de modelgestuurde app.
Notitie
Het verwijderen van een onbeheerde oplossing is geen optie voor het verwijderen van deze afhankelijkheid omdat onbeheerde oplossingen slechts een middel zijn om onderdelen te groeperen.
Acties om een beheerde afhankelijkheid te verwijderen
Beheerde afhankelijkheden zijn afhankelijkheden waarbij het afhankelijke onderdeel is gekoppeld aan een beheerde oplossing. Als u dit soort afhankelijkheid wilt oplossen, moet u een actie uitvoeren voor de oplossing waaraan het onderdeel is toegevoegd. Die actie kan verschillen, afhankelijk van wat u probeert te doen.
Als u een oplossing probeert te verwijderen
Volg deze stappen:
- Inspecteer in de doelorganisatie de koppeling Oplossingslagen om na te gaan wat de bovenste oplossing is in de lijst van het afhankelijke onderdeel.
- Bereid in de bronorganisatie een nieuwe versie van die oplossing voor waarbij de oplossing ofwel niet het afhankelijke onderdeel bevat, of een bijgewerkte versie van het afhankelijke onderdeel bevat die geen verwijzingen naar het vereiste onderdeel bevat. Uw doel is om elke verwijzing naar de vereiste onderdelen in de nieuwe versie van de oplossing te verwijderen.
- Exporteer de nieuwe versie van de oplossing.
- Voer in de doelorganisatie een upgrade uit voor die oplossing.
- Probeer de oplossing opnieuw te verwijderen.
Als u een oplossing probeert te upgraden
In dit geval moet u bevestigen dat u het vereiste onderdeel wilde verwijderen (onthoud dat afhankelijkheden alleen worden afgedwongen voor onderdelen die worden verwijderd).
Als u het onderdeel niet wilt verwijderen, kunt u de nieuwe versie van de oplossing herstellen door het onderdeel weer toe te voegen. Ga hiertoe als volgt te werk:
- Verwijder in de doelorganisatie de gefaseerde oplossing (de oplossing die eindigt op _Upgrade).
- Voeg in de bronorganisatie het vereiste onderdeel of de vereiste onderdelen weer toe aan de oplossing.
- Exporteer de nieuwe versie.
- Probeer de upgrade opnieuw uit te voeren.
Als het verwijderen opzettelijk is, moet u de afhankelijkheid verwijderen. Probeer de stappen die zijn beschreven in de voorgaande sectie 'Als u een oplossing probeert te verwijderen'.
Lagen en afhankelijkheden
De afhankelijke onderdelen kunnen gelaagd zijn, dus het kan zijn dat u meer dan één oplossing moet wijzigen om een afhankelijkheid volledig te verwijderen. Het afhankelijkheidsframework berekent alleen afhankelijkheden tussen de bovenste lagen voor de vereiste en afhankelijke onderdelen. Dat betekent dat u alle oplossingen moet controleren, van de bovenste tot aan de onderste oplossing van het afhankelijke onderdeel.
Bekijk het volgende scenario.
U probeert Oplossing - Aangepaste entiteit te verwijderen, en de bewerking wordt geblokkeerd door afhankelijkheden.
U begint met het analyseren van de afhankelijkheid door Oplossingslagen te selecteren voor het kenmerk new_numberfield. U ziet het volgende scherm:
Omdat afhankelijkheden alleen worden gemaakt tussen de bovenste lagen van elk onderdeel, is de eerste stap het verwijderen van de afhankelijkheid tussen het kenmerk new_numberfield in SolutionCustomEntity en de werkstroom Test workflow in Solutionworkflow3.
U besluit om de afhankelijkheid te verwijderen door SolutionWorkflow3 te verwijderen. U doet dit, maar wanneer u de oplossing nogmaals probeert te verwijderen, krijgt u dezelfde pagina met afhankelijkheden te zien:
Het kenmerk new_numberfield wordt echter niet langer vermeld, ook al was het aanwezig in meer lagen.
Acties om een onbeheerde afhankelijkheid te verwijderen
Als u onbeheerde afhankelijkheden wilt verwijderen, moet u uw bewerkingen rechtstreeks op de onderdelen uitvoeren en niet op de oplossingen waartoe ze behoren. Als u bijvoorbeeld de afhankelijkheden tussen een kenmerk en een formulier wilt verwijderen, moet u die bewerking uitvoeren in de formuliereneditor en het kenmerk uit het formulier verwijderen. De afhankelijkheid wordt verwijderd nadat u Opslaan en Publiceren hebt geselecteerd.
Notitie
- Met de opdracht Afhankelijkheden weergeven kunt u actie ondernemen om de afhankelijkheid te bekijken, te verwijderen, het onderdeel te bewerken of te verwijderen. Meer informatie: Afhankelijkheden voor een onderdeel bekijken
- U kunt ook het afhankelijke onderdeel verwijderen. Met die actie verwijdert u alle afhankelijkheden, samen met het onderdeel.
Als u de afhankelijkheden van een onderdeel wilt bekijken, opent u in het gebied Oplossingen de gewenste oplossing, selecteert u de verticale ellipsen naast het onderdeel en selecteert u vervolgens Geavanceerd>Afhankelijkheden weergeven.
De pagina met afhankelijkheden heeft twee verschillende delen:
- Afhankelijke onderdelen: een lijst met onderdelen die afhankelijk zijn van het geselecteerde veld. Met andere woorden, deze onderdelen hebben dit veld als hun vereiste onderdeel.
- Vereiste onderdelen: een lijst met onderdelen die dit veld nodig heeft om te kunnen werken. Met andere woorden, deze onderdelen hebben dit veld als hun afhankelijke onderdeel.