Traccia delle dipendenze dei componenti di soluzione
Le soluzioni sono costituite da componenti. Utilizzare l'area Soluzioni in Microsoft Dataverse per creare o aggiungere i componenti di soluzione. È possibile eseguire queste azioni a livello di programmazione utilizzando il messaggio AddSolutionComponentRequest o qualsiasi messaggio che crea o aggiorna componenti di soluzione che includano un parametro SolutionUniqueName
.
I componenti di soluzione dipendono spesso da altri componenti di soluzione. Non è possibile eliminare un componente di soluzione che ha dipendenze su altri componenti di soluzione. Ad esempio, una barra multifunzione personalizzata in genere richiede risorse Web script o immagine per visualizzare le icone ed eseguire le azioni tramite gli script. Fintanto che la barra multifunzione personalizzata è nella soluzione, le risorse Web specifiche utilizzate sono obbligatorie. Prima di poter eliminare le risorse Web è necessario rimuovere i riferimenti nella barra multifunzione personalizzata. Le dipendenze dei componenti di soluzione possono essere visualizzate nell'applicazione selezionando Mostra dipendenze.
In questo articolo vengono descritti i tipi di componenti di soluzione che è possibile includere nelle soluzioni e le dipendenze esistenti tra loro.
Tutti i componenti di soluzione
L'elenco completo dei tipi di componente di soluzione disponibili si trova nella colonna di scelta globale componenttype
del sistema. L'intervallo supportato dei valori per questa proprietà è disponibile includendo il file OptionSets.cs
o OptionSets.vb
nel progetto. Tuttavia, molti tipi di componente di soluzione elencati sono solo per uso interno e l'elenco non contiene informazioni sulle relazioni tra i componenti di soluzione.
Dipendenze dei componenti di soluzione
Le dipendenze tra i componenti di soluzione consentono di assicurare un utilizzo affidabile delle soluzioni, impediscono che azioni svolte dagli utenti possano rovinare involontariamente alcune personalizzazioni definite in una soluzione. Le dipendenze consentono di installare e disinstallare una soluzione gestita semplicemente importando o eliminando una soluzione.
Il framework delle soluzioni automaticamente traccia le dipendenze dei componenti di soluzione. Ogni operazione su un componente di soluzione calcola automaticamente tutte le dipendenze con altri componenti nel sistema. Le informazioni di dipendenza vengono utilizzate per gestire l'integrità di sistema e impedire operazioni che condurrebbero a uno stato incoerente.
In seguito alla verifica di dipendenza, i seguenti comportamenti vengono applicati:
L'eliminazione di un componente è impedita se un altro componente del sistema dipende da esso.
L'esportazione di una soluzione avvisa l'utente se mancano componenti che potrebbero causare un errore durante l'importazione della soluzione in un altro ambiente.
Errori durante l'esportazione possono essere ignorati se lo sviluppatore di soluzioni prevede che la soluzione sia installata solo in un ambiente in cui si suppone che i componenti dipendenti esistano. Ad esempio, quando si crea una soluzione che è progettata per essere installata in una soluzione di base preinstallata.
L'importazione di una soluzione non riesce se tutti i componenti richiesti non sono inclusi nella soluzione e non sono presenti nell'ambiente di destinazione.
Inoltre, quando si importa una soluzione gestita, tutti i componenti richiesti devono corrispondere al tipo di pacchetto della soluzione. Un componente in una soluzione gestita può dipendere solo da un altro componente gestito.
Vi sono tre tipi di dipendenza dei componenti di una soluzione:
- Soluzione interna. Le dipendenze interne vengono gestite da Dataverse Queste dipendenze esistono quando un particolare componente di una soluzione non può esistere senza un altro componente della soluzione.
- Pubblicati. Le dipendenze pubblicate vengono create quando si imposta una correlazione tra due componenti di una soluzione e quindi tali componenti vengono pubblicati. Per rimuovere questo tipo di dipendenza, rimuovere l'associazione e quindi pubblicare di nuovo le tabelle.
- Non pubblicati. Le dipendenze non pubblicate si applicano alla versione non pubblicata di un componente di soluzione pubblicabile che viene aggiornato. Una volta pubblicato, il componente di soluzione diventa una dipendenza pubblicata.
Le dipendenze interne della soluzione sono dipendenze in cui le azioni con un componente di soluzione richiedono un'azione per un altro componente di soluzione. Se si elimina una tabella, ad esempio, ci si dovrebbe aspettare che vengano eliminati anche tutti gli attributi della tabella. Vengono eliminate anche tutte le relazioni di tabella con altre tabelle.
Una dipendenza interna, tuttavia, potrebbe portare a una dipendenza pubblicata e richiedere quindi interventi manuali. Se si include un campo di ricerca in un modulo di tabella e quindi si elimina la tabella primaria nella relazione, ad esempio, sarà possibile completare l'eliminazione solo dopo la rimozione della colonna di ricerca dalla tabella correlata e la successiva pubblicazione del modulo.
Quando si eseguono azioni a livello di programmazione con le soluzioni, è possibile utilizzare i messaggi relativi alla tabella Dependency
. Vai a entità Dependency per i messaggi utilizzabili per identificare le dipendenze che possono esistere prima di eliminare un componente o disinstallare una soluzione.
Componenti di soluzione comuni
Questi sono u componenti di soluzione visualizzati nell'applicazione e i componenti che verranno utilizzati direttamente per aggiungere o rimuovere componenti di soluzione utilizzando la pagina della soluzione. L'esistenza di ciascuno degli altri tipi di componenti di soluzione dipende da uno o più di questi componenti di soluzione.
- Barre multifunzione dell'applicazione
- Entità
- - Report
- Modello di articolo
- Profilo di sicurezza colonne
- Passaggio di elaborazione messaggi SDK
- Ruolo connessione
- Modello unione posta elettronica
- Ruolo di sicurezza
- Modello di contratto
- Option set
- Endpoint di servizio
- Modulo di entità o dashboard
- Assembly plug-in
- Mappa del sito
- Modello di messaggio e-mail
- Processo
- Risorsa Web
Barre multifunzione dell'applicazione (RibbonCustomization)
Personalizzazioni della barra multifunzione dell'applicazione e modelli di barra multifunzione per la tabella. Le barre multifunzione dell'applicazione non includono le definizioni delle barre multifunzione a livello di modulo o tabella.
Le barre multifunzione dell'applicazione personalizzate spesso dispongono di dipendenze pubblicate nelle risorse Web. Le risorse Web sono utilizzate per definire le icone dei pulsanti della barra multifunzione e le funzioni JavaScript per controllare quando gli elementi della barra multifunzione vengono visualizzati o quali azioni vengono eseguite quando un particolare controllo della barra multifunzione viene utilizzato. Le dipendenze vengono create solo quando le definizioni della barra multifunzione utilizzano la direttiva $webresource:
per associare la risorsa Web alla barra multifunzione. Ulteriori informazioni: Direttiva $webresource
Modello di articolo (KBArticleTemplate)
Modello che contiene gli attributi standard di un articolo. Esiste sempre una dipendenza interna tra il modello di articolo e la tabella KbArticle.
Ruolo di connessione (ConnectionRole)
Ruolo che descrive la relazione tra due record. Ogni ruolo di connessione definisce i tipi di record di entità che possono essere collegati utilizzando il ruolo di connessione. Viene creata una dipendenza pubblicata tra il ruolo di connessione e la tabella.
Modello di contratto (ContractTemplate)
Modello che contiene gli attributi standard di un contratto. Esiste sempre una dipendenza interna tra il modello di contratto e la tabella contratto.
Modulo di entità o dashboard (SystemForm)
I record di tabella del modulo di sistema vengono utilizzati per definire i dashboard e i moduli di tabella. Quando viene utilizzato SystemForm
come modulo di tabella esiste una dipendenza interna sulla tabella. Quando viene utilizzato SystemForm
come dashboard, non esistono dipendenze interne. I moduli di tabella e i dashboard di solito dispongono di dipendenze pubblicate correlate al contenuto. Un modulo di tabella può avere colonne di ricerca che dipendono da una relazione di tabella. I dashboard e i moduli di tabella possono contenere grafici o sottogriglie che creeranno una dipendenza pubblicata da una visualizzazione, che quindi ha una dipendenza interna su una tabella. Una dipendenza pubblicata da risorse Web può essere creata a causa del contenuto visualizzato nel dashboard o nel modulo o quando un modulo contiene le librerie JavaScript. I moduli di tabella dispongono di dipendenze pubblicate da qualsiasi attributo visualizzato come colonne nel modulo.
Modello di messaggio (EmailTemplate)
Modello contenente gli attributi standard di un messaggio di posta elettronica. Un modello di messaggio in genere include colonne che consentono di inserire i dati da attributi di tabella specificati. Un modello di messaggio può essere collegato a una specifica tabella quando viene creato in modo possa essere una dipendenza interna dalla tabella. Un modello di messaggio globale non è associato a una tabella specifica, ma potrebbe disporre di dipendenze pubblicate dagli attributi di tabella utilizzati per fornire i dati. Un processo (flusso di lavoro) è di frequente configurato per inviare un messaggio di posta elettronica utilizzando un modello di messaggio creando una dipendenza pubblicata con il flusso di lavoro.
Entità (Entity)
Le tabelle, precedentemente note come entità, sono la struttura principale utilizzata per modellare e gestire i dati in Dataverse. Grafici, moduli, relazioni di tabella, visualizzazioni e attributi associati a una tabella vengono eliminati automaticamente quando la tabella viene eliminata a causa delle dipendenze interne tra loro. Le tabelle spesso dispongono di dipendenze pubblicate con processi, dashboard e modelli di messaggio.
Profilo di sicurezza colonne (FieldSecurityProfile)
Profilo che definisce il livello di accesso per gli attributi protetti.
Modello di stampa unione (MailMergeTemplate)
Modello contenente gli attributi standard di un documento di stampa unione. Un modello di stampa unione dispone di una dipendenza pubblicata sulla tabella a cui è associato.
Set di opzioni (OptionSet)
Una colonna di scelta, precedentemente nota come set di opzioni, definisce un set di opzioni. Un attributo di elenco a discesa utilizza una scelta per definire le opzioni fornite. Alcuni attributi di elenco a discesa potrebbero utilizzare una scelta globale affinché le opzioni fornite siano sempre le stesse e possano essere gestite in un'unica posizione. Una dipendenza pubblicata si verifica quando un attributo di elenco a discesa fa riferimento a una scelta globale. Non è possibile eliminare una scelta globale utilizzato da un attributo di elenco a discesa.
Assembly di plug-in (PluginAssembly)
Assembly contenente uno o più tipi di plug-in. I plug-in vengono registrati per gli eventi che normalmente sono associati a una tabella. Viene creata una dipendenza pubblicata.
Processo (Workflow)
Set di regole logiche che definiscono i passaggi necessari per automatizzare un processo aziendale, un'attività o un set di azioni da eseguire. I processi forniscono un'ampia gamma di azioni che consentono di creare dipendenze pubblicate da un altro componente di soluzione a cui fa riferimento il processo. Ogni processo inoltre dispone di una dipendenza pubblicata dalla tabella a cui è associato.
Report (Report)
Riepilogo dei dati in un layout di semplice lettura. Un report dispone di dipendenze pubblicate dai dati di attributo o tabelle inclusi nel report. Ogni report deve essere associato a una categoria di report che creare una dipendenza interna da un componente di soluzione denominata categoria correlata a report (ReportCategory). I report possono essere configurati come sottoreport creando una dipendenza pubblicata con il report padre.
Passaggio di elaborazione del messaggio SDK (SDKMessageProcessingStep)
Fase della pipeline di esecuzione che deve essere eseguita da un plug-in.
Ruolo di sicurezza (Role)
Gruppo di privilegi di sicurezza. Agli utenti vengono assegnati ruoli di sicurezza che li autorizzano ad accedere al sistema Dataverse. I moduli di tabella possono essere associati a ruoli di sicurezza specifici per controllare chi può visualizzare il modulo. Viene creata una dipendenza pubblicata tra il ruolo di sicurezza e il modulo.
Nota
Solo i ruoli di sicurezza dalla business unit dell'ambiente possono essere aggiunti a una soluzione. Solo un utente con l'accesso in lettura ai ruoli di sicurezza possono aggiungerli a una soluzione.
Endpoint del servizio (ServiceEndpoint)
Endpoint del servizio che è possibile contattare.
Mappa del sito (SiteMap)
Dati XML utilizzati per controllare il riquadro di navigazione dell'applicazione. La mappa del sito potrebbe essere collegata per visualizzare una risorsa Web HTML o un'icona nella mappa del sito che potrebbe utilizzare una risorsa Web di immagine. Quando la direttiva $webresource:
è utilizzata per stabilire le associazioni, viene creata una dipendenza pubblicata. Ulteriori informazioni: Direttiva $webresource
Risorsa Web (WebResource)
Dati equivalenti ai file utilizzati per estendere un app basata su modello o nello sviluppo web. Le risorse Web forniscono i componenti lato client utilizzati per generare gli elementi di interfaccia utente personalizzati. Le risorse Web potrebbero disporre di dipendenze pubblicate con moduli di tabella, barre multifunzione e mappa del sito. Quando la direttiva $webresource:
è utilizzata per stabilire le associazioni in una barra multifunzione o nella mappa del sito, viene creata una dipendenza pubblicata. Per ulteriori informazioni, vai a Direttiva $webresource.
Nota
Le risorse Web possono dipendere da altre risorse Web basate sui relativi collegamenti. Ad esempio, una risorsa Web HTML potrebbero utilizzare una risorsa Web CSS o script. Una risorsa Web Silverlight visualizzata all'esterno di un modulo di tabella o un grafico deve disporre di una risorsa Web HTML per ospitarla. Le dipendenze non sono tracciate come dipendenze di soluzione.