แชร์ผ่าน


การติดตามการขึ้นต่อกันสำหรับส่วนประกอบของโซลูชัน

โซลูชันประกอบด้วยส่วนประกอบของโซลูชัน คุณจะใช้พื้นที่ โซลูชัน ใน Microsoft Dataverse เพื่อสร้างหรือเพิ่มส่วนประกอบของโซลูชัน คุณสามารถดำเนินการเหล่านี้ในเชิงภาษาโปรแกรมโดยใช้ข้อความ AddSolutionComponentRequest หรือข้อความใดๆ ที่สร้างหรืออัปเดตส่วนประกอบโซลูชันที่มีพารามิเตอร์ SolutionUniqueName

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

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

ส่วนประกอบของโซลูชันทั้งหมด

รายการประเภทส่วนประกอบโซลูชันทั้งหมดที่มีอยู่ในชุดตัวเลือกส่วนกลาง componenttype ของระบบ ช่วงของค่าที่รองรับสำหรับคุณสมบัตินี้พร้อมใช้งานโดยการรวมไฟล์ OptionSets.cs หรือ OptionSets.vb ในโครงการของคุณ อย่างไรก็ตามหลายๆ ประเภทส่วนประกอบโซลูชันที่ปรากฏในรายการมีไว้สำหรับใช้ภายในเท่านั้น และรายการไม่ได้ให้ข้อมูลเกี่ยวกับความสัมพันธ์ระหว่างส่วนประกอบโซลูชัน

การขึ้นต่อกันของส่วนประกอบของโซลูชัน

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

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

เป็นผลมาจากการติดตามการขึ้นต่อกันของพฤติกรรมดังต่อไปนี้มีการบังคับใช้:

  • การลบองค์ประกอบจะถูกป้องกันหากส่วนประกอบอื่นในระบบขึ้นอยู่กับส่วนประกอบนั้น

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

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

  • การนำเข้าโซลูชันล้มเหลวหากส่วนประกอบที่จำเป็นทั้งหมดไม่รวมอยู่ในโซลูชันและไม่มีอยู่ในระบบเป้าหมายด้วย

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

    การขึ้นต่อกันของส่วนประกอบโซลูชันมีสามประเภท:

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

    ที่ตีพิมพ์
    การอ้างอิงที่เผยแพร่ถูกสร้างขึ้นเมื่อส่วนประกอบโซลูชันสองส่วนเกี่ยวข้องกันแล้วถูกเผยแพร่ หากต้องการลบการขึ้นต่อกันประเภทนี้ ต้องลบการเชื่อมโยงและเผยแพร่เอนทิตีอีกครั้ง

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

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

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

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

ส่วนประกอบของโซลูชันทั่วไป

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

ริบบิ้นแอปพลิเคชัน (การปรับแต่งริบบิ้น) เอนทิตี้ (Entity) รายงาน (รายงาน)
เทมเพลตบทความ (KBArticleTemplate) โปรไฟล์ความปลอดภัยภาคสนาม (FieldSecurityProfile) การประมวลผลข้อความ SDK ขั้นตอน (ขั้นตอนการประมวลผลข้อความ SDK)
บทบาทการเชื่อมต่อ (ConnectionRole) เทมเพลตการผสานจดหมาย (MailMergeTemplate) Security role (บทบาท)
แบบฟอร์มสัญญา (ContractTemplate) ชุดตัวเลือก (ชุดตัวเลือก) บริการ ตำแหน่งข้อมูล (จุดสิ้นสุดบริการ)
แดชบอร์ดหรือฟอร์มเอนทิตี้ (SystemForm) การประกอบปลั๊กอิน (PluginAssembly) แผนผังเว็บไซต์ (SiteMap)
เทมเพลตอีเมล์ (EmailTemplate) กระบวนการ (เวิร์กโฟลว์) ทรัพยากรเว็บไซต์ (WebResource)

Ribbon ของแอปพลิเคชัน (RibbonCustomization)

การเลือกกำหนด Ribbon สำหรับแม่แบบ Ribbon ของแอพพลิเคชันและ Ribbon ของเอนทิตี Ribbon ของแอปพลิเคชันไม่รวมคำจำกัดความของ Ribbon ที่ระดับเอนทิตีหรือระดับแบบฟอร์ม

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

แม่แบบบทความ (KBArticleTemplate)

แม่แบบที่มีแอตทริบิวต์มาตรฐานของบทความ มีการขึ้นต่อกันภายในระหว่างแม่แบบบทความและเอนทิตี KbArticle เสมอ

บทบาทการเชื่อมต่อ (ConnectionRole)

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

แม่แบบสัญญา (ContractTemplate)

แม่แบบที่มีแอตทริบิวต์มาตรฐานของสัญญา มีการขึ้นต่อกันภายในระหว่างแม่แบบสัญญาและเอนทิตีสัญญาเสมอ

ฟอร์มแดชบอร์ดหรือเอนทิตี (SystemForm)

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

แม่แบบอีเมล (EmailTemplate)

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

เอนทิตี (Entity)

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

โปรไฟล์ความปลอดภัยของฟิลด์ (FieldSecurityProfile)

โปรไฟล์ที่กำหนดระดับการเข้าถึงสำหรับแอตทริบิวต์ที่มีการรักษาความปลอดภัย

แม่แบบจดหมายเวียน (MailMergeTemplate)

แม่แบบที่มีแอตทริบิวต์มาตรฐานของเอกสารจดหมายเวียน แม่แบบจดหมายเวียนมีการขึ้นต่อกันที่เผยแพร่บนเอนทิตีที่เกี่ยวข้อง

ชุดตัวเลือก (OptionSet)

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

แอสเซมบลีปลั๊กอิน (PluginAssembly)

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

กระบวนการ (Workflow)

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

รายงาน (Report)

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

ขั้นตอนการประมวลผลข้อความ SDK (SDKMessageProcessingStep)

ลำดับขั้นในขั้นตอนการดำเนินการที่ปลั๊กอินจะดำเนินการ

บทบาทความปลอดภัย (Role)

การจัดกลุ่มสิทธิพิเศษด้านความปลอดภัย ผู้ใช้ได้รับมอบหมายบทบาทที่อนุญาตให้สามารถเข้าถึงระบบ Dataverse ได้ ฟอร์มเอนทิตีสามารถเชื่อมโยงกับบทบาทความปลอดภัยเฉพาะเพื่อควบคุมว่าใครสามารถดูฟอร์มได้ สิ่งนี้สร้างการขึ้นต่อกันที่เผยแพร่ระหว่างบทบาทความปลอดภัยและฟอร์ม

หมายเหตุ

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

ปลายทางการบริการ (ServiceEndpoint)

ปลายทางการบริการที่สามารถติดต่อได้

แผนผังเว็บไซต์ (SiteMap)

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

ทรัพยากรบนเว็บ (WebResource)

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

หมายเหตุ

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

ดูเพิ่มเติม

แนวคิดการแก้ปัญหา
การลบสิ่งที่ต้องพึ่งพา
กลยุทธ์ด้านสิ่งแวดล้อม
ทำงานกับโซลูชันโดยใช้ SDK API]
การอ้างอิงเอนทิตี้ของโซลูชัน
การอ้างอิงเอนทิตี้ของ SolutionComponent