Dela via


Beroendespårning för komponenter

Lösningar består av komponenter. Du ska använda området Lösningar i Microsoft Dataverse om du vill skapa eller lägga till komponenter. Du kan utföra dessa åtgärder programmässigt genom att använda AddSolutionComponentRequest-meddelandet eller valfria meddelanden som skapar eller uppdaterar komponenter som innehåller en SolutionUniqueName-parameter.

Komponenter är ofta beroende av andra komponenter. Du kan inte radera komponenter som är beroende av andra komponenter. Ett anpassat menyfliksområde kräver till exempel vanligtvis bild- eller skriptwebbresurser för att visa ikoner och utföra åtgärder med hjälp av skript. Så länge det anpassade menyfliksområdet finns i lösningen krävs de specifika webbresurser som används. Innan du kan ta bort webbresurser måste du ta bort referenser till dem i det anpassade menyfliksområdet. Genom att klicka på Visa beroenden kan du visa komponentberoendena i programmet.

I det här ämnet beskrivs de olika typerna av komponenter som du kan ta med i lösningarna och hur de är beroende av varandra.

Alla komponenter

Den fullständiga listan med komponent typer för tillgängliga lösningar finns i systemets globala alternativuppsättning componenttype. Det värdeintervall som stöds för den här egenskapen är tillgängligt genom att inkludera filen OptionSets.cs eller OptionSets.vb i projektet. Många av de komponenttyper som visas i listan finns emellertid endast för internt bruk, och listan innehåller ingen information om relationer mellan komponenter.

Komponentberoenden

Med hjälp av komponenters beroenden får du en pålitlig miljö när du arbetar med lösningar. Dessa förhindrar att du oavsiktligt bryter någon anpassning som har definierats i en lösning. Dessa beroenden är vad som gör det möjligt att enkelt installera och avinstallera en hanterad lösning genom att importera eller ta bort en lösning.

Lösningsramverket spårar beroenden för komponenter automatiskt. Varje åtgärd på en komponent beräknar automatiskt eventuella beroenden till andra komponenter i systemet. Beroendeinformationen används för att upprätthålla systemets integritet och för att förhindra att åtgärder kan leda till ett inkonsekvent tillstånd.

Som ett resultat av en beroendespårning framtvingas följande:

  • Borttagning av en komponent förhindras om en annan komponent i systemet är beroende av den.

  • Export av en lösning innebär att användaren varnas om det saknas komponenter som kan orsaka problem när lösningen importeras i ett annat system.

    Varningar under export kan ignoreras om lösningsutvecklaren avser att lösningen endast ska installeras i en organisation där beroende komponenter förväntas existera. Om du till exempel skapar en lösning som har utformats för att installeras via en förinstallerad "baslösning".

  • Import av en lösning misslyckas om alla nödvändiga komponenter inte ingår i lösningen och inte heller finns i målsystemet.

    • När du importerar en hanterad lösning måste alla nödvändiga komponenter stämma överens med lösningens pakettyp. En komponent i en hanterad lösning kan endast vara beroende av en annan hanterad komponent.

    Det finns tre typer av komponentberoenden:

    Lösning Internt
    Interna beroenden hanteras av Dataverse. De uppstår när en viss komponent inte kan finnas utan en annan komponent.

    Publicerad
    Publicerade beroenden skapas när två komponenter relateras till varandra och sedan publiceras. Ta bort den här typen av beroende genom att ta bort associationen och sedan publicera entiteterna igen.

    Opublicerad
    Avpublicerade beroenden gäller för den opublicerade versionen av en publicerad komponent som uppdateras. När komponenten har publicerats blir den ett publicerat beroende.

    Interna lösningsberoenden är beroenden där åtgärder med en komponent kräver en åtgärd för en annan komponent. Om du till exempel tar bort en entitet bör du förvänta dig att alla entitetsattribut också tas bort. Alla eventuella entitetsrelationer med andra entiteter kommer också att tas bort.

    Ett internt beroende kan emellertid leda till ett publicerat beroende och fortfarande kräva manuella åtgärder. Om du till exempel inkluderar ett uppslagsfält i ett entitetsformulär och sedan tar bort den primära entiteten i relationen, kan du inte slutföra borttagningen förrän du tar bort uppslagsfältet från det relaterade entitetsfältet och sedan publicerar formuläret.

    När du utför åtgärder programmässigt med lösningar kan du använda meddelanden som är relaterade till Dependency-entiteten. Se entiteten Beroende för meddelanden som kan användas för att identifiera eventuella beroenden innan du tar bort en komponent eller avinstallerar en lösning.

Gemensamma komponenter

Dessa är de komponenter som visas i programmet och de komponenter som du arbetar med direkt när du lägger till eller tar bort komponenter med hjälp av lösningssidan. Alla andra typer av komponenter är beroende av att en eller flera av dessa komponenter finns.

Menyfliksområden för program (RibbonCustomization) Entitet (Entitet) Rapport (Rapport)
Artikelmall (KBArticleTemplate) Fältsäkerhetsprofil (FieldSecurityProfile) steg för bearbetning av SDK-meddelanden (SDKMessageProcessingStep)
Anslutningsroll (ConnectionRole) Mall för dokumentkoppling (MailMergeTemplate) säkerhetsroll (roll)
Mall för kontrakt (ContractTemplate) Alternativuppsättning (Alternativuppsättning) Tjänstens slutpunkt (ServiceEndpoint)
Instrumentpanel eller entitetsformulär (SystemForm) Plugin-sammansättning (PluginAssembly) Karta över webbplatsen (SiteMap)
Mall för e-post (EmailTemplate) Process (arbetsflöde) Webbresurs (WebResource)

Programmets menyfliksområden (RibbonCustomization)

Anpassningar av menyfliksområdet för mallarna för programmets menyfliksområde och entitetens menyfliksområde. Menyfliksområden för program innehåller inte definitioner av menyfliksområden på entitets- eller formulärnivån.

Anpassade programmenyfliksområden har ofta publicerade beroenden för webbresurser. Webbresurser används för att definiera knappikoner och JavaScript-funktioner i menyfliksområdet för att styra när element i menyfliksområdet visas eller vilka åtgärder som utförs när en särskild menyflik används. Beroenden skapas endast när definitionerna för menyfliksområdet använder $webresource:-direktivet för att koppla webbresursen till menyfliksområdet. Mer information: $webresource directive

Artikelmall (KBArticleTemplate)

Mall som innehåller standardattributen för en artikel. Det finns alltid ett internt beroende mellan artikelmallen och entiteten KbArticle.

Anslutningsroll (ConnectionRole)

Roll som beskriver en relation mellan två poster. Varje anslutningsroll definierar vilka typer av entitetsposter som kan länkas med anslutningsrollen. Detta skapar ett publicerat beroende mellan anslutningsrollen och entiteten.

Kontraktmall (ContractTemplate)

Mall som innehåller standardattributen för ett kontrakt. Det finns alltid ett internt beroende mellan kontraktmallen och kontraktentiteten.

Formulär för instrumentpanel eller entitet (SystemForm)

Entitetsposter i systemformulär används för att definiera instrumentpaneler och entitetsformulär. När en SystemForm används som ett entitetsformulär finns ett internt beroende av entiteten. När en SystemForm används som en instrument panel finns inga interna beroenden. Både entitetsformulär och instrumentpaneler har ofta publicerade beroenden som är relaterade till innehållet. Ett entitetsformulär kan ha uppslagsfält som är beroende av en entitetsrelation. Både instrumentpaneler och entitetsformulär kan innehålla diagram eller underrutnät som skapar ett publicerat beroende i en vy, som sedan har ett internt beroende till en entitet. Ett publicerat beroende av webbresurser kan skapas på grund av att innehåll visas i instrumentpanelen eller i formuläret, eller när ett formulär innehåller JavaScript-bibliotek. Entitetsformulär har publicerade beroenden för alla attribut som visas som fält i formuläret.

E-postmall (EmailTemplate)

Mall som innehåller standardattributen i ett e-postmeddelande. En e-postmall innehåller vanligtvis fält som infogar data från angivna entitetsattribut. En e-postmall kan länkas till en specifik entitet när den skapas, varför det kan finnas ett internt beroende av entiteten. En global e-postmall är inte associerad med en specifik entitet, men den kan ha publicerade beroenden av entitetsattribut som används för att tillhandahålla data. En process (ett arbetsflöde) är ofta konfigurerad att skicka ett e-postmeddelande med en e-postmall som skapar ett publicerat beroende till arbetsflödet.

Entitet (entitet)

Den primära strukturen som används för att modellera och hantera data i Dataverse. Diagram, formulär, entitetsrelationer, vyer och attribut som är associerade med en entitet tas automatiskt bort när entiteten tas bort på grund av de interna beroendena dem emellan. Entiteter har ofta publicerade beroenden till processer, instrumentpaneler och e-postmallar.

Fältsäkerhetsprofil (FieldSecurityProfile)

Profil som definierar åtkomstnivån för skyddade attribut.

Mall för e-postsammanslagning (MailMergeTemplate)

Dokumentkopplingsmall som innehåller standardattributen för det dokumentet. En dokumentkopplingsmall har ett publicerat beroende visavi den entitet den är kopplad till.

Alternativuppsättning (OptionSet)

En alternativuppsättning definierar en uppsättning alternativ. I ett attribut för urvalslista används en alternativuppsättning för att definiera de alternativ som finns. Flera attribut för urvalslistor kan använda en global alternativuppsättning så att de alternativ de tillhandahåller alltid är desamma och kan hanteras på samma plats. Ett publicerat beroende inträffar när ett attribut för urvalslista refererar till en global alternativuppsättning. Det går inte att ta bort en global alternativuppsättning som används av ett attribut för urvalslistor.

Plugin-sammansättning (PluginAssembly)

Sammansättning som innehåller en eller flera typer av plugin-program. Plugin-program registreras på händelser som vanligtvis är associerade med en entitet. Detta skapar ett publicerat beroende.

Process (Arbetsflöde)

En uppsättning logiska regler som definierar de steg som krävs för att automatisera en specifik affärsprocess, uppgift eller uppsättning åtgärder som ska utföras. Processer tillhandahåller en mängd olika åtgärder som skapar publicerade beroenden för alla andra komponenter som processen refererar till. Respektive process har också ett publicerat beroende visavi den entitet den är kopplad till.

Rapport (rapport)

Datasammanfattning i lättläst layout. En rapport har publicerade beroenden för alla entitets- och attributvärden som ingår i rapporten. Varje rapport måste också vara kopplad till en rapportkategori som skapar ett internt beroende till en komponent med namnet "rapportrelaterad kategori" (ReportCategory). Rapporter kan konfigureras till att vara underrapporter som skapar ett publicerat beroende till den överordnade rapporten.

Bearbetningssteg för SDK-meddelande (SDKMessageProcessingStep)

Stadium i körningspipeline som ett plugin-program ska köra.

Säkerhetsroll (Roll)

Gruppering av säkerhetsprivilegier. Användare tilldelas roller som ger dem behörighet till Dataverse-systemet. Entitetsformulär kan associeras med specifika säkerhetsroller och kontrollera vem som kan visa formuläret. Detta skapar ett publicerat beroende mellan säkerhetsrollen och formuläret.

Kommentar

Det går endast att lägga till säkerhetsroller från organisationens affärsenhet i en lösning. Endast en användare med läsbehörighet till dessa säkerhetsroller kan lägga till dem i en lösning.

Tjänstslutpunkt (ServiceEndpoint)

Tjänsteslutpunkt som kan kontaktas.

Webbplatsöversikt (SiteMap)

XML-data som används för att styra programmets navigeringsfönster. Webbplatsöversikten kan vara länkad för att visa en HTML-webbresurs, eller också kan en ikon i webbplatsöversikten använda en bildwebbresurs. När $webresource:-direktivet används för att upprätta dessa associationer skapas ett publicerat beroende. Mer information: $webresource directive

Webbresurs (Webbresurs)

Data som motsvarar filer som används inom webbutveckling. Webbresurser tillhandahåller komponenter på klientsidan som används för att skapa anpassade användargränssnittselement. Webbresurser kan ha publicerade beroenden till entitetsformulär, menyfliksområden och webbplatsöversikten. När $webresource:-direktivet används för att upprätta dessa associationer i ett menyfliksområde eller i webbplatsöversikten skapas ett publicerat beroende. Mer information finns i $webresource directive.

Kommentar

Webbresurser kan vara beroende av andra webbresurser baserade på relativa länkar. En HTML-webbresurs kan t. ex. använda en CSS- eller en script-webbresurs. En Silverlight-webbresurs som visas utanför ett entitetsformulär eller diagram måste ha en HTML-webbresurs för att kunna vara värd för den. Dessa beroenden spåras inte som lösningsberoenden.

Se även

Koncept för lösningar
Ta bort beroenden
Miljöstrategi
Arbeta med lösningar med hjälp av SDK-API:er]
Referens för lösningsentitet
Entitetsreferens för SolutionComponent