Функции создания бэкапа и истории изменений разработаны для хранения истории изменения Стадий с возможностью восстановления состояния стадии на момент сохранения.
Возможности функции
Данные функции позволяют выполнять следующий набор операций с записями об изменениях стадии:
- Создание бэкапа стадии
- Просмотр информации о созданных бэкапах
- Просмотр историй изменений стадий Конфигурации;
- Просмотр истории изменений конкретной стадии.
- Восстановление стадии
- Восстановление в текущую стадию
- Восстановление в новую стадию
- Восстановление в любую существующую стадию
- Сравнение двух записей истории
- Сравнение записи в истории с любой существующей стадией;
- Сравнение записи в истории с текущим состоянием стадии.
- Подключение модуля расширения
Подключение модуля расширения
Подключение осуществляется по следующему алгоритму:
- Зарегистрировать плагин в 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
Показывает объекты, которые есть только во второй из сравниваемых стадий. Можно посмотреть детальную информацию о них, аналогично тому, как это описано для вкладки «Объекты различаются».
Вкладка «Объекты совпадают»
Показывает объекты, которые есть в обеих сравниваемых стадиях и полностью совпадают по всем параметрам. Можно посмотреть детальную информацию о них, аналогично тому, как это описано вкладки «Объекты различаются».