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 Afhankelijkheden weergeven te selecteren.
In dit artikel worden de typen oplossingsonderdelen beschreven die u in uw oplossingen kunt opnemen en wordt beschreven hoe ze van elkaar afhankelijk zijn.
Alle oplossingsonderdelen
De volledige lijst van de beschikbare typen oplossingsonderdelen bevindt zich in de algemene keuzekolom componenttype
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 leiden tot fouten bij het importeren van deze oplossing in een andere omgeving.
Waarschuwingen tijdens het exporteren kunnen worden genegeerd als de oplossingsontwikkelaar wil dat de oplossing alleen in een omgeving wordt geïnstalleerd waar de afhankelijke onderdelen naar verwachting 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 de doelomgeving 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. Deze afhankelijkheden 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 tabellen 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 tabel verwijdert, kunt u verwachten dat hiermee ook alle tabelkenmerken worden verwijderd. Eventuele tabelrelaties met andere tabellen worden ook verwijderd.
Een interne afhankelijkheid kan echter leiden tot een gepubliceerde afhankelijkheid en nog steeds handmatige interventie vereisen. Als u bijvoorbeeld een opzoekveld hebt opgenomen in een tabelformulier en vervolgens de primaire tabel in de relatie verwijdert, kunt u die verwijdering pas voltooien als u de opzoekkolom uit het gerelateerde tabelformulier verwijdert en het formulier vervolgens publiceert.
Wanneer u acties in het programma uitvoert met oplossingen, kunt u berichten gebruiken met betrekking tot de tabel Dependency
. Ga naar Tabel Afhankelijkheid voor berichten die u kunt gebruiken om afhankelijkheden te identificeren die kunnen bestaan voordat u een onderdeel verwijdert of een oplossing verwijdert.
Algemene 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. Alle andere typen oplossingsonderdelen hangen af van het bestaan van een of meer van deze oplossingsonderdelen.
- Toepassingslinten
- Entiteit
- Rapport
- Sjabloon voor het artikel
- Beveiligingsprofiel voor kolom
- Verwerkingsstap voor SDK-berichten
- Verbindingsrol
- Sjabloon voor mail samenvoegen
- Beveiligingsrol
- Contractsjabloon
- Optieset
- Service-eindpunt
- Dashboard of entiteitsformulier
- Invoegtoepassingsassembly
- Siteoverzicht
- E-mailsjabloon
- Proces
- Webresource
Toepassingslinten (RibbonCustomization)
Lintaanpassingen voor de sjablonen voor het toepassingslint en het tabellint. Toepassingslinten bevatten geen definities van linten op tabel- 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 tabel 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 tabel.
Contractsjabloon (ContractTemplate)
Een sjabloon dat de standaardkenmerken van een contract bevat. Er is altijd een interne afhankelijkheid tussen de contractsjabloon en de contracttabel.
Dashboard of entiteitformulier (SystemForm)
De tabelrecords voor systeemformulieren worden gebruikt om dashboards en tabelformulieren te definiëren. Wanneer een SystemForm
wordt gebruikt als een tabelformulier, is er een interne afhankelijkheid van de tabel. Wanneer een SystemForm
wordt gebruikt als een dashboard, zijn er geen interne afhankelijkheden. Zowel de tabelformulieren als de dashboards hebben vaak gepubliceerde afhankelijkheden met betrekking tot de inhoud ervan. Een tabelformulier kan opzoekkolommen bevatten die afhankelijk zijn van een tabelrelatie. Zowel de dashboards als tabelformulieren kunnen grafieken of subrasters bevatten die een gepubliceerde afhankelijkheid van een weergave maken, die vervolgens een interne afhankelijkheid heeft van een tabel. Een gepubliceerde afhankelijkheid van webresources kan worden gemaakt door weergegeven inhoud in het dashboard of het formulier, of wanneer een formulier JavaScript-bibliotheken bevat. Tabelformulieren hebben gepubliceerde afhankelijkheden van kenmerken die worden weergegeven als kolommen in het formulier.
E-mailsjabloon (EmailTemplate)
Een sjabloon dat de standaardkenmerken van een e-mailbericht bevat. Een e-mailsjabloon bevat doorgaans kolommen die gegevens van opgegeven tabelkenmerken invoegen. Een e-mailsjabloon kan aan een specifieke tabel worden gekoppeld wanneer deze wordt gemaakt zodat er een interne afhankelijkheid van de tabel is. Een algemene e-mailsjabloon wordt niet gekoppeld aan een specifieke tabel, maar kan gepubliceerde afhankelijkheden van tabelkenmerken 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)
Tabellen, voorheen bekend als entiteiten, zijn de primaire structuur die wordt gebruikt om gegevens te modelleren en beheren in Dataverse. Grafieken, formulieren, tabelrelaties, weergaven en kenmerken die zijn gekoppeld aan een tabel, worden automatisch verwijderd wanneer de tabel wordt verwijderd door de interne afhankelijkheden ertussen. Tabellen hebben vaak gepubliceerde afhankelijkheden met processen, dashboards en e-mailsjablonen.
Kolombeveiligingsprofiel (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 van de tabel waaraan deze is gekoppeld.
Optieset (OptionSet)
Een keuzekolom, voorheen bekend als een optieset, definieert een set opties. Een selectielijstkenmerk gebruikt een keuze om de beschikbare opties te definiëren. Verschillende selectielijstkenmerken kunnen een algemene keuze gebruiken zodat de opties die ze leveren altijd dezelfde zijn en op één locatie kunnen worden bijgehouden. Een gepubliceerde afhankelijkheid treedt op wanneer een selectielijstkenmerk verwijst naar een algemene keuze. U kunt een algemene keuze niet verwijderen als deze wordt gebruikt door een selectielijstkenmerk.
Plug-in assembly (PluginAssembly)
Assembly met een of meer typen invoegtoepassingen. Invoegtoepassingen worden geregistreerd voor gebeurtenissen die normaal gesproken aan een tabel 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 van de tabel waaraan deze is gekoppeld.
Rapport (Report)
Gegevenssamenvatting in een gemakkelijk leesbare indeling. Een rapport heeft gepubliceerde afhankelijkheden van alle tabel- 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 zorgen voor een gepubliceerde afhankelijkheid 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 beveiligingsrollen toegewezen voor toegang tot het Dataverse-systeem. Tabelformulieren 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 omgeving 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 die worden gebruikt om een modelgestuurde app uit te breiden of in webontwikkeling. Webresources bieden clientonderdelen die worden gebruikt om de aangepaste gebruikersinterface-elementen te verschaffen. Webresources kunnen gepubliceerde afhankelijkheden hebben met tabelformulieren, linten en het siteoverzicht. Als de richtlijn $webresource:
wordt gebruikt om koppelingen in een lint of het siteoverzicht tot stand te brengen, wordt een gepubliceerde afhankelijkheid gemaakt. Ga voor meer informatie naar Instructie $webresource.
Notitie
Webresources kunnen afhankelijk zijn van andere webresources op basis van relatieve koppelingen. Een HTML-webresource kan bijvoorbeeld een CSS of scriptwebresource gebruiken. Een Silverlight-webresource die buiten een tabelformulier of grafiek wordt weergegeven, moet een HTML-webresource hebben om deze te hosten. Deze afhankelijkheden worden niet bijgehouden als oplossingsafhankelijkheden.