Share via


Afhankelijkheden van oplossingsonderdelen bijhouden

Oplossingen bestaan uit oplossingsonderdelen. U gebruikt het gebied Oplossingen in Microsoft Dataverse om oplossingsonderdelen te maken of toe te voegen. U kunt deze acties ook via het programma uitvoeren met behulp van het bericht AddSolutionComponentRequest of berichten die oplossingsonderdelen maken of bijwerken met een parameter SolutionUniqueName.

Oplossingsonderdelen hangen vaak af van andere oplossingsonderdelen. U kunt geen oplossingsonderdelen verwijderen die afhankelijk zijn van andere oplossingsonderdelen. Voor een aangepast lint zijn vaak image- of scriptwebresources vereist om pictogrammen weer te geven en acties uit te voeren met behulp van scripts. Zolang het aangepaste lint in de oplossing is, zijn de specifieke webresources die dit gebruikt, vereist. Voordat u de webresources kunt verwijderen, moet u verwijzingen ernaar verwijderen in het aangepaste lint. Deze afhankelijkheden van oplossingsonderdelen kunnen worden weergegeven in de toepassing door te klikken op Afhankelijkheden weergeven.

Dit onderwerp beschrijft de types oplossingsonderdelen die u in uw oplossingen kunt opnemen en hoe ze van elkaar afhankelijk zijn.

Alle oplossingsonderdelen

De volledige lijst van de beschikbare types oplossingsonderdelen bevindt zich in de componenttype algemene optieset van het systeem. Het ondersteunde waardebereik voor deze eigenschap is beschikbaar door het bestand OptionSets.cs of OptionSets.vb op te nemen in uw project. Veel van daar de vermelde types oplossingsonderdelen zijn echter uitsluitend voor intern gebruik en de lijst bevat geen informatie over relaties tussen oplossingsonderdelen.

Afhankelijkheden van oplossingsonderdelen

Afhankelijkheden van oplossingsonderdelen zorgen ervoor dat u over een betrouwbare ervaring beschikt wanneer u werkt met oplossingen. Ze voorkomen bewerkingen die u normaal uitvoert wanneer u onopzettelijk aanpassingen die in een oplossing zijn gedefinieerd, verwijdert. Dankzij deze afhankelijkheden kan een beheerde oplossing worden geïnstalleerd en verwijderd door een oplossing te importeren of verwijderen.

Het oplossingenkader zoekt automatisch afhankelijkheden voor oplossingsonderdelen op. Elke bewerking op een oplossingsonderdeel berekent automatisch eventuele afhankelijkheden van andere onderdelen in het systeem. De afhankelijkheidsinformatie wordt gebruikt om de integriteit van het systeem te onderhouden en bewerkingen te voorkomen die kunnen leiden tot een inconsistente status.

Als gevolg van het bijhouden van de afhankelijkheden, worden de volgende gedragstypen afgedwongen:

  • Het verwijderen van een onderdeel wordt voorkomen als een ander onderdeel in het systeem er afhankelijk van is.

  • Het exporteren van een oplossing waarschuwt de gebruiker als er onderdelen ontbreken die kunnen lieden tot fouten bij het importeren van deze oplossing in een ander systeem.

    Waarschuwingen tijdens het exporteren kunnen worden genegeerd als de oplossingsontwikkelaar wil dat de oplossing alleen in een organisatie wordt geïnstalleerd waar de afhankelijke onderdelen vermoedelijk bestaan. Als u bijvoorbeeld een oplossing maakt die over een vooraf geïnstalleerde "basisoplossing" moet worden geïnstalleerd.

  • Het importeren van een oplossing mislukt als alle vereiste onderdelen niet in de oplossing zijn opgenomen en ook niet in het doelsysteem bestaan.

    • Wanneer u bovendien een beheerde oplossing importeert, moeten alle vereiste onderdelen overeenstemmen met het pakkettype van de oplossing. Een onderdeel in een beheerde oplossing kan alleen van een ander beheerd onderdel afhankelijk zijn.

    Er zijn drie typen afhankelijkheden van oplossingsonderdelen:

    Oplossing intern
    Interne afhankelijkheden worden beheerd door Dataverse. Ze komen voor wanneer een bepaald oplossingsonderdeel niet kan bestaan zonder een ander oplossingsonderdeel.

    Gepubliceerd
    Gepubliceerde afhankelijkheden worden gemaakt wanneer twee oplossingsonderdelen aan elkaar zijn gerelateerd en vervolgens worden gepubliceerd. Als u dit type afhankelijkheid verwijdert, moet de koppeling worden verwijderd en de entiteiten opnieuw worden gepubliceerd.

    Niet gepubliceerd
    Niet-gepubliceerde afhankelijkheden gelden voor de niet-gepubliceerde versie van een publiceerbaar oplossingsonderdeel dat wordt bijgewerkt. Nadat het oplossingsonderdeel is gepubliceerd, wordt het een gepubliceerde afhankelijkheid.

    Interne afhankelijkheden binnen de oplossing, zijn afhankelijkheden waar acties op het ene oplossingsonderdeel een actie bij het andere oplossingsonderdeel vereisen. Als u bijvoorbeeld een entiteit verwijdert, kunt u verwachten dat hiermee ook alle entiteitskenmerken worden verwijderd. Entiteitsrelaties met andere entiteiten worden ook verwijderd.

    Een interne afhankelijkheid kan echter leiden naar een gepubliceerde afhankelijkheid en nog steeds handmatige interventie vereisen. Als u bijvoorbeeld een opzoekveld hebt opgenomen in een entiteitsformulier en vervolgens de primaire entiteit in de relatie verwijdert, kunt u die verwijdering pas voltooien als u het opzoekveld uit het gerelateerde entiteitsformulier verwijdert en het formulier vervolgens publiceert.

    Wanneer u acties in het programma uitvoert met oplossingen, kunt u berichten gebruiken met betrekking tot de Dependency entiteit. Zie Entiteit afhankelijkheid voor berichten die u kunt gebruiken om afhankelijkheden te identificeren die kunnen bestaan voordat u een onderdeel verwijdert of een oplossing verwijdert.

Gemeenschappelijke oplossingsonderdelen

Dit zijn de oplossingsonderdelen die worden weergegeven in de toepassing en de onderdelen waarmee u direct werkt bij het toevoegen of het verwijderen van oplossingsonderdelen met de oplossingenpagina. Elk van de andere types oplossingsonderdelen hangen af van het bestaan van een of meer van deze oplossingsonderdelen.

Toepassingslinten (RibbonCustomization) Entiteit (Entity) Rapport (Report)
Artikelsjabloon (KBArticleTemplate) Veldbeveiligingsprofiel (FieldSecurityProfile) Verwerkingsstap SDK-bericht (SDKMessageProcessingStep)
Verbindingsrol (ConnectionRole) Sjabloon voor afdruk samenvoegen (MailMergeTemplate) Beveiligingsrol (Role)
Contractsjabloon (ContractTemplate) Optieset (OptionSet) Service-eindpunt (ServiceEndpoint)
Dashboard of entiteitformulier (SystemForm) Plug-in assembly (PluginAssembly) Siteoverzicht (SiteMap)
E-mailsjabloon (EmailTemplate) Proces (Workflow) Webresource (WebResource)

Toepassingslinten (RibbonCustomization)

Lintaanpassingen voor de sjablonen voor het toepassingslint en het entiteitslint. Toepassingslinten bevatten geen definities van linten op entiteit- of op formulierniveau.

De aangepaste toepassingslinten hebben vaak gepubliceerde afhankelijkheden van webresources. Webresources worden gebruikt voor het definiëren van de pictogrammen van de lintknoppen en de JavaScript-functies om te bepalen wanneer lintelementen worden weergegeven of welke acties worden uitgevoerd wanneer een bepaald lintbesturingselement wordt gebruikt. Afhankelijkheden worden alleen gemaakt als de lintdefinities de $webresource: richtlijn gebruiken om de webresource aan het lint te koppelen. Meer informatie: Instructie $webresource

Artikelsjabloon (KBArticleTemplate)

Een sjabloon dat de standaardkenmerken van een artikel bevat. Er is altijd een interne afhankelijkheid tussen de artikelsjabloon en de entiteit KbArticle.

Verbindingsrol (ConnectionRole)

Rol waarmee een relatie tussen twee records wordt beschreven. Elke verbindingsrol definieert welke types entiteitenrecords kunnen worden gekoppeld met de verbindingsrol. Hiermee maakt u een gepubliceerde afhankelijkheid tussen de verbindingsrol en de entiteit.

Contractsjabloon (ContractTemplate)

Een sjabloon dat de standaardkenmerken van een contract bevat. Er is altijd een interne afhankelijkheid tussen de contractsjabloon en de contractentiteit.

Dashboard of entiteitformulier (SystemForm)

De entiteitsrecords systeemformulier worden gebruikt om dashboards en entiteitsformulieren te definiëren. Wanneer er een SystemForm wordt gebruikt als een entiteitsformulier, is er een interne afhankelijkheid van de entiteit. Wanneer er een SystemForm wordt gebruikt als een dashboard, zijn er geen interne afhankelijkheden. Zowel de entiteitsformulieren als de dashboards hebben vaak gepubliceerde afhankelijkheden met betrekking tot hun inhoud. Een entiteitformulier kan opzoekvelden bevatten die afhankelijk zijn van een entiteitsrelatie. Zowel de dashboards als entiteitsformulieren kunnen grafieken of subrasters bevatten die een gepubliceerde afhankelijkheid op een weergave maken, die vervolgens een interne afhankelijkheid heeft van een entiteit. Een gepubliceerde afhankelijkheid van webresources kan worden gemaakt door weergegeven inhoud in het dashboard of het formulier, of wanneer een formulier JavaScript-bibliotheken bevat. Entiteitsformulieren hebben gepubliceerde afhankelijkheden op kenmerken die worden gepubliceerd als velden in het formulier.

E-mailsjabloon (EmailTemplate)

Een sjabloon dat de standaardkenmerken van een e-mailbericht bevat. Een e-mailsjabloon bevat doorgaans velden die gegevens invoegt van opgegeven entiteitkenmerken. Een e-mailsjabloon kan aan een specifieke entiteit zijn gekoppeld wanneer deze wordt gemaakt zodat er een interne afhankelijkheid op de entiteit is. Een algemene e-mailsjabloon is niet gekoppeld aan een specifieke entiteit, maar kan gepubliceerde afhankelijkheden van entiteitkenmerken hebben die worden gebruikt om gegevens aan te leveren. Een proces (werkstroom) wordt vaak geconfigureerd om een e-mail te verzenden die een e-mailsjabloon gebruikt, en zo een gepubliceerde afhankelijkheid maakt met de werkstroom.

Entiteit (Entity)

De primaire structuur die wordt gebruikt om gegevens te vormen en te beheren in Dataverse. Grafieken, formulieren, entiteitsrelaties, weergaven en kenmerken die zijn gekoppeld aan een entiteit, worden automatisch verwijderd wanneer de entiteit wordt verwijderd door de interne afhankelijkheden tussen hen. Entiteiten hebben vaak gepubliceerde afhankelijkheden met processen, dashboards en e-mailsjablonen.

Veldbeveiligingsprofiel (FieldSecurityProfile)

Profiel dat het toegangsniveau voor beveiligde kenmerken definieert.

Sjabloon voor afdruk samenvoegen (MailMergeTemplate)

Sjabloon dat de standaardkenmerken van een samenvoegingsdocument bevat. Een sjabloon voor afdruk samenvoegen heeft een gepubliceerde afhankelijkheid op de entiteit waaraan deze is gekoppeld.

Optieset (OptionSet)

Een optieset definieert een set opties. Een selectielijstkenmerk gebruikt een optieset om de beschikbare opties te definiëren. Verschillende selectielijstkenmerken kunnen een algemene optieset gebruiken zodat de opties die ze leveren altijd dezelfde zijn en op één locatie kunnen worden bijgehouden. Een gepubliceerde afhankelijkheid is wanneer een selectielijstkenmerk verwijst naar een algemene optieset. U kunt een algemene optieset niet verwijderen als deze wordt gebruikt door een selectielijstkenmerk.

Plug-in assembly (PluginAssembly)

Assembly met een of meer typen invoegtoepassingen. Plug-ins worden geregistreerd voor gebeurtenissen die normaal gesproken aan een entiteit zijn gekoppeld. Hiermee maakt u een gepubliceerde afhankelijkheid.

Proces (Workflow)

Set logische regels waarmee de benodigde stappen voor het automatiseren van een uit te voeren bedrijfsproces, taak of actieset wordt gedefinieerd. Processen zijn allerlei bewerkingen die gepubliceerde afhankelijkheid maken van ander oplossingsonderdeel waar het proces naar verwijst. Elk proces heeft ook een gepubliceerde afhankelijkheid op de entiteit waaraan deze is gekoppeld.

Rapport (Report)

Gegevenssamenvatting in een gemakkelijk leesbare indeling. Een rapport heeft gepubliceerde afhankelijkheden van alle entiteits- of kenmerkgegevens in het rapport. Elk rapport moet ook zijn gekoppeld aan een rapportcategorie waardoor een interne afhankelijkheid van een oplossingsonderdeel wordt gemaakt met de naam Rapportgerelateerde categorie (ReportCategory). Rapporten kunnen worden geconfigureerd om subrapporten te zijn die een gepubliceerde afhankelijkheid maken van het bovenliggende rapport.

Verwerkingsstap SDK-bericht (SDKMessageProcessingStep)

Fase in de pijplijn die moet worden uitgevoerd door een invoegtoepassing.

Beveiligingsrol (Role)

Groep van beveiligingsbevoegdheden. Aan gebruikers worden rollen toegewezen voor toegang tot het Dataverse-systeem. Entiteitsformulieren kunnen worden gekoppeld aan bepaalde beveiligingsrollen om te bepalen wie het formulier kan bekijken. Hiermee maakt u een gepubliceerde afhankelijkheid tussen de beveiligingsrol en het formulier.

Notitie

Alleen de beveiligingsrollen van de business unit van de organisatie kunnen worden toegevoegd aan een oplossing. Alleen een gebruiker met leestoegang tot deze beveiligingsrollen kan deze toevoegen aan een oplossing.

Service-eindpunt (ServiceEndpoint)

Service-eindpunten waarmee contact kan worden gemaakt.

Siteoverzicht (SiteMap)

XML-gegevens die worden gebruikt voor het besturen van het navigatiedeelvenster van de toepassing. Het siteoverzicht kan worden gekoppeld om een HTML-webresource weer te geven of een pictogram in het siteoverzicht kan een afbeeldingswebresource gebruiken. Als de richtlijn $webresource: wordt gebruikt om deze koppelingen te maken, wordt een gepubliceerde afhankelijkheid gemaakt. Meer informatie: Instructie $webresource

Webresource (WebResource)

Gegevens die gelijkwaardig zijn aan bestanden in webontwikkeling. Webresources bieden clientonderdelen die worden gebruikt om de aangepaste gebruikersinterface-elementen te verschaffen. Webresources kunnen gepubliceerde afhankelijkheden hebben met entiteitsformulieren, linten en het Siteoverzicht. Als de richtlijn $webresource: wordt gebruikt om deze koppelingen in een lint of het Siteoverzicht te maken, wordt een gepubliceerde afhankelijkheid gemaakt. Zie voor meer informatie Instructie $webresource.

Notitie

Webresources kunnen afhankelijk zijn van die webresources op basis van relatieve koppelingen. Een HTML-webresource kan bijvoorbeeld een CSS of scriptwebresource gebruiken. Een Silverlight-webresource die buiten een entiteitformulier of grafiek wordt weergegeven, moet een HTML-webresource hebben om deze te hosten. Deze afhankelijkheden worden niet bijgehouden als oplossingsafhankelijkheden.

Zie ook

Oplossingsconcepten
Afhankelijkheden verwijderen
Omgevingsstrategie
Werken met oplossingen via de SDK API's
Naslaginformatie over de oplossingsentiteiten
Naslaginformatie over de entiteit SolutionComponent