Предназначение History plugin, создание бэекап, сравнение стадий, восстановление стадии

Функции создания бэкапа и истории изменений разработаны для хранения истории изменения Стадий с возможностью восстановления состояния стадии на момент сохранения.

Возможности функции

Данные функции позволяют выполнять следующий набор операций с записями об изменениях стадии:

  • Создание бэкапа стадии
  • Просмотр информации о созданных бэкапах
    • Просмотр историй изменений стадий Конфигурации;
    • Просмотр истории изменений конкретной стадии.
  • Восстановление стадии
    • Восстановление в текущую стадию
    • Восстановление в новую стадию
    • Восстановление в любую существующую стадию
  • Сравнение двух записей истории
    • Сравнение записи в истории с любой существующей стадией;
    • Сравнение записи в истории с текущим состоянием стадии.
  • Подключение модуля расширения

Подключение модуля расширения

Подключение осуществляется по следующему алгоритму:

  • Зарегистрировать плагин в Flexberry Designer;
    • Открыть меню Настройки - Модули;
    • Нажать Создать;
    • Указать путь к библиотеке History Case Tool plugin.dll.
  • Добавить плагин к репозиторию:
    • Открыть свойства репозитория, выбрав пункт меню Репозиторий - Редактировать свойства;
    • В разделе Модули нажать Создать, в добавившейся строке в колонке Модуль выбрать HistoryPlugin;
    • Сохранить изменения.

После этого появится пункты меню Стадии HistoryPlugin:

  • История изменения стадии;
  • Создать бекап.

Также, наряду с кнопками Сохранить и Сохранить и закрыть появится кнопка Сохранить с созданием бекапа, которая сохраняет стадию и автоматически создает для неё бекап.

Создание бекапов

При создании бекапа создается запись о состоянии стадии на текущий момент.

Создать бекап можно двумя способами:

  • Выбрать пункт меню Стадии Утилиты - Создать бекап

  • Нажать на кнопку Сохранить с созданием бекапа на любой форме, привязанной к стадии (любая диаграмма, класс и пр.).

Просмотр информации о бекапах

Созданные бекапы доступны на форме просмотра бекапов, которую можно открыть двумя способами:

  • Выбрать пункт меню Конфигурации - Утилиты - История стадий конфигурации. Откроется форма просмотра бэкапов всех стадий выбранной Конфигурации.

  • Выбрать пункт меню Стадии Утилиты - История изменения стадии. Откроется форма просмотра бэкапов конкретной Стадии.

На форме История изменений стадии представлен список с указанием:

  • Даты создания бекапа
  • Пользователя, создавшего бекап
  • Операции, совершенной со стадией (Created, Changed, Deleted)
  • PrimaryKey стадии
  • Наименования стадии
  • Пути до стадии

Восстановление состояния стадии

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

Для восстановления стадии из бекапа, необходимо на форме просмотра бекапов нажать кнопку Восстановить в текущую. Также можно восстановить бекап в любую другую, в том числе и новую стадию.

Алгоритм восстановления в текущую стадию

  • Перейти на форму История изменений стадии
    • Выбрать пункт меню Стадии Утилиты - История изменения стадии
    • Открылась форма История изменений стадии
  • Выделить строку бэкапа из которого нужно восстановить состояние стадии
  • В разворачивающемся списке на панели инструментов выбрать пункт Восстановить в текущую

  • Во всплвающем окне с предупреждением нажать ОК

Алгоритм восстановления состояния стадии, которая была удалена

  • Выбрать пункт меню Конфигурации Утилиты - История стадий конфигурации
    • Открылась форма История изменений стадии
  • Выделить строку бэкапа из которого нужно восстановить состояние удаленной стадии
  • В разворачивающемся списке на панели инструментов выбрать пункт Восстановить как...

  • В появившемся окне указать имя, с которым стадия будет восстановлена. Далее есть несколько вариантов:
    • Оставить имя, которое было у стадии до удаления. Стадия будет восстановлена со старым именем
    • Ввести новое имя. Стадия будет создана с новым именем
    • Выбрать существующую стадию из списка (данные в выбранной стадии будут перезаписаны!)

  • Нажать ОК.

Сравнение стадий

Сравнение изменений между бэкапом стадии и текущим состоянием стадии

Доступно только из просмотра бэкапов конкретной стадии.

Алгоритм сравнения бэкапа стадии и текущим состоянием стадии:

  • Перейти на форму История изменений стадии
  • Выделить бэкап для сравнения, кликнув по строке правой клавишей мыши;
  • Выбрать в раскрывающемся списке пункт Сравнить с текущей
  • Будут открыты окно с логом выполнения сравнения и окно с результатом сравнения

Сравнение двух бэкапов одной стадии/кофигурации

Для сравнения двух стадий необходимо на форме просмотра бекапов выделить 2 бекапа и нажать кнопку Сравнить. Таким способом можно сравнить два бэкапа одной стадии, или бэкапы двух разных стадий, находящихся в одной конфигурации. Доступно из просмотра бэкапов конкретной стадии и из просмотра бэкапов стадий конфигурации.

Алгоритм сравнения двух бэкапов:

  • Перейти на форму История изменений стадии
  • Выделить первый бэкап, кликнув по строке правой клавишей мыши
  • Выделить второй бэкап, зажав Ctrl и кликнув правой клавишей мыши по другой строке
  • Выбрать в раскрывающемся списке пункт Сравнить

  • Будут открыты окно с логом выполнения сравнения и окно с результатом сравнения.

Сравнение бэкапа стадии с текущим состоянием любой другой стадии

Позволяет сравнить сохраненное состояние стадии, с текущим состоянием другой стадии в данном Репозитории, даже если она находится в другой Конфигурации или другом Проекте. Доступно из просмотра бэкапов конкретной стадии и из просмотра бэкапов стадий конфигурации.

Алгоритм сравнения бэкапа стадии с текущим состоянием любой другой стадии:

  • Перейти на форму История изменений стадии
  • Выбрать бэкап, для которого необходимо провести сравнение (выбрана только 1 строка)
  • Выбрать в раскрывающемся списке пункт Сравнить
  • В открывшемся окне из списка всех существующих в данном репозитории стадий выбрать ту, с которой будем сравнивать.

  • Нажать ОК
  • удут открыты окно с логом выполнения сравнения и окно с результатом сравнения.

Отображение результатов сравнения

Результаты сравнения отображаются на форме:

На форме отображено между какими стадиями происходит сравнение. Подписан путь для каждой стадии в формате Репозиторий/Проект/Конфигурация/Стадия.

Ниже доступны для просмотра 5 вкладок:

  • Результат сравнения (при открытии отображена именно она)
  • Объекты совпадают
  • Объекты только стадии 1
  • Объекты различаются
  • Объекты только стадии 2

Вкладка Результат сравнения

  • В виде круговой диаграммы выводится информация о процентном соотношении совпадающих, различающихся и уникальных для каждой стадии классов (Classes) и представлений (Views).
  • Голубым цветом на диаграмме показываются классы и представления представленные только в первой сравниваемой стадии (Стадия 1). Детальную информацию о них можно получить на вкладке Объекты только стадии 1
  • Желтым цветом на диаграмме показываются классы и представления представленные только во второй сравниваемой стадии (Стадия 2). Детальную информацию о них можно получить на вкладке Объекты только стадии 2
  • Красным цветом на диаграмме показываются классы и представления, которые есть в обеих сравниваемых стадиях и являются одинаковыми. Детальную информацию о них можно получить на вкладке Совпадают
  • Синим цветом на диаграмме показываются классы и представления, которые есть в обеих сравниваемых стадиях, но имеют некоторые отличия. Получить детальную информацию о них и посмотреть, в чем именно состоят отличия можно на вкладке Совпадают

Вкладка Объекты различаются

Информация о классах и представлениях, которые есть в обеих сравниваемых стадиях, но имеют некоторые отличия. На вкладке расположена таблица, в которой в столбце Тип объекта видим 2 раскрывающихся списка с классами (Classes) и представлениями (Views). В столбце Наименование объекта, напротив свернутых списков написано количество найденных классов и представлений имеющих отличия.

Раскрыть список Classes и выбрать один из найденных классов, например Дом.

В нижнем окне есть 2 вкладки: Поля и Ассоциации.

Вкладка Поля

Позволяет посмотреть какие поля имеет класс в стадии 1 и в стадии 2. Показан стереотип, родитель, значения атрибутов. Элементы, которых нет в одной из сравниваемых стадий выделены красным цветом.

Вкладка Ассоциации

Позволяет посмотреть какие у данного класса есть мастеры, детейлы, агрегаторы, роли, кардинальность связи. Элементы, которых нет в одной из сравниваемых стадий выделены красным цветом (в данном примере у класса Дом нет отличий в ассоциациях).

Раскрыть список Views и выбрать одно из найденных представлений, например Заказ.ЗаказЕ.

Вкладка Свойства позволяет посмотреть какие свойства имеет представление в стадии 1 и в стадии 2. Элементы, которых нет в одной из сравниваемых стадий выделены красным цветом.

Вкладка Детейлы позволяет посмотреть какие Детейлы имеет представление в стадии 1 и в стадии 2. Элементы, которых нет в одной из сравниваемых стадий выделены красным цветом. В данном примере представление Заказ.ЗаказЕ не имеет детейлов в стадии TestStandWin.

Вкладка Объекты только стадии 1

Показывает объекты, которые есть только в первой из сравниваемых стадий. Можно посмотреть детальную информацию о них, аналогично тому, как это описано вкладки «Объекты различаются».

Вкладка «Объекты только стадии 2

Показывает объекты, которые есть только во второй из сравниваемых стадий. Можно посмотреть детальную информацию о них, аналогично тому, как это описано для вкладки «Объекты различаются».

Вкладка «Объекты совпадают»

Показывает объекты, которые есть в обеих сравниваемых стадиях и полностью совпадают по всем параметрам. Можно посмотреть детальную информацию о них, аналогично тому, как это описано вкладки «Объекты различаются».