Визуализация совместной работы и предотвращение конфликтов
Сочетание Altium Designer и подключенного Workspace обеспечивает высокоэффективную платформу обмена данными, поддерживающую совместную работу над проектированием между участниками команды на основе проектов под управлением версий (VCS), хранящихся в этом Workspace.
Важной частью процесса совместной работы над проектированием является управление общим доступом и обработка потенциальных конфликтов данных, которые обычно возникают, когда более одного пользователя редактируют один и тот же проектный документ (свою «копию» файла, размещённого в Workspace). В конечном итоге такие конфликты данных обрабатываются VCS Workspace при сохранении документа в Workspace, но до этого момента у вас нет реального представления о текущем общем статусе документа.
Чтобы обеспечить потребность в информации и управлении совместным доступом к документам в реальном времени в среде редактирования, Altium Designer работает с подключенным Workspace и предоставляет интегрированную систему для визуализации и реагирования на текущий статус общих документов. Система обеспечивается свободным обменом данными о совместном доступе к документам между клиентами проектирования (через Workspace) и реализована в виде набора новых значков статуса, панели Collaborators и дополнительной логики блокировки файлов.
Предварительные условия
Информация и управление совместной работой в реальном времени для общих документов доступны при следующих условиях:
- Проект, которым планируется делиться, размещён в подключенном Workspace как проект Workspace под управлением версий (VCS).
- Участники совместной работы являются членами Workspace и подключены к нему.
- Проект Workspace предоставлен всем участникам совместной работы — с правами редактирования для тех пользователей, которым требуется полный доступ.
-
У участников совместной работы включена опция
System.Softlocksв диалоге Advanced Settings.
Панель уведомлений Collaborators
Панель уведомлений Collaborators появится в правом верхнем углу редактора документов Altium Designer, когда текущий активный документ открыт другим пользователем. Наведите курсор на значки пользователей на панели, чтобы увидеть актуальный статус совместного доступа. Обратите внимание: статус «viewing» означает, что пользователь открыл документ в Altium Designer, но не вносил изменений. Статус открытия локального документа обозначается значком
на панели Projects.
Статус редактирования
Помимо отображения того, кто viewing документ, система также предоставляет информацию о том, кто editing общий документ. Документ считается находящимся в статусе «editing», когда он был изменён другим пользователем. Это отображается на панели Collaborators, которая динамически разделяет значки пользователей на просматривающих и редактирующих — последняя группа связана со значком
.
Выше: наведите мышь, чтобы запустить анимацию.
Документ, который редактируется другим пользователем, будет иметь значок
, связанный с его записью на панели Projects, или значок
, если этот документ в данный момент открыт в редакторе. Обратите внимание: текст подсказки также будет содержать имена нескольких пользователей, которые редактируют (или редактировали) общий документ.
Предотвращение конфликтов
Чтобы управлять доступом к редактированию файлов и избежать возможности конфликтов данных, система фактически блокирует документ за первым пользователем, который начал его редактировать или вызвал его изменение. Эта «мягкая блокировка» пользователя остаётся связанной с файлом до тех пор, пока пользователь не завершит редактирование — не зафиксирует (commit) или не отменит (revert) изменения, либо пока блокировка не будет переопределена другим пользователем или администратором.
В примере ниже, где два пользователя открыли одну и ту же схему проекта, конструктор на нижнем экране отредактировал документ, из‑за чего он был (мягко) заблокирован за этим пользователем. Этот статус редактирования отображается другому пользователю (верхний экран) через панель Collaborators и значок документа на панели Projects.
Если другой пользователь попытается внести изменение в документ с мягкой блокировкой, его заблокированный (editing) статус вызовет всплывающие диалоги у обоих пользователей. Эффективный владелец документа (нижний экран на изображении ниже) будет уведомлён о том, что другой пользователь изменил документ, и существует связанный риск конфликтующих ревизий.
В свою очередь, пользователю, который отредактировал заблокированный документ (верхний экран), предлагается отменить свои изменения (Revert My Edits) или переопределить условие, сохранив свои правки (Ignore Lock). В обычном сценарии пользователь отказался бы от изменения (Revert) и подождал бы, пока другой пользователь завершит текущую сессию редактирования.
Однако если выбрана опция Ignore Lock, это означает, что будет более одной отредактированной версии документа, которую можно зафиксировать (commit) в Workspace — правки пользователей потенциально конфликтуют, что обозначается значком
документа на панели Projects у обоих пользователей.
В этой ситуации, когда более одного пользователя редактируют документ, его значок изменится на
, если документ сохранён локально. Это указывает на то, что локальные правки завершены, но состояние документа остаётся конфликтующим с копией, редактируемой другим пользователем. Значок документа изменится на
, если документ закрыт.
Чтобы разрешить конфликт на этом этапе, вы можете отменить свои локальные правки, щёлкнув значок и выбрав команду Revert My Edits to Resolve Conflict во всплывающем меню.
Если все пользователи продолжат фиксировать (commit) свои правки в Workspace — переопределяя блокировки файлов и предупреждения системы управления версиями — разные версии файла вызовут Conflict Prevention VCS, что обозначается значком
файла на панелях Projects и Storage Manager. Это можно решить, приняв «head»-версию файла (например, через «pull» или обновление из Workspace), либо конфликтующий файл можно сохранить как только локальную версию. Щёлкните значок, чтобы выбрать требуемое действие.
При попытке сохранить в Workspace проект, включающий документы в состоянии Conflict Prevention , будет показан информационный диалог Action Required , в котором перечислены конфликтующие документы, требующие разрешения. Такие документы будут иметь состояние Conflict Detected со значком VCS
. Используйте контекстное меню VCS документа в состоянии Conflict Detected , чтобы разрешить конфликт, обновив документ до его последней ревизии из Workspace или используя локальный документ (либо, для PCB-документа, сравнив и объединив изменения с помощью функциональности PCB CoDesign).

