Share via


Informació general sobre la supressió de dependències

Els components de la solució depenen sovint d'altres components de la solució. No podeu suprimir cap component de la solució que té dependències d'altres components de la solució. Les dependències són registres creats automàticament pel marc de solucions per evitar que se suprimeixin components necessaris mentre un o més components dependents encara hi inclouen referències. Un exemple d'una dependència és el següent: si tenim en compte que un camp és obligatori perquè un formulari funcioni i intenteu executar una acció que resultarà en la supressió d'aquest camp, el formulari deixarà de funcionar.

Nota

En aquest article, suprimeix significa que el component se suprimeix completament del sistema.

En aquest article, parlem de com gestionar aquestes dependències i de les estratègies que podeu utilitzar per eliminar dependències que ja no necessiteu.

Dependències de components administrats i no administrats

En primer lloc, és important entendre que les dependències només eviten operacions que suprimiran un component necessari. Les accions que poden suprimir un component són diferents, en funció de si és administrat o no administrat.

Components administrats

Aquests components estan representats per una única capa a la solució activa. Qualsevol operació Suprimeix aplicada en aquests components genera la supressió completa del component.

Components administrats

La supressió dels components administrats depèn de diversos factors: el nombre de capes de la solució, la posició relativa de la capa que s'està desinstal·lant i els editors de components. Per exemple, quan se suprimeix un component, cal tenir en compte les situacions següents i quin serà el comportament esperat en desinstal·lar les diferents capes.

Situacions d'exemple

Les situacions d'exemple següents il·lustren què passa amb les capes de la solució quan es desinstal·len solucions.

Situació 1: Desinstal·lar una única capa de solució

Desinstal·leu-lo amb una sola capa.

La desinstal·lació de la Solució 1 provoca la supressió del component perquè és l'única capa del component.

Situació 2: Desinstal·lar capes de la solució de diferents editors

Desinstal·leu amb dues capes: editor diferent.

  • La desinstal·lació de la Solució 2 no causa la supressió del component. Només se suprimirà aquesta capa.
  • La desinstal·lació de la Solució 1 provoca la supressió del component perquè l'acció es produeix a la capa base. De fet, la Solució 1 no es pot desinstal·lar en aquesta situació, perquè una solució d'un editor diferent amplia el component.

Situació 3: Desinstal·lar diverses capes de la solució de diferents editors

Desinstal·la amb diverses capes: editor diferent.

  • La desinstal·lació de la Solució 3 no causa la supressió del component. Només se suprimirà aquesta capa.
  • La desinstal·lació de la Solució 2 no causa la supressió del component. Només se suprimirà aquesta capa.
  • La desinstal·lació de la Solució 1 no causa la supressió del component perquè, en aquest cas, hi ha una altra solució del mateix editor (Editor A = Editor C). La plataforma suprimeix la capa de la Solució 1 i la substitueix per la capa de la Solució 3.

Situació 4: Desinstal·lar capes de la solució en una personalització no administrada

Desinstal·leu amb dues capes: personalització no administrada.

  • La desinstal·lació de la capa activa (no administrada) no provoca la supressió del component. Només se suprimirà aquesta capa. Heu de tenir en compte que no podeu desinstal·lar la solució activa, però podeu suprimir components mitjançant la característica Suprimeix les personalitzacions actives.
  • La desinstal·lació de la Solució 1 causa la supressió del component. L'acció es produeix a la capa base. A diferència de la situació 2, podeu desinstal·lar la Solució 1. La solució activa no es considera una extensió i se suprimiran totes dues capes.

Mostra la pàgina de dependències

L'ordre Mostra les dependències llista les dependències de la solució o component de la solució seleccionada. Es pot invocar de les següents maneres:

  • Seleccioneu Mostra les dependències a la pàgina de la solució.
  • Selecció de l'opció Avançada>Mostra les dependències dins d'una solució quan se selecciona un component de la solució.
  • En provar de desinstal·lar una solució, la qual cosa provocarà que la plataforma detecti que les dependències existeixen.

Des de la pàgina Dependències podeu obrir, suprimir o suprimir el component. Més informació: Veure dependències d'un component

Diagnosticar dependències

Tinguem en compte aquesta hipotètica situació. L'organització següent té dues solucions: Solució: flux de treball i Solució: entitat personalitzada.

Llista de solucions amb dues solucions.

El propietari de l'organització ha decidit que ja no necessiten Solució: entitat personalitzada, ha intentat suprimir-la i ha aparegut la pàgina següent:

Detalls de dependència després d'intentar suprimir una solució.

Sense entrar en detalls, podem concloure que la desinstal·lació de la solució està intentant suprimir una entitat anomenada Entitat personalitzada i tres camps (Entitat personalitzada, Nom i Camp numèric) i que tots quatre components tenen dependències.

Nota

La desinstal·lació de la solució podria suprimir potencialment més components, però, com que no tenen dependències, no es mostraran a la llista.

El pas següent és comprovar l'enllaç Capes de la solució (columna de la dreta) per a cada dependència. Això us ajudarà a decidir què heu de fer per suprimir la dependència.

A la figura següent es mostren els detalls de dependència entre l'Entitat (entitat personalitzada) i el Procés (flux de treball de prova).

Detalls de dependència de l'entitat personalitzada.

Segons les dades que es mostren, podeu veure que el component dependent pertany a una solució anomenada SolutionWorkflow. Per suprimir aquesta dependència, es pot fer el següent:

  • Per actualitzar la definició del flux de treball de SolutionWorkflow, suprimiu qualsevol referència a l'entitat o els seus subcomponents. A continuació, actualitzeu o milloreu la solució.
  • Desinstal·leu la solució SolutionWorkflow.
  • Suprimiu el flux de treball d'una versió nova de la solució SolutionWorkflow i, a continuació, dueu a terme una Actualització.

Com que qualsevol component dependent pot impedir la supressió de la solució, us recomanem que consulteu totes les dependències i feu tots els canvis necessaris en una única operació.

A la figura següent es mostren els detalls de dependència entre l'Entitat (entitat personalitzada) i una aplicació basada en models (La meva aplicació).

Dependència entre Entitat (Entitat Personalitzada) i Aplicació (La meva aplicació).

Segons les dades que es mostren, podeu veure que el component dependent pertany a una solució anomenada Activa. Això indica que es va crear la dependència amb la importació d'una solució no administrada o mitjançant una personalització no administrada que es va executar a través d'una API o interfície d'usuari moderna.

Per suprimir aquesta dependència, podeu fer el següent:

  • Editeu la definició de l'aplicació basada en models per suprimir qualsevol referència a l'entitat o els seus subcomponents. Com que les aplicacions basades en models són compatibles amb la publicació, heu de publicar els canvis.
  • Suprimiu l'aplicació basada en models.

Nota

La desinstal·lació d'una solució no administrada no és una opció per suprimir aquesta dependència perquè les solucions no administrades són un mitjà per agrupar els components.

Accions per suprimir una dependència administrada

Les dependències administrades són aquelles en què el component dependent està associat a una solució administrada. Per resoldre aquest tipus de dependència, heu d'actuar sobre la solució on s'ha afegit el component. Aquesta acció pot ser diferent en funció del que proveu de fer.

Si intenteu desinstal·lar una solució

Seguiu aquests passos:

  1. A l'organització de destinació, inspeccioneu l'enllaç Capes de la solució per trobar la solució superior a la llista del component dependent.
  2. A l'organització d'origen, prepareu una nova versió de la solució on la solució no contingui el component dependent ni tingui cap versió actualitzada del component dependent que no contingui cap referència al component necessari. L'objectiu és suprimir qualsevol referència als components necessaris a la nova versió de la solució.
  3. Exporteu la versió nova de la solució.
  4. A l'organització de destinació, actualitzeu la solució.
  5. Torneu a provar la desinstal·lació.

Si intenteu actualitzar una solució

En aquest cas, heu de confirmar que voleu suprimir el component necessari (recordeu que les dependències només s'apliquen als components que se suprimeixen).

Si no voleu suprimir el component, podeu corregir la versió nova de la solució. Per fer-ho, feu el següent per tornar a afegir el component:

  1. A l'organització de destinació, desinstal·leu la solució amb fase (la solució que acaba en _Upgrade).
  2. A l'organització d'origen, torneu a afegir els components necessaris a la solució.
  3. Exporteu la nova versió.
  4. Torneu a provar l'actualització.

Si la supressió és intencionada, heu de suprimir la dependència. Proveu els passos que s'indiquen a la secció anterior: "Si intenteu desinstal·lar una solució".

Capes i dependències

Els components dependents poden tenir capes, de manera que pot ser que hagueu de canviar més d'una solució per suprimir per complet una dependència. El marc de dependència calcula només dependències entre les capes superiors dels components necessaris i dependents. Això vol dir que heu d'anar de la part superior fins a la part inferior de les solucions del component dependent.

Tingueu en compte la situació de l'exemple següent:

Triar una solució per desinstal·lar.

Proveu de desinstal·lar Solució: entitat personalitzada i hi ha dependències que impedeixen l'operació.

Dependències que bloquegen la desinstal·lació de la solució.

Per començar a diagnosticar la dependència, seleccioneu Capes de la solució a l'atribut new_numberfield. Veure la pantalla següent:

Dependència entre l'atribut new_numberfield i el flux de treball Test Workflow.

Com que les dependències es creen només entre les capes superiors de cada component, el primer pas és fer front a la dependència entre l'atribut new_numberfield de SolutionCustomEntity i el flux de treball Flux de treball de prova de SolutionWorkflow3.

Per suprimir la dependència, decidiu desinstal·lar SolutionWorkflow3. Ho feu, però, quan intenteu desinstal·lar una vegada més la solució, us apareix la mateixa pàgina de dependències:

Dependències que bloquegen la desinstal·lació de Solució - Entitat personalitzada.

No obstant això, l'atribut new_numberfield ja no apareix a la llista, encara que existeixi en més capes.

Accions per suprimir una dependència no administrada

Per suprimir dependències no administrades, heu d'actuar directament als components, no a les solucions a les quals pertanyen. Per exemple, si voleu suprimir les dependències entre un atribut i un formulari, l'heu d'editar a l'Editor de formularis i suprimir l'atribut del formulari. La dependència se suprimirà després de seleccionar Desa i Publica.

Nota

  • L'ordre Mostra les dependències us permet dur a terme accions per visualitzar, suprimir la dependència, editar el component o suprimir el component. Més informació: Veure dependències d'un component
  • També podeu suprimir el component dependent. Aquesta acció suprimeix totes les dependències, juntament amb el component.

Per visualitzar les dependències d'un component, des de l'àrea Solucions , obriu la solució que voleu, seleccioneu les el·lipses verticals al costat del component i, a continuació, seleccioneu Mostra les dependències> avançades.

La pàgina de dependències té dues parts diferenciades:

  • Components dependents: una llista de components que depenen del camp seleccionat. En altres paraules, aquests components tindran aquest camp com a component necessari.
  • Components necessaris: una llista de components que aquest camp requereix per funcionar. En altres paraules, aquests components tindran aquest camp com a component dependent.

Dependències de components.

Consulteu també