การติดตามการขึ้นต่อกันสำหรับส่วนประกอบของโซลูชัน
โซลูชันประกอบด้วยส่วนประกอบของโซลูชัน คุณจะใช้พื้นที่ โซลูชัน ใน Microsoft Dataverse เพื่อสร้างหรือเพิ่มส่วนประกอบของโซลูชัน คุณสามารถดำเนินการเหล่านี้ในเชิงภาษาโปรแกรมโดยใช้ข้อความ AddSolutionComponentRequest หรือข้อความใดๆ ที่สร้างหรืออัปเดตส่วนประกอบโซลูชันที่มีพารามิเตอร์ SolutionUniqueName
ส่วนประกอบโซลูชันมักขึ้นอยู่กับส่วนประกอบโซลูชันอื่นๆ คุณไม่สามารถลบส่วนประกอบของโซลูชันที่มีการขึันต่อกันกับส่วนประกอบของอีกโซลูชันหนึ่ง ตัวอย่างเช่น Ribbon ที่กำหนดเองโดยทั่วไปต้องใช้ทรัพยากรบนเว็บรูปภาพหรือสคริปต์เพื่อแสดงไอคอนและดำเนินการโดยใช้สคริปต์ ตราบใดที่ Ribbon ที่กำหนดเองอยู่ในโซลูชัน ก็จำเป็นต้องใช้ทรัพยากรบนเว็บเฉพาะที่ใช้ ก่อนที่คุณจะสามารถลบทรัพยากรบนเว็บ คุณต้องลบการอ้างอิงถึงทรัพยากรเหล่านั้นใน Ribbon ที่กำหนดเอง การขึ้นต่อกันของส่วนประกอบโซลูชันเหล่านี้สามารถดูได้ในแอปพลิเคชันโดยคลิก แสดงการขึ้นต่อกัน
หัวข้อนี้จะอธิบายประเภทของส่วนประกอบของโซลูชันที่คุณสามารถรวมไว้ในโซลูชันของคุณและวิธีการที่พึ่งพาซึ่งกันและกัน
ส่วนประกอบของโซลูชันทั้งหมด
รายการประเภทส่วนประกอบโซลูชันทั้งหมดที่มีอยู่ในชุดตัวเลือกส่วนกลาง componenttype
ของระบบ ช่วงของค่าที่รองรับสำหรับคุณสมบัตินี้พร้อมใช้งานโดยการรวมไฟล์ OptionSets.cs
หรือ OptionSets.vb
ในโครงการของคุณ อย่างไรก็ตามหลายๆ ประเภทส่วนประกอบโซลูชันที่ปรากฏในรายการมีไว้สำหรับใช้ภายในเท่านั้น และรายการไม่ได้ให้ข้อมูลเกี่ยวกับความสัมพันธ์ระหว่างส่วนประกอบโซลูชัน
การขึ้นต่อกันของส่วนประกอบของโซลูชัน
การขึ้นต่อกันของส่วนประกอบโซลูชันช่วยให้แน่ใจว่าคุณมีประสบการณ์ที่เชื่อถือได้ในการทำงานกับโซลูชัน ป้องกันการกระทำที่คุณทำตามปกติจากการทำลายการกำหนดเองที่กำหนดไว้ในโซลูชันโดยไม่ได้ตั้งใจ การขึ้นต่อกันเหล่านี้เป็นสิ่งที่อนุญาตให้โซลูชันที่มีการจัดการติดตั้งและถอนการติดตั้งเพียงแค่นำเข้าหรือลบโซลูชัน
กรอบงานโซลูชันจะติดตามการขึ้นต่อกันของส่วนประกอบของโซลูชันโดยอัตโนมัติ ทุกการทำงานของส่วนประกอบโซลูชันจะคำนวณการขึ้นต่อกันใดๆ กับส่วนประกอบอื่นๆ ในระบบโดยอัตโนมัติ ข้อมูลการขึ้นต่อกันจะใช้เพื่อรักษาความสมบูรณ์ของระบบและป้องกันการดำเนินการที่อาจนำไปสู่สถานะที่ไม่สอดคล้องกัน
เป็นผลมาจากการติดตามการขึ้นต่อกันของพฤติกรรมดังต่อไปนี้มีการบังคับใช้:
การลบองค์ประกอบจะถูกป้องกันหากส่วนประกอบอื่นในระบบขึ้นอยู่กับส่วนประกอบนั้น
การส่งออกโซลูชันจะเตือนผู้ใช้หากมีส่วนประกอบที่ขาดหายไป ซึ่งอาจทำให้เกิดความล้มเหลวเมื่อนำเข้าโซลูชันนั้นในระบบอื่น
คำเตือนระหว่างการส่งออกสามารถเพิกเฉยได้หากผู้พัฒนาโซลูชันตั้งใจว่าจะติดตั้งโซลูชันในองค์กรที่คาดว่าจะมีส่วนประกอบที่ต้องขึ้นต่อกันเท่านั้น ตัวอย่างเช่น เมื่อคุณสร้างโซลูชันที่ออกแบบมาเพื่อติดตั้งผ่านโซลูชัน "ฐาน" ที่ติดตั้งไว้ล่วงหน้า
การนำเข้าโซลูชันล้มเหลวหากส่วนประกอบที่จำเป็นทั้งหมดไม่รวมอยู่ในโซลูชันและไม่มีอยู่ในระบบเป้าหมายด้วย
- นอกจากนี้เมื่อคุณนำเข้าโซลูชันที่มีการจัดการ ส่วนประกอบที่จำเป็นทั้งหมดจะต้องตรงกับประเภทแพ็กเกจของโซลูชัน ส่วนประกอบในโซลูชันที่มีการจัดการขึ้นอยู่กับส่วนประกอบอื่นที่มีการจัดการเท่านั้น
การขึ้นต่อกันของส่วนประกอบโซลูชันมีสามประเภท:
โซลูชันภายใน
การขึ้นต่อกันภายในได้รับการจัดการโดย Dataverse จะมีอยู่เมื่อส่วนประกอบโซลูชันเฉพาะไม่สามารถอยู่ได้หากไม่มีส่วนประกอบโซลูชันอื่นที่ตีพิมพ์
การอ้างอิงที่เผยแพร่ถูกสร้างขึ้นเมื่อส่วนประกอบโซลูชันสองส่วนเกี่ยวข้องกันแล้วถูกเผยแพร่ หากต้องการลบการขึ้นต่อกันประเภทนี้ ต้องลบการเชื่อมโยงและเผยแพร่เอนทิตีอีกครั้งไม่ได้เผยแพร่
การขึ้นต่อกันที่ไม่ได้เผยแพร่ใช้กับส่วนประกอบโซลูชันที่เผยแพร่ได้เวอร์ชันที่ไม่ได้เผยแพร่ ซึ่งกำลังได้รับการอัปเดต หลังจากเผยแพร่ส่วนประกอบโซลูชันแล้ว จะกลายเป็นการขึ้นต่อกันที่เผยแพร่การขึ้นต่อกันภายในของโซลูชันคือการขึ้นต่อกันที่การดำเนินการกับส่วนประกอบโซลูชันต้องการการดำเนินการสำหรับส่วนประกอบโซลูชันอื่น ตัวอย่างเช่น หากคุณลบเอนทิตี คุณควรคาดหวังว่าแอตทริบิวต์เอนทิตีทั้งหมดจะถูกลบไปพร้อมกับเอนทิตี ความสัมพันธ์ระหว่างเอนทิตีกับเอนทิตีอื่นๆ จะถูกลบไปด้วย
อย่างไรก็ตาม การขึ้นต่อกันภายในอาจนำไปสู่การขึ้นต่อกันที่เผยแพร่และยังคงต้องมีการแทรกแซงด้วยตนเอง ตัวอย่างเช่น ถ้าคุณรวมฟิลด์การค้นหาบนแบบฟอร์มเอนทิตีแล้วลบเอนทิตีหลักในความสัมพันธ์ คุณจะไม่สามารถทำการลบนั้นจนกว่าคุณจะลบฟิลด์การค้นหาออกจากแบบฟอร์มเอนทิตีที่เกี่ยวข้อง จากนั้นจึงเผยแพร่แบบฟอร์ม
เมื่อคุณดำเนินการในเชิงภาษาโปรแกรมด้วยโซลูชัน คุณสามารถใช้ข้อความที่เกี่ยวข้องกับเอนทิตี
Dependency
ดู เอนทิตีการขึ้นต่อกัน สำหรับข้อความที่คุณสามารถใช้เพื่อระบุการขึ้นต่อกันที่อาจมีอยู่ก่อนที่คุณจะลบส่วนประกอบหรือถอนการติดตั้งโซลูชัน
ส่วนประกอบของโซลูชันทั่วไป
นี่คือส่วนประกอบของโซลูชันที่แสดงในแอปพลิเคชันและส่วนประกอบที่คุณจะใช้งานได้โดยตรงเมื่อเพิ่มหรือลบส่วนประกอบของโซลูชันโดยใช้หน้าโซลูชัน ส่วนประกอบโซลูชันอื่นๆ แต่ละประเภทจะขึ้นอยู่กับส่วนประกอบของโซลูชันเหล่านี้อย่างน้อยหนึ่งรายการที่มีอยู่
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