Переходите на новый сайт Базы знаний. Актуализация контента происходит теперь там.

Релизы PIX Master

PIX Master 1.25
1. Новые функции PIX Master
1.1. Задачи - изменения
1.1.1. Для Задачи добавлено новое поле "Таймаут работы (в секундах)".
Задачи с установленным значением таймаута при его достижении завершаются со статусом TimedOut, а в логах сохраняется комментарий: "Stopped due to execution timeout".

Для Процесса - при достижении таймаута работы Задачи:
- задача останавливается со статусом TimedOut,
- и для блока задачи срабатывает красная ветка:

1.1.2. Добавлено окно подтверждения остановки задачи.
Для остановки задачи в интерфейсе "Задачи" используется контрол в столбце "Операции".
При выборе n [Остановить] (S) теперь появляется сообщение (M) для подтверждения операции, содержащее для информации - наименование Задачи и имя Агента, а также кнопки [OK], [Отмена].

1.2. Процессы - новые и доработанные блоки
1.2.1 Процессы – новыфе блоки [Счётчик], [Установка счётчика]

В группу процессов "Базовые" добавлены новые блоки:
- блок [Счётчик] - для подсчета количества прохождений по ветке процесса
- блок [Установка счётчика] - для задания счётчику определённого значения (обычно - для обнуления перед началом нового цикла/итерации). Пример процесса для организации нескольких попыток выполнения Задачи:

  • Если задача отработала с ошибкой (выход из блока Задачи через порт False) (F), то процесс проходит через блок со счётчиком (A), который добавляет +1 к переменной Счётчик (начальное значение = 0). После прохождения счетчика переменная проверяется блоком с условием, который в свою очередь направляет процесс после ожидания на повторное выполнение задачи (B) или при достижении заданного значения счетчика переходит в блок [Задача|Изменить статус] и далее [Обнуление счетчика] (С).
  • Если задача отработала корректно (выход из блока Задачи через порт True) (O), происходит обнуление значения Счётчика (С) для начала нового цикла выполнения задачи с заданным количеством попыток.
Особенность. При настройке блока [Установка счётчика] (D) необходимо выбрать для какого блок Счетчика (в процессе их может быть несколько) будет задано значение.

1.2.2 Процессы | Для блока [Кол-во элементов > N] - опция, добавляющая порт False
Доработан блок группы Очереди - [Кол-во элементов > N] - добавлена настройка "Добавить ветку "Нет" при невыполнении условия" (G), добавляющая порт False для пути процесса, если условие (Количество элементов очереди данных больше заданного) не выполняется.

Типично новая настройка может быть использована для остановки процесса, если для блока [Кол-во элементов > 0] количество элементов =0.

Доступно два режима работы блока "Кол-во элементов > N":
Режим-1. Проверка наличия N элементов в очереди данных с ожиданием - не отмечен чекбокс
[Добавить ветку "Нет" при невыполнении условия ☐] (G).
В этом случае процесс работает как и раньше, коннектор False - черный (E) и ветка "Нет" не отрабатывает.

Режим-2 (новый). Проверка наличия N элементов в очереди данных без ожидания - отмечен чекбокс
[Добавить ветку "Нет" при невыполнении условия ☑].
Если количество элементов в очереди данных больше заданного, то происходит выполнение по ветке "Да"; иначе - по ветке "Нет" (F). Особенность: если к коннектору False блок не присоединен, то процесс прерывается.


СОВМЕСТИМОСТЬ: Для неизменности работы процессов, созданных в предыдущих версиях PIX Master, по умолчанию чекбокс [Добавить ветку "Нет" при невыполнении условия o] не установлен ☐ . Блок будет проверять количество элементов очереди через заданное время и ждать пока условие [Кол-во элементов > N] не станет TRUE.

1.2.3 Процессы | Блок [Получить из RabbitMQ] - поддержка протокола шифрования AMQPS и получение headers и properties свойств сообщения
Для блока "Получить из RabbitMQ" добавлена возможность использования зашифрованного соединения по протоколу AMQPS. Для этого в настройках блока установить:
  • новый чек-бокс "Использовать SSL";
  • новый чек-бокс "Отключить проверку сертификата";
  • порт = 5671.

Также появилась возможность получать headers и properties свойства сообщения.
Обращение к этим свойствам в Процессе происходит через тег $ (P), либо через настройку параметров блока - например, в блоке "Задача" (T).


1.3. Шаблоны расписания – копирование и выгрузка календаря в csv-файла.
Для шаблона расписания добавлена возможность копирования элемента.

В свойствах необходимо указать:
  • Соединение, созданное активностью Создать подключение к БД;
  • Название схемы базы данных;
  • Имя таблицы в БД, куда надо поместить данные;
  • Таблица с данными, которую надо поместить в БД;
  • Очистить таблицу - при true исходная таблица в БД удаляется;
  • Имя переменной, куда запишутся измененные записи - результат выполнения сохранения DataTable.


1.4. Очереди данных – добавлена возможность отмены элемента очереди.
В интерфейсе Очереди данных - Детали появилась возможность отмены элементов очереди данных с текущим статусом New, Processing и Retried - в столбце с операциями появился контрол [Отменить элемент] (С).

При выборе - открывается окно подтверждения отмены.
После подтверждения:
  • статус выбранного элемента изменится на Canceled;
  • в логах аудита пользователей сохранится запись об отмене элемента очереди данных.


2. Изменения интерфейса
2.1. Списки с одиночным выбором дополнены поиском по подстроке

В выпадающих списках с одиночным выбором появилась возможность поиска элементов по подстроке, введенной в поле поиска (S).


Изменения сделаны для форм создания и редактирования Агентов, Задач, Планировщиков и в настройках блоков Процессов (за исключением полей с параметрами).
2.2. Проекты | Версии – изменения форм списка и элемента
Для списка версий Проекта добавлены разделители между записями, улучшено выравнивание записей и отображение длинных описаний.
Длинные Описания для версии проекта теперь выводятся в ячейке таблицы обрезанными до трех строк (T) с возможностью просмотреть подробнее во всплывающей подсказке или в форме списка - в многострочном поле со скроллом (L).

2.3. Администратор | Настройки
В разделе [Администратор] изменились интерфейсы настроек.
Во вкладке "Настройки" – группы параметров выделены в единообразно оформленные секции. Настройки почтового сервера вынесены на отдельную вкладку (E).


3. Администрирование
3.1. Администратор | Уведомления об ошибках на email

В Администратор | [Настройки почтового сервера] добавлен чекбокс "Оповещать об ошибках роботов по почте" (S) – при его установке и заполненных настройках почтового сервера будут приходить уведомления на "Почту для оповещений", указанную в настройках Агента (A).
Также для Агента в поле "Статусы уведомлений" возможно настроить статусы завершения задач, при которых должны отправляться оповещения – обычно это Статусы: (Failed, Canceled, Disconnected).


Письма, приходящие на почту, содержат информацию о статусе и времени выполнения задачи с именами и идентификаторами Задачи и Агента, Истории задач.

3.2. Очистка логов задач
Для администратора PIX Master добавлен функционал по очистке записей логов задач.
При интенсивном использовании Master количество записей логов работы агентов и роботов растет с наибольшей скоростью и периодическая очистка логов с последующей операцией сжатия базы данных:
  • является обычной операцией администрирования базы данных Master;
  • команды SHRINKDATABASE в MSSQL или VACUUM в PostgreSQL.
Для очистки логов задач в интерфейсе Администрирование \ Логи предусмотрены два варианта удаления записей.
Вариант-1. На вкладке [По дате] возможно указать дату, ранее которой будут удалены записи (D) – для информации будет выведено сколько строк будет удалено и общее количество строк (i).


Вариант-2. На вкладке [По количеству записей] - указать количество удаляемых строк (S);
для информации будет выведена дата, ранее которой удалятся записи лога.

При нажатии на по кнопку [Удалить логи] будет выведено окно с информацией для подтверждения удаления строк.

3.3. Аудит действий пользователя
Расширено логирование действий пользователя:
  • При соединении PIX Master с PIX Studio, Aгентом, Машиной в аудите теперь указывается IP адрес, с которого было произведено подключение (I);
  • При добавлении новой версии Проекта теперь сохраняется "Комментарий" в формате:
- New version "{version number}" has been created for project "{project name}"
- в столбце "Название объекта" отображается объект (проект) и версия (V).
    • Просмотр (событие read ) какого-либо объекта (агента, задачи, лицензии и т.д.) теперь отображается с указанием на просмотренный объект. В запись аудита добавлен комментарий "{Object}{Object name} was read" (R)


    Аудит для операций с лицензиями роботов
    • Загрузка лицензии или пакета лицензий теперь отображается в аудите в следующем формате: для каждой лицензии записывается комментарий: Robot license "{License name}" type "{License type}" expiration date "{DateTime}" has been added successfully.
    • После записи с последней добавленной лицензией (при пакетной загрузке) отображается запись с комментарием, указывающим на количество добавленных лицензий: robot licenses added successfully
    • При удалении лицензии робота в аудите отображается запись с комментарием License "{License name}" has been deleted , в столбце "Название объекта" указывается название удаленной лицензии.


    4. Изменения API. Новые методы для шаблонов расписания
    Добавлены два новых метода API для Шаблонов расписания.
    Получение списка названий шаблонов расписаний.
    • GET /api/ScheduleTypes/GetList?scheduleMode=Calendar. В необязательном параметре scheduleMode возможно указать отбор по виду шаблона расписания.
    Получение списка дат для шаблона расписания с видом Calendar.
    • GET /api/ScheduleTypes/GetCalendar?name=test… В обязательном параметре name передается значение имени шаблона.

    5. Исправлены обнаруженные ошибки
    Для улучшения стабильности работы PIX Master:

    - оптимизированы работа с памятью и запросы к базе данных PIX Master;
    - добавлен балансировщик обработки очереди задач;
    - исправлен механизм работы очереди задач с типом "Строгая";
    - доработан учет и утилизация лицензий роботов;
    - доработан механизм отслеживания подключения агентов к PIX Master.
    В базе знаний расширены и дополнены описания с рекомендуемыми настройками
    (см. http://knowledgebase.pixrpa.ru/master/installation):
    - сервера приложения и IIS,
    - параметров веб-сайта,
    - конфигурации приложения (файл appsettings.json).
    Процессы. Исправлена ошибка выполнения процесса при выполнении блока процесса более 30 мин. Ошибка была вызвана настройками Hangfire, через который запускаются блоки процессов.
    По умолчанию было 30 минут и, если какой-то блок работает >30 минут, то Master завершал его работу и весь процесс вцелом. Теперь таймаут увеличен до практически недостижимого
    Очереди данных. Доработано отображение времени в карточке данных элемента очереди - теперь поля DateTime отображаются с учетом временной зоны пользователя и представление времени в форме списка и форме элемента одинаковое.

    PIX Master 1.24
    1. Администрирование PIX Master
    1.1. Режим обслуживания

    В разделе "Администратор" на вкладке "Обслуживание" появилась секция "Режим обслуживания".
    Этот функционал требуется для остановки Master для обновления, переноса и т.п.
    При включении режима обслуживания (O):
    • устанавливается запрет на запуск задач и процессов для всех способов: по расписанию Планировщика, через пользовательский интерфейс (блокируются контролы с операциями запуска), используя API.
    • блокируется создание и редактирование проектов, задач, процессов в интерфейсе и через API.
    • возможно установить флаг "Мягкая остановка выполняемых" (S), который будет учитываться для выполняемых задач, если в скрипте робота предусмотрен шаг с активностью PIX Master - "Проверить сигнал остановки". У остановленных по этому условию задач Статус в Master будет отображаться как "Stopрed".
    • возможно задать "Отсрочку аварийной установки" – в секундах (A), по истечении которой включится режим "Аварийный стоп", устанавливающий запрет на подключение Агентов к Master, разрывающий соединение с агентами и прерывающий задачи со статусом "Disconnected".
      - Если отсрочка не задана (=0), то аварийный режим не включится.
      - Если отсрочка задана, то отображается инфо-поле с временем включения аварийного стопа.

      1.2. Управление лицензиями роботов
      1.2.1. Название лицензии - теперь обязательное поле

      Для лицензий роботов сделаны доработки обеспечивающие обязательное заполнение имени лицензии. Это важно для отображения имени лицензии в интерфейсах.
      Именование лицензий стало обязательным как при пакетной, так и при одиночной загрузке.
      При пакетной загрузке пользователю предлагается указать:
      • Серию - префикс для имени лицензий пакета (S)
      • Начальный суффикс (F) – цифровое значение. Если суффикс явно не указан пользователем, то по умолчанию имени первой лицензии из пакета будет присвоен суффикс "..._001".

        При обновлении PIX Master в базе данных произойдет авто-заполнение имени лицензии.
        Лицензиям с пустым именем (NULL), будет присвоено имя Lic_001, Lic_002, …, Lic_NNN.
        Для обеспечения уникальности имени лицензиям c одинаковыми именами будет добавлен суффикс.
        Например, для двух лицензий с одинаковым именем "Тест" – имя первой останется без изменений, а для второй добавится суффикс и имя будет "Тест_001".
        1.2.2. Пакетная загрузка лицензий – контроль существующих / загруженных ранее
        При пакетной загрузке лицензий добавлен контроль уже существующих лицензий. Если в пакете встречаются лицензии с уже загруженными идентификаторами, то будет выведено сообщение:
        • "Лицензия не была добавлена, так как она уже существует"

        1.3. Управление доступом. Процессы - добавлено поле Группа
        Для процессов добавлена возможность назначать Группы. Это позволяет разграничивать доступ к отображению элементов в списке процессов:
        • если для Процесса задана Группа, то он будет отображаться в интерфейсе у пользователей, которым назначена эта Группа;
        • если Группа для Процесса не задана (пустая), то Процесс виден всем пользователям.

          1.4. Управление пользователями - добавлена индикация привязки к Active Directory
          В интерфейс Администратор - Пользователи добавлен столбец с отображением привязки пользователя к Active Directory (A).

            2. Пользовательский интерфейс
              2.1. Изменена панель навигации

              • Изменен дизайн панели навигации PIX Master. Теперь панель возможно уменьшать (m) и возвращать к обычному виду (M), используя контролы "<<" и ">>".

              • Некоторые пункты меню сгруппированы - например, в группу "Задачи" помимо задач входят пункты История, Логи и Очереди задач. Группу возможно раскрыть или свернуть, используя соответствующие управляющие элементы (T и t).


              2.2. Задачи - выбор Агентов сделан зависимым от Группы.
              Для Задач в форме элемента - список Агентов сделан зависимым от выбранной Группы (G).
              Это изменение сделано для поддержки соблюдения правила, что агенты, на которых может запускаться задача должны относиться к тем же группам, что установлены для задачи.
              Также в списке Агентов:
              • изменена сортировка элементов списка – выбранные отображаются в начале;
              • выбранные агенты, не относящиеся к установленной Группе выделяются серым, чтобы отобразить несоответствие Агент – Группа.

                2.3. Очереди данных. Для элемента очереди - добавлено окно с его данными/атрибутами
                Для "Очередей данных" изменено окно просмотра "Данных элемента" - теперь для элемента очереди выводится Значение (V), расширенные поля данных (T) и все атрибуты (P).
                Кроме того, для расширенных полей данных – "Входные данные", "Выходные данные", "Таблица" – обычно хранящихся в сериализованном виде, теперь возможно просмотреть значения в отдельном окне, в таблице (DD).

                  2.4. Проект - поле «Описание» теперь многострочное
                  Описание "Проекта" в форме элемента сделано многострочным (O).

                    Аналогичные изменения сделаны в PIX Studio для интерфейса экспорта проекта из Studio в Master.
                      2.5. Данные – отображение длинных Значений в форме списка
                      В интерфейсе "Данные" в таблице для ячейки "Значение" добавлены:
                      • обрезка длинных значений - теперь показываются 3 строки;
                      • всплывающее окно, появляющееся при наведении на значение.

                        3. Масштабирование
                        Для кластерной версии PIX Master доработано исполнение процессов

                        Для обеспечения отказоустойчивости и горизонтальной масштабируемости в PIX Master, начиная с версии v1.18 (октябрь 2022) реализована возможность работы нескольких экземпляров Master в кластерном режиме.
                        В текущей версии v1.24 доработаны механизмы запуска и исполнения процессов - теперь каждый из блоков процесса может запускаться и работать на любом из элементов кластера, обеспечивая параллелизм и отказоустойчивость выполнения процессов.
                          4. Изменения API
                          4.1. Новый метод для остановки процесса в Master

                          Добавлен POST - метод API:
                            
                            /api/Processes/StopProcess?processId={processId}.
                            
                            В обязательном параметре processId передается значение идентификатора процесса.
                            Результатом выполнения метода является остановка запущенного процесса с заданным processId - статус процесса меняется с InProgress на Canceled.
                              Это метод API может использоваться, например,:
                              • для остановки процесса, обрабатывающего очереди данных и ожидающего появления элементов в очереди;
                              • для освобождения лицензии робота, необходимой для выполнении более приоритетных задач.
                              4.2. Новый метод для получения атрибутов и данных проекта
                              Добавлен GET - метод API:
                                  
                                  /api/Projects/GetProject?projectId={projectId}.
                                  
                                  В обязательном параметре projectId передается значение идентификатора проекта.
                                  Возвращается IProjectInfo - проект с соответствующим идентификатором, активной и последней версиями проекта (возвращается одна версия - если она одновременно является активной и последней).
                                    4.3. Новый метод для проверки существования проекта
                                    Добавлен GET - метод API:
                                      
                                      /api/Projects/ProjectExists?projectId={projectId}
                                      
                                      В обязательном параметре projectId передается значение идентификатора проекта.
                                      Возвращается true, если проект с соответствующим идентификатором существует или false, если такого проекта нет или пользователь не состоит в группе, имеющей доступ к данному проекту.
                                        5. Исправлены обнаруженные ошибки
                                          • Интерфейс. Исключено отображение удаленных элементов в списках. Для выпадающих списков для отборов, выбора значений и т.д. в основных интерфейсах удаленные сущности (агенты, задачи, процессы и т.п.) теперь не показываются. * Исключение сделано для логов, в которых удаленные сущности выводятся.
                                          • Планировщик - Шаблон расписания. Исправлена ошибка, приводившая к созданию записей без даты для планировщика с типом «Календарь». Если при редактировании «Шаблона расписания» с типом «Календарь» не выбрана дата, то при попытке сохранения появляется ошибка «Должна быть выбрана хотя бы одна дата».
                                            Запуск агентов, прикрепленных к "Машине" (хосту)
                                            • Сделаны общие доработки по повышению стабильности запуска агентов через хост;
                                            • Отключено ошибочное автоматическое поднятие Агента через хост для запуска задачи с отключенной опцией "Запускать в новой сессии".
                                              Процессы
                                              • Исправлена ошибка, когда при добавлении на диаграмму процесса некоторых типов блоков копировались параметры ранее добавленных блоков.
                                              • Для случая остановки-и-рестарта PIX Master реализовано прерывание процесса со статусом "Canceled", ранее процесс "зависал" в статусе "In progress".
                                              • Исправлена ошибка при завершении задачи агентом при параллельном выполнении в рамках Процесса на нескольких агентах - ошибка обрабатывается и логируются в PIX Master.
                                                Задачи
                                                • Параметры задачи. Исправлена ошибка, приводящая к неопределенной ситуации, когда для одного параметра сохранялось более одного значения. Теперь добавлена проверка, делающая невозможным сохранить задачу, если добавлены одинаковые ключи/значения для параметра.

                                                • Параметры задачи. Исправлена ошибка, приводящая к остановке выполнения задачи при заданном пустом значении параметра – т.к. пустые значения для параметров вполне допустимы, то задача теперь не останавливается.

                                                Планировщик
                                                • Исправлена ошибка запуска задач в некорректное время для расписаний с типами "Cron" и "Календарь", если временные зоны PIX Master и Пользователя, создавшего расписание отличаются. Расписание выполняется во временной зоне создавшего его пользователя. При необходимости пользователь может установить для расписания другую временную зону при создании/редактировании расписания. Особенность - в Планировщике время планируемых запусков отображается с учетом временной зоны Пользователя.

                                                  Права доступа и роли пользователей
                                                  • Доступ к Данным с установленной Группой для Агента. Исправлено поведение при выполнении задачи на Агенте при несовпадении Групп Агента и Данных - теперь выводится ошибка авторизации: "One or more errors occurred. (An unexpected error occurred invoking 'GetValueByKey' on the server. Exception: Access to the data is not authorized)".
                                                  • Ролевая модель. Устранена ошибка прав пользователя - если для настраиваемой роли для объекта "Машины" задано ТОЛЬКО право на чтение (R), то были возможны запуск и остановка агентов.

                                                  Теперь управлять агентами из интерфейса «Машины» возможно только если для роли пользователя установлено разрешение - на создание, изменение или удаление (C, U или D).
                                                    Исправлены прочие ошибки.
                                                      PIX Master 1.23
                                                      1. «Мягкая остановка» робота, управляемая из PIX Master
                                                      Механизм "мягкой остановки" предоставляет возможность управлять поведением робота в случае, когда нужно остановить его выполнение из PIX Master.
                                                      Сценарий работы:
                                                      1. В PIX Master для Задачи устанавливается Флаг завершения задачи.
                                                      • Нажать на контрол "мягкой остановки" (1)

                                                      • Появится значок || "мягкая остановка" (2)

                                                      2. Робот проверяет сигнал остановки новой активностью PIX Master "Проверить сигнал остановки" и, получая в ответе "Флаг остановки" = true,
                                                      • выполняет шаги, предусмотренные веткой скрипта при «мягкой остановке»
                                                      • и останавливается активностью "Прервать цикл".

                                                        3. В PIX Master статус остановленной Задачи изменится на «Stopрed» (3).

                                                          Варианты использования:
                                                          • При использовании "Шаблона архитектуры робота" – остановить выполнение скрипта, если элемент очереди данных не соответствует заданным условиям или является последним элементом в обрабатываемой последовательности;
                                                          • В случае если оператор обнаружил, что данные/ресурсы некорректны, и нужно остановить обработку элементов очереди данных - вручную оператором;
                                                          • В случае если необходимо освободить агента от выполнения текущей задачи, не потеряв при этом обрабатываемый элемент очереди данных;
                                                          • Для остановки робота при переводе PIX Master в "Режим обслуживания". Этот режим планируется реализовать в следующем релизе (см. ниже - п. 5).
                                                            2. Процессы. Блок "Ожидание"
                                                            В группе процессов "Базовые" появился блок "Ожидание" (W) для установки задержки перед выполнением следующего блока процесса.
                                                            Параметр "Время ожидания" устанавливается в секундах (T).
                                                            Значение в поле можно настроить как контролом со стрелками, так и ввести вручную.

                                                            3. Планировщик – отображение времени следующих запусков
                                                            В разделе "Планировщик" в таблицу добавлен столбец "Следующий запуск" для отображения времени следующего по расписанию запуска Задач и Процессов (L).
                                                            В шапке раздела появилось отображение параметров следующего запуска – дата-время и наименование Задачи или Процесса (LL).

                                                              4. Фильтрация логов с отбором по времени
                                                              Добавлена возможность фильтрации записей логов по времени с точностью до секунды (чч:мм:cc).
                                                              Изменения сделаны в интерфейсах "История задач", "Логи агентов", "История процессов", "Логи процессов" , "Детали очереди задач", "Детали очереди данных", "Утилизация лицензий" и "Аудит".
                                                              • Теперь стало возможно отбирать записи с указанием временного диапазона (T):

                                                              • Особенность: для отбора записей за определенную дату в фильтре следует указывать дату с нулевым временем = "00:00:00", например - "15.02.2023 00:00:00" (D):

                                                              5. Администрирование - Аварийная остановка агентов и задач
                                                              В разделе "Администратор" появилась новая вкладка "Обслуживание" с переключателем "Аварийный стоп". При включении аварийного режима происходят следующие события:
                                                              • отключаются все подключенные на данный момент агенты;
                                                              • выполняемые задачи прерываются со статусом "Disconnected";
                                                              • включается запрет на установку подключения Агентов к PIX Master.

                                                                При отключении аварийного режима PIX Master переходит в нормальное состояние.
                                                                • В следующем релизе PIX Master появится "Режим обслуживания", запрещающий новые запуски задач и процессов и обеспечивающий "мягкую остановку" запущенных задач. Также в этом режиме возможно будет задать время задержки перед включением режима аварийной остановки. Таким образом, переключатель [Аварийный стоп] будет срабатывать после завершения действий по "мягкой остановке" задач и процессов.
                                                                  6. Изменения API
                                                                  6.1. Новые методы API для Планировщиков
                                                                  Для получения списка планировщиков с расписанием запуска задач и процессов появился GET запрос:
                                                                    
                                                                    /api/GetSchedulersList
                                                                    
                                                                    В запросе возможно использовать параметр groupName для отбора планировщиков, относящихся к определенной группе.

                                                                      Для получения текущего статуса (true/false = активен/неактивен) планировщика с определенным id добавлен GET метод:
                                                                        
                                                                        /api/Schedulers/GetSchedulersActivityStatus
                                                                        

                                                                        6.2. Новый метод API для получения списка Данных
                                                                        Для получения списка Данных добавлен новый GET метод:
                                                                          
                                                                          /api/Data/GetDataList
                                                                          
                                                                          Предусмотрена опциональная возможность отбора Данных по Группе, задавая поле groupName.

                                                                            6.3. Для нескольких методов API добавлена возможность получать объекты в разрезе групп
                                                                            Ранее существовавшие методы GetProjectList и GetTaskList (для получения списков Проектов и Задач) дополнены необязательным параметром groupName для отбора элементов по Группе:


                                                                              В новых методах API GetSchedulersList и GetDataList для получения списка Планировщиков и Данных необязательный параметр groupName для отбора записей по группе предусмотрен изначально.
                                                                                7. Исправлены обнаруженные ошибки
                                                                                Логи | сортировка. Исправлена последовательность отображения событий в логах – сортировка по дате-времени дополнена условием сортировки с учетом идентификатора записи.
                                                                                API | коды статусов. Исправлены коды статуса для запросов с некорректными или пустыми данными в параметрах или теле запроса - теперь API возвращает статус-коды (400, 404), отражающие суть ошибки.
                                                                                Studio - Master | Данные. Исправлено изменение типа данных после работы активности "Записать данные в Мастер" при запуске задачи из PIX Master.
                                                                                Studio - Master | Очереди данных. Исправлена ошибка получения элементов очереди данных при указании в активности "Получить элементы очереди" временного диапазона [Начальная дата добавления элемента – Конечная дата добавления элемента].

                                                                                Фильтры
                                                                                • В интерфейсе Очереди задач / Детали исправлена работа пользовательских фильтров по дате-времени;
                                                                                • Исправлена работа фильтров при выбранном [Наборе фильтров] (A) - теперь после добавления или изменения пользователем фильтров (B) - применение фильтров отрабатывает с учетом актуального состояния всех фильтров, а не сбрасывается к фильтрам, сохраненного [Набора фильтров]:


                                                                                  Задачи
                                                                                  • Для задач исправлена ошибка сохранения параметров задачи в случае редактирования элементов задач в двух и более вкладках браузера;
                                                                                  • Исправлено ошибочное присвоение Задаче Статуса= "Disconnected", хотя Агент, выполняющий задачу в рабочем состоянии и подключен к PIX Master;
                                                                                  • Для обеспечения однозначности наименования Задач - добавлена проверка уникальности имени при сохранении новых элементов.
                                                                                  Процессы
                                                                                  • Блоки группы [Очереди данных]. Устранена ошибка отображения наименования очереди данных в блоках "Добавить в очередь", "Получить из очереди", "Кол-во элементов > N" при изменении наименования очереди данных;
                                                                                  • Для обеспечения однозначности наименования Процессов добавлена проверка уникальности имени при сохранении новых элементов Процессов;
                                                                                  • Для процессов с несколькими последовательными блоками устранена ошибка при получении значений нескольких блоков, используя выражение $Block.BlockName.Value;

                                                                                    • Исправлена ошибка запуска планировщиком процесса с блоками работы с очередями данных.
                                                                                    Администрирование
                                                                                    • Исправлено отображение ноды, к которой подключен PIX Master. * Нода отображается для роли "Администратор", если в файле конфигурации appSettings.json установлен параметр isCluster = true.
                                                                                      Исправлены прочие ошибки.
                                                                                        PIX Master 1.22
                                                                                        Служба управления агентами
                                                                                        В PIX Master 1.22 и PIX Studio 2.15 разработан функционал для управления агентами, а именно:
                                                                                        • реализовано объединение PIX Agent'ов в именованные группы ­­ – «Машины»;
                                                                                        • реализована связь нового режима «Машины» с конкретной утилитой, запускающей Агентов в отдельных сессиях;
                                                                                        • добавлена возможность запуска и завершения Агентов в новой сессии из режима Машины по команде из Мастера;
                                                                                        • добавлена возможность запускать задачи в новой сессии.

                                                                                        Для управления машинами (запуском и остановом) необходимо:
                                                                                        • установить утилиту AgentHostService.exe,
                                                                                        • указать параметры подключения в файле:
                                                                                          C:\Program Files (x86)\PIX\Agent Host\appsettings.json.

                                                                                        Запуск утилиты запускает привязанную к ней Машину.

                                                                                        Привязку Агента к Машине (M) возможно настроить в форме редактирования Агента.

                                                                                        В интерфейсе «Машины» возможно получать информацию о статусе агентов (S), а также при необходимости управлять запуском/завершением сессий агентов вручную (O).

                                                                                        Для управления агентами разработана «Служба управления агентами», которая обеспечивает запуск и завершение работы PIX Agent'ов в новых сессиях по команде из Мастера.
                                                                                        Агенты, привязанные к Машине, запускаются Службой и подключаются к Мастеру автоматически при соблюдении следующих условий:
                                                                                        • агент, на котором должна выполниться задача находится в статусе офлайн;
                                                                                        • задача должна быть привязана к очереди задач (Q), и для задачи установлена новая опция «Запускать в новой сессии» (N).


                                                                                        В результате в новой сессии автоматически запустится агент, выполнится экземпляр задачи из очереди задач, и сессия автоматически завершится.
                                                                                        PIX Master 1.21
                                                                                        1. Настраиваемые роли - для управления доступом к объектам PIX Master
                                                                                        Добавлен функционал по управлению ролями доступа пользователей к интерфейсам, объектам и ресурсам Master.

                                                                                        В настраиваемой роли пользователя для каждого объекта/ресурса возможно установить уровень доступа CRUD (Create – Создание, Read – Просмотр,
                                                                                        Update – Изменение, Delete – Удаление) в матрице доступа.

                                                                                        *Для некоторых операций: запуск задач, скачивание проектов, включение-и-отключение агентов и т.п. специфический ресурс управления в матрицу не добавлен и доступ управляется опциями Read/Update для объекта.

                                                                                        Доступ контролируется при открытии объекта из интерфейса, переходе по ссылке или URL, операциях создания, изменения, удаления и других, включенных в матрицу.

                                                                                        Три базовые роли (Admin, Developer, Business Analyst) поставляются с PIX Master (B).
                                                                                        Для роли Admin доступно всё, и функции проверки доступа отключены.
                                                                                        Для ролей Developer, Business Analyst матрицы доступа преднастроены - их можно просматривать, но нельзя редактировать, т.е. эти роли нередактируемые. Текущие настройки доступов для этих ролей см. Приложение 1.

                                                                                        Настраиваемые роли (N) возможно добавлять, редактировать и удалять. Операция [Удаление] сопровождается проверкой, что роль не задана ни одному пользователю.



                                                                                        2. Управление блокировкой пользователей
                                                                                        Появился функционал, позволяющий блокировать доступ пользователей в PIX Master. Блокировкой пользователей возможно управлять, изменяя Статус «Активен» на «Заблокирован».
                                                                                        В форме списка пользователей добавлено поле с фильтром для быстрого отбора пользователей по статусу.



                                                                                        3. Интерфейсные изменения для фильтров

                                                                                        Применение "быстрых фильтров" теперь происходит сразу после ввода / выбора значения (Q), т.е. без необходимости нажимать кнопку [Применить].
                                                                                        Изменен контрол для выбора «Набора фильтров» (FF).
                                                                                        Осуществлены прочие небольшие интерфейсные изменения.



                                                                                        4. Процессы. Для блока [Задача] добавлен выбор источника данных с типом Value (значение)

                                                                                        В параметрах блока "Задача" в выпадающем списке источников данных появилось поле "Value" (V), которое позволяет пользователю ввести необходимое для задачи значение.



                                                                                        5. Планировщик. Добавлена информация об агентах, подключенных к выполнению задачи
                                                                                        При наведении курсора на задачу появляется всплывающая подсказка со списком агентов:



                                                                                        6. Аудит. Расширено логирование действий пользователей
                                                                                        Для отчета "Аудит" расширено логирование действий пользователей - при следующих действиях сохраняется и выводится в поле «Комментарий» важная для инфо-безопасности информация:
                                                                                        • При неудачной попытке авторизации - указывается email/login;
                                                                                        • При создании нового пользователя выводится его роль;
                                                                                        • При регистрации события Login в аудите - версия браузера, с которой осуществлялся вход и операционная система.

                                                                                        • При редактировании настроек в разделе Администратор/Настройки - все изменения. Например, при изменении Групп доступа (Groups) - записи аудита будут содержать подробности по изменениям:

                                                                                        • При изменении пользовательской роли/ролей - добавленные и удаленные роли:



                                                                                        7
                                                                                        . Исправлены обнаруженные ошибки
                                                                                        • Скорректирована проверка лицензии PIX Master при запуске задач.
                                                                                        • Исправлена ошибка, при которой для запущенной Задачи или Процесса статус менялся на Disconnected, хотя агент был подключен и в рабочем состоянии.
                                                                                        • Исправлено зависание Задачи в статусе InProgress после ручного запуска задач.
                                                                                        • Устранена ошибка зависания агентов и задач в статусе InProgress при одновременном добавление задач в очередь задач.
                                                                                        • Процессы. Устранена ошибка отображения данных, когда сразу после обновления страницы браузера в настройках блоков диаграммы процесса некоторые поля с данными отображались пустыми.
                                                                                        Исправлены прочие ошибки.

                                                                                        Приложение.
                                                                                        Настройки доступов к ресурсам для базовых ролей, поставляемых с PIX Master.

                                                                                        PIX Master 1.20
                                                                                        1. Очереди данных V2 - новая версия
                                                                                        В PIX Master 1.20 и PIX Studio 2.14 появилось несколько важных изменений по очередям данных, заметно расширяющих функционал, что позволяет говорить о новой версии - V2.
                                                                                        На рисунке ниже представлены операции, управляющие очередями данными, и переходы статусов. Отмечено новое и изменённое для новой версии.

                                                                                        Основные изменения для "Очередей данных V2" описаны ниже.
                                                                                        (И-1) Расширены варианты хранения данных для элемента очереди. В дополнение к полю [Данные] добавлено три поля с типом text:
                                                                                        • [InputData], [OutputData] (text) - для хранения входных и выходных данных в виде сериализованного словаря Dictionary.
                                                                                        • [Table] (text) - для хранения табличных данных в виде сериализованной таблицы DataTable.

                                                                                        (И-2) Дополнительные настройки стратегии уникальности элементов очереди
                                                                                        Для управления уникальностью значений Ссылок (Reference) для элементов очереди ранее и сейчас используется признак [Уникальность ссылки], устанавливаемый активностью в PIX Studio [Поместить элемент в очередь]. Теперь в дополнение к этому признаку для очереди данных в PIX Master добавлены (U) два свойства:
                                                                                        • флаг [Проверять уникальность ссылок];
                                                                                        • список [Статусы, в которых проверять уникальность ссылок],
                                                                                        обеспечивающие новые и гибкие настройки стратегии уникальности для всех операций по добавлению новых элементов в очередь:
                                                                                        • при добавлении элемента в очередь проводится поиск среди уже существующих элементов по ссылке и списку статусов. Если элемент найден, то новый элемент добавлен не будет.

                                                                                        (И-3) Для регистрации детальной информации об ошибках/исключениях при обработке элемента очереди данных кроме ранее существующих полей ErrorType и ErrorComment добавлено поле ErrorDetails, содержащее Exception.StackTrace*.
                                                                                        * Свойство StackTrace возвращает кадры стека вызовов, которые происходят в месте, где было создано исключение. Говоря другими словами, это список методов, которые были вызваны до момента, когда в приложении произошло исключение.

                                                                                        (И-4) Добавлены поля для хранения Времени в очереди и Времени в обработке для успешно обработанных элементов.
                                                                                        • Время в очереди (в базе данных - DurationTotal) – общее время в секундах от помещения элемента в очередь (Статус=New) до успешной обработки элемента (Статус=Processed);
                                                                                        • Время в обработке (DurationProcess) – учитывает время обработки элемента от статуса Processing до Processed, в секундах.
                                                                                          В случае попыток (Retry) или повторения вручную учитывается суммарное "чистое" время обработки.
                                                                                        Заранее рассчитанные и сохраненные значения используются для получения статистики по очереди данных за выбранный период, в том числе для определения элементов, обработанных с превышением максимального допустимого времени, так называемого параметра "SLA".

                                                                                        (И-5) SLA для времени на обработку с момента появления в очереди
                                                                                        Для очереди стало возможно задать максимальное допустимое время на обработку (L, в секундах) с момента появления в очереди. Этот параметр служит для определения элементов очереди данных, обработанных с нарушением/превышением SLA.

                                                                                        Статистика по количеству таких случаев выводится в панелях показателей (S) для деталей очереди данных.

                                                                                        (И-6) Изменения API и активностей PIX Studio 2.14 для работы с очередями данных
                                                                                        Добавлены новые, расширенные по сравнению с существовавшими, методы API (к их наименованию добавлен суффикс Ext) и активности PIX Studio ­– для использования новых полей с данными, учета новой стратегии уникальности ссылок и поддержке других изменений.
                                                                                        Также добавлены новые методы и активности для операций:
                                                                                        • установить комментарий для элемента;
                                                                                        • отложить обработку элемента очереди до дата-время.
                                                                                        Доработаны существовавшие ранее API и активность для операции "Получение элементов очереди".
                                                                                        Подробнее – см. Приложения. Очереди данных V2. Изменения API и Активностей в PIX Studio.

                                                                                        (И-7) Для API:[PushElementToQueueFromBodyData] добавлен параметр createNewQueue (= false), который определяет, создавать ли новую очередь данных, если очередь по названию не найдена.
                                                                                        • Если очереди с queueName не существует и createNewQueue = true, то создастся новая очередь данных и элемент добавится в эту новую очередь.
                                                                                        • Если очереди с queueName не существует и createNewQueue = false, то новая очередь данных не создастся и в ответе вернется ошибка



                                                                                        2. Очереди данных и процессы
                                                                                        Масштабирование обработки очереди данных.


                                                                                        Реализован процесс с триггерами и параллельной обработкой очереди данных очередью задач.

                                                                                        Диаграмма процесса включает:
                                                                                        • блок [Количества элементов > N] - для получения количества необработанных элементов очереди
                                                                                        • и два блока [Распределить для обработки].
                                                                                          Первый блок [Распределить 1] срабатывает, если есть необработанные элементы очереди, второй блок [Распределить 2] - по условию[если количество элементов очереди данных больше заданного параметра], при этом [Распределить 2] формирует элементы очереди задач с Задачей, отличной от блока [Распределить 1].
                                                                                        Таким образом, при достижении заданного порога по количеству необработанных элементов к их обработке подключается вторая задача.

                                                                                        Для реализации этого процесса сделаны следующие доработки.
                                                                                        Изменения для процессов:
                                                                                        Блок [Количество элементов > N] (Q) теперь возвращает:
                                                                                        • количество элементов в очереди данных;
                                                                                        • ID очереди данных.
                                                                                        Добавлен новый блок [Распределить для обработки], который распределяет элементы очереди данных (D) для обработки задачами (T) из очереди задач с учетом нового параметра в задаче [Максимальное количество необработанных элементов очереди задач] (M).


                                                                                        Параметр [Максимальное количество необработанных элементов очереди задач] = 1 в задаче также возможно использовать для ограничения создания новых элементов очереди задач, если элемент с этой же задачей и статусом «New» в очереди уже есть. Эта функция не относится к обработке очередей данных, но может быть полезна с точки зрения управления очередями задач вообще.

                                                                                        Для Очереди задач добавлено поле связанная "Очередь данных" (D) для указания, какую очередь обрабатывать Задаче.




                                                                                        3. Процессы
                                                                                        3.1. Блок [Получить из RabbitMQ] - возможность задать параметры из Данных

                                                                                        Для всех полей блока [Получить из RabbitMQ] добавлена возможность задать и получать параметры из Данных.
                                                                                        * Дополнительно возможно
                                                                                        • вводить поле с параметром "тег" в виде $подстрока для поиска элементов Данных и отображения их в виде списка (см. рисунок);
                                                                                        • соединять несколько строк из Данных.
                                                                                        Например, если d1 = "local", d2 = "host", то при указании $d1$d2 - значение будет = "localhost".

                                                                                        Тип данных не важен. Главное, чтобы значение совпадало с легитимными данными из RabbitMQ:
                                                                                        • порт можно задать в int и string,
                                                                                        • пароль - string, credential и т.п.

                                                                                        3.2. Логи процессов. Добавлены столбец и фильтр с наименованием процесса
                                                                                        Для отображения, поиска и отбора процессов - в интерфейс [Логи процессов] добавлены столбец (P) и фильтр (F) с наименованием процесса.

                                                                                        4. Изменения API
                                                                                        4.1. API для добавления элемента в Данные

                                                                                        Для добавления новой записи в Данные доработан метод API SetValueByKey | "Установка значения данных по ключу":
                                                                                        • POST /api/DataApi/SetValueByKey
                                                                                        Ранее возможно было добавлять/изменять Значение (Value) для записи с определенным Ключом (Key). Теперь возможно создать новую запись, установив и Ключ и Значение, а также добавить описание и тип данных.
                                                                                        В метод добавлены два необязательных параметра:
                                                                                        • Description – описание новых данных (text),
                                                                                        • Type – тип новых данных (int).
                                                                                        Числа в Type соответствуют типам:
                                                                                        0 – Text,
                                                                                        1 – Int,
                                                                                        2 – Bool,
                                                                                        3 – SecureData,
                                                                                        4 – AuthCredential.
                                                                                        По умолчанию тип Text (Type=0).

                                                                                        4.2. Новый API для проверки статуса хоста
                                                                                        Реализован новый API для проверки статуса хоста.
                                                                                        На запрос "http://Host_IP/status" или "https://Host_IP/status"
                                                                                        • возвращается статус "200",
                                                                                        • на веб-странице выводится сообщение "Healthy" при запуске через браузер.

                                                                                        4.3. Авторизация в API Master через ActiveDirectory
                                                                                        Для работы методов API PIX Master добавлен вариант авторизации через учетную запись ActiveDirectory, что важно для выполнения требований информационной безопасности.



                                                                                        5. Исправлены обнаруженные ошибки
                                                                                        Очереди данных.

                                                                                        • Устранена проблема возможного взятия для обработки одного-и-того-же элемента очереди данных разными агентами при их параллельной работе с одной очередью данных - добавлены механизмы конкурентной блокировки элемента.
                                                                                        • Если для очереди данных установлено условие [Использовать попытки], то при неуспешной попытке обработки элемента с типом ошибки "Бизнес" повторные попытки запускаться не будут, ибо бизнес-исключение проявится вновь.
                                                                                        Процессы с блоками группы [Очереди данных].
                                                                                        • Исправлена ошибка работы блока [Кол-во элементов > N] при количестве элементов = N.
                                                                                        • Исправлена ошибка исполнения процесса, если в процессе используется последовательность блоков [Добавить в очередь] и [Получить из очереди].
                                                                                        Планировщик. Исправлена ошибка запуска задач и процессов вне рамок CRON-выражения из-за того, что в некоторых случаях при "переходе дат" не учитывался часовой пояс.

                                                                                        Данные – хранение логина и пароля. Логин и Пароль хранятся в одном Credential.
                                                                                        Пароль, как и ранее, в SecureString, для Логин тип изменен на String.

                                                                                        Управление получением-освобождением лицензий. Исправлены ошибки получения лицензий, а также добавлены фоновые задачи для освобождения лицензий, отключения "зависших" задач и агентов.

                                                                                        События аудита при авторизации через AD.
                                                                                        Исправлено заполнение события Login во вкладке "Аудит" при использовании авторизации через ActiveDirectory.

                                                                                        Исправлены прочие ошибки.



                                                                                        Приложение. Очереди данных V2. Изменение API и активностей в PIX Studio

                                                                                        PIX Master 1.19
                                                                                        1. Интерфейсные и оптимизационные изменения
                                                                                        Изменены иконки для отображения подключенных/отключенных агентов – теперь они отличаются не только цветом, но и самой иконкой.

                                                                                        В формах списков доработано отображение управляющего элемента для экспорта данных в CSV-файл – теперь этот элемент расположен однообразно на всех страницах.

                                                                                        Оптимизирована страница "Логи агентов" - ускорено отображение логов при применении фильтров.
                                                                                        2. Задачи – возможность настройки повторного запуска (создания элемента очереди задач) при неудачном завершении
                                                                                        В задаче появился новый признак для перезапуска задачи в случае неудачи (R).


                                                                                        Для задачи с этим признаком - если элемент связанной очереди задач, завершен со статусом Failed или Timeout, то создаётся новый элемент в очереди задач со статусом New.
                                                                                        3. Переход на .NET 6
                                                                                        С версии 1.19.4 PIX Master переведен на .NET 6 использование более актуальной версии платформы обеспечивает большую производительность приложений и предоставляет новые возможности и инструменты разработчикам PIX Master.

                                                                                        Для работы PIX Master необходимо установить Hosting Bundle для работы с приложениями .Net.
                                                                                        Инструкция по установке
                                                                                        4. Исправлены обнаруженные ошибки
                                                                                        • Устранена ошибка не-выполнения процесса с несколькими одинаковыми задачами – теперь процесс выполняется последовательно в соответствии с его диаграммой.
                                                                                        • Исправлено управление конкурентными лицензиями – доработаны механизмы освобождения лицензий агентами.

                                                                                        PIX Master 1.18
                                                                                        1. Очереди данных

                                                                                        1.1. Статистика по очередям данных
                                                                                        Для мониторинга работы очередей данных в разделе "Очереди данных"/ "Детали" добавлены панели показателей по выбранной очереди (1). Показатели представлены в двух группах:
                                                                                        Текущие значения (2):
                                                                                        • текущее количество элементов очереди - новых и обрабатываемых;
                                                                                        • среднее время пребывания элементов в очереди и обработки за последние 24 ч (с).

                                                                                        Значения за выбранный период (3) – период выбирается в быстром фильтре:
                                                                                        • количество элементов обработанных нормально, с ошибками и переведенных в статусы Timeout и Canceled;
                                                                                        • среднее время в очереди и в обработке – в секундах. В секции также отображается дата-время актуальности показателей (4).

                                                                                        Панели показателей с количеством элементов кликабельны, при клике - передаются значения Статус или Тип ошибки в соответствующие фильтры (5).
                                                                                        1.2. Клонирование элемента очереди данных
                                                                                        В разделе "Очереди данных" / "Детали" для элемента добавлена операция клонирования (С), при которой появляется форма редактирования элемента с полями "Значение", "Приоритет", "Ссылка", "Комментарий", "Крайний срок обработки" и "Отложить до". При сохранении создастся элемент в статусе "New".


                                                                                        1.3. Снятие ограничения для максимального времени обработки элемента очереди
                                                                                        Возможно не ограничивать время обработки элементов очереди – для этого администратору необходимо в разделе "Администратор" / "Настройки" установить нулевое значение параметра:
                                                                                        • "Максимальное время обработки элемента очереди данных (час.)" = 0.
                                                                                        * стандартное значение = 24 часа.

                                                                                        2. Задачи – заполнение значений параметров в задаче

                                                                                        Для задач существует функционал по привязке параметров задачи к "Данным". Теперь добавлен вариант заполнения значений параметров непосредственно в задаче, сохраненные значения параметров учитываются при выполнении задачи. Как и ранее, в интерфейсе редактирования "Задачи" параметры - возможно загрузить из проекта или добавить по кн.[+Добавить параметр] (P). Заполнение параметров задачи теперь возможно двумя вариантами:

                                                                                        • Для параметра возможно, как и ранее, заполнить ссылку на элемент "Данные", выбрав [Источник данных] ="Данные" и элемент данных из списка [Данные.Ключ] (D). Для информации отобразятся Данные.Значение и тип данных для этого значения.
                                                                                        • Новое. Если для параметра требуется установить значение, то для [Источник данных] следует выбрать "Значение" и ввести значение в соответствующее поле (V), принимая во внимание тип данных.

                                                                                        3. Изменения функциональные и интерфейсные

                                                                                        3.1. Авто-отбор актуальных записей логов за последние 24 ч
                                                                                        При открытии форм списка журналов событий ("Задачи/Логи", "Задачи/История", "Процессы/Логи", "Процессы/История" и "Аудит") теперь авто-устанавливается ограничение по периоду - за "Последние 24 часа". Это сделано для ускорения получения актуальных записей лога, а не всех – как было ранее.

                                                                                        3.2. Хранение логина и пароля в зашифрованном виде
                                                                                        К существующему типу данных Credential, используемого для хранения пароля - добавлен тип данных AuthCredential, позволяющий хранить в зашифрованном виде логин и пароль.

                                                                                        Методы API для вызова Credential данных не изменились.
                                                                                        Для использования данных AuthCredential через API / Studio нужно отправлять JSON строку вида:
                                                                                        • {"login":"<value>", "password":"<value>"}.
                                                                                        3.3. Отключение Агента в интерфейсе PIX Master
                                                                                        В разделе "Агенты" добавлен контроль для отключения Агента, подключенного к PIX Master.

                                                                                        3.4. Выгрузка в CSV - ограничение по количеству строк
                                                                                        Реализовано ограничение количества строк при экспорте в CSV. Если количество записей превышает лимит, выводится сообщение об ошибке и пользователю необходимо уменьшить количество выгружаемых строк, применив фильтры.

                                                                                        Ограничением возможно управлять администратору – для этого в разделе "Администратор"/"Настройки" в секции [Настройки экспорта в CSV] изменить значение поля "Лимит количества строк при выгрузке в CSV". Значение по умолчанию - 10 000.
                                                                                        4. Master в отказоустойчивом варианте

                                                                                        Для обеспечения отказоустойчивости и горизонтальной масштабируемости реализована возможность работы нескольких экземпляров Master в кластерном режиме.
                                                                                        Схема основана на использовании:
                                                                                        • Балансировщика сетевой нагрузки (NLB), благодаря которому запросы от Клиента (веб- браузер) и Агентов динамически маршрутизируются между несколькими узлами кластера;
                                                                                        • Базы данных Redis - для синхронизации и хранения состояний агентов;
                                                                                        • Реплицируемой базы данных PostgreSQL - для данных и метаданных Master

                                                                                          5. Изменения API для задач

                                                                                          Появился новый API для запуска задачи по Наименованию:
                                                                                          • POST /api/Tasks/StartTaskByName?taskName={taskName}
                                                                                          Новый метод API является альтернативой запуска задачи по ID задачи (POST /api/StartTask).
                                                                                          Добавлен метод API для получения списка задач:
                                                                                          • GET /api/Tasks/GetTaskList
                                                                                          5. Исправлены обнаруженные ошибки

                                                                                          • Исправлены ошибки интерфейса:
                                                                                            o переход между формами списков с передачей фильтров;
                                                                                            o применение настроек фильтрации при переходе на следующую страницу при пагинации;
                                                                                            o вертикальное смещение чек-бокса относительно его подписи в окне авторизации;o отображения длинных строковых значений для "Данных": в форме списка и выпадающих списках длинная строка теперь обрезается; в форме элемента - выводится многострочное поле со скроллом.
                                                                                          • В "Планировщике" устранено смещение CRON выражения на -3 часа при неудачном сохранении шаблона расписаний, например, при создании дублей записей CRON-выражений.
                                                                                          • Устранена ошибка, когда после удаления агента из PIX Master приложение агента подключается к уже удаленному в Master агенту.
                                                                                          • Исправлена ошибка невозможности открыть раздел "Редактировать пользователя" без прав администратора, что требуется для смены пароля пользователем.
                                                                                          • В разделе Администрирование \ Настройки устранена ошибка проверки подключения к почтовому серверу.

                                                                                          Исправлены прочие ошибки.

                                                                                            Анонс релиза - 5 сентября 2022
                                                                                            PIX Master 1.17
                                                                                            1. Формы списков – управление фильтрацией и выгрузка данных

                                                                                            1.1. Управление отборами/фильтрами для форм списка.
                                                                                            Существенно расширен функционал по управлению отборами/фильтрами.
                                                                                            Панель фильтров теперь содержит две секции:
                                                                                            1) новую - с предустановленным набором полей фильтрации
                                                                                            2) доработанную секцию - для настройки дополнительных условий фильтрации пользователем.
                                                                                            Предустановленные фильтры (1) включают:

                                                                                            - поле для поиска по всем строковым полям с условием поиска "Содержит" (эквивалентно like '%пстр%' в SQL);
                                                                                            -для логов - поле поиска по дате-времени с выбором из готовых шаблонов: "Последний час", "Последний день", "Последняя неделя", "Последние 30 дней".
                                                                                            -типичные поля фильтрации, специфичные для каждого интерфейса.

                                                                                            Секция дополнительных условий фильтрации (3) предназначена для настройки пользователем произвольных полей и условий:
                                                                                            - поля для фильтрации возможно выбирать из списка всех полей таблицы, добавлять по кнопке [+] и настраивать для каждого поля условия сравнения;
                                                                                            - несколько условий [поле + условие для поля] связываются оператором "И".

                                                                                            Для обновления таблицы формы списка с учетом выбранных фильтров необходимо нажать кнопку [Применить] (2).

                                                                                            Пользовательские наборы фильтров. Теперь дополнительно стало возможно сохранять пользовательские наборы фильтров. При сохранении по кнопке [Сохранить] (4) – необходимо задать имя набора фильтров, для этого набора сохранятся все выбранные и настроенные условия фильтрации.
                                                                                            Сохранённый набор фильтров возможно выбирать из списка, отображаемого по кнопке (5).

                                                                                            Имя выбранного набора фильтров отображается рядом с заголовком интерфейса - см. (6).
                                                                                            Чтобы поделиться с другими пользователями настройками фильтрации, возможно использовать URL из строки браузера – в этом URL есть идентификатор набора фильтров.

                                                                                            1.2. Выгрузка данных в файлы.
                                                                                            Для форм списков добавлена возможность выгрузки в CSV-файл.

                                                                                            2. Очереди данных – изменения
                                                                                            Расширены функции по управлению статусами элементов очереди - добавлены параметры и условия для перевода элементов в статус TimeOut и метод API для создания нового элемента копированием элемента в статусе TimeOut.
                                                                                            2.1. Условия для перевода в статус TimeOut
                                                                                            Добавлен глобальный для PIX Master параметр "Максимальное время обработки элемента очереди данных (ч)".
                                                                                            Обычно этот параметр равен 24 часам, но его возможно изменить в административных настройках (Master -> Администратор -> Настройки -> Настройки очередей данных).
                                                                                            Этот параметр влияет на перевод в статус TimeOut по условию:
                                                                                            Время в очереди > Макс. время обработки элемента очереди данных (ч)
                                                                                            Cм. условие (A) – на схеме изменения статусов: "New" -> "TimeOut" и "Processing" -> "TimeOut"


                                                                                            Для очереди данных добавлен параметр "Максимальное время обработки элемента очереди в статусе Processing (мин.)" (P).

                                                                                            Если время обработки в статусе Processing превысит величину этого параметра, то элемент будет переведен в статус TimeOut - см. путь (1) на схеме изменения статусов ниже.


                                                                                            2.2. Создание копии для повторной обработки элемента
                                                                                            Статус=TimeOut для элементов очереди считается конечным.
                                                                                            Однако, если элемент нужно повторно обработать, возможно создать его копию в статусе=New, используя API - см. (2) на схеме изменения статусов выше:
                                                                                            - метод POST API/Queues/RetryTimedOutItem с параметрами id - идентификатор элемента очереди, PostponeDate (опционально), DeadlineDate (опционально)
                                                                                            2.3. Процессы группы "Очереди данных" – добавлен блок "Количество элементов > N"
                                                                                            Новый блок "Количество элементов > N" используется для ожидания накопления определенного количества необработанных элементов очереди, после чего передает управление следующему за ним блоку процесса.
                                                                                            В блоке для указанной очереди необходимо настроить параметры "Минимальная длина очереди" и "Время обновления", опционально возможно настроить дополнительные условия отбора – "Ссылку", "Приоритет", "Комментарий".


                                                                                            Пример использования. При накоплении необработанных элементов очереди > N помимо обычно работающего Процесса-1, требуется подключить к обработке очереди Процесс-2 (аналогичный Процессу-1, но использующий другого Агента) - тогда в начало Процесса-2 нужно добавить блок "Количество элементов > N".
                                                                                            2.4. Очереди данных – для таблицы "Детали" добавлены поля "Тип ошибки", "Сообщение ошибки"

                                                                                            3. Процессы группы "Почта" - блок [Мониторинг почты]
                                                                                            Добавлена опция "Оставлять письмо непрочитанным".

                                                                                            4. Доступ пользователей - аутентификация через Active Directory
                                                                                            Для реализации требований информационной безопасности и расширения мультиплатформенных возможностей добавлены функции:
                                                                                            -интеграции со службой Active Directory при хостинге на Linux-платформах,
                                                                                            -автоматического входа в Master, с использованием учетной записи из AD,
                                                                                            -ограничения списка пользователей AD и настройки авторизации только через AD.

                                                                                            4.1. Ограничение для списка пользователей Active Directory.
                                                                                            Добавлена
                                                                                            возможность ограничивать отображение пользователей AD – в списке отображаются пользователи после ввода N-символов подстроки имени пользователя
                                                                                            (см. 1 и 2).

                                                                                            Параметр, управляющий отображением пользователей в списке - "Минимальное количество символов для начала поиска подходящих пользователей AD" заполняется в Администратор \ Настройки \ Настройки безопасности.

                                                                                            4.2. Опция входа только через Active Directory
                                                                                            Опция "Вход только через AD" устанавливается в конфигурационном файле Master'a.
                                                                                            Если опция включена, то:
                                                                                            • при регистрации нового пользователя доступен для ввода только его логин AD, электронная почта, роли и группы;
                                                                                            • пользователи входят в Master без ввода учётных данных (логина и пароля), авторизуясь через AD.
                                                                                            Ограничение: опция доступна только при хостинге Master'a на IIS сервере с поддержкой Windows-аутентификации.

                                                                                            4.3. Интеграция с Active Directory при размещении Master на ОС Linux
                                                                                            Опция "Интеграция с AD" устанавливается в конфигурационном файле Master'a.

                                                                                            4.4. Подключение Studio к Master, используя учетные данные пользователя Active Directory
                                                                                            Доработано подключение Studio к Master - стало возможным подключаться под учетными данными пользователя Active Directory, привязанными к пользователям Master'a.

                                                                                            5. Проверка состояния подключения Агентов к Master
                                                                                            Реализован механизм постоянной проверки состояния Агентов, подключённых к PIX Master.
                                                                                            Контроль состояния Агентов со стороны Мастера осуществляется в автоматическом режиме несколько раз в минуту, что позволило повысить качество и точность мониторинга за подключенными Агентами, а также предоставить конечному пользователю актуальные данные о состоянии Агентов.


                                                                                            6. Исправлены обнаруженные ошибки
                                                                                            Исправлены ошибки в Шаблонах расписания:
                                                                                            - при сохранении шаблона с типом Календарь;
                                                                                            - при открытии интерфейса Шаблоны расписания при отсутствии в нем элементов;
                                                                                            - запуска задач и процессов по расписанию, если в Планировщике установлено условие "Каждое первое число месяца".

                                                                                            Исправлено применение фильтров для форм списков на ОС Linux.

                                                                                            Исправлены прочие ошибки.
                                                                                            Анонс релиза - 22 июля 2022
                                                                                            PIX Master 1.16
                                                                                            1. Изменен интерфейс PIX Master

                                                                                            Изменена панель разделов:
                                                                                            – разделы перегруппированы, группы отделены друг от друга горизонтальными линиями;
                                                                                            – настройка языка интерфейса переехала в новый раздел [Настройки] (U). В будущем в этом разделе появятся настройки для управления темами и элементами интерфейса самими пользователями.

                                                                                            Изменены формы списка разделов:
                                                                                            Изменено оформление шапки таблицы, добавлены указатели направления сортировки в виде стрелки в заголовке столбца (1), доработаны правила адаптивности ширины столбцов, гиперссылки для "операций" заменены на иконки (2), доработаны шрифты и цветовое оформление.
                                                                                            Изменена сортировка таблиц логов – сначала выводятся последние по времени появления записи.

                                                                                            Изменены формы добавления, редактирования и удаления элементов:
                                                                                            – наименование и значение полей теперь расположены рядом - по горизонтали.
                                                                                            *) для узкого окна/экрана монитора эти поля адаптируются, размещаясь одно под другим;
                                                                                            – унифицировано оформление заголовков, полей и контролов.

                                                                                            Изменен интерфейс для раздела "Процессы".
                                                                                            Доработано оформление полей, управляющих элементов и диаграммы процессов.

                                                                                            Блоки процессов в панели [Блоки] теперь представлены в виде дерева с группами и элементами.

                                                                                            Изменено оформление блоков на диаграмме - блок окрашен в цвет группы и имеет иконку, уникальную для типа блока.

                                                                                            Изменены интерфейсы "Планировщик" и "Шаблоны расписания".
                                                                                            Для "Планировщика" стало возможно изменять признак [Активен] в форме списка, не открывая форму редактирования элемента (A).

                                                                                            В "Планировщике" и "Шаблонах расписания" шаблоны теперь выводятся в более понятном для пользователя виде (C) - ранее выводилась строка Cron-выражения.

                                                                                            2. Очереди данных - добавлены поля и функции по управлению приоритетами, статусами, временным окном и повторными попытками обработки

                                                                                            2.1. Новые функции и поля: "Приоритет", "Отложить до", "Крайний срок", "Ссылка", "Комментарий".
                                                                                            Для очередей данных добавлены поля, методы API и функционал:
                                                                                            • для управления приоритетом обработки элементов очереди – поле "Приоритетом" (P – на рисунке). Значение = "Низкий", "Средний", "Высокий" устанавливается инициатором помещения в очередь и учитывается при обработке элементов очереди.
                                                                                            По умолчанию, если приоритет не задан, то устанавливается "Средний" приоритет.
                                                                                            • для управления Временным окном, предусмотренным для обработки элемента очереди данных
                                                                                            o "Отложить до" | Postpone (O) - не обрабатывать до Дата-Время
                                                                                            o "Крайний срок" | Deadline (D) - не обрабатывать после Дата-Время, если к строка очереди не была обработана до крайнего срока, то её статус будет изменен на Статус="TimeOut"
                                                                                            • управляющее поле "Ссылка" | Reference ID (R) устанавливается инициатором помещения в очередь и учитывается при обработке элементов очереди. Это поле может использоваться для привязки транзакций, выполняемых роботом к сущностям/транзакциям другой системы, а также для группировки / отбора деталей очереди и других целей, определяемых разработчиком роботов.
                                                                                            Если установлен признак "Ссылка должна быть уникальной" (r), то при помещении детали с заполненной "Ссылкой" система проверит уникальность ссылки и при не уникальности не поместит строку в очередь данных, записав в лог ошибку.
                                                                                            • поле "Комментарий" | Comment (C) строковое поле, может использоваться по усмотрению разработчика роботов.

                                                                                            Описанные выше поля возможно устанавливать тремя способами:
                                                                                            - используя API,
                                                                                            - настраивая блок процесса [Добавить в очередь],
                                                                                            - настраивать в Studio, используя активность [Поместить элемент в очередь] *)
                                                                                            Значения новых полей возможно получать и учитывать в скрипте/процессе/задаче:
                                                                                            - используя API,
                                                                                            - настраивая блок процесса [Получить из очереди] ,
                                                                                            - настраивать в Studio, используя активность [Получить элемент из очереди] *)
                                                                                            * новые поля в активностях будут доступны в PIX Studio версии 2.10 и выше.
                                                                                            2.2. Управление максимальным временем обработки элемента очереди.

                                                                                            В настройки очереди данных в PIX Master добавлен параметр Максимальное время обработки элемента очереди (минут), ограничивающий время обработки элемента очереди, по истечении этого времени (с момента начала обработки элемента очереди) обработка прервется и статус элемента изменится в TimeOut.
                                                                                            2.3. Управление попытками обработки элемента очереди при ошибке выполнения (Retry).
                                                                                            Появился новый функционал для осуществления повторных попыток обработки элемента очереди данных.
                                                                                            В PIX Master для определенной очереди данных возможно установить флаг "Использовать попытки" и настроить параметры для повторных попыток обработки:

                                                                                            - Максимальное количество попыток обработки - система при ошибке обработки элемента очереди будет предпринимать повторные попытки, а при достижении максимального количества неудачных попыток установит Статус элемента в Failed;

                                                                                            - Задержка для попытки обработки (секунд) – повторная попытка будет выполнена не ранее чем через установленный интервал времени, по умолчанию =0;

                                                                                            - Помещать элемент в конец очереди при повторении обработки – система при отборе элементов очереди для обработки будет сравнивать время предыдущей попытки для этого элемента с временем помещения в очередь других еще необработанных элементов.

                                                                                            2.4. Новые поля добавлены в Лог обработки

                                                                                            Новые поля отображаются в Логе обработки, который выводится для выбранной очереди данных на закладке [Детали]

                                                                                            2.5. Добавлены статусы обработки, методы и правила изменения статусов:
                                                                                            "Failed" ("Завершен с ошибкой" / "Неудачное завершение"). При неуспешном завершении статус изменяется на "Failed".
                                                                                            "Canceled" ("Отменен"). Добавлен метод API для изменения Статуса элемента очереди из "New" в "Canceled".
                                                                                            Схема процессов по управлению очередями и переходы статусов - см. на рисунке:



                                                                                            3. Очереди задач – добавлен параметр "Тип очереди"

                                                                                            В настройки очереди задач добавлено поле "Тип очереди".
                                                                                            Значения – "Строгая" и "Гибридная" выбираются из выпадающего списка (по умолчанию - "Строгая").

                                                                                            Для типа "Строгая" – последовательность назначения задач определяется СТРОГО временем добавления задачи - новая задача назначается Агенту только, если выполнена предыдущая задача.
                                                                                            Для типа "Гибридная" – Мастер назначает Агенту ближайшую подходящую задачу, но без строгого соблюдения очередности.

                                                                                            В таблице - пример, поясняющий Гибридный тип очереди. Если Агент_B выполнил Задачу-2, а следующая задача предназначена для другого Агента_А, то пропустив эту Задачу-3 Мастер назначит Агенту_B подходящую ему Задачу-4.

                                                                                            4. Данные – сняты ограничения на длину полей и добавлена инфо о "Связанных задачах"
                                                                                            Убрано ограничение на длину для полей "Ключ" (Key) и "Значение" (Value): типы данных nvarchar(max) в MSSQL и text в PostgreSQL.
                                                                                            - Добавлена возможность задать <пустое значение> для поля "Значение" (Value).
                                                                                            - В редактирование элемента "Данных" добавлен блок "Связанные задачи" (J).

                                                                                            5. Администрирование – расширены настройки почтового сервера
                                                                                            В Администратор \ Настройки дополнены и сгруппированы поля для настройки параметров почтового сервера для протоколов SMTP и IMAP.

                                                                                            Добавлена возможность настройки опций:
                                                                                            - Использовать разные учетные данные SSL-шифрование для SMTP и IMAP
                                                                                            - Использовать SSL-шифрование для SMTP
                                                                                            - Использовать SSL-шифрование для IMAP
                                                                                            - Использовать анонимную аутентификацию для SMTP.
                                                                                            Отмечены (символом *) и проверяются при сохранении поля, обязательные для заполнения.

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

                                                                                            6. Оповещение пользователя по email при завершении задачи с ошибкой
                                                                                            При возникновении ошибки, если задача завершается со статусом "Failed" - на адрес электронной почты, указанный в настройках пользователя, от имени которого выполнялась задача/процесс, отправляется письмо с информацией об ошибке:

                                                                                            7. API для управления планировщиком
                                                                                            Создан API для управления Планировщиком – возможно делать активной/неактивной строку планировщика с определенным ID.

                                                                                            8. Исправлены обнаруженные ошибки
                                                                                            • Исправлено отображаемое в списке время (часы) Cron выражений – было с учетом часового пояса.
                                                                                            • Устранена ошибка получения лицензии Студии из Мастера.
                                                                                            • Исправлены прочие ошибки.


                                                                                            Анонс релиза - 13 мая 2022
                                                                                            Описание нового функционала
                                                                                            PIX Master 1.15
                                                                                            1. Очередь запуска задач
                                                                                            Появился функционал по управлению очередями задач – при работе мастера задача ставится в очередь на выполнение, если для нее это настроено.
                                                                                            Для задачи возможно настроить:­
                                                                                            - привязку к "Очереди задач"
                                                                                            - тайм-аут ожидания в очереди (в минутах)
                                                                                            Для очереди настраиваются "Название", "Описание" и список "Лицензий роботов".
                                                                                            На закладке [Детали] отображается информация по логам выполнения для выбранной очереди:


                                                                                            2. Календарь для шаблонов расписания

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

                                                                                            Для расписания с типом = "Calendar" (1) возможно настроить рабочие дни вручную (4) или загрузить файл (2) с Производственным календарем, например, с сайта https://data.gov.ru/ (3).

                                                                                            3. "Процессы" - новые блоки для интеграции с брокерами сообщений Kafka и RabbitMQ.

                                                                                            В "Процессы" добавлены блоки, которые мониторят события внешних брокеров сообщений Kafka и RabbitMQ. Логика, по аналогии с очередями – получать оповещения от брокера передавать данные следующему блоку процесса.

                                                                                            4. Монитор. Возможность перемещать диаграммы.

                                                                                            Добавлена возможность менять местами диаграммы – для этого необходимо позиционировать курсор на заголовке, нажать левую кнопку мыши и "перетащить" диаграмму в выбранную область – при этом диаграммы поменяются местами – см. рисунок ниже.

                                                                                            5. На странице версий проекта добавлена сортировка по полю "Версия".

                                                                                            6. В интерфейсы "Проекты" и "Агенты" добавлены панели [Связанные задачи], в которых отображаются задачи, где используется выбранный проект или агент.

                                                                                            7. Появилась опция поиска пользователя для списка ActiveDirectory

                                                                                            8.Расширен API для Проектов (см. API проектов)
                                                                                            :
                                                                                            - добавлен метод по созданию нового проекта.
                                                                                            - добавилен параметр IsActual, который в случае =True помечает последнюю загруженную версию как актуальную.
                                                                                            9. Исправлены обнаруженные ошибки:
                                                                                            • Исправлены ошибки работы с проектом в Linux
                                                                                            • Устранена ошибка зависания процесса в блоке "Подтверждение" для почтового сервера mail.ru
                                                                                            • Для схемы процесса убрано ограничение по количеству символов в наименовании блока схемы.
                                                                                            • Устранена ошибка получения списка проектов в PostgreSQL.
                                                                                            • Раздел "Данные" - устранена необходимость экранировать символ "/" (слеш) при указании пути к файлу.