Эта статья поможет администраторам научиться определять динамические обязательные атрибуты, настраивать правила для них и понимать их работу в различных формах Rational Change. Используйте динамические обязательные атрибуты, чтобы получать релевантные данные от пользователей при вводе, преобразовании или модификации запроса на изменение вне Lifecycle Editor в Rational Change. В статье также описывается влияние динамических обязательных атрибутов на конечных пользователей.
Обязательные атрибуты в Rational Change
В IBM® Rational® Change есть статические обязательные атрибуты , которым должно быть присвоено значение, если они присутствуют в форме запроса Rational Change. Эти обязательные атрибуты определяются с помощью редактора Lifecycle Editor административного интерфейса Rational Change и по своей природе являются статическими. Если атрибуты присутствуют в форме, они всегда являются обязательными. Запрос на изменение невозможно сохранить, пока обязательные атрибуты не определены. Статические обязательные атрибуты применяются только к состоянию или преобразованию, для которых они определены посредством Lifecycle Editor. Эти атрибуты применяются только в тех формах, в которых они определены как обязательные. В других формах эти атрибуты рассматриваются как необязательные.
Функция динамических обязательных атрибутов обеспечивает гибкость
В Rational Change 5.3.1 функция под названием " динамические обязательные атрибуты " делает более гибким процесс назначения атрибутов обязательными или необязательными. Динамический обязательный атрибут аналогичен статическому атрибуту, за исключением его определения и представления в форме Rational Change. Динамические обязательные атрибуты - это атрибуты, которые назначаются в форме обязательными или необязательными в зависимости от значения других атрибутов в этой форме.
Динамические обязательные атрибуты дают администратору возможность гибко определять атрибут как обязательный только когда необходимо, чтобы он был обязательным. В противном случае атрибут является необязательным и действует так же, как любой другой атрибут формы. Цель динамических обязательных атрибутов - сделать возможным сбор наиболее релевантных данных, относящихся к вопросу или сценарию, который вводится в систему Rational Change.
Динамические обязательные атрибуты основываются на правилах
Динамические обязательные атрибуты можно рассматривать как обязательные атрибуты, основанные на правилах. Если правило применяется к форме Rational Change, определенный набор атрибутов становится обязательным. В противном случае атрибуты рассматриваются как необязательные. Правила определяются в файле, а не в Lifecycle Editor. Правила можно определить для нескольких жизненных циклов в процессе.
Правила для динамических обязательных атрибутов задаются в файле dynamic_required_attribute_config.json каталога < КАТАЛОГ_ПРИЛОЖЕНИЯ >/WEB-INF/wsconfig. Этот файл содержит все правила в виде JSON-структур. Формат JSON можно непосредственно использовать в браузерных формах Rational Change.
Правила хранятся в JSON-формате
Как показано в листинге 1, JSON-структура данных - это JavaScript-массив. Каждое определенное правило становится JavaScript-объектом и добавляется в этот массив.
Листинг 1. JSON-структура данных
[ { "attribute_name":"< name_of_the_attribute >", "lifecycle":"< lifecycle_name >", "rule":[ { "value":"< value1_of_the_attribute_above >", "req_attributes":[ < list_of_attribute_names_as_comma_separated_values > ] }, { "value":"< value2_of_the_attribute_above >", "req_attributes":[ < list_of_attribute_names_as_comma_separated_values > ] } ] } ]
Каждое правило содержит следующие элементы:
attribute_name
: имя исходного атрибута , к которому применяется правило. Исходным является атрибут, изменение значения которого вызывает обработку правил. Правила, определенные для конкретного значения этого атрибута, применяются при выборе конкретного значения пользователем.
lifecycle
: имя жизненного цикла исходного атрибута, к которому применяется правило. При наличии в процессе нескольких жизненных циклов используйте элемент жизненного цикла, чтобы указать конкретный жизненный цикл, к которому применяется правило. Любой атрибут может быть общим для различных жизненных циклов.
rule
: содержит список правил для атрибута с именем attribute_name
.
value
: значение атрибута attribute_name
, для которого это правило определено. Это правило применяется только когда пользователь выбирает значение, указанное в элементе value
атрибута.
req_attributes
: разделенный запятыми список целевых атрибутов , которые становятся обязательными, когда правило соблюдается. Целевыми являются атрибуты, которые становятся обязательными или необязательными в зависимости от правила, определенного для значения исходного атрибута.
Один и тот же атрибут можно настроить как исходный атрибут для нескольких жизненных циклов для различных наборов правил. В листинге 2 показан процесс разработки, входящий в Rational Change и содержащийся в файле dev_process.xml.
Листинг 2. Файл процесса разработки dev_process.xml в Rational Change
[ { "attribute_name":"product_name", "lifecycle":"Default Lifecycle", "rule":[ { "value":"Product A", "req_attributes":[ "browser", "browser_version" ] }, { "value":"Product B", "req_attributes":[ "os", "os_version", ] } ] } ]
В этом примере правила, установленные для атрибута product_name
, указывают, что он будет действовать как исходный атрибут. Чтобы определить атрибут product_name
, выберите значение в списке формы Rational Change. При выборе в списке значений Product A
обязательными атрибутами становятся Browser
и Browser Version
. Метки обязательных атрибутов отображаются красным шрифтом. При выборе в списке атрибутов Product B
обязательными атрибутами становятся OS
и OS Version
, а Browser
и Browser Version
опять становятся необязательными атрибутами.
После включения функции динамических обязательных атрибутов и определения правил эта функция применяется к различным формам Rational Change (например, формы submit, show или transition), а также другим действиям в приложении по созданию, модификации или преобразованию (перевод из одного состояния в другое) запроса на изменение.
Включение функции динамических обязательных атрибутов
Чтобы включить функцию, позволяющую воспользоваться динамическими обязательными атрибутами, необходимо выполнить приведенные ниже действия.
- Включение или отключение функции динамических обязательных атрибутов с помощью файла конфигурации pt.cfg:
- Чтобы включить функцию, используйте конфигурационную запись:
[CCM_SYSTEM][ENABLE_DYNAMIC_REQUIRED_ATTRIBUTE]true[/ENABLE_DYNAMIC_REQUIRED_ATTRIBUTE][/CCM_SYSTEM]
.
- Чтобы отключить функцию, используйте конфигурационную запись:
[CCM_SYSTEM][ENABLE_DYNAMIC_REQUIRED_ATTRIBUTE]false[/ENABLE_DYNAMIC_REQUIRED_ATTRIBUTE][/CCM_SYSTEM]
.
- Создание или модификация правил в файле dynamic_required_attribute_config.json в каталоге < КАТАЛОГ_ПРИЛОЖЕНИЯ >/WEB-INF/wsconfig/. (В файле dynamic_required_attribute_config.json администратор вручную определяет правила для этой функции.)
- Обновление конфигурационных данных.
- Чтобы убедиться, что файл правил имеет допустимый JSON-формат, найдите в файле event.log следующее сообщение:
Start initializing dynamic required attribute cache. Dynamic required attribute cache has been initialized.
Если формат неправильный, вы увидите сообщение об ошибке.
Изменения при включении функции динамических обязательных атрибутов
В некоторых случаях при включении функции динамических обязательных атрибутов возможны незначительные изменения.
В процессе операций модификации или преобразования правило игнорируется
Если в процессе операций модификации или преобразования атрибут, для которого правило определяет администратор, остается пустым, откроется диалоговое окно с предупреждением, что атрибут является обязательным. Операция преобразования - это переход запроса на изменение из одного состояния в другое. Эти операции выполняются пользователями, а не администраторами.
Исходный атрибут устанавливается как атрибут предпочтений пользователя
Если атрибут, для которого правило определяет администратор, устанавливается как атрибут предпочтений пользователя и ему присваивается значение, он становится обязательным атрибутом после успешной загрузки формы Rational Change в браузере.
Запросы на изменение модифицируются или преобразуются массово
Если модификация или преобразование запросов на изменение в Rational Change выполняются массово, применяются правила динамических обязательных атрибутов. При выборе атрибута, для которого определено правило, целевые атрибуты автоматически добавляются в список.
Целевой атрибут отсутствует в форме
Если в форме Rational Change отсутствует целевой атрибут, отображается сообщение. Сообщение содержит вопрос, следует ли продолжать операцию. Если пользователь выбирает продолжение, правила операции игнорируются и форма Rational Change отправляется.
Ключевые моменты использования динамических обязательных атрибутов
Администраторы должны знать несколько важных вещей о функции динамических обязательных атрибутов.
- Администратор должен вручную создавать и изменять правила путем редактирования файла конфигурации. В пользовательском интерфейсе не предусмотрены средства для управления функцией динамических обязательных атрибутов.
- Проверяется только JSON-структура. Данные, введенные в файле конфигурации, не проверяются.
- Исходными атрибутами в файле конфигурации правил могут быть только атрибуты Web-типов
CCM_LISTBOX
или CCM_TOGGLE
. Целевые атрибуты могут иметь любой тип.
- Правила, определенные для функции динамических обязательных атрибутов, также применимы к представлениям и модификациям, являющимся результатом запроса на изменение посредством других интерфейсов, таких как Web-сервисы Perl APIsor. Эти правила применяются аналогично представлению правил посредством интерфейса браузера.
Заключение
Динамические обязательные атрибуты могут сосуществовать с традиционными механизмами обязательных атрибутов, которые используются в Rational Change. Динамические обязательные атрибуты помогают получать от пользователей более релевантную информацию о запросах на изменение с помощью определенных администратором Rational Change логических пунктов, содержащихся в форме правил.