Версии проекта
Версия проекта — это самостоятельный снимок аналитической модели проекта. Версии позволяют вести несколько параллельных вариантов модели внутри одного проекта: каждая версия содержит собственный полный набор объектов, и изменения в одной версии не затрагивают другие. Версиями управляют через переключатель версий в заголовке интерфейса, рядом с названием проекта.
Что входит в версию
Данные проекта разделены на два уровня.
| Уровень | Данные |
|---|---|
| Проект | Название, описание, цвет, дата создания, владелец, компания, участники проекта, настраиваемые типы данных и указатель на глобальную версию |
| Версия | Данные РПИ (показатели, измерения, факты) со всеми настройками колонок, справочники, таблицы фактов с атрибутами и объединениями, витрины, подключения к базам данных, фильтры верификации и позиции элементов на канве модели данных |
В новом проекте всегда есть одна версия с названием «Версия 1», она же является глобальной.
Переключатель версий
Переключатель отображает текущую версию открытого проекта и содержит все версии проекта:
- Глобальная версия отмечена значком с подсказкой «Глобальная версия»
- Удалённые версии недоступны для выбора
- Если проект не открыт или версия ещё не выбрана, в поле отображается подсказка «Текущая версия»
Переключение на другую версию выполняется так же, как переключение проекта:
- Если в таблице фактов или на канве модели данных есть несохранённые изменения, система предлагает сначала сохранить или отменить их
- Клиентское состояние сбрасывается: очищаются данные РПИ, таблиц фактов, выделение ячеек и история операций undo/redo, закрываются открытые панели обсуждений
- Соединение реального времени переустанавливается на новую версию, поэтому приходят уведомления только по ней
- Со страницы конкретной таблицы фактов или витрины пользователь возвращается в соответствующий список, поскольку в новой версии это уже другие объекты
Выбранная версия запоминается для проекта на время сессии браузера, поэтому при повторном открытии проекта восстанавливается версия, в которой вы работали последней.
Меню версии
Кнопка рядом с переключателем открывает меню версии:
| Пункт меню | Действие |
|---|---|
| «Создать новую версию» | Создаёт новую версию на основе выбранной исходной версии |
| «Экспортировать в Git» | Выгружает версию в файл или в Git-репозиторий (см. экспорт и импорт версий проекта) |
| «Импортировать из Git» | Загружает версию из файла или из Git-репозитория |
| «Редактировать» | Переименовывает текущую версию |
| «Сравнить версии» | Открывает сравнение двух версий |
| «Установить глобальной» | Делает текущую версию глобальной. Пункт не отображается, если текущая версия уже глобальная |
| «Удалить» | Удаляет текущую версию |
Создание версии
Пункт «Создать новую версию» открывает окно «Создать версию проекта»:
| Поле | Обязательность | Описание |
|---|---|---|
| Название проекта | — | Текущий проект, поле только для чтения |
| Исходная версия | Да | Версия, содержимое которой копируется в новую. По умолчанию подставляется текущая, глобальная версия отмечена значком |
| Новая версия | Да | Название новой версии: максимум 64 символа, оно должно отличаться от названий остальных версий проекта |
При сохранении в новую версию копируется всё содержимое исходной: данные РПИ с настройками колонок и списками значений, справочники, таблицы фактов с атрибутами и объединениями, подключения к базам данных, позиции модели данных, фильтры верификации и импорты файлов. Все внутренние ссылки перестраиваются, чтобы копия была согласованной, и с этого момента версии развиваются независимо.
Новая версия становится текущей, и интерфейс переключается на неё.
Примечания:
- Количество версий в проекте ограничено лицензией компании. При достижении лимита создание версии отклоняется с уведомлением «Достигнут лимит версий»; тот же лимит действует при создании версии импортом
- Для создания версии требуется действующая лицензия
Переименование версии
Пункт «Редактировать» открывает окно «Редактировать версию проекта», в котором название проекта отображается только для чтения, а название версии можно изменить. Правила для названия те же, что при создании версии. Здесь изменяется только название версии; её содержимое меняется через разделы РПИ, таблиц фактов, витрин и подключений.
Глобальная версия
Глобальная версия — это версия, обозначенная как текущая рабочая версия проекта. Она используется по умолчанию для всего проекта: запрос, в котором версия не указана явно, обслуживается из глобальной версии, поэтому именно её по умолчанию видят другие пользователи и внешние системы.
Пункт «Установить глобальной» запрашивает подтверждение в окне «Сделать текущую версию проекта глобальной» и предупреждает, что изменение затронет всех пользователей, работающих над проектом. После подтверждения все пользователи проекта получают уведомление «Пользователь … изменил глобальную версию проекта на …», а их список версий обновляется.
Глобальной в один момент может быть только одна версия, и удалить глобальную версию нельзя.
Удаление версии
Пункт «Удалить» запрашивает подтверждение и предупреждает, что все данные версии будут утеряны. При удалении версии удаляется всё её содержимое — данные РПИ, таблицы фактов, витрины, подключения, фильтры верификации и позиции модели данных.
Примечания:
- Глобальную версию удалить нельзя. Чтобы удалить её, нужно сначала сделать глобальной другую версию
- После удаления система переключает вас на глобальную версию
- Пользователи, работавшие в удалённой версии, получают сообщение о том, что версия удалена другим пользователем и её данные больше не доступны
Сравнение версий
Пункт «Сравнить версии» открывает построчное сравнение двух версий проекта. Панели прокручиваются синхронно: слева отображается более старая версия, справа — более новая, у каждой панели свой список выбора версии. Сравнение выполняется отдельно для вкладок «Показатели», «Измерения» и «Факты», которые переключаются табами в верхней части экрана.
Каждая строка сравнения получает статус:
| Статус | Значение |
|---|---|
| Добавлена | Строка есть в новой версии и отсутствует в старой |
| Удалена | Строка есть в старой версии и отсутствует в новой |
| Изменена | Строка есть в обеих версиях, но значения одной или нескольких колонок различаются |
Для изменённых строк дополнительно указываются колонки, значения в которых различаются. Перед сравнением значения нормализуются: в формулах вместо внутренних ссылок отображаются названия элементов, значения списков — их текстовые метки, флажки — в читаемом виде.
Сравнение доступно, как только в проекте есть две и более версии и выбрана текущая версия. Это операция чтения, поэтому она доступна всем ролям, включая Аналитика и Наблюдателя, и не зависит от состояния лицензии — но лицензия, допускающая только одну версию проекта, не оставляет что сравнивать.
Ограничения:
- Сравнение работает только на чтение: откат модели к состоянию более старой версии в нём не предусмотрен. Чтобы вернуться к прежнему состоянию, создайте новую версию на основе нужной версии или загрузите ранее выгруженную её копию
- Сравнение охватывает вкладки РПИ. Различия в таблицах фактов, витринах и подключениях в нём не отображаются
Кто может управлять версиями
| Операция | Кто может выполнять |
|---|---|
| Переключение текущей версии, сравнение версий, экспорт версии | Все роли, имеющие доступ к проекту, включая Аналитика и Наблюдателя |
| Создание, переименование и удаление версии, назначение глобальной версии, импорт версии | Разработчик, Менеджер проекта, Администратор компании, Суперадминистратор — то есть участники проекта с доступом уровня «Разработчик» и выше |
Операции с версиями фиксируются в системном журнале.