Сервер BOOCO Meteor (v 1.x) / Настройка интеграций с календарными системами
Введение
Микросервис doc1c-sync (ранее — booco1c) синхронизирует календари переговорных комнат в 1С:Документооборот с календарями в BOOCO (синхронизация односторонняя). Использует поле sync
. Написан на Java.
Требования
Сервер BOOCO Meteor (v 1.x), развернутый в Docker.
VM options
Dspring.profiles.active
=local
default
Ссылки
Swagger
- Ссылка для локального приложения: http://localhost:8080/api/webjars/swagger-ui/index.html#/
- или */api/swagger-ui.html, где * — адрес этого сервиса
Документы
Запуск и установка
Конфигурация 1С
- Для работы сервиса необходимо указать данные для NTLM-авторизации (см. NTLM). Имя пользователя должно указываться без имени компьютера.
- При первой установке необходимо настроить расширение 1С:
- Загрузить расширение (файл Booco.cfe), убрать безопасный режим.
- Опубликовать базу и установить чекбокс Публиковать HTTP сервисы расширений по умолчанию.
Конфигурация Booco
Для работы сервиса синхронизации необходимо указать пользователя (см. BOOCO) и назначить ему права:
- для ресурса
booking
: read:any
— чтение коллекции бронирований BOOCO;create:own
илиcreate:any
— создание новых бронирований;update:any
— обновление существующих бронирований;- для ресурса
venue
: read:any
— чтение коллекции помещений BOOCO;create:any
— создание новых помещений (см. флаг добавления помещенийSYNC_VENUE_ADD_NEW
) ;update:any
— обновление существующих помещений;create:own
для ресурсаlog
— журналирование сообщений на сервер BOOCO (см. Журналирование).
Режимы работы
- Автоматический — синхронизация происходит с периодичностью, указанной в переменной среды
SYNC_DELAY
в формате длительности ISO 8601. Включение/выключение автоматической синхронизации управляется переменной средыSYNC_SCHEDULED
. - Ручной — синхронизация происходит при каждом обращении к эндпоинту (см. Swagger).
Запуск проекта
Для запуска проекта можно использовать команду:
./gradlew bootRun --args='--spring.profiles.active=local,default'
Или передать аргумент командной строки (см. VM options), например:
java -Dspring.profiles.active=local,default -jar ./build/libs/integration-service-0.0.1.jar
После запуска можно выполнить проверку, используя Swagger.
Установка контейнера Docker
Сборка проекта:
./gradlew bootJar
Создание образа:
docker build --tag integration-service .
Сохранение образа в .tar-файл:
docker save --output app.tar
Выгрузка в локальный кэш Docker:
docker load --input app.tar
Создание контейнера:
docker compose --project-name booco1c up -d
Остановка контейнера:
docker compose -p booco1c stop
Удаление контейнера:
docker compose -p booco1c down
Установка микросервиса doc1c-sync
- Войдите на сервер по ssh.
- Создайте папку /opt/doc1c-sync:
- Скачайте docker-compose.yml:
- Скачайте шаблон файла с переменными окружающей среды .env:
- Укажите необходимые параметры в файле .env:
sudo mkdir /opt/doc1c-sync
cd /opt/doc1c-sync
sudo curl https://www.booco.ru/install/doc1c-sync/docker-compose.yml --output docker-compose.yml
sudo curl https://www.booco.ru/install/doc1c-sync/.env --output .env
sudo nano .env
Переменные среды
1С
1C_NTLM_VERSION | 1 | Версия совместимости для NTLM-авторизации | |
Переменная | Обязательная | Значение по умолчанию | Описание |
1C_HOST | ✔ | Адрес REST-клиента 1С (например, */doc/hs/booco , где * — адрес системы с развернутым 1С) | |
1C_NTLM_USERNAME | ✔ | Пользователь для NTLM-авторизации. Указывается без имени компьютера | |
1C_NTLM_PASSWORD | ✔ | Пароль для NTLM-авторизации | |
1C_NTLM_SIGNING | false | Запрет/разрешение подписывать ответ для NTLM-авторизации. Если true — разрешено |
1C Web-client
Переменная | Обязательная | Значение по умолчанию | Описание |
1C_TIMEOUT_READ | 20000 | Таймаут получения данных от клиента 1С (в мс) | |
1C_TIMEOUT_WRITE | 20000 | Таймаут передачи данных клиенту 1С (в мс) | |
1C_TIMEOUT_CONNECT | 20000 | Таймаут подключения к клиенту 1С (в мс) | |
1C_TIMEOUT_RESPONSE | 20000 | Таймаут ответа от клиента 1С (в мс) | |
1C_RETRY_COUNT | 3 | Количество повторных запросов к клиенту 1С в течение 1 мс | |
1C_RETRY_INTERVAL | 3000 | Задержка перед повторным запросом к клиенту 1С (в мс) |
BOOCO
Переменная | Обязательная | Значение по умолчанию | Описание |
BOOCO_HOST | http://localhost:3000/api | Адрес REST-клиента BOOCO | |
BOOCO_LOGIN | ✔ | Имя пользователя BOOCO | |
BOOCO_PASSWORD | ✔ | Пароль пользователя BOOCO | |
BOOCO_TOKEN_LOCATION | key/token.json | Расположение и имя файла, где будет сохранен токен авторизации |
BOOCO Web-client
Переменная | Значение по умолчанию | Описание |
BOOCO_TIMEOUT_READ | 5000 | Таймаут получения данных от клиента BOOCO (в мс) |
BOOCO_TIMEOUT_WRITE | 5000 | Таймаут передачи данных клиенту BOOCO (в мс) |
BOOCO_TIMEOUT_CONNECT | 3000 | Таймаут подключения к клиенту BOOCO (в мс) |
BOOCO_TIMEOUT_RESPONSE | 10000 | Таймаут ответа от клиента BOOCO (в мс) |
BOOCO_RETRY_COUNT | 2 | Количество повторных запросов к клиенту BOOCO в течение 1 мс |
BOOCO_RETRY_INTERVAL | 2500 | Задержка перед повторным запросом к клиенту BOOCO (в мс) |
Синхронизация
Помещения (Venues)
Переменная | Значение по умолчанию | Описание |
SYNC_VENUE_ADD_NEW | true | Запрет/разрешение добавлять новые помещения из 1С. Если false — запрещено |
Журналирование (Logging)
Переменная | Значение по умолчанию | Описание |
SYNC_LOGGING | DEBUG | Уровень журналирования для консоли и отправки на сервер [ OFF | ERROR | WARN | INFO | DEBUG ] |
SYNC_PREFIX | Префикс для записей микросервиса doc1c-sync в Журнал |
Режимы работы (Schedule)
SYNC_SCHEDULED | true | Включение/выключение автоматической синхронизации. Если false — выключено
|
Переменная | Значение по умолчанию | Описание |
SYNC_DELAY_BETWEEN | PT01M | Период синхронизации (см. формат длительности ISO 8601)
|
SYNC_DELAY_INITIAL | PT30S | Начальная задержка синхронизации (см. формат длительности ISO 8601) |