Перейти к основному содержимому
Версия: 1.20.1

Сборка локальных пакетов

подсказка

Требуемая роль: admin.

Локальный пакет – это запись в таблице Локальные пакеты (sys_vcs_local_pack), которая содержит определенный набор записей из таблицы Записи VCS (sys_vcs_record). Собирайте в отдельные локальные пакеты записи VCS по типу изменений и экспортируйте их как готовый набор настроек и обновлений. При помощи экспорта локальных пакетов осуществляется перенос разработки приложений на другой экземпляр. Для этого экспортируйте их как SOP–файл и примените изменения на новом экземпляре.

Больше информации в статье Конфигурационные пакеты.

Экспортируемый конфигурационный пакет включает:

  • Локальный пакет – в нем объединены все записи VCS, соответствующие определенному набору произведенных изменений. Эти записи могут быть реализованы на другом экземпляре посредством имплементации всего конфигурационного пакета. Другими словами, локальный пакет содержит ссылки на записи, которые будут изменены, вставлены или удалены в целевом экземпляре.
  • Запись VCS – содержит версию записи.
  • SOP–файл – физический файл в формате SOP. Он содержит все версии записей из локального пакета. Перенесите его на любой другой экземпляр SimpleOne.

Сборка локального пакета


Сборка и экспорт локального пакета включают следующие этапы:

  1. Создание локального пакета для сбора записей VCS.
  2. Сбор записей VCS в локальный пакет:
    • [восстановление] записей (при необходимости).
    • [перенос записей] из пакета (при необходимости).
  3. Объединение нескольких локальных пакетов (при необходимости).
  4. Экспорт SOP–файла.
подсказка

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

Как импортировать пользовательское приложение

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

  1. Перейдите в КонфигурацииПриложения.
  2. Найдите запись приложения, используя поиск по списку или конструктор условий. Откройте эту запись.
  3. В области Связанные списки откройте вкладку Записи VCS.
  4. Откройте актуальную запись приложения (установлен флажок Актуальная). Приложение будет импортировано в целевой экземпляр даже если на форме записи VCS в поле Действие выбрано Обновление.
  5. На форме Запись VCS, в поле Локальный пакет укажите необходимый локальный пакет.
  6. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Командная разработка


В SimpleOne вы можете последовательно экспортировать и загружать отдельные локальные пакеты. Также платформа SimpleOne позволяет целой команде работать над одной и той же задачей в рамках одного приложения. Для этого каждому из разработчиков необходимо выполнять свою часть работы в отдельном локальном пакете. После завершения всех работ локальные пакеты необходимо объединить в финальный локальный пакет. Ниже этот процесс изображен на схеме:

внимание

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

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

  1. Каждый член команды должен создать свой локальный пакет в определенном приложении, в который он будет помещать изменения конфигурационных записей в виде их версий записей VCS. Результаты работы над конкретной задачей должны быть перенесены в отдельный пакет.
  2. Когда все разработчики, работавшие над одной и той же задачей, закончили сборку своих пакетов, все пакеты объединяются в финальный.

Создание локального пакета


Чтобы создать локальный пакет, выполните следующие шаги:

  1. Перейдите в КонфигурацияЛокальные пакеты.
  2. Нажмите Создать и в открывшейся форме заполните все необходимые поля.
  3. Есть два способа применить изменения и продолжить сборку локального пакета:
    • Нажмите Сохранить. Затем нажмите Сделать текущим, чтобы переключить локальный пакет на этот в Настройках администратора и приступить к работе.
    • Нажмите Сделать текущим и сохранить, чтобы переключить локальный пакет на этот в Настройках администратора и приступить к работе.

Управление записями VCS


Чтобы составить локальный пакет, управляйте набором записей VCS в Связанном списке. Записи можно восстанавливать и перемещать между пакетами.

Восстановление записи VCS


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

к сведению

Записи приложения Simple с политикой защиты не могут быть перезаписаны.

Чтобы восстановить версию, выполните следующие шаги:

  1. Откройте необходимую запись.
  2. Прокрутите страницу вниз до области Связанные списки и откройте вкладку Записи VCS.
  3. Откройте версию, которую нужно восстановить.
  4. Нажмите Воcстановить.
к сведению

Другой способ восстановления версии:

  1. Перейдите в КонфигурацииЗаписи VCS.
  2. Найдите версию, которую нужно восстановить. При необходимости используйте поиск по списку или конструктор условий.
  3. Откройте необходимую запись.
  4. Нажмите Восстановить.

После этого новая запись VCS будет создана в текущем локальном пакете.

Удаление записи VCS из локального пакета


Платформа SimpleOne не предусматривает полного удаление записей VCS из системы. При нажатии на кнопку Убрать из пакета записи перемещаются в дефолтный локальный пакет. Если один из локальных пакетов содержит лишние записи VCS, или если эти записи должны находиться в другом локальном пакете, их можно перенести.

Чтобы перенести запись VCS, выполните следующие шаги:

  1. Перейдите в КонфигурацияЛокальные пакеты.
  2. Откройте пакет, из которого необходимо перенести запись VCS.
  3. Прокрутите страницу вниз до области Связанные списки и откройте вкладку Записи VCS.
  4. Отметьте флажками все необходимые для переноса из локального пакета записи и нажмите Убрать из пакета.
  5. Эти записи будут перенесены в дефолтный локальный пакет соответствующего приложения.

В результате:

  • Все выбранные версии записей перемещены в дефолтный пакет.
  • Все версии записей с таким же ID записи, как и выбранные, перемещены в дефолтный пакет. Это значит, что все предыдущие и текущие версии каждой выбранной записи перемещены.

Записи из дефолтного локального пакета удалить нельзя.

Перенос записи VCS в другой локальный пакет


Если версия по ошибке была создана не в том локальном пакете (например, в локальном пакете по умолчанию), вы можете переместить ее в нужный локальный пакет. Для этого выполните следующие действия:

  1. Перейдите в КонфигурацияЗаписи VCS.
  2. Найдите версию, которую нужно перенести. При необходимости используйте поиск по списку или конструктор условий.
  3. Откройте необходимую запись.
  4. Нажмите на иконку лупы рядом с полем Локальный пакет, чтобы выбрать необходимый локальный пакет.
  5. Нажмите Сохранить или Сохранить и выйти.

Мгновенные снимки


Мгновенные снимки позволяют восстановить версии записи в следующих случаях:

  • Отсутствует текущая версия записи.
  • Текущая версия записи устарела. Это происходит, когда в поле Копия записи (JSON) этой версии записи стоит дата изменения позже, чем та, что указана в поле Изменено на форме записи версии.

В системах контроля версии (VCS), мгновенный снимок – это фиксированное описание состояния системы или базы данных.

Есть два способа создать снимок таблицы:

  • через форму управления таблицами (настройки таблицы).
  • при помощи серверного класса API SimpleVcs.

Способ 1

  1. Перейдите в Настройки системыВсе таблицы.
  2. Найдите таблицу, снимок которой необходимо сделать, и откройте ее. Для более быстрого поиска таблицы воспользуйтесь поиском по списку или конструктором условий.
  3. В бургер-меню перейдите НастроитьТаблица.
  4. Нажмите Создать снимок таблицы наверху страницы справа. Эта кнопка есть только в таблицах, где включен контроль версий (установлен флажок Контроль версий).

Способ 2

  1. Перейдите в Настройки системыСерверные скрипты.
  2. Напишите скрипт и вызовите через него метод createTableSnapshot(tableName).

Ниже представлен пример скрипта для выполнения снимка всех версионируемых таблиц внутри текущего приложения.

Скрипт выполнения снимка таблицы
const table = new SimpleRecord('sys_db_table');
table.addQuery('is_vcs_enabled', true);
table.addQuery('sys_id', '!=', '999999999999999998'); // исключить REM
table.selectAttributes('name');
table.query();
while (table.next()) {
const vcs = new SimpleVcs();
const versionCount = vcs.createTableSnapshot(table.name);
if (versionCount > 0) {
ss.info(`${table.name.padStart(80, " ")}: ${versionCount} versions created`);
}
}

Завершение сбора записей конфигурации


Чтобы завершить сбор записей в локальном пакете, выполните следующие шаги:

  1. Нажмите на иконку шестеренки в верхнем правом углу, чтобы открыть меню настроек администратора.
  2. В поле Приложение выберите необходимое приложение.
  3. Нажмите на иконку справа от поля Локальный пакет.
  4. В поле Статус установите значение Завершен.
  5. Нажмите Сохранить или Сохранить и выйти, чтобы сохранить изменения.
  6. Нажмите Экспорт обновлений, чтобы скачать приложение для его установки на другие экземпляры. Больше информации в статье Конфигурационные пакеты.

Второй способ загрузки локального пакета:

  1. Перейдите в КонфигурацияЛокальные пакеты.
  2. Откройте необходимую запись.
  3. Измените Статус пакета на Завершен.
  4. Нажмите Сохранить или Сохранить и выйти, чтобы сохранить изменения.
  5. Нажмите Экспорт обновлений, чтобы скачать приложение для его установки на другие экземпляры.
примечание

При разработке одного приложения вы не можете обновлять (изменять, удалять) записи, созданные в другом приложении. При попытке изменить запись, связанную с другим приложением, появится предупреждающее сообщение.

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

Больше информации о переключении между приложениями в статье Навигация и панели.