Сведения об объединении управляемых решений
Когда вы готовите управляемое решение для установки, помните, что в среде может уже быть установлено несколько решений или в будущем могут быть установлены другие решения. Создайте решение, которое следует рекомендациям, чтобы ваше решение не мешало другим решениям.
Процессы, которые Microsoft Dataverse использует для слияния настроек, делают акцент на поддержание функциональности решения. Несмотря на то что предпринимаются все усилия для сохранения презентации, некоторые несовместимости между настройками могут потребовать, чтобы вычисленное разрешение изменило некоторые детали презентации в пользу сохранения функциональности настройки.
Объединение настроек форм
Единственные настройки форм, которые необходимо объединить, — это те, которые выполняются для любых форм сущностей, которые уже находятся в среде. Как правило, это означает, что настройки форм необходимо объединять только тогда, когда ваше решение настраивает формы, которые были включены для сущностей, созданных при установке Dataverse. Одним из способов избежать слияния форм является предоставление новых форм для любых сущностей Dataverse. Формы для пользовательских сущностей не требуют слияния, если только вы не создаете решение, которое обновляет или изменяет существующее управляемое решение, которое создало пользовательские сущности и их формы.
Когда решение упаковано как управляемое решение, определения форм, хранящиеся в FormXML, сравниваются с исходным FormXML, и в управляемое решение включаются только различия. Когда управляемое решение устанавливается в новой среде, различия в настройке формы затем объединяются с FormXML для существующей формы, чтобы создать новое определение формы. Это новое определение формы — это то, что видит пользователь и что может изменить системный настройщик. Когда управляемое решение удаляется, удаляются только те элементы формы, которые находятся в управляемом решении.
Слияние форм происходит на поэтапной основе. Когда вы добавляете новые элементы в существующую вкладку или раздел, ваши изменения могут влиять на или скрывать элементы из управляемых слоев, в том числе при обновлении управляемого элемента. Это происходит из-за того, что управляемые слои находятся под неуправляемым слоем, который вы вводите в настройку. Если вы не хотите влиять на или скрывать управляемые элементы в форме, мы рекомендуем вам включить новые элементы в новые элементы-контейнеры, такие как раздел или вкладка. Это изолирует ваши элементы и уменьшает возможность влияния на или скрытия элементов от управляемых слоев. Дополнительные сведения: Слои решений
Управляемые решения, содержащие формы, использующие новые роли безопасности, зависят от этих ролей. Вы должны включить эти роли безопасности в ваше управляемое решение.
Когда вы импортируете решение, которое включает в себя формы таблицы, параметр Перезаписать настройки, даже если он выбран, не применяется. Импортируемая форма объединяется с любыми существующими слоями решения для формы.
Заметка
Когда сущность управляемого решения содержит несколько форм, а форма сущности среды также содержит несколько форм, новые формы не добавляются в конец списка доступных форм — они чередуются с исходными формами сущностей.
Выявление и разрешение конфликтов слияния форм
После импорта решения, включающего форму, вы можете заметить, что импортированная форма отображает вкладку с именем Вкладка конфликтов. Это автоматически сгенерированная вкладка, которая создается, когда определенные компоненты формы не могут быть объединены. Чтобы избежать потери данных, компоненты формы, которые не могут быть объединены, помещаются на вкладку «Конфликты». Конфликты слияния обычно возникают, когда исходная и целевая настройки не синхронизированы, что приводит к конфликту настроек формы.
Избегайте следующих ситуаций, которые могут вызвать конфликты слияния форм:
Вы импортируете два разных решения, которые добавляют компонент, например вкладку формы, с одним и тем же порядковым номером.
Вы настраиваете компонент формы, например раздел, в исходной среде, но также делаете такую же или похожую настройку для компонента в целевой среде. Затем вы экспортируете настройку из исходной среды и импортируете ее в целевую среду.
Когда на импортированной форме появляется вкладка «Конфликты», вы можете переместить отображаемый компонент в любое место формы. После того, как все компоненты будут перемещены из вкладки конфликтов, вы можете удалить или скрыть вкладку конфликтов.
Объединение настроек навигации (SiteMap)
Когда решение упаковано как управляемое, SiteMap XML сравнивается с исходным SiteMap XML и любыми другими настройками, внесенными в SiteMap. Только различия включаются в управляемое решение. Эти различия включают элементы, которые были изменены, перемещены, добавлены или удалены. Когда управляемое решение устанавливается в новой среде, изменения SiteMap объединяются с XML-файлом SiteMap, найденным для среды, в которой устанавливается управляемое решение. Новое определение SiteMap — это то, что видят люди.
На этом этапе настройщик может экспортировать SiteMap в неуправляемое решение, и это определение SiteMap будет включать все элементы активной SiteMap. Затем настройщик может изменить SiteMap и повторно импортировать его как неуправляемую настройку. Позже, если управляемое решение будет удалено, ссылка на XML-файл SiteMap, который был импортирован с помощью управляемого решения, будет использоваться для удаления изменений, внесенных этим управляемым решением. Затем рассчитывается новая активная SiteMap.
Каждый раз, когда новый видимый элемент добавляется в SiteMap, он появляется в нижней части того контейнера, в котором он находится. Например, новая область появится в нижней части области навигации. Чтобы расположить добавленные элементы, вы должны экспортировать SiteMap, отредактировать его, чтобы установить точное положение элементов, затем снова импортировать его как неуправляемое решение.
Заметка
Между публикациями можно применить только одну настройку SiteMap. Любые неопубликованные настройки SiteMap будут потеряны при импорте нового определения SiteMap.
Объединение параметров набора параметров
Каждый новый параметр набор параметров инициализируется назначенным целочисленным значением, которое включает префикс значения параметра. Префикс значения параметра представляет собой набор из пяти цифр, добавляемых в начало значения параметра. Префикс значения параметра создается на основе префикса настройки издателей решения, но для него можно задать любое значение. Префикс значения параметра помогает отличать новые параметры набора параметров, созданные в контексте определенного издателя решения, и уменьшает вероятность коллизий значений параметров. Использование префикса значения параметра рекомендуется, но не обязательно.
Управляемое решение обычно обновляет или добавляет параметры для наборов параметров, которые уже находятся в среде, например наборы параметров категории или отрасли для учетной записи. Когда управляемое решение изменяет параметры, доступные в наборе параметров, все параметры, определенные в управляемом решении, становятся доступными в среде. При удалении управляемого решения параметры в наборе параметров будут возвращены в исходное состояние.
Объединение привилегий роли безопасности
Когда роль безопасности импортируется из управляемого решения в среду, все добавленные вручную привилегии этой роли безопасности удаляются. Однако измененные привилегии, в которых уровень был изменен, например с базового на глобальную область или наоборот, остаются.
Совет
Используйте то же пользовательское решение для управления обновлением ролей безопасности. Если вы используете новое пользовательское решение для обновления роли безопасности, которая ранее была обновлена в другом решении, некоторые обновления привилегий не будут применены.
Не используйте пользовательское решение для изменения стандартных ролей безопасности. Эти обновления будут удалены, когда система обновит стандартные роли. Создайте копию роли и управляйте скопированной ролью в своем пользовательском решении.