create docs API
SDMS — корпоративная экосистема для IT-разработки: от идеи до релиза
SDMS
SDMS (Software Development Management System) — это корпоративная система учета разработки и управления проектами, созданная для эффективной организации взаимодействия между заказчиками бизнес-направлений и IT-отделами
С 2017 года SDMS эволюционировала из инструмента учета времени разработчиков в платформу, которая охватывает все этапы работы: от генерации идеи до внедрения изменений.
Сегодня это инструмент для проектных специалистов, продакт-менеджеров, аналитиков, разработчиков, тестировщиков и руководителей, обеспечивающий прозрачность, контроль и слаженность процессов.
Публикация системы
Работа в системе предполагается только через веб-клиент. Для более удобной навигации, веб-клиент запускается во фрейме, вокруг которого построен интерфейс для взаимодействия с инструментами системы. Для корректной работы нужны дополнительные настройки, описанные ниже.
sdms.dt - выгрузка ИБ, пройдено первоначальное заполнение данных, заполнены все константы.
sdms.cf - конфигурация базы, при первом запуске будет автоматически выполнено заполнение данных, и запустится мастер первоначальной настройки.
Публикуемые каталоги
- app - основная публикация, веб-клиент запускается во фрейме сайта
- webclient - публикация веб-клиента 1с
- services - публикация http-сервисов 1с
- assets - дополнительные используемые системой скрипты, стили, иконки
- avatars - каталог хранения аватарок пользователей из системы взаимодействия
- avatars_delete - каталог временного хранения удаленных аватарок
- attachments - каталог хранения файлов
- attachments_delete - каталог временного хранения удаленных файлов
Apache
httpd.conf - пример конфига.
Для работы нужно включить модули:
- headers_module
- rewrite_module
Настройка для переадресации запросов к публикации веб-клиента с пустым заголовком Referer на публикацию app:
<Location "/webclient">
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^.*$ /app [R=301,L,QSA]
</Location>
Настройка для добавления заголовка авторизации для использования методов http-сервиса для канбана.
Значение заголовка должно быть вид "Bearer " + jwt-токен служебного пользователя системы с ролью APIКанбан.
<LocationMatch "^/services/hs/api/(kanban|elapsedTime/activities|directions|products|customerGroup|systems).*">
RequestHeader setifempty Authorization "Bearer [jwt токен служебного пользователя]"
</LocationMatch>
IIS
Для работы понадобится установить модуль переопределения URL-адресов.
Правила описаны в web.config публикаций.
Для реализации проброса заголовка авторизации нужно добавить серверную переменную публикации HTTP_Authorization.
Публикация services
Для публикации services добавлено правило KanbanAuth - правило для проброса авторизации служебного пользователя при использовании методов канбан.
- Шаблон URL -
hs/api/(kanban/|elapsedTime/activities|directions|products|customerGroup|systems).*
, поиск по регулярному выражению, без учета регистра. - Условие (необязательно) -
{HTTP_REFERER}
соответствует шаблону, значение - hostname сервера. - Серверные переменные - имя
HTTP_Authorization
,` значение заголовок авторизации служебного пользователя с ролью APIКанбан.
Публикация webclient
Для публикации веб-клиента добавлено правило редиректа запросов на публикацию app. Для перенаправления ссылок на объекты конфигурации и др. в публикацию с панелью.
- Шаблон URL -
.*(#.*)?
, поиск по регулярному выражению, без учета регистра. - Условие -
{HTTP_REFERER}
соответствует шаблону, значение -^$
, чтобы не перенаправлять запросы из фрейма. - Действие - перенаправление, URL-адрес перенаправления -
http://{HTTP_HOST}/app{R:1}
, не добавлять строку запроса.
Заполнение служебных данных системы
Настройки заполняются на форме Общие настройки обработки Панель администрирования (на панели всех инструментов: Прочие - Общие настройки системы).
Адреса web-окружения
- Корневой URL - адрес сервера на котором развернута система
- Каталог публикации базы - имя публикации для пользователей
- Каталог публикации файлов - каталог в котором будут храниться файлы
- Каталог служебных данных - вспомогательный каталог для хранения скриптов, стилей, картинок
Работа с файлами
- Каталог на сервере - каталог на сервере в котором находятся публикации веб-сервера. По умолчанию для IIS -
C:\inetpub\wwwroot
, для Apache -C:\Apache24\htdocs
. - Директория файлов объектов - каталог хранения прикрепленных файлов, картинок описания и т.п.
- Директория аватаров пользователей - каталог хранения аватаров пользователей, пока используется только в Канбане. Если используется система взаимодействия, мы подменяем стандартную форму изменения аватара, и сохраняем их к себе и в СВ.
- Каталог временных файлов - каталог для хранения временных файлов.
Интеграция с внешними утилитами
- Шаблон запуска WinMerge - шаблон для запуска сравнения двух текстовых файлов.
"C:\Program Files\WinMerge\WinMergeU.exe" %1 %2 -minimize -noninteractive -noprefs -ignoreeol -cfg ReportFiles/ReportType=2 -cfg ReportFiles/IncludeFileCmpReport=1 -u -xq -or %3
Работа WinMerge протестирована на версии 2.16.6, на версиях выше возникали проблемы. WinMerge 2.16.6
Дополнительные настройки
- Коэффициент минимального времени трудозатрат - коэффициент на который умножается количество рабочих часов рабочего дня для расчета необходимого минимального количества внесенных трудозатрат.
- Ключ из настроек публикации для доступа по jwt токену - значение поля keyInformation в default.vrd публикации services.
- Подключение к RAS серверу - Данные подключения к службе RAS. Используется для завершения неактивных сеансов.
- Адрес, Порт - адрес, порт сервера на котором установлена служба RAS.
- Логин, Пароль администратора кластера
- Логин, Пароль администратора сервера
Запуск 1С во фрейме с панелью инструментов
Имя публикации веб-клиента для запуска во фрейме должно быть webclient, если это не так требуется указать корректное имя каталога публикации web-клиента в переменную publicationName в script.js и строке подключения скрипта <script src="../webclient/scripts/webclient1ce.js"></script>
в index.html.
Оповещения в мессенджеры
Поддерживается работа в двух мессенджерах: Rocket.Chat и Mattermost.
Мессенджер для оповещений устанавливается в константе Основной мессенджер. Все оповещения будут отправляться только в выбранный мессенджер. Идентификаторы пользователей мессенджеров заполняется в форме элемента справочника Пользователи на странице Общие настройки.
Настройки подключения и авторизации устанавливаются в справочнике Мессенджеры.