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
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
- 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
- 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ă
- 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ă.
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ă:
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).
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).
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:
- În organizația țintă, inspectați linkul Straturi soluție pentru a găsi care este soluția de top din lista componentei dependente.
- Î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.
- Exportați noua versiune a soluției.
- În organizația țintă, efectuați Upgrade la acea soluție.
- Încercați din nou dezinstalarea.
Dacă încercați să actualizați 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:
- În organizația țintă, dezinstalați soluția etapizată (soluția care se termină în _Upgrade).
- În organizația sursă, adăugați componentele necesare înapoi la soluție.
- Exportați noua versiune.
- 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:
Încercați să dezinstalați Soluție - Entitate particularizată, iar operația este blocată de dependențe.
Începeți să diagnosticați dependența selectând Straturi soluție pe atributul new_numberfield. Vizualizați următorul ecran:
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:
Î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 a20>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ă.