Concetti della soluzione

Le soluzioni sono il meccanismo per implementare ALM in Power Apps e Power Automate. Questo articolo descrive i seguenti concetti chiave della soluzione:

  • Due tipi di soluzioni
  • Componenti della soluzione
  • Il ciclo di vita di una soluzione
  • Autore di soluzioni
  • Gestire le dipendenze dei componenti di una soluzione e la soluzione

Soluzioni gestite e non gestite

Una soluzione è gestita o non gestita.

  • Soluzioni non gestite vengono sviluppate. Le soluzioni non gestite sono utilizzate negli ambienti di sviluppo mentre si apportano modifiche all'applicazione. Le soluzioni non gestite possono essere esportate come non gestite o gestite. Le versioni non gestite esportate delle soluzioni devono essere archiviate nel sistema di controllo del codice sorgente. Le soluzioni non gestite devono essere considerate come l'origine degli asset di Microsoft Power Platform. Quando una soluzione non gestita viene eliminata, viene eliminato solo il contenitore soluzione delle personalizzazioni in esso contenute. Tutte le personalizzazioni non gestite rimangono valide e appartengono alla soluzione predefinita.

  • Soluzioni non gestite vengono distribuite. Le soluzioni gestite vengono distribuite in qualsiasi ambiente che non sia un ambiente di sviluppo per quella soluzione. ovvero ambienti di test, UAT, SIT e di produzione. Le soluzioni gestite possono essere servite (aggiornamento, patch ed eliminazione) indipendentemente dalle altre soluzioni gestite in un ambiente. Come procedura consigliata ALM, le soluzioni gestite devono essere generate esportando una soluzione non gestita come gestita e considerata un artefatto di build. Inoltre:

    • Impossibile modificare direttamente i componenti in una soluzione gestita. Per modificare i componenti gestiti, aggiungili prima a una soluzione non gestita.
      • Quando si esegue questa operazione, si crea una dipendenza tra le personalizzazioni non gestite e la soluzione gestita. Quando è presente una dipendenza, la soluzione gestita non può essere disinstallata fino a quando non si rimuove la dipendenza.
    • Alcuni componenti gestiti non possono essere modificati. Per verificare se un componente può essere modificato, visualizza le proprietà gestite.
    • Non è possibile esportare una soluzioni gestita.
    • Quando una soluzione gestita viene eliminata (disinstallata), vengono rimosse tutte le personalizzazioni e le estensioni incluse con la soluzione.

    Importante

    • Non è possibile importare una soluzione gestita nello stesso ambiente che contiene la soluzione non gestita di origine. Per il test di una soluzione gestita è necessario un ambiente separato nel quale importarla.
    • Quando si elimina una soluzione gestita vanno perduti i dati archiviati in entità personalizzate che fanno parte della soluzione gestita e i dati archiviati in attributi personalizzati che fanno parte della soluzione gestita su altre entità che non fanno parte della soluzione gestita.

I creatori e gli sviluppatori lavorano in ambienti di sviluppo utilizzando soluzioni non gestite, quindi le importano in altri ambienti downstream, ad esempio gli ambienti di test, come soluzioni gestite.

Distribuire una soluzione da ambienti di sviluppo ad ambienti di test.

Nota

Quando esegui personalizzazioni nell'ambiente di sviluppo, lavori nel livello non gestito. Quindi, quando esporti la soluzione non gestita come soluzione gestita per la distribuzione in un altro ambiente, la soluzione gestita viene importata nell'ambiente nel livello gestito. Ulteriori informazioni: Livelli di soluzioni

Componenti della soluzione

Un componente rappresenta qualcosa che è possibile personalizzare. Tutto ciò che può essere incluso in una soluzione è un componente. Per visualizzare i componenti inclusi in una soluzione, apri la soluzione desiderata. I componenti sono elencati in Componenti.

Componenti nella soluzione.

Nota

  • La dimensione massima consentita di una soluzione è 32 MB.
  • Non è possibile modificare direttamente i componenti in una soluzione gestita.

Per visualizzare un elenco di tipi di componenti che possono essere aggiunti a qualsiasi soluzione, vedere Opzioni ComponentType.

Alcuni componenti sono nidificati in altri componenti. Ad esempio, un'entità contiene moduli, visualizzazioni, grafici, campi, relazioni di entità, messaggi e regole di business. Ognuno di tali componenti richiede l'esistenza di un'entità. Un campo non può esistere al di fuori di un'entità. Diciamo che il campo dipende dall'entità. Esistono due volte i tipi di componenti illustrati nell'elenco precedente, ma la maggior parte di essi è nidificato in altri componenti quindi non è visibile nell'applicazione.

Lo scopo di disporre dei componenti è di tenere traccia di tutte le limitazioni relative alla personalizzazione tramite proprietà e delle dipendenze in modo da poterle esportare, importate e (nelle soluzioni gestite) eliminare senza tralasciare niente.

Ciclo di vita delle soluzioni

Le soluzioni supportano le seguenti azioni che consentono di supportare i processi del ciclo di vita delle applicazioni:

  • Crea Creazione ed esportazione di soluzioni non gestite.

  • Aggiorna Creazione di aggiornamenti per una soluzione gestita che vengono distribuiti nella soluzione gestita padre. Non è possibile eliminare componenti con un aggiornamento.

  • Upgrade Importazione della soluzione come upgrade in un soluzione gestita esistente, che rimuove i componenti non utilizzati e implementa la logica di upgrade. Gli upgrade includono il rollup (unione) di tutte le patch della soluzione in una nuova versione della soluzione. Gli upgrade delle soluzioni elimineranno i componenti esistenti ma che non sono più inclusi nella versione aggiornata. Puoi scegliere di eseguire l'upgrade immediatamente oppure gradualmente in modo da poter effettuare alcune azioni prima di completare l'upgrade.

  • Patch Una patch contiene solo le modifiche per una soluzione gestita padre, ad esempio l'aggiunta o modifica di componenti e asset. Utilizza le patch quando esegui piccoli aggiornamenti (simile a un aggiornamento rapido). Quando le patch vengono importate, vengono sovrapposte alla soluzione padre. Non è possibile eliminare componenti con una patch.

Autore di soluzioni

Ogni app e altro componente della soluzione, come le entità che crei o qualsiasi personalizzazione che effettui, fa parte di una soluzione. Poiché ogni soluzione ha un autore, devi crearne uno anziché utilizzare l'impostazione predefinita. L'autore viene specificato quando si crea una soluzione.

Nota

Anche se non usi una soluzione personalizzata, lavorerai in soluzioni note come la soluzione predefinita di Common Data Service e le soluzioni predefinite. Maggiori informazioni: Soluzione predefinita e soluzione predefinita di Common Data Service

L'editore di una soluzione in cui viene creato un componente è considerato il proprietario di quel componente. Il proprietario di un componente controlla le modifiche che altri editori di soluzioni che includono quel componente, possono o non possono effettuare. È possibile spostare la proprietà di un componente da una soluzione all'altra all'interno dello stesso editore, ma non tra editori. Una volta introdotto un editore per un componente in un soluzione gestita, non puoi modificare l'editore per il componente. Per questo motivo, è meglio definire un singolo editore in modo da poter modificare il modello di stratificazione tra le soluzioni in un secondo momento.

L'autore di soluzioni specifica chi ha sviluppato l'app. Per questo motivo, devi creare un nome di autore di soluzioni che sia significativo.

Prefisso dell'autore di soluzioni

L'autore di soluzioni include un prefisso. Il prefisso dell'autore è un meccanismo che consente di evitare conflitti di nomi. Ciò consente l'installazione di soluzioni di diversi autori in un ambiente con pochi conflitti. Ad esempio, la soluzione Contoso visualizzata qui include il prefisso di autore di soluzioni contoso.

Esempio di prefisso di autore di soluzioni.

Nota

Quando modifichi un prefisso di autore di soluzioni, devi farlo prima di creare nuove app o elementi di metadati perché non puoi modificare i nomi degli elementi di metadati dopo che li hai creati.

Ulteriori informazioni:

Dipendenze delle soluzioni

A causa del modo in cui sono sovrapposte le soluzioni gestite alcune possono essere dipendenti dai componenti di soluzione in altre soluzioni gestite. Alcuni autori di soluzioni approfitteranno di questa opzione per creare soluzioni modulari. Potresti aver bisogno di installare una soluzione gestita "di base" prima e quindi installare una seconda soluzione gestita che personalizzerà ulteriormente i componenti nella soluzione gestita di base. La seconda soluzione gestita dipende dai componenti di soluzione che fanno parte della prima soluzione.

Il sistema registra queste dipendenze tra soluzioni. Se tenti di installare una soluzione che richiede una soluzione di base non installata, non ti sarà possibile installare la soluzione. Verrà visualizzato un messaggio in cui si informa che la soluzione richiede che ne venga installata un'altra prima. Analogamente, a causa delle dipendenze, non puoi disinstallare la soluzione di base mentre è ancora installata una soluzione che dipende da questa. È necessario disinstallare la soluzione dipendente prima di poter disinstallare la soluzione di base. Ulteriori informazioni: Rimozione delle dipendenze

Dipendenze dei componenti della soluzione

Un componente della soluzione rappresenta qualcosa che è possibile personalizzare. Tutto ciò che può essere incluso in una soluzione è un componente della soluzione e alcuni componenti dipendono da altri componenti. Ad esempio, il campo del sito Web e il report di riepilogo dell'account dipendono entrambi dall'entità dell'account. Ulteriori informazioni: Traccia delle dipendenze dei componenti di soluzione

Vedi anche

Livelli della soluzione
Creare e gestire ambienti nell'interfaccia di amministrazione di Power Platform