Bagikan melalui


Ikhtisar penghapusan dependensi

Komponen solusi sering tergantung pada komponen solusi lainnya. Anda tidak dapat menghapus komponen solusi yang memiliki dependensi dari komponen solusi lain. Dependensi adalah rekaman yang dibuat secara otomatis oleh kerangka solusi untuk mencegah komponen yang diperlukan dihapus saat satu atau beberapa komponen dependen masih menyertakan referensi padanya. Contoh ketergantungan adalah sebagai berikut: jika ada bidang yang diperlukan agar formulir berfungsi, jika Anda pernah mencoba menjalankan tindakan yang akan mengakibatkan penghapusan bidang tersebut, formulir akan berhenti berfungsi.

Catatan

Di artikel ini, Hapus berarti bahwa komponen benar-benar dihapus dari sistem.

Dalam artikel ini, kita membahas cara menangani dependensi ini dan strategi yang dapat Anda gunakan untuk menghapus dependensi yang tidak lagi Anda butuhkan.

Dependensi terkelola vs komponen terkelola

Pertama, penting untuk memahami bahwa dependensi hanya mencegah operasi yang akan menghapus komponen yang diperlukan. Tindakan yang dapat menghapus komponen itu berbeda, tergantung apakah tidak terkelola atau terkelola.

Komponen terkelola

Komponen ini diwakili oleh satu lapisan dalam solusi aktif. Operasi Hapus pada komponen tersebut mengakibatkan penghapusan komponen secara menyeluruh.

Komponen terkelola

Penghapusan komponen terkelola tergantung pada beberapa faktor: jumlah lapisan solusi, posisi relatif dari lapisan yang dihapus instalasinya, dan penerbit komponen. Misalnya, bila komponen dihapus, Pertimbangkan skenario berikut dan apa yang akan menjadi perilaku yang diharapkan saat Anda menghapus instalan berbagai lapisan.

Contoh skenario

Skenario berikut ini menggambarkan apa yang terjadi pada lapisan solusi saat solusi dihapus instalasinya.

Skenario 1: Menghapus instalan lapisan solusi tunggal

Copot pemasangan dengan satu lapisan.

Menghapus instalasi solusi 1 menyebabkan penghapusan komponen karena merupakan satu-satunya lapisan komponen.

Skenario 2: Menghapus instalan lapisan solusi dari penerbit yang berbeda

Copot pemasangan dengan dua lapisan - Penerbit berbeda.

  • Menghapus instalan solusi 2 tidak menyebabkan penghapusan komponen. Hanya lapisan tersebut yang akan dihapus.
  • Menghapus instalasi solusi 1 menyebabkan penghapusan komponen karena tindakan terjadi di lapisan dasar. Faktanya, solusi 1 tidak dapat dibongkar dalam skenario ini, karena solusi dari penerbit yang berbeda memperluas komponen.

Skenario 3: Menghapus instalan beberapa lapisan solusi dari penerbit yang berbeda

Copot pemasangan dengan beberapa lapisan - Penerbit berbeda.

  • Menghapus instalan solusi 3 tidak menyebabkan penghapusan komponen. Hanya lapisan tersebut yang akan dihapus.
  • Menghapus instalan solusi 2 tidak menyebabkan penghapusan komponen. Hanya lapisan tersebut yang akan dihapus.
  • Menghapus instalan solusi 1 tidak menyebabkan penghapusan komponen, karena dalam kasus ini ada solusi lain dari penerbit yang sama (penerbit A = penerbit C)). Platform menghapus lapisan dari solusi 1 dan menggantinya dengan lapisan dari solusi 3.

Skenario 4: Menghapus instalan lapisan solusi dalam penyesuaian tidak terkelola

Copot pemasangan dengan dua lapisan - Kustomisasi tidak terkelola.

  • Menghapus instalan lapisan aktif (tidak terkelola) tidak menyebabkan penghapusan komponen. Hanya lapisan tersebut yang akan dihapus. Perhatikan bahwa Anda tidak dapat menghapus instalan solusi aktif, namun Anda dapat menghapus komponen menggunakan fitur Hapus penyesuaian aktif.
  • Menghapus instalan solusi 1 menyebabkan penghapusan komponen. Tindakan terjadi di lapisan dasar. Tidak seperti skenario 2, Anda dapat menghapus instalan solusi 1. Solusi aktif tidak dianggap sebagai ekstensi, dan kedua lapisan akan dihapus.

Tampilkan halaman dependensi

Perintah Tampilkan dependensi mencantumkan dependensi untuk solusi atau komponen solusi yang dipilih. Ini dapat dipanggil dengan:

  • Memilih Tampilkan dependensi pada halaman solusi.
  • Memilih Tingkat Lanjut>Tampilkan dependensi dalam solusi saat komponen solusi dipilih.
  • Mencoba Menghapus instalan solusi, yang akan menyebabkan platform mendeteksi dependensi yang ada.

Dari halaman Dependensi, Anda dapat membuka, menghapus, atau menghapus komponen. Informasi selengkapnya: Melihat dependensi untuk komponen

Mendiagnosis dependensi

Mari kita pertimbangkan skenario berikut. Organisasi di bawah ini memiliki dua solusi: solusi - alur kerja dan solusi-entitas kustom.

Daftar solusi dengan dua solusi.

Pemilik organisasi memutuskan bahwa mereka tidak lagi memerlukan solusi - entitas kustom, mencoba menghapusnya, dan disajikan dengan halaman berikut:

Detail Dependensi setelah mencoba menghapus solusi.

Tanpa membahas secara detail, kita dapat menyimpulkan bahwa penghapusan instalan solusi mencoba menghapus entitas bernama Entitas Kustom serta tiga bidang—Entitas Kustom, Nama, dan Bidang Nomor—dan keempat komponen itu memiliki dependensi.

Catatan

Menghapus instalan solusi mungkin akan menghapus lebih banyak komponen, namun karena tidak memiliki dependensi, maka tidak akan muncul di daftar.

Langkah selanjutnya adalah memeriksa tautan lapisan solusi (kolom paling kanan) untuk setiap dependensi. Itu akan membantu Anda memutuskan apa yang harus dilakukan untuk menghilangkan ketergantungan.

Gambar berikut Menampilkan rincian dependensi antara entitas (entitas kustom) dan proses (alur kerja uji).

Detail dependensi Entitas Kustom.

Berdasarkan data yang ditampilkan, Anda dapat melihat bahwa komponen dependen adalah milik solusi bernama SolutionWorkflow. Untuk menghilangkan ketergantungan ini, kita dapat:

  • Memperbarui definisi alur kerja di SolutionWorkflow dengan menghapus setiap referensi ke entitas atau subkomponennya. Memperbarui atau meningkatkan solusi.
  • Menghapus instalan solusi SolutionWorkflow.
  • Hapus alur kerja dari versi solusi SolutionWorkflow yang baru, lalu lakukan peningkatan.

Karena setiap komponen dependen dapat mencegah penghapusan solusi, sebaiknya periksa semua dependensi dan buat semua perubahan yang diperlukan dalam satu operasi.

Gambar berikut Menampilkan rincian dependensi antara entitas (entitas kustom) dan aplikasi yang diarahkan model (Aplikasi Saya).

Dependensi antara Entitas (Entitas Kustom) dan Aplikasi (Aplikasi Saya).

Berdasarkan data yang ditampilkan, Anda dapat melihat bahwa komponen dependen adalah milik solusi bernama Aktif. Ini menunjukkan bahwa ketergantungan dibuat dengan mengimpor solusi yang tidak terkelola, atau melalui penyesuaian tidak terkelola yang dijalankan melalui UI modern atau API.

Untuk menghilangkan ketergantungan ini, Anda dapat:

  • Mengedit definisi aplikasi yang diarahkan model untuk menghilangkan setiap referensi ke entitas atau subkomponennya. Karena aplikasi yang diarahkan model mendukung publikasi, Anda harus mempublikasikan perubahan.
  • Menghapus aplikasi yang diarahkan model.

Catatan

Menghapus instalan solusi tidak terkelola bukanlah pilihan untuk menghilangkan ketergantungan ini, karena solusi yang tidak terkelola hanya merupakan sarana untuk komponen grup.

Tindakan untuk menghilangkan ketergantungan terkelola

Dependensi terkelola adalah yang mana komponen dependen dikaitkan ke solusi terkelola. Untuk mengatasi jenis ketergantungan ini, Anda harus bertindak berdasarkan solusi tempat komponen ditambahkan. Tindakan tersebut dapat berbeda tergantung pada apa yang sedang Anda coba lakukan.

Jika Anda mencoba Menghapus instalan solusi

Ikuti langkah berikut:

  1. Di organisasi target, periksa tautan lapisan solusi untuk menemukan solusi paling atas pada daftar komponen dependen.
  2. Di organisasi sumber, siapkan versi baru solusi tersebut di mana solusi tidak berisi komponen dependen, atau memiliki versi terbaru komponen dependen yang tidak berisi referensi ke komponen yang diperlukan. Sasaran Anda adalah menghilangkan setiap referensi ke komponen wajib dalam versi baru solusi.
  3. Ekspor nomor versi solusi baru.
  4. Di organisasi target, tingkatkan solusi tersebut.
  5. Coba lagi hapus instalan.

Jika Anda mencoba meningkatkan solusi

Dalam kasus ini, Anda harus mengkonfirmasi bahwa Anda ingin menghapus komponen wajib (ingat bahwa dependensi diterapkan hanya pada komponen yang dihapus).

Jika Anda tidak ingin menghapus komponen, Anda dapat memperbaiki versi baru solusi dengan menambahkan kembali komponen dengan melakukan langkah berikut:

  1. Di organisasi target, hapus instalan solusi bertahap (solusi dengan akhiran _Upgrade).
  2. Di organisasi sumber, tambahkan komponen wajib kembali ke solusi.
  3. Ekspor versi baru.
  4. Coba lagi meningkatkan.

Jika penghapusan disengaja, Anda harus menghapus dependensi. Coba langkah yang diuraikan di bagian sebelumnya, "jika Anda mencoba Menghapus instalan solusi."

Lapisan dan dependensi

Komponen dependen dapat berlapis, sehingga Anda mungkin perlu mengubah lebih dari satu solusi untuk sepenuhnya menghilangkan ketergantungan. Kerangka dependensi hanya menghitung dependensi antara lapisan paling atas untuk komponen wajib dan dependen. Itu berarti Anda harus bekerja dari atas ke bawah solusi komponen dependen.

Pertimbangkan skenario berikut:

Memilih solusi untuk dihapus.

Anda mencoba untuk menghapus instalan solusi - entitas kustom, dan operasi diblokir oleh dependensi.

Dependensi memblokir penghapusan instalan solusi.

Anda mulai mendiagnosis dependensi dengan memilih lapisan solusi pada atribut new_numberfield. Anda melihat layar berikut ini:

Dependensi antara atribut new_numberfield dan alur kerja Alur Kerja Uji.

Karena dependensi dibuat hanya antara lapisan paling atas masing-masing komponen, langkah pertama adalah menangani ketergantungan antara atribut new_numberfield di SolutionCustomEntity dan alur kerja alur kerja uji di SolutionWorkflow3.

Anda memutuskan menghapus instalan SolutionWorkflow3 untuk menghilangkan ketergantungan. Anda melakukannya, namun saat Anda mencoba Menghapus instalan solusi sekali lagi, Anda akan disajikan dengan halaman dependensi yang sama:

Dependensi yang memblokir penghapusan instalan Solusi - Entitas Kustom.

Namun, atribut new_numberfield tidak lagi terdaftar, meskipun ada di beberapa lapisan.

Tindakan untuk menghilangkan ketergantungan tidak terkelola

Untuk menghapus dependensi yang tidak terkelola, Anda harus bertindak langsung pada komponen, bukan di solusi milik mereka. Misalnya, jika anda ingin menghapus dependensi antara atribut dan formulir, anda harus mengeditnya di editor formulir dan menghapus atribut dari formulir. Dependensi akan dihapus setelah Anda memilih Simpan dan publikasikan.

Catatan

  • Perintah Tampilkan dependensi memungkinkan Anda mengambil tindakan untuk melihat, menghapus dependensi, mengedit komponen, atau menghapus komponen. Informasi selengkapnya: Melihat dependensi untuk komponen
  • Anda juga dapat menghapus komponen dependen. Tindakan tersebut akan menghapus semua dependensi, bersama dengan komponen.

Untuk melihat dependensi komponen, dari area Solusi , buka solusi yang Anda inginkan, pilih elipsis vertikal di samping komponen, lalu pilih Perlihatkan dependensi> Tingkat Lanjut.

Halaman dependensi memiliki dua bagian yang berbeda:

  • Komponen dependen: Daftar komponen yang tergantung pada bidang yang dipilih. Dengan kata lain, komponen ini akan memiliki bidang ini sebagai komponen wajib.
  • Komponen yang diperlukan: Daftar komponen yang memerlukan bidang ini agar dapat berfungsi. Dengan kata lain, komponen ini akan memiliki bidang ini sebagai komponen dependen.

Dependensi komponen.

Baca juga