ภาพรวมการลบการขึ้นต่อกัน
ส่วนประกอบโซลูชันมักขึ้นอยู่กับส่วนประกอบโซลูชันอื่นๆ คุณไม่สามารถลบส่วนประกอบของโซลูชันนี้มีการขึันต่อกันจากส่วนประกอบของโซลูชันอื่นๆ การขึ้นต่อกันเป็นเรกคอร์ดที่สร้างขึ้นโดยอัตโนมัติโดยกรอบงานโซลูชัน เพื่อป้องกันไม่ให้คอมโพเนนต์ที่ต้องการถูกลบ ในขณะที่คอมโพเนนต์ที่ขึ้นต่อกันยังคงมีการอ้างอิงกัน ตัวอย่างของการขึ้นต่อกันมีดังนี้: เมื่อต้องระบุฟิลด์เพื่อให้ฟอร์มทำงานได้ หากคุณเคยพยายามดำเนินการที่จะส่งผลให้มีการลบฟิลด์นั้นฟอร์มจะหยุดทำงาน
หมายเหตุ
ในบทความนี้ ลบ หมายความว่าคอมโพเนนต์ถูกลบออกจากระบบอย่างสมบูรณ์
ในบทความนี้เราจะพูดถึงวิธีจัดการการขึ้นต่อกันเหล่านี้ และกลยุทธ์ที่คุณสามารถใช้เพื่อลบการขึ้นต่อกันที่คุณไม่ต้องการอีกต่อไป
การขึ้นต่อกันของคอมโพเนนต์ที่ไม่ได้รับการจัดการ เทียบกับที่ได้รับการจัดการ
ก่อนอื่น สิ่งสำคัญคือต้องเข้าใจว่าการขึ้นต่อกันจะป้องกันการดำเนินการที่จะลบส่วนประกอบที่จำเป็นเท่านั้น การดำเนินการที่สามารถลบคอมโพเนนต์จะแตกต่างกัน ขึ้นอยู่กับว่าไม่มีการจัดการหรือมีการจัดการ
คอมโพเนนต์ที่ไม่มีการจัดการ
คอมโพเนนต์เหล่านี้แสดงโดยเลเยอร์เดียวในโซลูชันที่ใช้งานอยู่ การดำเนินการ ลบ ใด ๆ กับคอมโพเนนต์ดังกล่าวส่งผลให้คอมโพเนนต์ถูกลบออกทั้งหมด
คอมโพเนนต์มีการจัดการ
การลบคอมโพเนนต์ที่มีการจัดการขึ้นอยู่กับปัจจัยหลายประการ: จำนวนเลเยอร์โซลูชัน ตำแหน่งสัมพัทธ์ของเลเยอร์ที่ถูกถอนการติดตั้ง และผู้เผยแพร่คอมโพเนนต์ ตัวอย่างเช่น เมื่อคอมโพเนนต์ถูกลบ ให้พิจารณาสถานการณ์ต่อไปนี้ และสิ่งที่จะเป็นลักษณะการทำงานที่คาดไว้เมื่อคุณถอนการติดตั้งเลเยอร์ต่าง ๆ
สถานการณ์ตัวอย่าง
สถานการณ์ตัวอย่างต่อไปนี้แสดงให้เห็นว่าเกิดอะไรขึ้นกับเลเยอร์โซลูชันเมื่อถอนการติดตั้งโซลูชัน
สถานการณ์ที่ 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 ที่ทันสมัย
ในการลบการขึ้นต่อกันนี้คุณสามารถ:
- แก้ไขคำจำกัดความของแอพที่เป็นแบบโมเดลเพื่อลบการอ้างอิงใด ๆ ไปยังเอนทิตีหรือคอมโพเนนต์ย่อย เนื่องจากแอพที่เป็นแบบโมเดลสนับสนุนการเผยแพร่ คุณต้องเผยแพร่การเปลี่ยนแปลงของคุณ
- ลบแอปที่เป็นแบบโมเดล
หมายเหตุ
การถอนการติดตั้งโซลูชันที่ไม่มีการจัดการไม่ใช่ตัวเลือกสำหรับการลบการขึ้นต่อกันนี้ เนื่องจากโซลูชันที่ไม่มีการจัดการเป็นเพียงวิธีการจัดกลุ่มส่วนประกอบ
การดำเนินการเพื่อลบการขึ้นต่อกันที่มีการจัดการ
การขึ้นต่อกันที่มีการจัดการคือสิ่งที่ส่วนประกอบที่สัมพันธ์กันเชื่อมโยงกับโซลูชันที่มีการจัดการ ในการแก้ไขการขึ้นต่อกันประเภทนี้ คุณต้องดำเนินการที่โซลูชันที่เพิ่มองค์ประกอบไว้ การดำเนินการนั้นอาจแตกต่างกันไปขึ้นอยู่กับสิ่งที่คุณพยายามทำ
หากคุณพยายามถอนการติดตั้งโซลูชัน
ทำตามขั้นตอนเหล่านี้:
- ในองค์กรเป้าหมายให้ตรวจสอบลิงก์ เลเยอร์โซลูชัน เพื่อค้นหาสิ่งที่เป็นคำตอบที่อยู่บนสุดในรายการของส่วนประกอบที่สัมพันธ์กัน
- ในองค์กรต้นทาง ให้เตรียมเวอร์ชันใหม่ของโซลูชันนั้น โดยที่โซลูชันนั้นไม่มีส่วนประกอบที่สัมพันธ์กัน หรือมีเวอร์ชันอัปเดตของส่วนประกอบที่สัมพันธ์กัน ซึ่งไม่มีการอ้างอิงถึงส่วนประกอบที่ต้องการ เป้าหมายของคุณคือลบการอ้างอิงถึงส่วนประกอบที่จำเป็นในโซลูชันเวอร์ชันใหม่
- ส่งออกของโซลูชันรุ่นใหม่
- ในองค์กรเป้าหมาย อัพเกรด โซลูชันนั้น
- ลองถอนการติดตั้งอีกครั้ง
หากคุณกำลังพยายามอัพเกรดโซลูชัน
ในกรณีนี้คุณต้องยืนยันว่าคุณต้องการลบองค์ประกอบที่ต้องการ (โปรดจำไว้ว่าการขึ้นต่อกันจะบังคับใช้กับส่วนประกอบที่กำลังถูกลบเท่านั้น)
หากคุณไม่ต้องการลบส่วนประกอบ คุณสามารถแก้ไขเวอร์ชันใหม่ของโซลูชันได้ โดยการเพิ่มส่วนประกอบกลับโดยทำดังต่อไปนี้:
- ในองค์กรเป้าหมายให้ถอนการติดตั้งโซลูชันที่เลือก (โซลูชันที่ลงท้ายด้วย _Upgrade)
- ในองค์กรต้นทางให้เพิ่มส่วนประกอบที่ต้องการกลับไปที่โซลูชัน
- ส่งออกเวอร์ชันใหม่
- ปรับรุ่นอีกครั้ง
หากว่าตั้งใจลบ คุณต้องลบการขึ้นต่อกัน ลองทำตามขั้นตอนที่ระบุไว้ในส่วนก่อนหน้านี้ "หากคุณกำลังพยายามถอนการติดตั้งโซลูชัน"
เลเยอร์และการขึ้นต่อกัน
ส่วนประกอบที่สัมพันธ์กันสามารถแบ่งชั้นได้ ดังนั้นคุณอาจต้องเปลี่ยนโซลูชันมากกว่าหนึ่งวิธีเพื่อลบการอ้างอิงโดยสิ้นเชิง เฟรมเวิร์กการขึ้นต่อกันจะคำนวณเฉพาะการขึ้นต่อกันระหว่างเลเยอร์บนสุด สำหรับส่วนประกอบที่จำเป็นและที่สัมพันธ์กัน นั่นหมายความว่าคุณต้องดำเนินการจากด้านบนลงด้านล่างของโซลูชันของส่วนประกอบที่สัมพันธ์กัน
พิจารณาสถานการณ์ต่อไปนี้:
คุณพยายามที่จะถอนการติดตั้ง โซลูชัน - เอนทิตีที่กำหนดเอง และการดำเนินการถูกบล็อกโดยการขึ้นต่อกัน
คุณเริ่มวินิจฉัยการขึ้นต่อกันโดยการเลือก เลเยอร์โซลูชัน บนคุณลักษณะ new_numberfield คุณเห็นหน้าจอต่อไปนี้:
เนื่องจากการขึ้นต่อกันถูกสร้างขึ้นระหว่างเลเยอร์สูงสุดของแต่ละองค์ประกอบ ขั้นตอนแรกคือการจัดการกับการขึ้นต่อกันระหว่างคุณลักษณะ new_numberfield ใน SolutionCustomEntity และเวิร์กโฟลว์ ทดสอบเวิร์กโฟลว์ ใน SolutionWorkflow3
ในการลบการขึ้นต่อกัน คุณเลือกที่จะลบถอนการติดตั้ง SolutionWorkflow3 คุณเช่นนั้นแล้ว แต่เมื่อคุณพยายามถอนการติดตั้งโซลูชันอีกครั้ง คุณจะพบหน้าการขึ้นต่อกันเดียวกัน:
อย่างไรก็ตามแอตทริบิวต์ new_numberfield ไม่มีการแสดงอีกต่อไป แม้ว่าจะมีอยู่ในเลเยอร์อื่น ๆ
การดำเนินการเพื่อลบการขึ้นต่อกันที่ไม่มีการจัดการ
ในการลบการขึ้นต่อกันที่ไม่มีการจัดการคุณต้องดำเนินการกับส่วนประกอบโดยตรงไม่ใช่ในโซลูชันที่อยู่ในนั้น ตัวอย่างเช่น ถ้าคุณต้องการลบการขึ้นต่อกันระหว่างแอ็ตทริบิวต์และฟอร์มคุณต้องแก้ไขใน ตัวแก้ไขฟอร์ม และลบแอ็ตทริบิวต์ออกจากฟอร์ม การขึ้นต่อกันจะถูกลบออกหลังจากที่คุณเลือก บันทึก และ เผยแพร่
หมายเหตุ
- คำสั่ง แสดงการขึ้นต่อกัน ช่วยให้คุณสามารถดำเนินการเพื่อดู ลบการขึ้นต่อกัน แก้ไขส่วนประกอบ หรือลบส่วนประกอบได้ ข้อมูลเพิ่มเติม: ดูการขึ้นต่อกันสำหรับส่วนประกอบ
- นอกจากนี้คุณสามารถลบส่วนประกอบที่สัมพันธ์กันได้ การดำเนินการนั้นจะลบการขึ้นต่อกันทั้งหมดพร้อมกับคอมโพเนนต์
หากต้องการดูการขึ้นต่อกันของส่วนประกอบ จากพื้นที่ โซลูชัน ให้เปิดโซลูชันที่คุณต้องการ เลือกจุดแนวตั้งถัดจากส่วนประกอบ จากนั้นเลือก ขั้นสูง>แสดงการขึ้นต่อกัน
หน้าของการขึ้นต่อกันมีสองส่วนที่ต่างกัน:
- ส่วนประกอบที่สัมพันธ์กัน: รายการส่วนประกอบที่ขึ้นอยู่กับฟิลด์ที่เลือก กล่าวอีกนัยหนึ่งส่วนประกอบเหล่านี้จะมีฟิลด์นี้เป็นส่วนประกอบที่จำเป็น
- ส่วนประกอบที่จำเป็น: รายการส่วนประกอบที่ฟิลด์นี้ต้องการเพื่อให้ทำงานได้ กล่าวอีกนัยหนึ่งส่วนประกอบเหล่านี้จะมีฟิลด์นี้เป็นส่วนประกอบที่สัมพันธ์กัน