Динамический обязательный атрибут в Rational Change

Настройка обязательного атрибута на основании значений других атрибутов

Эта статья поможет администраторам научиться определять динамические обязательные атрибуты, настраивать правила для них и понимать их работу в различных формах Rational Change. Используйте динамические обязательные атрибуты, чтобы получать релевантные данные от пользователей при вводе, преобразовании или модификации запроса на изменение вне Lifecycle Editor в Rational Change. В статье также описывается влияние динамических обязательных атрибутов на конечных пользователей.

Ритеш Нигам, старший инженер-программист, IBM

Ритеш Нигам (Ritesh Nigam) – фотографияРитеш Нигам (Ritesh Nigam) является инженером-программистом с восьмилетним опытом разработки ПО. Он более пяти лет является старшим разработчиком IBM Rational Change. Он также имеет опыт в Java, Java 2 Enterprise Edition (J2EE), Perl и Web-технологиях, таких как Dojo toolkit, Ajax, Web-сервисы, OSLC и управление конфигурациями и изменениями.



22.08.2014

Обязательные атрибуты в 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), а также другим действиям в приложении по созданию, модификации или преобразованию (перевод из одного состояния в другое) запроса на изменение.


Включение функции динамических обязательных атрибутов

Чтобы включить функцию, позволяющую воспользоваться динамическими обязательными атрибутами, необходимо выполнить приведенные ниже действия.

  1. Включение или отключение функции динамических обязательных атрибутов с помощью файла конфигурации 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].
  2. Создание или модификация правил в файле dynamic_required_attribute_config.json в каталоге <КАТАЛОГ_ПРИЛОЖЕНИЯ>/WEB-INF/wsconfig/. (В файле dynamic_required_attribute_config.json администратор вручную определяет правила для этой функции.)
  3. Обновление конфигурационных данных.
  4. Чтобы убедиться, что файл правил имеет допустимый 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 логических пунктов, содержащихся в форме правил.

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


  • Bluemix

    Узнайте больше информации о платформе IBM Bluemix, создавайте приложения, используя готовые решения!

  • developerWorks Premium

    Эксклюзивные инструменты для построения вашего приложения. Узнать больше.

  • Библиотека документов

    Более трех тысяч статей, обзоров, руководств и других полезных материалов.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Rational
ArticleID=981269
ArticleTitle=Динамический обязательный атрибут в Rational Change
publish-date=08222014