Внимательный читатель и пользователь Renga заметил, что мы развиваем совместную работу в реальном времени и идем последовательными шагами к итоговой задумке, изменяя механизмы синхронизации в каждой части продукта, в каждой его функциональности. В своей статье мы уже писали, почему выбрали именно эту стратегию организации совместной работы.
Если кратко, то из-за следующих преимуществ:
• внесение изменений в режиме реального времени;
• работа без блокировок, которые тормозят процесс работы, делают его по-следовательным;
• возможность автономной работы (при совместном проектировании).
Наши наблюдения и международные исследования показывают, что большинство ошибок и коллизий в совместных проектах происходит из-за того, что проектировщики работали с неактуальными данными, хоть и регулярно производили синхронизацию и настраивали блокировки и права доступа. Мы выбрали основной ценностью – сохранение работы (намерений) каждого пользователя и моментальную синхронизацию действий всех участников проекта.
Чтобы сохранить результаты каждого пользователя и объединить их усилия в совместном проекте, нам, как разработчикам, необходимо минимизировать количество конфликтных ситуаций, которые могут возникать при одновременном редактировании проекта (в некоторых случаях даже одного объекта).
Мы делаем синхронизацию в режиме реального времени. Это конечная цель нашей разработки. Согласитесь, что чем чаще мы синхронизируемся, чем меньше пакет изменений, который мы отправляем на сервер совместной работы, тем боль-ше возможность успешно отправить свои изменения. Именно в этом (в моментальной синхронизации), мы видим возможность превентивного устранения потенциальных конфликтов между техническими решениями проектировщиков. В каждый момент времени проектировщики будут работать с актуальными и достоверными данными по всему проекту.
Прежде всего, нам нужно сделать так, чтобы пакет изменений, который отправляется на сервер от пользователя был максимально фрагментирован, т.е. чтобы синхронизация происходила по отдельным полям синхронизируемого объекта. Это даже даст возможность редактировать один и тот же объект модели, хоть и не является основной целью и сценарием работы. Например, (если регламенты и процессы в организации не до конца настроены) может произойти ситуация, когда один проектировщик может изменить высоту колонны, а другой может изменить профиль колонны. Но это не приведет к конфликту, и синхронизация произойдет. В итоге на сервере получится экземпляр колонны с новой высотой и профилем. Так мы сохраняем намерения обоих проектировщиков. При этом, если это не то, что должно по-лучиться в итоге, и кто-то совершил несанкционированное или несогласованное действие, то разобраться не сложно — «все ходы записаны», потому что есть журналы действий пользователей (на сервере и у каждого пользователя)
Механизм, который мы реализуем, новый для мира САПР и BIM. Задача весьма трудоемкая и решить ее можно только делением на части. Поэтому в релизах этого года вы видите новые возможности в направлении максимальной фрагментации синхронизируемых данных. Основная ценность от этих релизов, которую вы получите прямо сейчас, это минимизация конфликтных ситуаций при синхронизации. И всё это шаги на пути к совместной работе в реальном времени. Давайте немного рассмотрим какие новые возможности совместной работы появились в новом релизе.
Теперь проектировщикам стала доступна одновременная совместная работа на чертеже со следующими инструментами:
• вид;
• аксонометрический вид;
• объект;
• спецификация;
• таблица;
• легенда;
• стили систем;
• текст.
Кроме перечисленного, в прошлых релизах в Renga уже можно было одновременно настраивать стили отображения чертежей, стили универсального маркера (для автоматической маркировки элементов чертежа), работать со свойствами чертежей.
Что это нам дает? Поскольку совместная работа осуществляется без блокировки, каждый объект чертежа доступен для редактирования каждому проектировщику. Давайте представим, что с чертежом могут работать несколько пользователей, даже если они не договаривались об этом. Например, один проектировщик оформляет листы, компонует виды, добавляет подписи, маркирует виды, но насту-пает время к выдаче альбома, и второй проектировщик подключается к работе и желает «навести красоту» — подправить вид немного вправо, скрыть рамкой вида лишние элементы, которые на его взгляд, незачем показывать и т.д. В прошлом релизе, если бы такие проектировщики начали редактирование одного и того же вида, то был бы конфликт и изменения одного из них не были бы приняты сервером (то-го, кто отправил свои изменения позже). А вот в новом релизе такой конфликт прекрасно решается самой программой, и все изменения проектировщиков сохраняются и объединяются благодаря тому, что синхронизация видов теперь происходит по отдельным полям.
Рассмотрим отдельно инструменты чертежа, потому что у каждого есть своя специфика. Виды и таблицы имеют параметры [1], видовую рамку [2] и к ним мож-но применять команды действий [3] (переместить, скопировать…). Теперь всё это синхронизируется отдельно.
Управляющие элементы вставленных в чертеж видов и таблиц
А вот работа с текстом позволяет не только одновременно редактировать положение текста на листе. Ее основная задача — это одновременное редактирование текста в редакторе. С точки зрения решения конфликтов, это дает возможность опять же вносить изменения в текст вторым пользователем, во время работы с ним другого. Очень часто в примечаниях чертежей проектировщики забывают актуализировать ссылки на чертежи, которые расположены на других листах (из-за меняющегося количестве листов и чертежей). Теперь проверяющий может в любой момент исправить это, даже если над текстом примечания работает другой проектировщик. И более того разные проектировщики могут вместе редактировать текст, форматировать его абзацы по отдельности, менять шрифт, выравнивание, исправлять ошибки, добавлять информацию.
Одновременная совместная работа с текстом
Теперь можно сказать еще смелее. Производимые изменения в механизме совместной работы могут привести к новым и непривычным сценариям. Например, теперь чертежи в Renga можно делать одновременно нескольким проектировщикам. Но это не конечная цель нашей разработки, а лишь следствие разрабатываемого функционала. На иллюстрации ниже приведен пример как два проектировщика могут вместе оформить чертеж: один проектировщик, например, настраивает параметры и визуальный стиль, другой размещает виды и меняет им масштаб, и оба параллельно оформляют виды (расставляют оси, автоматически по виду).
Одновременная совместная работа на чертеже
Кроме перевода на одновременную совместную работу инструментов оформления чертежей, в новом релизе продолжилась работа по переводу стилей на одновременную совместную работу. Теперь синхронизация стилей систем происходит по отдельным параметрам и свойствам, что позволит объединить усилия проектировщиков и минимизирует появление конфликтных ситуаций.
Стили систем можно одновременно редактировать
Удачной и продуктивной вам совместной работы!
Автор: Кирьян Евгений, ведущий маркетинг-менеджер по продукту Renga