Tổng quan về loại bỏ các mối quan hệ phụ thuộc

Các thành phần của giải pháp thường phụ thuộc vào một số thành phần khác của giải pháp. Bạn không thể xóa thành phần nào của giải pháp có các mối quan hệ phụ thuộc với thành phần khác của giải pháp. Quan hệ phụ thuộc là các bản ghi do khung giải pháp tự động tạo để ngăn các thành phần bắt buộc không bị xóa trong khi nhiều thành phần phụ thuộc vẫn có tham chiếu tới bản ghi. Một ví dụ về quan hệ phụ thuộc như sau: một trường được đưa ra là bắt buộc đối với mẫu để hoạt động nếu bạn thử thực hiện thao tác dẫn đến việc xóa trường đó, mẫu này sẽ dừng hoạt động.

Lưu ý

Trong bài viết này, xóa nghĩa là thành phần bị xóa hoàn toàn khỏi hệ thống.

Trong bài viết này, chúng tôi thảo luận cách xử lý các phần phụ thuộc này và các chiến lược bạn có thể sử dụng để loại bỏ các phần phụ thuộc mà bạn không còn cần nữa.

Quan hệ phụ thuộc của thành phần không được quản lý và được quản lý

Trước tiên, bạn cần hiểu rằng quan hệ phụ thuộc chỉ ngăn chặn các thao tác sẽ xóa thành phần bắt buộc. Các hoạt động có thể xóa một thành phần là khác nhau, tùy thuộc vào thành phần đó là thành phần được quản lý hay không được quản lý.

Thành phần không được quản lý

Các thành phần này do một lớp đơn biểu thị trong giải pháp hiện hoạt. Bất kỳ thao tác Xóa nào trên thành phần như vậy có thể dẫn đến việc xóa hoàn toàn các thành phần.

Thành phần được quản lý

Việc xóa các thành phần được quản lý tùy thuộc vào nhiều yếu tố: số lượng lớp giải pháp, vị trí tương đối của lớp đã bị gỡ cài đặt và nhà phát hành thành phần. Ví dụ: khi bạn xóa một thành phần, hãy cân nhắc các tình huống sau đây và hành vi mong muốn nào sẽ xảy ra khi bạn gỡ cài đặt nhiều lớp.

Tình huống mẫu

Các tình huống mẫu sau đây minh họa về các vấn đề xảy ra đối với lớp giải pháp khi bạn gỡ cài đặt giải pháp.

Tình huống 1: Gỡ lớp giải pháp đơn

Gỡ cài đặt bằng một lớp duy nhất.

Việc gỡ cài đặt Giải pháp 1 có thể làm xóa thành phần do đây là lớp duy nhất dành cho thành phần.

Tình huống 2: Gỡ cài đặt lớp giải pháp khỏi nhiều nhà phát hành khác

Gỡ cài đặt bằng hai lớp - Nhà xuất bản khác nhau.

  • Việc gỡ cài đặt Giải pháp 2 không dẫn đến việc xóa thành phần. Chỉ lớp đó mới bị xóa.
  • Việc gỡ cài đặt Giải pháp 1 gây ra việc xóa thành phần do hoạt động này diễn ra trên lớp cơ sở. Trên thực tế, bạn không thể gỡ cài đặt Giải pháp 1 trong tình huống này do giải pháp từ nhà phát hành khác mở rộng thành phần.

Tình huống 3: Gỡ cài đặt nhiều lớp giải pháp từ nhiều nhà phát hành

Gỡ cài đặt với nhiều lớp - Nhà xuất bản khác nhau.

  • Việc gỡ cài đặt Giải pháp 3 không dẫn đến việc xóa thành phần. Chỉ lớp đó mới bị xóa.
  • Việc gỡ cài đặt Giải pháp 2 không dẫn đến việc xóa thành phần. Chỉ lớp đó mới bị xóa.
  • Việc gỡ cài đặt Giải pháp 1 không khiến xóa thành phần do trong trường hợp này có một giải pháp khác từ nhà phát hành tương tự (Nhà phát hành A = Nhà phát hành C). Nền tảng này xóa lớp này khỏi Giải pháp 1 và thay thế lớp này bằng một lớp từ Giải pháp 3.

Tình huống 4: Gỡ cài đặt lớp giải pháp trong tùy chỉnh không được quản lý

Gỡ cài đặt với hai lớp - Tùy chỉnh không được quản lý.

  • Gỡ cài đặt lớp Active (không được quản lý) không dẫn đến việc xóa thành phần. Chỉ lớp đó mới bị xóa. Lưu ý rằng bạn không thể gỡ cài đặt giải pháp Active nhưng có thể gỡ các thành phần bằng tính năng Xóa tùy chỉnh hiện hoạt.
  • Việc gỡ cài đặt Giải pháp 1 có thể làm thành phần bị xóa. Hoạt động này xảy ra trong lớp cơ sở. Khác với tình huống 2, bạn có thể gỡ cài đặt Giải pháp 1. Giải pháp Active không được coi là phần mở rộng và cả 2 lớp đều sẽ bị xóa.

Hiển thị trang phụ thuộc

Lệnh Hiển thị các phần phụ thuộc liệt kê các phần phụ thuộc cho giải pháp đã chọn hoặc thành phần giải pháp. Bạn có thể gọi bằng cách sau:

  • Chọn Hiển thị các phần phụ thuộc trên trang giải pháp.
  • Chọn Nâng cao>Hiển thị các phần phụ thuộc trong một giải pháp khi một thành phần giải pháp được chọn.
  • Thử gỡ cài đặt giải pháp. Điều này có thể khiến nền tảng phát hiện ra các quan hệ phụ thuộc hiện có.

Từ trang Phụ thuộc, bạn có thể mở, xóa hoặc xóa thành phần. Thông tin thêm: Xem phần phụ thuộc của một thành phần

Chẩn đoán quan hệ phụ thuộc

Hãy xem xét các tình huống sau đây. Tổ chức bên dưới có hai giải pháp: Giải pháp – Quy trình làm việcGiải pháp – Thực thể tùy chỉnh.

Danh sách giải pháp với hai giải pháp.

Chủ sở hữu tổ chức quyết định rằng họ không còn yêu cầu Giải pháp – Thực thể tùy chỉnh nữa, thử xóa giải pháp này và được biểu thị bằng trang sau đây:

Chi tiết phụ thuộc sau khi cố gắng xóa giải pháp.

Không cần đi sâu vào chi tiết, chúng tôi có thể kết luận rằng việc gỡ cài đặt giải pháp đang thử xóa thực thể Thực thể tùy chỉnh và 3 trường—Thực thể tùy chỉnh, TênTrường số—và tất cả 4 thành phần có quan hệ phụ thuộc.

Lưu ý

Việc gỡ cài đặt giải pháp có khả năng xóa nhiều thành phần hơn. Tuy nhiên, do không có quan hệ phụ thuộc nên các thành phần này sẽ không có trong danh sách.

Bước tiếp theo là kiểm tra liên kết Lớp giải pháp (cột ngoài cùng bên phải) cho từng quan hệ phụ thuộc. Bước này sẽ giúp quyết định bạn cần làm gì để xóa quan hệ phụ thuộc.

Hình sau đây hiển thị thông tin về quan hệ phụ thuộc giữa Thực thể (Thực thể tùy chỉnh) và Quy trình (Quy trình làm việc thử nghiệm).

Chi tiết phụ thuộc của Thực thể tùy chỉnh.

Dựa vào dữ liệu đã hiển thị, bạn có thể thấy rằng thành phần phụ thuộc thuộc về giải pháp SolutionWorkflow. Để xóa quan hệ phụ thuộc này, bạn có thể làm như sau:

  • Cập nhật định nghĩa quy trình làm việc trên SolutionWorkflow bằng cách xóa mọi tham chiếu tới thực thể hoặc các thành phần phụ của thực thể. Sau đó, Cập nhật hoặc Nâng cấp giải pháp.
  • Gỡ cài đặt giải pháp SolutionWorkflow.
  • Xóa quy trình làm việc khỏi phiên bản mới của giải pháp SolutionWorkflow, rồi tiến hành Nâng cấp.

Do bất kỳ thành phần phụ thuộc nào cũng có thể ngăn hoạt động xóa giải pháp, nên bạn nên kiểm tra tất cả các quan hệ phụ thuộc và thực hiện mọi thay đổi bắt buộc trong từng thao tác.

Hình sau đây hiển thị thông tin về quan hệ phụ thuộc giữa Thực thể (Thực thể tùy chỉnh) và Ứng dụng dựa trên mô hình (Ứng dụng của tôi).

Sự phụ thuộc giữa Thực thể (Thực thể tùy chỉnh) và Ứng dụng (Ứng dụng của tôi).

Dựa vào dữ liệu đã hiển thị, bạn có thể thấy rằng thành phần phụ thuộc thuộc về giải pháp Active. Điều này cho thấy rằng quan hệ phụ thuộc được tạo bằng cách nhập giải pháp không được quản lý hoặc thông qua tùy chỉnh không được quản lý được tiến hành thông quan giao diện người dùng hoặc API hiện đại.

Để xóa quan hệ phụ thuộc này, bạn có thể làm như sau:

  • Chỉnh sửa định nghĩa ứng dụng dựa trên mô hình để xóa mọi tham chiếu tới thực thể hoặc các thành phần phụ của thực thể. Do ứng dụng dựa trên mô hình hỗ trợ xuất bản, bạn có thể xuất bản các thay đổi của mình.
  • Xóa ứng dụng dựa trên mô hình.

Lưu ý

Gỡ cài đặt giải pháp không được quản lý không phải là một cách để xóa quan hệ phụ thuộc này do các giải pháp không được quản lý chỉ là phương tiện để nhóm các thành phần.

Hoạt động để xóa quan hệ phụ thuộc được quản lý

Các quan hệ phụ thuộc được quản lý là các quan hệ mà tại đó thành phần phụ thuộc được liên kết với giải pháp được quản lý. Để giải quyết loại quan hệ phụ thuộc này, bạn phải thực hiện giải pháp ở nơi thành phần được thêm. Hành động đó có thể khác nhau, tùy thuộc vào hoạt động bạn đang thử làm.

Nếu bạn đang thử gỡ cài đặt giải pháp

Làm theo các bước sau:

  1. Trong tổ chức đích, hãy kiểm tra liên kết Lớp giải pháp để tìm giải pháp tối ưu nhất trong danh sách các thành phần phụ thuộc.
  2. Trong tổ chức nguồn, hãy chuẩn bị phiên bản mới của giải pháp đó. Tại đó, giải pháp có thể không có thành phần phụ thuộc hoặc có phiên bản cập nhật của thành phần phụ thuộc không có tham chiếu tới thành phần bắt buộc. Mục tiêu của bạn là xóa mọi tham chiếu tới thành phần bắt buộc trong phiên bản mới của giải pháp.
  3. Xuất phiên bản giải pháp mới.
  4. Trong tổ chức đích, hãy Nâng cấp giải pháp đó.
  5. Thử gỡ cài đặt lại.

Nếu bạn đang thử nâng cấp giải pháp

Trong trường hợp này, bạn phải xác nhận rằng bạn muốn xóa thành phần bắt buộc (lưu ý rằng các quan hệ phụ thuộc chỉ được thực thi trên các thành phần đang được xóa).

Nếu không muốn xóa thành phần, bạn có thể sửa phiên bản mới của giải pháp bằng cách thêm lại thành phần theo cách sau:

  1. Trong tổ chức đích, hãy gỡ cài đặt giải pháp giai đoạn (giải pháp kết thúc bằng _Upgrade).
  2. Trong tổ chức nguồn, hãy thêm lại (các) thành phần bắt buộc vào giải pháp.
  3. Xuất phiên bản mới.
  4. Thử nâng cấp lại.

Nếu có ý định xóa, bạn phải xóa quan hệ phụ thuộc. Thử các bước đã nêu trong phần trước, "Nếu bạn thử gỡ cài đặt giải pháp."

Lớp và quan hệ phụ thuộc

Thành phần phụ thuộc có thể được xếp tầng. Vì thế, bạn cần thay đổi ít nhất 2 giải pháp để xóa hoàn toàn quan hệ phụ thuộc. Khuôn khổ của quan hệ phụ thuộc chỉ tính đến các quan hệ phụ thuộc giữa các lớp cao nhất dành cho thành phần phụ thuộc và bắt buộc. Điều này có nghĩa rằng bạn cần làm việc theo cách từ trên cùng xuống dưới dùng của giải pháp thành phần phụ thuộc.

Xem xét kịch bản ví dụ sau đây:

Chọn một giải pháp để gỡ cài đặt.

Bạn thử gỡ cài đặt Giải pháp – Thực thể tùy chỉnh và các quan hệ phụ thuộc chặn các thao tác.

Các phần phụ thuộc chặn việc gỡ cài đặt giải pháp.

Bạn bắt đầu chẩn đoán quan hệ phụ thuộc bằng cách chọn Lớp giải pháp trên thuộc tính new_numberfield. Bạn nhìn thấy màn hình sau đây:

Sự phụ thuộc giữa thuộc tính new_numberfield và quy trình làm việc của Test Workflow.

Do các quan hệ phụ thuộc được tạo chỉ giữa các lớp cao cấp của từng thành phần, nên bước đầu tiên là giải quyết quan hệ phụ thuộc giữa thuộc tính new_numberfield trong SolutionCustomEntity và quy trình làm việc Quy trình làm việc thử nghiệm trong SolutionWorkflow3.

Để xóa quan hệ phụ thuộc, bạn quyết định gỡ cài đặt SolutionWorkflow3. Bạn làm vậy nhưng khi bạn cố gỡ cài đặt một lần nữa, bạn được biểu thị bằng trang tương tự của quan hệ phụ thuộc:

Các phần phụ thuộc chặn việc gỡ cài đặt Giải pháp - Thực thể tùy chỉnh.

Tuy nhiên, thuộc tính new_numberfield sẽ không được liệt kê nữa, thậm chí thuộc tính này có trong nhiều lớp hơn.

Hoạt động xóa quan hệ phụ thuộc không được quản lý

Để xóa các quan hệ phụ thuộc không được quản lý, bạn cần làm ngay trên các thành phần chứ không phải trên các giải pháp chứa thành phần. Ví dụ: nếu bạn muốn xóa quan hệ phụ thuộc giữa một thuộc tính và một biểu mẫu, bạn phải chỉnh sửa biểu mẫu trong Công cụ biên tập biểu mẫu rồi xóa thuộc tính đó khỏi biểu mẫu. Quan hệ phụ thuộc sẽ bị xóa nếu bạn chọn LưuXuất bản.

Lưu ý

  • Lệnh Hiển thị phần phụ thuộc cho phép bạn thực hiện hành động để xem, xóa phần phụ thuộc, chỉnh sửa thành phần hoặc xóa thành phần. Thông tin thêm: Xem phần phụ thuộc của một thành phần
  • Ngoài ra, bạn cũng có thể xóa các thành phần phụ thuộc. Hành động này sẽ xóa mọi quan hệ phụ thuộc và thành phần.

Để xem các phần phụ thuộc của một thành phần, từ khu vực Giải pháp , hãy mở giải pháp bạn muốn, chọn các hình elip dọc bên cạnh thành phần rồi chọn Nâng cao>Hiển thị các phần phụ thuộc.

Trang các quan hệ phụ thuộc có 2 phần riêng biệt sau:

  • Thành phần phụ thuộc: một danh sách các thành phần phụ thuộc vào các trường đã chọn. Nói cách khác, các thành phần này có trường này dưới dạng thành phần bắt buộc.
  • Thành phần bắt buộc: danh sách các thành phần mà trường này yêu cầu để hoạt động. Nói cách khác, các thành phần này có trường này dưới dạng thành phần phụ thuộc.

Sự phụ thuộc thành phần.

Xem thêm