了解如何合併受管理的解決方案
當您準備安裝您的受管理解決方案時,請記得環境可能已經安裝多個解決方案或未來可能會安裝其他解決方案。 建構遵循最佳作法的解決方案,讓您的解決方案不會干擾其他解決方案。
Microsoft Dataverse 用於合併自訂的程序會著重在維護解決方案的功能。 雖然我們會盡可能保留呈現的內容,但是自訂之間仍會有些不相容的地方,可能需要計算出的解決方法來變更部分呈現的細節,以便維護自訂功能。
合併表單自訂
唯一必須合併的表單自訂是任何實體表單上所執行已在環境中的表單。 一般而言,這表示表單自訂只需在您的解決方案自訂安裝 Dataverse 時所建立實體包含的表單時合併。 其中一種避免表單合併的方式是為所有 Dataverse 實體提供新表單。 自訂實體表單將不需要合併,除非您正在建立更新或修改建立現有受管理解決方案的解決方案,此方案建立自訂實體與其表單。
當解決方案封裝為受管理解決方案時,儲存在 FormXML 的表單定義會與原始 FormXML 比對,只有差異部份納入受管理解決方案。 當受管理的解決方案安裝在新環境時,表單自訂差異就會與 FormXML 合併,讓現有表單建立新的表單定義。 這個新表單定義就是使用者看見的定義,而且系統自訂員可以修改此定義。 當受管理的解決方案解除安裝時,只會移除受管理的解決方案中的表單項目。
表單合併按區進行。 當您新增新元素到現有的索引標籤或區段時,您的變更會影響或隱藏受管理層的元素,包括何時更新受管理元素。 此行為發生原因是起因於受管理層位於您要自訂引進的非管理層下方。 如果您不想影響或隱藏表單上的受管理元素,我們建議您在新容器元素 (如區段或索引標籤) 中加入新元素。這會隔離您的元素,並減少影響或隱藏受管理層元素的可能性。 更多資訊:解決方案分層
包含使用新資訊安全角色的表單的受管理解決方案會倚賴這些角色。 您的受管理解決方案中應包含這些資訊安全角色。
當您匯入包含資料表表單的解決方案時,即使已選取覆寫自訂選項,也無法施行。 匯入的表單會與任何現有的表單的解決方案層合併。
Note
當受管理的解決方案實體包含多個表單,且環境實體表單也包含多個表單時,新表單不會附加至可用表單清單的底部 – 它們會與原始實體表單交錯放置。
找出並解決表單合併衝突
匯入包括表單的解決方案之後,您可能會注意到匯入的表單顯示名為衝突索引標籤的索引標籤。這是自動產生的索引標籤,當特定表單元件無法合併時就會建立此索引標籤。 若要避免任何資料遺失,無法合併的表單元件會放在 Conflicts Tab 索引標籤下。當來源和目標自訂不同步時,通常會發生合併衝突,這會造成衝突表單的自訂。
避免會造成表單合併衝突的情形:
您可以匯入兩個不同的解決方案,新增使用相同次序值的元件,例如表單索引標籤。
您在來源環境中自訂表單的元件,例如區段,但也可在目標環境中自訂相同或類似的成為元件。 然後,您從來源環境匯出自訂並將其匯入目標環境。
當匯入的表單上出現衝突索引標籤時,您可以移動表單上某處顯示的元件。 所有元件一旦從衝突索引標籤移開之後,您就能刪除或隱藏衝突索引標籤。
合併導覽 (SiteMap) 自訂
當解決方案封裝為受管理方案時,SiteMap XML 會與原始 SiteMap XML 及任何其他對 SiteMap 的自訂進行比對。 受管理的解決方案中只會包含差異部分。 這些差異包括已變更、移動、新增或移除的項目。 當受管理的解決方案安裝在新環境時,SiteMap 變更會與安裝受管理解決方案所在的環境中找到的 SiteMap XML 合併。 新的 SiteMap 定義就是使用者看見的定義。
此時,自訂員可以將 SiteMap 匯出到未受管理的解決方案,而該 SiteMap 定義將會包含使用中 SiteMap 的所有項目。 自訂員可以接著修改 SiteMap,並將其重新匯入為未受管理的自訂。 之後如果解除安裝受管理的解決方案,則會參考隨受管理的解決方案匯入的 SiteMap XML,以便移除隨該受管理的解決方案引進的變更。 接著會計算新的使用中 SiteMap。
只要在網站地圖中加入新的顯示元素,它就會出現在它所屬容器的底部。 例如新區域將出現在導覽區域的底部。 若要定位已新增元素,您必須匯出 SiteMap,編輯它以設定精確的元素位置,然後再次匯入為未受管理解決方案。
Note
兩次發行之間只能套用一個 SiteMap 自訂。 匯入新的 SiteMap 定義時,任何未發行的 SiteMap 自訂都會遺失。
合併選項組選項
每個新的選項組選項都會以包括選項值首碼的指派整數值啟始。 選項值首碼是一組五位數的數字,附加在選項值前面。 選項值首碼是根據解決方案發佈者自訂首碼產生,不過可以設定為任何值。 選項值首碼有助於區分特定解決方案發行者的內容中建立的新選項組選項,並且減少選項值發生衝突的機率。 建議您使用選項值首碼,但並非必要。
受管理解決方案通常會更新或新增已存在組織中的選項組選項,例如,針對帳戶設定類別或產業選項。 當受管理的解決方案修改選項組中可用的選項時,該受管理的解決方案中定義的所有選項都會在環境中提供使用。 當受管理解決方案解除安裝時,選項組的選項將會恢復其原始狀態。
合併資訊安全角色權限
將資訊安全角色從受管理的解決方案匯入環境時,所有該資訊安全角色手動新增的授權都會移除。 但是,權限等級發生變更的資訊安全角色的已修改權限仍會保留(例如從基本範圍變更為全域範圍,反之亦然)。
提示
使用相同的自訂解決方案來管理更新資訊安全角色。 如果您使用新的自訂解決方案來更新先前在另一個解決方案中更新的資訊安全角色,則某些權限更新將不會套用。
不要使用自訂解決方案來修改預先定義的資訊安全角色。 當系統更新預先定義角色時,這些更新將會移除。 建立預先定義角色的複本,並在自訂解決方案中管理複製的角色。