Partajați prin


Prezentare generală a eliminării dependențelor

Componentele soluției depind adesea de alte componente ale soluției. Nu puteți șterge nicio componentă a soluției care are dependențe față de alte componente ale soluției. Dependențele sunt înregistrări create automat de cadrul de soluții pentru a preveni ștergerea componentelor obligatorii în timp ce una sau mai multe componente dependente includ încă referințe la acestea. Un exemplu de dependență este următorul: dat fiind că un câmp este necesar pentru ca un formular să funcționeze, dacă încercați vreodată să executați o acțiune care va duce la ștergerea acelui câmp, formularul va înceta să funcționeze.

Notă

În acest articol, șterge înseamnă eliminarea completă a componentei din sistem.

În acest articol, discutăm cum să gestionați aceste dependențe și strategiile pe care le puteți utiliza pentru a elimina dependențele de care nu mai aveți nevoie.

Dependențele componentelor negestionate vs. gestionate

În primul rând, este important să înțelegem că dependențele împiedică doar operațiunile care vor șterge o componentă obligatorie. Acțiunile care pot șterge o componentă sunt diferite, în funcție de măsura în care componenta este negestionată sau gestionată.

Componente negestionate

Aceste componente sunt reprezentate de un singur strat în soluția activă. Orice operațiune Ștergere pe o astfel de componentă duce la eliminarea completă a componentei.

Componente gestionate

Ștergerea componentelor gestionate depinde de mai mulți factori: numărul de straturi de soluție, poziția relativă a stratului care este dezinstalat și editorii de componente. De exemplu, atunci când o componentă este ștersă, luați în considerare următoarele scenarii și care va fi comportamentul preconizat atunci când dezinstalați diversele straturi.

Exemple de scenarii

Următoarele exemple de scenarii ilustrează ce se întâmplă cu straturile de soluții atunci când soluțiile sunt dezinstalate.

Scenariul 1: Dezinstalați un singur strat de soluție

Dezinstalați cu un singur strat.

Dezinstalarea soluției 1 provoacă o ștergere a componentelor, deoarece este singurul strat pentru componentă.

Scenariul 2: Dezinstalați straturile de soluții de la diferiți editori

Dezinstalați cu două straturi - Editor diferit.

  • Dezinstalarea soluției 2 nu produce o ștergere a componentelor. Numai acel strat va fi eliminat.
  • Dezinstalarea soluției 1 provoacă o ștergere a componentelor, deoarece acțiunea are loc în stratul de bază. De fapt, Soluția 1 nu poate fi dezinstalată în acest scenariu, deoarece o soluție de la un editor diferit extinde componenta.

Scenariul 3: Dezinstalați straturile multiple de soluții de la diferiți editori

Dezinstalare cu mai multe straturi - Editor diferit.

  • Dezinstalarea soluției 3 nu produce o ștergere a componentelor. Numai acel strat va fi eliminat.
  • Dezinstalarea soluției 2 nu produce o ștergere a componentelor. Numai acel strat va fi eliminat.
  • Dezinstalarea soluției 1 nu provoacă o ștergere a componentelor, deoarece în acest caz există o altă soluție de la același editor (Editor A = Editor C)). Platforma elimină stratul din Soluția 1 și îl înlocuiește cu stratul din Soluția 3.

Scenariul 4: Dezinstalați straturile de soluție într-o particularizare negestionată

Dezinstalare cu două straturi - Personalizare negestionată.

  • Dezinstalarea stratului activ (negestionat) nu produce o ștergere a componentelor. Numai acel strat va fi eliminat. Rețineți că nu puteți dezinstala soluția activă, dar puteți elimina componentele folosind caracteristica Eliminați particularizarea activă.
  • Dezinstalarea soluției 1 cauzează ștergerea componentelor. Acțiunea are loc în stratul de bază. Spre deosebire de scenariul 2, puteți dezinstala Soluția 1. Soluția activă nu este considerată o extensie și ambele straturi vor fi eliminate.

Afișați pagina de dependențe

Comanda Show dependencies enumeră dependențele pentru soluția sau componenta soluției selectate. Poate fi invocată prin:

  • Selectând Afișează dependențe pe pagina de soluție.
  • Selectarea Avansat>Afișați dependențe în cadrul unei soluții atunci când este selectată o componentă a soluției.
  • Încercarea de a dezinstala o soluție, ceea ce va determina platforma să detecteze că există dependențe.

Din pagina Dependențe puteți deschide, elimina sau șterge componenta. Mai multe informații: Vizualizați dependențele pentru o componentă

Diagnosticarea dependențelor

Să luăm în considerare următorul scenariu. Organizația de mai jos are două soluții: Soluție - Flux de lucru și Soluție - Entitate particularizată.

Lista de soluții cu două soluții.

Proprietarul organizației a decis că nu mai au nevoie de Soluție - Entitate particularizată, a încercat să o șteargă și i s-a afișat următoarea pagină:

Detalii de dependență după încercarea de a șterge o soluție.

Fără a intra în detalii, putem concluziona că dezinstalarea soluției încearcă să șteargă o entitate numită Entitate particularizată și trei câmpuri—Entitate particularizată, Nume și Câmp de număr—și toate cele patru componente au dependențe.

Notă

Dezinstalarea soluției ar putea șterge mai multe componente, dar pentru că nu au dependențe, acestea nu vor apărea pe listă.

Următorul pas este să verificați linkul Straturile de soluție (coloana din dreapta) pentru fiecare dependență. Aceasta vă va ajuta să decideți cum să procedați pentru a elimina dependența.

Figura următoare prezintă detalii de dependență între Entitate (Entitate particularizată) și Proces (Test flux de lucru).

Detalii despre dependența entității personalizate.

Pe baza datelor afișate, puteți vedea că componenta dependentă aparține unei soluții numite SolutionWorkflow. Pentru a elimina această dependență, putem:

  • Actualiza definiția fluxului de lucru în SolutionWorkflow eliminând orice referință la entitate sau subcomponentele acesteia. Apoi Actualizare sau Upgrade soluție.
  • Dezinstalarea soluției SolutionWorkflow.
  • Eliminați fluxul de lucru dintr-o nouă versiune a soluției SolutionWorkflow, apoi efectuați un Upgrade.

Deoarece orice componentă dependentă poate preveni eliminarea soluției, vă recomandăm să verificați toate dependențele și să faceți toate modificările necesare într-o singură operație.

Figura următoare prezintă detalii de dependență între Entitate (Entitate particularizată) și o aplicație proiectată pe bază de model (My App).

Dependența dintre Entitate (Entitate personalizată) și Aplicație (Aplicația mea).

Pe baza datelor afișate, puteți vedea că componenta dependentă aparține unei soluții numite Active. Acest lucru indică faptul că dependența a fost creată prin importarea unei soluții negestionate sau printr-o particularizare negestionată care a fost executată prin interfața de utilizator modernă sau API.

Pentru a elimina această dependență, puteți:

  • Edita definiția aplicației proiectate pe bază de model pentru a elimina orice referință la entitate sau subcomponentele acesteia. Deoarece aplicațiile proiectate pe bază de model acceptă publicarea, trebuie să publicați modificările.
  • Ștergeți aplicația proiectată pe bază de model.

Notă

Dezinstalarea unei soluții negestionate nu este o opțiune pentru înlăturarea acestei dependențe, deoarece soluțiile negestionate sunt doar un mijloc de a grupa componente.

Acțiuni pentru eliminarea unei dependențe gestionate

Dependențele gestionate sunt cele în care componenta dependentă este asociată unei soluții gestionate. Pentru a rezolva acest tip de dependență, trebuie să acționați asupra soluției în care a fost adăugată componenta. Acea acțiune poate fi diferită în funcție de ceea ce încercați să faceți.

Dacă încercați să dezinstalați o soluție

Parcurgeți aceste etape:

  1. În organizația țintă, inspectați linkul Straturi soluție pentru a găsi care este soluția de top din lista componentei dependente.
  2. În organizația sursă, pregătiți o nouă versiune a acelei soluții în care soluția fie nu conține componenta dependentă, fie are o versiune actualizată a componentei dependente care nu conține referințe la componenta obligatorie. Scopul dvs. este să eliminați orice referință la componentele obligatorii din noua versiune a soluției.
  3. Exportați noua versiune a soluției.
  4. În organizația țintă, efectuați Upgrade la acea soluție.
  5. Încercați din nou dezinstalarea.

Dacă încercați să efectuați upgrade la o soluție

În acest caz, trebuie să confirmați că ați dorit să ștergeți componenta obligatorie (nu uitați că dependențele sunt aplicate numai pe componente care sunt șterse).

Dacă nu ați dorit să ștergeți componenta, puteți remedia noua versiune a soluției adăugând înapoi componenta, efectuând următoarele:

  1. În organizația țintă, dezinstalați soluția etapizată (soluția care se termină în _Upgrade).
  2. În organizația sursă, adăugați componentele necesare înapoi la soluție.
  3. Exportați noua versiune.
  4. Reîncercați să efectuați upgrade-ul.

Dacă ștergerea este intenționată, trebuie să eliminați dependența. Încercați pașii descriși în secțiunea precedentă, „Dacă încercați să dezinstalați o soluție”

Straturi și dependențe

Componentele dependente pot fi stratificate, deci trebuie să schimbați mai multe soluții pentru a elimina complet o dependență. Cadrul de dependență calculează doar dependențele între straturile superioare pentru componentele obligatorii și dependente. Asta înseamnă că trebuie să avansați de sus în joc în cadrul soluțiilor componentei dependente.

Luați în considerare următorul scenariu:

Alegerea unei soluții de dezinstalare.

Încercați să dezinstalați Soluție - Entitate particularizată, iar operația este blocată de dependențe.

Dependențe care blochează dezinstalarea soluției.

Începeți să diagnosticați dependența selectând Straturi soluție pe atributul new_numberfield. Vizualizați următorul ecran:

Dependența dintre atributul new_numberfield și fluxul de lucru Test Workflow.

Deoarece dependențele sunt create doar între straturile superioare ale fiecărei componente, primul pas este să se ocupe de dependența dintre atributul new_numberfield în SolutionCustomEntity și fluxul de lucru Testare flux de lucru în SolutionWorkflow3.

Pentru a elimina dependența, decideți să dezinstalați SolutionWorkflow3. Faceți acest lucru, dar atunci când încercați să dezinstalați soluția, vi se prezintă aceeași pagină de dependențe:

Dependențe care blochează dezinstalarea Soluție - Entitate personalizată.

Însă atributul new_numberfield nu mai este listat, chiar dacă a existat în mai multe straturi.

Acțiuni pentru eliminarea unei dependențe negestionate

Pentru a elimina dependențele negestionate, trebuie să acționați direct asupra componentelor, nu în soluțiile din care fac parte. De exemplu, dacă doriți să eliminați dependențele dintre un atribut și un formular, trebuie să îl editați în Editor formular și să eliminați atributul din formular. Dependența va fi eliminată după ce selectați Salvați și Publică.

Notă

  • Comanda Afișați dependențe vă permite să luați măsuri pentru a vizualiza, elimina dependența, edita componenta sau șterge componenta. Mai multe informații: Vizualizați dependențele pentru o componentă
  • De asemenea, puteți șterge componenta dependentă. Acea acțiune șterge toate dependențele, împreună cu componenta.

Pentru a vizualiza dependențele unei componente, din zona Soluții , deschideți soluția dorită, selectați elipsele verticale de lângă componentă, apoi selectați Avansat>Afișați dependențe.

Pagina de dependențe are două părți distincte:

  • Componente dependente: O listă de componente care depind de câmpul selectat. Cu alte cuvinte, aceste componente vor avea acest câmp drept componentă obligatorie.
  • Componente obligatorii: O listă de componente pe care acest câmp le impune pentru a funcționa. Cu alte cuvinte, aceste componente vor avea acest câmp drept componentă dependentă.

Dependențe ale componentelor.

Consultați și