Легко настраиваемые настраиваемые поля для запланированных заданий в Optimizely с помощью PlugInProperty
Optimizely CMS позволяет разработчикам добавлять параметры задания, такие как текстовые поля и флажки, непосредственно в пользовательский интерфейс администратора запланированного задания, используя Свойство плагина. Благодаря такому подходу и разработчики, и администраторы могут мгновенно управлять настройкой в пользовательском интерфейсе — без развертывания кода, поиска контента или пользовательских типов контента.
Легко интегрируйте пользовательские элементы управления
Чтобы добавить редактируемые поля в запланированное задание, просто украсьте общедоступные свойства с помощью PlugInProperty. Пользовательский интерфейс администратора автоматически отобразит эти свойства в качестве элементов управления вводом. Поддерживаемые элементы управления включают:
- Текстовое поле (строка): для электронных писем, тем, путей к файлам.
- Флажок (bool): для флагов, переключателей, простых переключателей включения/выключения.
Конфигурация выполняется немедленно — никаких развертываний или настроек на уровне страницы не требуется.
Справочник по синтаксису атрибутов
Вот примеры использования различных элементов управления пользовательского интерфейса:
// TextBox for email input
[PlugInProperty(AdminControl = typeof(TextBox), AdminControlValue = "Text", Description = "Emails (comma-separated)")]
public string ReportEmailAddresses { get; set; }
// CheckBox for boolean flags
[PlugInProperty(AdminControl = typeof(CheckBox), AdminControlValue = "Checked", Description = "Enable notification emails")]
public bool EmailReportEnabled { get; set; }
Доступ к собственности, ориентированный на разработчиков
Все поля PlugInProperty отображаются как обычные общедоступные свойства в классе запланированного задания. Когда задание выполняется, вы можете получить к ним прямой доступ — нет необходимости в запросах содержимого или поиске настроек:
public override string Execute()
{
var emails = ReportEmailAddresses; // Textbox input (string)
var enableNotifications = EmailReportEnabled; // Checkbox (bool)
// ... main job code ...
return "Job completed successfully";
}
Этот шаблон упрощает код, позволяет избежать зависимости от моделей начальной страницы/страницы настроек и повышает удобство сопровождения.
Разнообразные варианты использования
PlugInProperty очень гибок. Используйте его, чтобы:
- Введите электронные письма с уведомлениями (текстовое поле)
- Переключить функции (флажок)
- Установить ограничения на повторы (текстовое/числовое)
- Предоставление названий должностей, типов проверки и т. д.
На снимках экрана ниже показаны эти элементы управления в действии — обратите внимание на полный спектр редактируемых полей, доступных для любого запланированного задания.
Ключевые преимущества для разработчиков
- Никаких развертываний кода: Админы меняют конфиг мгновенно.
- Прямой доступ к собственности: Никакой логики запроса или поиска не требуется.
- Единая логика и конфигурация: Все настройки находятся в вашем классе работы.
- Несколько типов управления: Комбинируйте текстовые поля и флажки по мере необходимости.
- Снижение технических затрат: CMS и рабочие места остаются легче, проще и проще в обслуживании.
Быстрые шаги по реализации
- Добавляйте общедоступные свойства, украшайте
[PlugInProperty]. - Зарегистрируйте свой класс, используя
[ScheduledPlugIn]. - Редактируйте настройки непосредственно из интерфейса администратора Optimizely CMS.
- Используйте непосредственно в логике запланированного задания — дополнительная настройка не требуется.
Визуальные примеры
Все поля конфигурации, представленные выше, будут отображаться как редактируемые входные данные, доступные администратору. Любое изменение, внесенное в пользовательский интерфейс, становится доступным немедленно при следующем выполнении запланированного задания.
Заключение
PlugInProperty расширяет возможности запланированных заданий в Optimizely CMS, делая их гибкими, удобными для разработчиков и легко поддерживаемыми. Благодаря мгновенной настройке, прямому доступу кода к свойствам и разнообразным типам управления вы можете предоставить администраторам CMS мощную настройку заданий и сохранить свой собственный код чистым и перспективным.
Интегрируйте PlugInProperty, чтобы упростить ежедневное обслуживание и свести к минимуму сложность проекта.
Спасибо за чтение и удачного кодирования!
Равиндра С. Ратор
По теме
