Afhankelijkheden van oplossingsonderdelen bijhouden
Gepubliceerd: november 2016
Is van toepassing op: Dynamics CRM 2015
Oplossingen bestaan uit oplossingsonderdelen. U gebruikt het gebied Oplossingen in Microsoft Dynamics 365 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.
In dit onderwerp
Alle oplossingsonderdelen
Afhankelijkheden van oplossingsonderdelen
Controleren op afhankelijkheden van oplossingsonderdelen
Gemeenschappelijke oplossingsonderdelen
Alle oplossingsonderdelen
De volledige lijst van de beschikbare types oplossingsonderdelen bevindt zich in de Type onderdeel (componenttype) algemene optieset van het systeem. Het ondersteunde waardebereik voor deze eigenschap is beschikbaar door het bestand SampleCode\CS\HelperCode\OptionSets.cs of SampleCode\VB\HelperCode\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 Microsoft Dynamics 365. 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 Berichten en methoden van de entiteit Dependency voor berichten die u kunt gebruiken om afhankelijkheden te identificeren die kunnen bestaan voordat u een onderdeel verwijdert of een oplossing verwijdert.
Controleren op afhankelijkheden van oplossingsonderdelen
Als u kunt oplossingen bewerkt, kunt u ontdekken dat u een oplossingsonderdeel niet kunt verwijderen omdat er een gepubliceerde afhankelijkheid is met een ander oplossingsonderdeel. Of u kunt mogelijk een beheerde oplossing niet verwijderen omdat een van de onderdelen in de beheerde oplossing is gebruikt in een aanpassing in een andere onbeheerde oplossing.
De volgende tabel bevat een overzicht van de berichten die u kunt gebruiken om gegevens op te halen over afhankelijkheden van oplossingsonderdelen.
Bericht |
Beschrijving |
---|---|
Geeft een lijst met afhankelijkheden voor oplossingsonderdelen die rechtstreeks afhankelijk zijn van een oplossingsonderdeel. Als u bijvoorbeeld dit bericht gebruikt voor een oplossingsonderdeel algemene optieset, worden afhankelijkheidsrecords geretourneerd voor oplossingsonderdelen met optiesetkenmerken die verwijderen naar het oplossingsonderdeel algemene optieset. Als u dit bericht gebruikt voor het oplossingsonderdeelrecord voor de accountentiteit, worden afhankelijkheidsrecords geretourneerd voor alle oplossingsonderdelen met kenmerken, weergaven en formulieren voor die entiteit. |
|
Geeft een lijst met afhankelijkheden voor oplossingsonderdelen waar een ander oplossingsonderdeel rechtstreeks van afhankelijk is. Dit bericht is het omgekeerde van het bericht RetrieveDependentComponentsRequest. |
|
Geeft een lijst met alle afhankelijkheden voor oplossingsonderdelen die kunnen verhinderen dat u een oplossingsonderdeel verwijdert. |
|
Geeft een lijst met alle afhankelijkheden voor oplossingsonderdelen die kunnen verhinderen dat u een beheerde 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 JScript 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:$webresource richtlijn
Artikelsjabloon (KBArticleTemplate)
Een sjabloon dat de standaardkenmerken van een artikel bevat. Er is altijd een interne afhankelijkheid tussen de artikelsjabloon en de KbArticle entiteit.
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 een SystemForm wordt gebruikt als een entiteitsformulier, is er een interne afhankelijkheid van de entiteit. Wanneer 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 JScript 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 Microsoft Dynamics 365. 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 Microsoft Dynamics 365-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 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 imagewebresource gebruiken. Als de richtlijn $webresource: wordt gebruikt om deze koppelingen te maken, wordt een gepubliceerde afhankelijkheid gemaakt.Meer informatie:$webresource richtlijn
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 $webresource richtlijn voor meer informatie.
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
Uitbreidingen inpakken en verdelen met oplossingen
Inleiding tot oplossingen
Plan voor oplossingontwikkeling
Maak, exporteer of importeer een onbeheerde oplossing
Een beheerde oplossing maken, installeren en bijwerken
Een beheerde oplossing maken, installeren en bijwerken
Een oplossing de-installeren of verwijderen
Oplossingsentiteiten
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht