Використання керованих властивостей
Ви можете керувати тим, які з компонентів керованого рішення можна настроювати з використанням керованих властивостей. За замовчуванням усі компоненти настроюваного рішення можуть настроюватися. Кожен компонент рішення має властивість Можна настроїти (IsCustomizable
). Якщо ця властивість має значення true (істина), можна задавати більшу кількість властивостей, характерних для цього типу компонента рішення. Якщо задати для властивості IsCustomizable.Value
значення false (хибність), після інсталяції рішення в якості керованого рішення цей компонент рішення не піддаватиметься настроюванню.
Керовані властивості гарантують, що змінити компонент зможе лише рішення від того самого видавця. Керовані властивості впливатимуть лише на керовані компоненти й не застосовуватимуться в середовищах розробки, де компонент все ще є некерованим. Використання керованої властивості IsCustomized
гарантує, що жоден інший рівень рішення від будь-якого іншого видавця, а також жодні активні настроювання компонента не можуть виконуватися після інсталяції властивості як керованого рішення.
У таблиці нижче наведено деякі керовані властивості для підмножини доступних компонентів рішення.
Компонент | Ім’я, яке відображатиметься | Властивість |
---|---|---|
Об'єкт | Можна настроїти | IsCustomizable.Value |
Entity | Коротке ім’я можна змінити | IsRenameable.Value |
Entity | Може бути залежною сутністю у зв'язку | CanBeRelatedEntityInRelationship.Value (Тільки читання) |
Entity | Може бути первинною сутністю у зв'язку | CanBePrimaryEntityInRelationship.Value (Тільки читання) |
Entity | Може бути учасником зв'язку «багато-до-багатьох» | CanBeInManyToMany.Value (Тільки читання) |
Entity | Можна створити нові форми | CanCreateForms.Value |
Entity | Можна створити нові діаграми | CanCreateCharts.Value |
Entity | Можна створити нові подання | CanCreateViews.Value |
Entity | Може змінювати будь-які інші властивості сутності, що не представлені керованими властивостями | CanModifyAdditionalSettings.Value |
Об'єкт | Чи можна створити атрибут | CanCreateAttributes.Value |
Поле (Атрибут) | Можна настроїти | IsCustomizable.Value |
Поле (Атрибут) | Коротке ім’я можна змінити | IsRenameable.Value |
Поле (Атрибут) | Можна змінити рівень вимог | RequiredLevel.CanBeChanged Примітка: RequiredLevel є єдиним керованим майном, яке використовує це CanBeChanged майно. |
Поле (Атрибут) | Може змінювати будь-які інші властивості атрибута, що не представлені керованими властивостями | CanModifyAdditionalSettings.Value |
Зв’язок сутностей | Можна настроїти | IsCustomizable.Value |
Форма | Можна настроїти | SystemForm.IsCustomizable.Value |
Діаграма | Можна настроїти | SavedQueryVisualization.IsCustomizable.Value |
Перегляд | Можна настроїти | SavedQuery.IsCustomizable.Value |
Набір параметрів | Можна настроїти | IsCustomizable.Value |
Веб-ресурс | Можна настроїти | WebResource.IsCustomizable.Value |
Workflow | Можна настроїти | Workflow.IsCustomizable.Value |
Workflow | Чи дозволено використовувати настроюваний крок обробки для інших видавців | Workflow.IsCustomProcessingStepAllowedForOtherPublishers.Value |
Складання | Можна настроїти | SdkMessageProcessingStep.IsCustomizable.Value |
Реєстрація збірки | Можна настроїти | ServiceEndpoint.IsCustomizable.Value |
Шаблон повідомлення електронної пошти | Можна настроїти | Template.IsCustomizable.Value |
Шаблон статті бази знань | Можна настроїти | KbArticleTemplate.IsCustomizable.Value |
Шаблон сервісного договору | Можна настроїти | ContractTemplate.IsCustomizable.Value |
Шаблон злиття | Можна настроїти | MailMergeTemplate.IsCustomizable.Value |
Приладна дошка | Можна настроїти | SystemForm.IsCustomizable.Value |
Ролі безпеки | Можна настроїти | Role.IsCustomizable.Value |
Системна форма | Можна видалити | МожнаВидалити.Value |
Системний запит | Можна видалити | МожнаВидалити.Value |
Робочий цикл є настроюваним кроком обробки, дозволеним для інших видавців
За допомогою цієї керованої властивості можна визначити, чи виконуватимуться кроки компонентів plug-in, зареєстровані сторонніми користувачами для повідомлень, створених настроюваними діями процесів. За замовчуванням вказано значення false
, тобто зареєстровані кроки компонента plug-in, які не використовують такого ж видавця, не виконуватимуться. Якщо вказано значення true
, видавець настроюваної дії процесу дає змогу виконувати зареєстровані кроки реєстрації компонента plug-in.
Оновлення керованих властивостей
Після випуску керованого рішення може знадобитися змінити керовані властивості. Керовані властивості можна змінювати лише так, щоб значення ставали менш строгими. Наприклад, після першого випуску вам може знадобитися дозволити настроювати певну сутність.
Ви оновите керовані властивості у вашому рішенні, створивши оновлення для рішення із зміненими керованими властивостями. Ваше кероване рішення може оновлюватись тільки іншим керованим рішенням, пов'язаним із тим самим записом видавця, що й вихідне кероване рішення. Якщо оновлення містить які-небудь зміни у керованих властивостях, що роблять їх більш строгими, такі зміни керованих властивостей не будуть враховуватися, але усі інші зміни будуть застосовані.
Оскільки вихідний видавець є обов'язковою умовою для оновлення керованих властивостей для керованого рішення, жодне некероване рішення не можу пов'язуватись із видавцем, який використовувався для інсталяції керованого рішення.
Нотатка
Це означає, що ви не зможете розробити оновлення для вашого рішення, використовуючи організацію, де інстальовано ваше кероване рішення.
Перевірка керованих властивостей
Використовуйте IsComponentCustomizableRequest для перевірки, чи піддається компонент рішення настроюванню. Крім того, ви можете перевірити властивості компонента рішення, але необхідно враховувати, що остаточне визначення значення залежатиме від значень кількох властивостей. Кожен компонент рішення має властивість IsCustomizable
. Коли компонент рішення інсталюється як частина керованого рішення, властивість IsManaged
має значення true (істина). Керовані властивості примусово заповнюються лише для керованих рішень. Перевіряючи керовані властивості із метою визначити, чи піддається окремий компонент рішення настроюванню, необхідно перевіряти обидві властивості — IsCustomizable
та IsManaged
. Компонент рішення, в якого IsCustomizable
має значення false (хибність) і IsManaged
має значення false (хибність), буде можна настроювати.
Сутність та атрибут, на додачу до IsCustomizable
, матимуть більше керованих властивостей. Такі керовані властивості не оновлюватимуться, якщо для IsCustomizable
буде задано значення false (хибність). Це означає, що, крім того, щоб перевіряти окрему керовану властивість, необхідно також перевірити значення властивості IsCustomizable
, щоб дізнатись, чи буде встановлюватися значення керованої властивості.