แชร์ผ่าน


ภาพรวมการลบการขึ้นต่อกัน

ส่วนประกอบโซลูชันมักขึ้นอยู่กับส่วนประกอบโซลูชันอื่นๆ คุณไม่สามารถลบส่วนประกอบของโซลูชันนี้มีการขึันต่อกันจากส่วนประกอบของโซลูชันอื่นๆ การขึ้นต่อกันเป็นเรกคอร์ดที่สร้างขึ้นโดยอัตโนมัติโดยกรอบงานโซลูชัน เพื่อป้องกันไม่ให้คอมโพเนนต์ที่ต้องการถูกลบ ในขณะที่คอมโพเนนต์ที่ขึ้นต่อกันยังคงมีการอ้างอิงกัน ตัวอย่างของการขึ้นต่อกันมีดังนี้: เมื่อต้องระบุฟิลด์เพื่อให้ฟอร์มทำงานได้ หากคุณเคยพยายามดำเนินการที่จะส่งผลให้มีการลบฟิลด์นั้นฟอร์มจะหยุดทำงาน

หมายเหตุ

ในบทความนี้ ลบ หมายความว่าคอมโพเนนต์ถูกลบออกจากระบบอย่างสมบูรณ์

ในบทความนี้เราจะพูดถึงวิธีจัดการการขึ้นต่อกันเหล่านี้ และกลยุทธ์ที่คุณสามารถใช้เพื่อลบการขึ้นต่อกันที่คุณไม่ต้องการอีกต่อไป

การขึ้นต่อกันของคอมโพเนนต์ที่ไม่ได้รับการจัดการ เทียบกับที่ได้รับการจัดการ

ก่อนอื่น สิ่งสำคัญคือต้องเข้าใจว่าการขึ้นต่อกันจะป้องกันการดำเนินการที่จะลบส่วนประกอบที่จำเป็นเท่านั้น การดำเนินการที่สามารถลบคอมโพเนนต์จะแตกต่างกัน ขึ้นอยู่กับว่าไม่มีการจัดการหรือมีการจัดการ

คอมโพเนนต์ที่ไม่มีการจัดการ

คอมโพเนนต์เหล่านี้แสดงโดยเลเยอร์เดียวในโซลูชันที่ใช้งานอยู่ การดำเนินการ ลบ ใด ๆ กับคอมโพเนนต์ดังกล่าวส่งผลให้คอมโพเนนต์ถูกลบออกทั้งหมด

คอมโพเนนต์มีการจัดการ

การลบคอมโพเนนต์ที่มีการจัดการขึ้นอยู่กับปัจจัยหลายประการ: จำนวนเลเยอร์โซลูชัน ตำแหน่งสัมพัทธ์ของเลเยอร์ที่ถูกถอนการติดตั้ง และผู้เผยแพร่คอมโพเนนต์ ตัวอย่างเช่น เมื่อคอมโพเนนต์ถูกลบ ให้พิจารณาสถานการณ์ต่อไปนี้ และสิ่งที่จะเป็นลักษณะการทำงานที่คาดไว้เมื่อคุณถอนการติดตั้งเลเยอร์ต่าง ๆ

สถานการณ์ตัวอย่าง

สถานการณ์ตัวอย่างต่อไปนี้แสดงให้เห็นว่าเกิดอะไรขึ้นกับเลเยอร์โซลูชันเมื่อถอนการติดตั้งโซลูชัน

สถานการณ์ที่ 1: ถอนการติดตั้งเลเยอร์โซลูชันเดียว

ถอนการติดตั้งเลเยอร์เดียว

การถอนการติดตั้งโซลูชันที่ 1 ทำให้เกิดการลบคอมโพเนนต์เนื่องจากเป็นเลเยอร์เดียวสำหรับคอมโพเนนต์

สถานการณ์ที่ 2: ถอนการติดตั้งเลเยอร์โซลูชันจากผู้เผยแพร่รายอื่น

ถอนการติดตั้งสองเลเยอร์ - ผู้เผยแพร่ที่แตกต่างกัน

  • การถอนการติดตั้งโซลูชัน 2 ไม่ทำให้เกิดการลบคอมโพเนนต์ เฉพาะเลเยอร์นั้นเท่านั้นที่จะถูกลบออก
  • การถอนการติดตั้งโซลูชันที่ 1 ทำให้เกิดการลบคอมโพเนน ต์เนื่องจากกสนดำเนินการเกินขึ้นในเลเยอร์ฐาน ในความเป็นจริงโซลูชัน 1 ไม่สามารถถอนการติดตั้งในสถานการณ์นี้ได้ เนื่องจากโซลูชันจากผู้เผยแพร่รายอื่นจะขยายคอมโพเนนต์

สถานการณ์ที่ 3: ถอนการติดตั้งหลายเลเยอร์โซลูชันจากผู้เผยแพร่รายอื่น

ถอนการติดตั้งหลายเลเยอร์ - ผู้เผยแพร่ที่แตกต่างกัน

  • การถอนการติดตั้งโซลูชัน 3 ไม่ทำให้เกิดการลบคอมโพเนนต์ เฉพาะเลเยอร์นั้นเท่านั้นที่จะถูกลบออก
  • การถอนการติดตั้งโซลูชัน 2 ไม่ทำให้เกิดการลบคอมโพเนนต์ เฉพาะเลเยอร์นั้นเท่านั้นที่จะถูกลบออก
  • การถอนการติดตั้งโซลูชัน 1 ไม่ทำให้เกิดการลบคอมโพเนนต์ เนื่องจากในกรณีนี้มีโซลูชันอื่นจากผู้เผยแพร่รายเดียวกัน (Publisher A = Publisher C)) แพลตฟอร์มจะลบเลเยอร์ออกจากโซลูชัน 1 และแทนที่ด้วยเลเยอร์จากโซลูชัน 3

สถานการณ์ที่ 4: ถอนการติดตั้งเลเยอร์โซลูชันในการกำหนดเองที่ไม่มีการจัดการ

ถอนการติดตั้งสองเลเยอร์ - การแก้ไข/ปรับปรุงตามคำสั่งที่ไม่มีการจัดการ

  • การถอนการติดตั้งเลเยอร์ที่ใช้งานอยู่ (ไม่มีการจัดการ) ไม่ได้ทำให้เกิดการลบองค์ประกอบ เฉพาะเลเยอร์นั้นเท่านั้นที่จะถูกลบออก โปรดทราบว่าคุณไม่สามารถถอนการติดตั้งโซลูชันที่ใช้งานอยู่ แต่คุณสามารถลบส่วนประกอบโดยใช้คุณลักษณะ นำการกำหนดเองที่ใช้งานออก
  • การถอนการติดตั้งโซลูชัน 1 ทำให้เกิดการลบคอมโพเนนต์ การดำเนินการเกิดขึ้นในชั้นฐาน ไม่เหมือนกับสถานการณ์ที่ 2 คุณสามารถถอนการติดตั้งโซลูชัน 1 ได้ โซลูชันที่ใช้งานอยู่ไม่ถือเป็นส่วนขยาย และทั้งสองเลเยอร์จะถูกลบออก

หน้าแสดงการขึ้นต่อกัน

คำสั่ง แสดงการขึ้นต่อกัน แสดงรายการของการขึ้นต่อกันสำหรับโซลูชันหรือส่วนประกอบของโซลูชันที่เลือก สามารถเรียกใช้โดย:

  • การเลือก แสดงการขึ้นต่อกัน ในหน้าโซลูชัน
  • การเลือก ขั้นสูง>แสดงการขึ้นต่อกัน ภายในโซลูชันเมื่อเลือกส่วนประกอบของโซลูชัน
  • การพยายามถอนการติดตั้งโซลูชัน ซึ่งจะทำให้แพลตฟอร์มตรวจพบการขึ้นต่อกันนั้น

จากหน้าการขึ้นต่อกัน คุณสามารถเปิด ลบ หรือลบส่วนประกอบได้ ข้อมูลเพิ่มเติม: ดูการขึ้นต่อกันสำหรับส่วนประกอบ

การวินิจฉัยการขึ้นต่อกัน

ลองพิจารณาสถานการณ์ต่อไปนี้ องค์กรด้านล่างมีสองโซลูชัน: โซลูชัน - เวิร์กโฟลว์ และ โซลูชัน - เอนทิตีที่กำหนดเอง

รายการโซลูชันพร้อมสองโซลูชัน

เจ้าขององค์กรตัดสินใจว่าพวกเขาไม่ต้องการ โซลูชัน - เอนทิตีที่กำหนดเอง อีกต่อไป จึงพยายามที่จะลบและได้แสดงหน้าต่อไปนี้:

รายละเอียดของการขึ้นต่อกันหลังจากพยายามลบโซลูชัน

คร่าว ๆ ก็คือ เราสามารถสรุปได้ว่าการถอนการติดตั้งโซลูชันกำลังพยายามลบเอนทิตีที่มีชื่อ เอนทิตีที่กำหนดเอง และฟิลด์สามฟิลด์ เอนทิตีที่กำหนดเอง, ชื่อ และ จำนวน—และส่วนประกอบทั้งสี่มีการขึ้นต่อกัน

หมายเหตุ

การถอนการติดตั้งโซลูชันอาจมีการลบส่วนประกอบเพิ่มเติม แต่เนื่องจากไม่มีการขึ้นต่อกันจึงไม่ปรากฏในรายการ

ขั้นตอนต่อไปคือการตรวจสอบลิงก์ เลเยอร์โซลูชัน (คอลัมน์ขวาสุด) สำหรับการอ้างอิงแต่ละรายการ ซึ่งจะช่วยให้คุณตัดสินใจว่าจะทำอย่างไรเพื่อลบการขึ้นต่อกัน

รูปต่อไปนี้แสดงรายละเอียดการอ้างอิงระหว่างเอนทิตี (เอนทิตีแบบกำหนดเอง) และกระบวนการ (ขั้นตอนการทดสอบ)

รายละเอียดการขึ้นต่อกันของเอนทิตีแบบกำหนดเอง

ขึ้นอยู่กับข้อมูลที่แสดง คุณจะเห็นว่าส่วนประกอบที่ขึ้นต่อกันนั้นเป็นของโซลูชันที่ชื่อว่า SolutionWorkflow ในการลบการขึ้นต่อกันนี้เราสามารถ:

  • อัปเดตข้อกำหนดของเวิร์กโฟลว์ใน SolutionWorkflow โดยลบการอ้างอิงถึงเอนทิตีหรือส่วนประกอบย่อย แล้ว ปรับปรุง หรือ ปรับรุ่น โซลูชัน
  • ถอนการติดตั้งโซลูชัน SolutionWorkflow
  • ลบเวิร์กโฟลว์ออกจากโซลูชัน SolutionWorkflow เวอร์ชันใหม่ จากนั้นดำเนินการ ปรับรุ่น

เนื่องจากส่วนประกอบที่ขึ้นต่อกันใด ๆ สามารถป้องกันการลบโซลูชันได้ เราขอแนะนำให้คุณตรวจสอบการอ้างอิงทั้งหมดและทำการเปลี่ยนแปลงที่จำเป็นทั้งหมดในการดำเนินการครั้งเดียว

รูปต่อไปนี้แสดงรายละเอียดการอ้างอิงระหว่างเอนทิตี (เอนทิตีแบบกำหนดเอง) และแอพที่เป็นแบบโมเดล (แอพของฉัน)

การขึ้นต่อกันระหว่างเอนทิตี (เอนทิตีแบบกำหนดเอง) และแอป (แอปปของฉัน)

ขึ้นอยู่กับข้อมูลที่แสดง คุณจะเห็นว่าส่วนประกอบที่ขึ้นต่อกันนั้นเป็นของโซลูชันที่ชื่อว่า ใช้งานอยู่ สิ่งนี้บ่งชี้ว่าการอ้างอิงถูกสร้างขึ้นโดยการนำเข้าโซลูชันที่ไม่มีการจัดการ หรือผ่านการปรับแต่งที่ไม่มีการจัดการซึ่งดำเนินการผ่าน UI หรือ API ที่ทันสมัย

ในการลบการขึ้นต่อกันนี้คุณสามารถ:

  • แก้ไขคำจำกัดความของแอพที่เป็นแบบโมเดลเพื่อลบการอ้างอิงใด ๆ ไปยังเอนทิตีหรือคอมโพเนนต์ย่อย เนื่องจากแอพที่เป็นแบบโมเดลสนับสนุนการเผยแพร่ คุณต้องเผยแพร่การเปลี่ยนแปลงของคุณ
  • ลบแอปที่เป็นแบบโมเดล

หมายเหตุ

การถอนการติดตั้งโซลูชันที่ไม่มีการจัดการไม่ใช่ตัวเลือกสำหรับการลบการขึ้นต่อกันนี้ เนื่องจากโซลูชันที่ไม่มีการจัดการเป็นเพียงวิธีการจัดกลุ่มส่วนประกอบ

การดำเนินการเพื่อลบการขึ้นต่อกันที่มีการจัดการ

การขึ้นต่อกันที่มีการจัดการคือสิ่งที่ส่วนประกอบที่สัมพันธ์กันเชื่อมโยงกับโซลูชันที่มีการจัดการ ในการแก้ไขการขึ้นต่อกันประเภทนี้ คุณต้องดำเนินการที่โซลูชันที่เพิ่มองค์ประกอบไว้ การดำเนินการนั้นอาจแตกต่างกันไปขึ้นอยู่กับสิ่งที่คุณพยายามทำ

หากคุณกำลังพยายามถอนการติดตั้งโซลูชัน

ทำตามขั้นตอนเหล่านี้:

  1. ในองค์กรเป้าหมายให้ตรวจสอบลิงก์ เลเยอร์โซลูชัน เพื่อค้นหาสิ่งที่เป็นคำตอบที่อยู่บนสุดในรายการของส่วนประกอบที่สัมพันธ์กัน
  2. ในองค์กรต้นทาง ให้เตรียมเวอร์ชันใหม่ของโซลูชันนั้น โดยที่โซลูชันนั้นไม่มีส่วนประกอบที่สัมพันธ์กัน หรือมีเวอร์ชันอัปเดตของส่วนประกอบที่สัมพันธ์กัน ซึ่งไม่มีการอ้างอิงถึงส่วนประกอบที่ต้องการ เป้าหมายของคุณคือลบการอ้างอิงถึงส่วนประกอบที่จำเป็นในโซลูชันเวอร์ชันใหม่
  3. ส่งออกของโซลูชันรุ่นใหม่
  4. ในองค์กรเป้าหมาย อัพเกรด โซลูชันนั้น
  5. ลองถอนการติดตั้งอีกครั้ง

หากคุณกำลังพยายามอัพเกรดโซลูชัน

ในกรณีนี้คุณต้องยืนยันว่าคุณต้องการลบองค์ประกอบที่ต้องการ (โปรดจำไว้ว่าการขึ้นต่อกันจะบังคับใช้กับส่วนประกอบที่กำลังถูกลบเท่านั้น)

หากคุณไม่ต้องการลบส่วนประกอบ คุณสามารถแก้ไขเวอร์ชันใหม่ของโซลูชันได้ โดยการเพิ่มส่วนประกอบกลับโดยทำดังต่อไปนี้:

  1. ในองค์กรเป้าหมายให้ถอนการติดตั้งโซลูชันที่เลือก (โซลูชันที่ลงท้ายด้วย _Upgrade)
  2. ในองค์กรต้นทางให้เพิ่มส่วนประกอบที่ต้องการกลับไปที่โซลูชัน
  3. ส่งออกเวอร์ชันใหม่
  4. ปรับรุ่นอีกครั้ง

หากว่าตั้งใจลบ คุณต้องลบการขึ้นต่อกัน ลองทำตามขั้นตอนที่ระบุไว้ในส่วนก่อนหน้านี้ "หากคุณกำลังพยายามถอนการติดตั้งโซลูชัน"

เลเยอร์และการขึ้นต่อกัน

ส่วนประกอบที่สัมพันธ์กันสามารถแบ่งชั้นได้ ดังนั้นคุณอาจต้องเปลี่ยนโซลูชันมากกว่าหนึ่งวิธีเพื่อลบการอ้างอิงโดยสิ้นเชิง เฟรมเวิร์กการขึ้นต่อกันจะคำนวณเฉพาะการขึ้นต่อกันระหว่างเลเยอร์บนสุด สำหรับส่วนประกอบที่จำเป็นและที่สัมพันธ์กัน นั่นหมายความว่าคุณต้องดำเนินการจากด้านบนลงด้านล่างของโซลูชันของส่วนประกอบที่สัมพันธ์กัน

พิจารณาสถานการณ์ต่อไปนี้:

การเลือกโซลูชันที่จะถอนการติดตั้ง

คุณพยายามที่จะถอนการติดตั้ง โซลูชัน - เอนทิตีที่กำหนดเอง และการดำเนินการถูกบล็อกโดยการขึ้นต่อกัน

การขึ้นต่อกันบล็อกการถอนการติดตั้งโซลูชัน

คุณเริ่มวินิจฉัยการขึ้นต่อกันโดยการเลือก เลเยอร์โซลูชัน บนคุณลักษณะ new_numberfield คุณเห็นหน้าจอต่อไปนี้:

การขึ้นต่อกันระหว่างแอตทริบิวต์ new_numberfield และเวิร์กโฟลว์การทดสอบเวิร์กโฟลว์

เนื่องจากการขึ้นต่อกันถูกสร้างขึ้นระหว่างเลเยอร์สูงสุดของแต่ละองค์ประกอบ ขั้นตอนแรกคือการจัดการกับการขึ้นต่อกันระหว่างคุณลักษณะ new_numberfield ใน SolutionCustomEntity และเวิร์กโฟลว์ ทดสอบเวิร์กโฟลว์ ใน SolutionWorkflow3

ในการลบการขึ้นต่อกัน คุณเลือกที่จะลบถอนการติดตั้ง SolutionWorkflow3 คุณเช่นนั้นแล้ว แต่เมื่อคุณพยายามถอนการติดตั้งโซลูชันอีกครั้ง คุณจะพบหน้าการขึ้นต่อกันเดียวกัน:

การขึ้นต่อกันบล็อกการถอนการติดตั้งโซลูชัน - เอนทิตีแบบกำหนดเอง

อย่างไรก็ตามแอตทริบิวต์ new_numberfield ไม่มีการแสดงอีกต่อไป แม้ว่าจะมีอยู่ในเลเยอร์อื่น ๆ

การดำเนินการเพื่อลบการขึ้นต่อกันที่ไม่มีการจัดการ

ในการลบการขึ้นต่อกันที่ไม่มีการจัดการคุณต้องดำเนินการกับส่วนประกอบโดยตรงไม่ใช่ในโซลูชันที่อยู่ในนั้น ตัวอย่างเช่น ถ้าคุณต้องการลบการขึ้นต่อกันระหว่างแอ็ตทริบิวต์และฟอร์มคุณต้องแก้ไขใน ตัวแก้ไขฟอร์ม และลบแอ็ตทริบิวต์ออกจากฟอร์ม การขึ้นต่อกันจะถูกลบออกหลังจากที่คุณเลือก บันทึก และ เผยแพร่

หมายเหตุ

  • คำสั่ง แสดงการขึ้นต่อกัน ช่วยให้คุณสามารถดำเนินการเพื่อดู ลบการขึ้นต่อกัน แก้ไขส่วนประกอบ หรือลบส่วนประกอบได้ ข้อมูลเพิ่มเติม: ดูการขึ้นต่อกันสำหรับส่วนประกอบ
  • นอกจากนี้คุณสามารถลบส่วนประกอบที่สัมพันธ์กันได้ การดำเนินการนั้นจะลบการขึ้นต่อกันทั้งหมดพร้อมกับคอมโพเนนต์

หากต้องการดูการขึ้นต่อกันของส่วนประกอบ จากพื้นที่ โซลูชัน ให้เปิดโซลูชันที่คุณต้องการ เลือกจุดแนวตั้งถัดจากส่วนประกอบ จากนั้นเลือก ขั้นสูง>แสดงการขึ้นต่อกัน

หน้าของการขึ้นต่อกันมีสองส่วนที่ต่างกัน:

  • ส่วนประกอบที่สัมพันธ์กัน: รายการส่วนประกอบที่ขึ้นอยู่กับฟิลด์ที่เลือก กล่าวอีกนัยหนึ่งส่วนประกอบเหล่านี้จะมีฟิลด์นี้เป็นส่วนประกอบที่จำเป็น
  • ส่วนประกอบที่จำเป็น: รายการส่วนประกอบที่ฟิลด์นี้ต้องการเพื่อให้ทำงานได้ กล่าวอีกนัยหนึ่งส่วนประกอบเหล่านี้จะมีฟิลด์นี้เป็นส่วนประกอบที่สัมพันธ์กัน

การขึ้นต่อกันของส่วนประกอบ

ดูเพิ่มเติม