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

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

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

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

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

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

การพึ่งพากันของคอมโพเนนต์โซลูชัน

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

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

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

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

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

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

  • การนําเข้าโซลูชันล้มเหลวถ้าโซลูชันไม่มีคอมโพเนนต์ที่จําเป็นทั้งหมด และสภาพแวดล้อมเป้าหมายยังไม่มีคอมโพเนนต์ดังกล่าวอยู่แล้ว

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

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

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

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

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

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

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

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

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

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

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

เทมเพลตบทความ (KBArticleTemplate)

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

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

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

เทมเพลตสัญญา (ContractTemplate)

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

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

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

เทมเพลตอีเมล (EmailTemplate)

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

เอนทิตี (Entity)

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

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

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

เทมเพลตจดหมายเวียน (MailMergeTemplate)

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

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

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

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

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

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

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

รายงาน (รายงาน)

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

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

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

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

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

หมายเหตุ

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

จุดสิ้นสุดบริการ (ServiceEndpoint)

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

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

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

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

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

หมายเหตุ

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

ดูเพิ่มเติม