Совместная разработка и версионность разработки в СЭД DIRECTUM

Утверждено 34 5

Задача

  1. Обеспечить продуктивную совместную разработку проекта группой из двух разработчиков.
  2. Обеспечить версионность и возможность оперативного возврата к рабочей версии (в случае возникновения ошибки) разработки.

Описание решения

Были проанализированы текущие возможности СЭД и ответы на аналогичные идеи:

После анализа было принято решение о формировании автоматизированной выгрузки разработки из БД для дальнейшей совместной работы с использованием системы контроля версий. В нашей организации для этих целей используется MS Team Foundation Server, но данное решение может быть использовано и для Git или любой другой системы контроля версий.

Реализация

Для решения поставленной задачи был реализован PowerShell скрипт (GetAllFunctions.ps1), который автоматически выгружает разработку из БД по всем основным объектам. В результате формируется следующее дерево каталогов:

Внутри каждого каталога располагаются сгруппированные по категориям каталоги с каждым конкретным объектом: Диалогом, Карточкой документа, Функцией, Карточкой справочника, Сценарием, Отчетом или ТМ. В каждом конечном каталоге содержаться файлы с исходными кодами как событий объекта, так и обработок его реквизитов: выборка, вычисление.

Выгружаемы файлы исходных кодов имеют расширение *.isbl и могут быть удобно просмотрены в Notepad++ при использовании решения подсветки синтаксиса:

Результаты применения решения

В результате внедрения системы контроля версий были отмечены следующие положительные изменения в работе подразделения:

1. Эффективное решение проектов совместной разработки с распределением задач по конкретным исполнителям и отслеживанием хода их выполнения:

 

 

2. Сокращение времени по решению инцидентов, связанных с изменением кода. Отдельно стоит отметить, что решением любого вопроса может заниматься любой из специалистов, а не только автор изменений (за счет анализа истории изменений кода).

3. Стала доступна полная история изменения кода с указанием комментариев и авторства соответствующих изменений:

 

 

4. Повышена "чистота" кода за счет исключения из него комментариев, указывающих авторов изменений.

5. Уменьшение времени сравнения конфигураций тестового и продуктивного серверов.

6. Сокращение времени на передачу дел между специалистами по разработке за счет удобного сравнения рабочей и исходной версий кода:

 

 

7. Внедрены методики ревизии кода

34
Авторизуйтесь, чтобы оценить материал.
1

У вас похожая задача?

Обсудите реализацию с экспертом Directum

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле

Благодарим за интерес! Мы свяжемся с вами.

Денис Архипов

Скрин со спринатам , что за система?

Дмитрий Тарасов
Скрин со спринатам , что за система?
MS Team Foundation Server

 

 

 

Роман Деменков

Отличное решение! Мы тоже рассматривали подобный вариант, но с использованием Git/Redmine.

Юрий Клочков
Мы тоже рассматривали подобный вариант, но с использованием Git/Redmine.

Данное решение может использоваться с любой системой контроля версий. Скрипт выгружает всю Вашу разработку и на полученное дерево каталогов вы "натравливаете" контроль версий. Если у вас уже используется Git/Redmine и нет решения по выгрузке данных из БД, то повершельный скрипт из нашего решения позволит решить этот вопрос. Буду рад отзывам об использовании решения с другими системами контроля версий.

Виталий Трегубов

Спасибо, очень удобная вещь. Можно добавить ещё код блоков типовых маршрутов

Прикреплен файл: getAllFunctions_plus_route_blocks.ps1
 

Авторизуйтесь, чтобы написать комментарий