Перейти к содержанию

Конфигурирование приложения#

Введение#

Механизм конфигурирования lexema 8.4 представлен отдельным пакетом с названием ecosoft-lexema8-config.

Основные настройки#

Конфигурирования описываются в файле productions.js, который располагается в docker-контейнере config_service приложения. Конфигурационный файл состоит из нескольких разделов: db, common, bus, front, lib, moxie, jsreportEditor, config, logic, gate, radio, data, lock, file, preview, post, dxreport-iis-application, sreport, scheduler, dss, collector, dev, excel.

Разделы#

db#

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

  • main - профиль подключения к основной базе данных по умолчанию. Обязателен к заполнению, если не указывается свойство applications.data.db
    • host - имя хоста
    • database - имя базы данных
    • dialect - диалект СУБД
    • instanceName - имя экземпляра
    • port - порт сервера бд
    • user - логин
    • password - пароль
    • encrypt - позволяет установить зашифрованное соединение с sql-сервером (по умолчанию false - шифрование выключено). Настройка доступна, если свойство 'dialect='mssql'.
    • isolationLevel - уровень изоляции транзакций. Доступные значения: 'READ_UNCOMMITTED', 'READ_COMMITTED', 'REPEATABLE_READ', 'SERIALIZABLE'. По умолчанию 'READ_UNCOMMITTED'.
    • requestTimeout - время таймаута запросов в миллисекундах. По умолчанию 15000.
    • applicationName - значение строки подключения для ведения журнала сервера БД. По умолчанию ara.
    • pool - настройки пула соединений:
      • max - максимальное количество соединений в пуле. По умолчанию 20.
      • min - минимальное количество соединений в пуле. По умолчанию 0.
      • idleTimeoutMillis - максимальное время в миллисекундах, которое будет простаивать соединение в пуле, прежде чем будет освобождено. По умолчанию 10000.
  • radio - "in-memory" режим локальной базы данных sqlite с отключённым логированием, используется персистором для хранения недоставленных сообщений.
  • session - настройки подключения к локальному экземпляру redis для хранения сессии.
    • host - имя хоста (по умолчанию 'localhost').
    • port - порт для запуска (по умолчанию 6379).
    • db - идентификатор базы для Redis (по умолчанию 0).

При заполнении дополнительных профилей подключения необходимо заполнять все перечисленные настройки, поскольку значения по умолчанию устанавливаются только для профиля с именем main.

common#

"Общие" настройки, описывающие пути и шаблоны расположения объектов бизнес-логики.

  • context - путь к каталогу, который является "контекстом" для разрешения относительных путей (по умолчанию - 'source'). Если путь является относительным, то будет добавлен к текущему рабочему каталогу.
  • external - объект, задающий пути к файлам с описанием внешних зависимостей.
  • manual - файл, заполняемый вручную (по умолчанию - 'external-manual.json').
  • auto - файл, заполняемый автоматически при сборке (по умолчанию - 'external-auto.json').
  • logging - настройки логирования.
  • allowSilent - включить/выключить логирование (по умолчанию false).
  • level - задает минимальный уровень логируемых событий. Доступные значения в порядке возрастания значимости: silly,debug, verbose, info, warn, error.
  • elasticStack - настройки логирования в файлы (для Elastic Stack).
    • elasticLevel -задает минимальный уровень событий, логируемых в файлы . Доступные значения в порядке возрастания значимости: silly,debug, verbose, info, warn, error.
    • suppress -включить/выключить логирование в файлы.
    • file - настройки файлов, в которые пишут логи.
    • maxsize - максимальный размер файла с логами (в байтах).
  • models - glob, описывающий расположение моделей (по умолчанию - 'models/**/*.js').
  • output - может быть как строкой, так и объектом.
  • если строка: путь к каталогу для размещения сборок документации, а также клиентской и серверной части (по умолчанию - 'build'). Если путь является относительным, то будет добавлен к каталогу, в котором расположен каталог context.
  • если объект: может содержать свойства client, server и docs, представляющие собой пути к расположению каталогов для вывода файлов клиента, сервера и документации. Если пути относительные - то будут добавлены к каталогу, в котором расположен каталог context.
  • queries - glob, описывающий расположение запросов (по умолчанию - 'queries/**/*.js').
  • reportsDir - glob, описывающий расположение отчётов в контексте каталога отчётов (по умолчанию - '*.report').
  • externalReportsDir - Название папки внешних отчетов проекта jsreport. По умолчанию external.
  • internalReportsDir - Название папки внутренних отчетов проекта jsreport. По умолчанию internal.
  • jsreports - glob, описывающий расположение отчетов (jsreport) (по умолчанию - '**/!(*.*)').
  • reportsDir - путь к каталогу с отчётами (по умолчанию - 'reports').
  • sqlObjects - glob, описывающий расположение sql-объектов в контексте каталога sql-объектов (по умолчанию - '*.sql').
  • sqlObjectsDir - путь к каталогу с объектами sql-сервера (по умолчанию - 'sqlObjects').
  • units - путь к файлу с описанием юнитов (по умолчанию - 'units.json').
  • dashboardTemplates - путь к каталогу с шаблонами дашборда (по умолчанию - 'dashboardTemplates').

bus#

Настройки "Шины" для взаимодействия между сервисами.

  • protocol - используемый протокол (по умолчанию 'amqp').
  • hostname - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию 5672).
  • username - логин.
  • password - пароль.
  • requestTimeout - время ожидания ответа от слушателя

front#

Настройки клиентской части приложения.

  • theme - имя пакета, содержащего тему оформления (по умолчанию - 'ecosoft-lexema8-main-theme').
  • controls - перечень наборов контролов (по умолчанию - 'ecosoft-lexema8').
  • если элемент массива - строка, то она будет использована как путь для импорта конструктора контрола, относящемуся к данному набору. Манифест набора будет загружен по пути {module_path}/lib/controls.manifest.json.
  • если элемент массива - объект, то в качестве пути для импорта конструктора контрола будет использовано значение свойства modulePath, а в качестве пути для загрузки манифеста будет использовано значение свойства manifestPath.
  • publicPath - настройка "публичного пути" для производственной сборки клиента (по умолчанию - '/client/').
  • sourcemap - флаг, обозначающий необходимость генерации карт кода (по умолчанию - true).
  • es - настройки используемой версии ECMAScript (по умолчанию - 'legacy'). Перекрывается опцией "ie" интерфейса командной строки.
  • legacy - с поддержкой IE11.
  • modern - без поддержки IE11.
  • helpUrl - "базовая" ссылка для кнопки "Справка".
  • autoLogin - если значение true, то клиент автоматически авторизуется под аккаунтом, который указан в сервисе gate (по умолчанию false).
  • enableSSO - флаг, обозначающий доступность sso аутентификации на клиенте (автоматический вход на странице логина).
  • adfsAuthType - Устанавливает тип авторизации через портал сервера федерации. Доступные значения: saml, openid. (по умолчанию отключено).
  • pingOneAuthType - Устанавливает тип авторизации через портал PingOne. Доступные значения: openid. (по умолчанию отключено).
  • disableMiddleNameValidation - позволяет отключить проверку заполнения отчества при создании нового пользователя и в личном кабинете (по умолчанию false).
  • browserTabTitle - заголовок вкладки браузера (по умолчанию - 'lexema').
  • disabledPersonalDataFields - массив, который содержит список аттрибутов пользователя, которые необходимо запретить для редактирования в личном кабинете (По умолчанию - []). Доступные аттрибуты: LastName - фамилия, FirstName - имя, MiddleName - отчество, PhoneNumber - номер телефона.
  • googleMaps - настройки контрола GoogleMaps (по умолчанию undefined).
  • key - ключ для работы с Google Maps API, способ получения описан в статье
  • version - версия Google Maps, рекомендуется ставить квартальное обновление "quarterly"
  • language - язык интерфейса. Для русского языка необходимо указать "ru". Поддерживаемые языки.
  • region - регион использования. Для России необходимо указать "RU"
  • allowRegistration - задает отображение кнопки регистрации на странице входа (используется для внешней регистрации пользователей).
  • registration - настройки для внешней регистрации.
  • url - хост регистрационного сайта.
  • urlPath - дополнение к url с путем к форме заявки на регистрацию (по умолчанию пустая строка).
  • login - логин пользователя с доступом к форме заявки на регистрационном сайте.
  • password - пароль пользователя с доступом к форме заявки на регистрационном сайте.

lib#

Настройки разработки прикладных библиотек

  • aliases - словарь дополнительных псевдонимов. По умолчанию перед тестированием демо приложения необходимо выполнить предварительную сборку библиотеки. Чтобы избежать этого, можно прописать псевдоним, который позволит использовать исходные файлы. Пропишите в качестве ключа имя библиотеки, в качестве значения укажите путь к папке, где находятся исходные файлы относительно конфигурационного файла.
  • copying - настройки copy-webpack-plugin для публикации дополнительных файлов.
  • externals - список внешних зависимостей, которые будут исключены из бэндла библиотеки (по умолчанию - [])
  • name - имя библиотеки (в качестве него выступает название пакета; использование имён, отличных от названий пакета в данный момент не поддерживатеся).
  • source - путь к каталогу с исходниками библиотеки относительно корня проекта (по умолчанию - 'source').
  • manifests - используемые файлы манифеста из различных библиотек (по умолчанию ['ecosoft-lexema8']).

moxie#

Настройки сервера разработки.

  • port - порт для запуска (по умолчанию - 3333).

jsreportEditor#

  • port - порт для запуска (по умолчанию - 3069).
  • protocol - протокол (по умолчанию - http).

applications#

Раздел описывает конфигурирование веб-сервисов приложения

config#

Настройки сервиса конфигурации.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию 3071).
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8-configuration-service').
  • noProxify - настройка проксирования сервиса (по умолчанию true).
  • useCredentialVault - флаг использовать хранилища учетных записей windows (по умолчанию false).
  • keys - используемые ключи хранилища учетных записей windows (по умолчанию []).

logic#

Настройки сервиса логики.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию 3072).
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8-logic-service').
  • noProxify - настройка проксирования сервиса (по умолчанию true).

gate#

Настройки сервиса входа (авторизации)

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию 3061).
  • route - используемый маршрут (по умолчанию '/api/v2.0/gate').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/gate').
  • sessionLifeTime - время жизни сессии в минутах (по умолчанию 10).
  • refreshTokenLifeTime - cрок действия токена обновления в днях (по умолчанию 15).
  • userTokenLifeTime - устанавливает время действия токена восстановления пароля или кода входа при двухфакторной аутентификации в часах (по умолчанию 1). Можно задавать дробные числа, чтобы указать минуты и/или секунды.
  • failedPasswordAttemptsInterval - Время в секундах, через которое пользователь может повторить вход в приложение при неудачной попытке ввода пароля (по умолчанию 0 - без ограничений по времени).
  • attemptsLimitForConfirmCode - количество попыток ввода токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию 0). Если значение равно 0, то количество попыток не ограничено.
  • timeLimitForResendingConfirmCode - лимит времени (в секундах) для возможности повторной отправки токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию 0 - без ограничений по времени). Настройка влияет на доступность кнопки отправки кода. На сервере проверка не осуществляется.
  • userTokenProvider - имя провайдера восстановления пароля (по умолчанию 'Email'). Доступные значения: Email, Phone.
  • secret - уникальный секретный ключ, на основе которого шифруется сессия.
  • validation - настройки валидации пароля и логина пользователя.
  • passwordRegularExpression - регулярное выражения для проверки пароля (по умолчанию /^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,}$/).
  • invalidPasswordMessage - сообщение отображаемое пользователю при вводе невалидного пароля (по умолчанию 'Пароль должен содержать строчные и прописные буквы, а также цифры. Минимальная длина 8 символов').
  • userNameRegularExpression - регулярное выражения для проверки логина (по умолчанию /^(?=.{8,20}$)[a-zA-Z0-9]+(?:[._][a-zA-Z0-9]+)*$/).
  • invalidUserNameMessage - сообщение отображаемое пользователю при вводе невалидного логина (по умолчанию 'Логин должен содержать только латинские буквы или цифры. Минимальная длина 8 символов').
  • cookieName - задает имя cookie для хранения идентификатора сессии (по умолчанию 'ara-session').
  • passwordExpiration - задает срок действия пароля пользователя в днях, значение 0 отключает проверку (по умолчанию значение 0).
  • externalRegistrationHost - указывается адрес основного сайта, елси текущий сайт используется для регистрации пользователей.
  • autoLogin - настройки для автоматической авторизации клиента.
  • userName - login пользователя, под которым произойдет вход в приложение.
  • ldap - раздел, содержащий настройки доменной авторизации (с проверкой логина/пароля на контроллере домена).
  • url - адрес контроллера домена. Пример: ldap(s)://domain:port.
  • bindDN - логин администратора домена. В случае пустой строки будет произведена попытка анонимного подключения.
  • bindCredentials - пароль администратора домена.
  • searchBase - описание базового имени откуда начинается поиск пользователей. Пример: ou=users,dc=example,dc=org
  • searchFilter - описание фильтра ldap для поиска пользователей.
  • searchAttributes - список атрибутов, возвращаемых контроллером домена при удачном поиске.
  • updateUserAttributes - включает/выключает автоматическое обновление атрибутов пользователя (которые получены из контроллера домена) в системной таблице (по умолчанию true).
  • ldapSchemeDictionary - словарь сопоставления атрибутов пользователя лексемы с полями, которые возвращаются контроллером домена после поиска пользователя. Используются для обновления данных в таблице пользователей, при получении списка пользователей из контроллера домена. Доступные атрибуты для сопоставления: firstName, lastName, middleName, email, phoneNumber. Пример: ldapSchemeDictionary: { email: 'mail', phoneNumber: 'mobile' }
  • adfs - раздел, содержащий настройки авторизации через портал adfs:
  • openid - раздел, содержащий настройки для авторизации по схеме openid:
    • configurationURL - url с OpenId конфигурацией федерации. (чаще всего выглядит так https://fs.lex.lan/adfs/.well-known/openid-configuration)
    • clientID - уникальный идентификатор клиентского приложения, зарегистрированного в федерации.
    • callbackURL - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: http(s)://[адрес сайта]/api/v2.0/gate/adfs/openid/callback. (Вводится при регистрации приложения в федерации)
    • strictSSL - устанавливает необходимо ли валидировать ssl сертификат при запросах к адресам федерации. (по умолчанию true)
    • userNameField - поле, по которому будет проводится аутентификация пользователя. Зависит от схемы используемой в доменах федерации. (по умолчанию upn)
  • saml - раздел, содержащий настройки для авторизации по схеме saml:
    • metadata - url для загрузки метаданных в формате xml. (чаще всего выглядит так https://adfs2.lex.lan/FederationMetadata/2007-06/FederationMetadata.xml)
    • callbackUrl - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: https://[адрес сайта]/api/v2.0/gate/adfs/saml/callback. (Вводится при регистрации Relying Party Trusts в федерации)
    • issuer - идентификатор зарегистрированного Relying Party Trusts. (Вводится при регистрации Relying Party Trusts в федерации)
    • entryPoint - точка входа в портал. (Пример: https://adfs2.lex.lan/adfs/ls)
    • upnName - имя запрашиваемых данных из adfs. (Пример: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn)
    • cert - сертификат подписи(signing) формата X.509, декодированный в Base-64.
    • disableRequestedAuthnContext - флаг отключения проверки контекста авторизации. Позволяет пройти авторизацию из сети другого домена. Ошибка с текстом SAML provider returned Responder error: NoAuthnContext говорит о том, что контекст неверен или отсутствует и необходимо включить данную настройку при необходимости. (по умолчанию false)
  • ssoAuthDC - адрес контроллера домена. Пример: ldap(s)://domain:port.
  • enableChangePasswordOnFirstLogin - включение необходимости смены пароля при первом входе пользователя после регистрации.
  • twoFactorProvider - провайдер двухфакторной аутентификации. Доступные значения: none, email, phone. В случае установки значения none считается выключенной. (по умолчанию 'none').
  • oauth2 - настройки oauth2-сервера.
  • multipleSessions - включает/выключает поддержку множественных сессий для пользователя (по умолчанию true).
  • pingOne - раздел, содержащий настройки авторизации через портал PingOne
  • openid - раздел, содержащий настройки для авторизации по схеме openid
    • clientId - уникальный идентификатор клиентского приложения.
    • clientSecret - client_secret клиентского приложения.
    • scope - список передаваемых scope (пример: 'openid profile email').
    • callbackUrl - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: http(s)://[адрес сайта]/api/v2.0/gate/pingone/openid/callback
    • authorizationUrl - адрес на который перенаправляется пользователь для ввода логина и пароля
    • jwksEndPoint - адрес JWKS endpoint
    • tokenEndpoint - адрес token endpoint
    • prompt - указывает, будет ли сервер авторизации запрашивать у конечного пользователя повторную аутентификацию (по умолчанию none). Доступные значения: none, login.

radio#

Настройки сервиса взаимодействия реального времени.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • ws - поддержка проксирования по веб-сокетам (по умолчанию true).
  • port - порт для запуска (по умолчанию 3062).
  • route - используемый маршрут (по умолчанию '/api/v2.0/radio').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/radio').
  • channels - словарь используемых каналов. (по умолчанию 'ecosoft-lexema8': ['legacy']). Ключом является идентификатор канала, значением - массив имен типов сообщений.
  • persistance - параметры хранения отложенных сообщений.
  • provider - класс, обеспечивающий хранение отложенных сообщений.
  • options - опции.
    • db - имя профиля подключения к базе данных (по умолчанию 'radio').
    • ttl - время хранения недоставленных сообщений в минутах. (по умолчанию используется значение applications.gate.sessionLifeTime).

data#

Настройки сервиса данных.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию - 'localhost').
  • db - имя профиля подключения к базе данных (по умолчанию - 'main').
  • port - порт для запуска (по умолчанию 3063).
  • route - используемый маршрут (по умолчанию '/api/v2.0/data').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/data').
  • dataSizeLimit - максимальный размер передаваемых данных в теле запроса.

lock#

Настройки сервиса блокировок.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию - 3064).
  • route - используемый маршрут (по умолчанию '/api/v2.0/lock').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/lock').

file#

Настройки сервиса файлов.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию 3065).
  • route - используемый маршрут (по умолчанию '/api/v2.0/content').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/file').
  • maxSize - максимальный размер загружаемого файла на сервер (по умолчанию - '30mb').
  • timeout - таймаут ожидания ответа от сервиса. В режиме продакшена может потребоваться дополнильно настроить таймаут для веб-сервера (nginx).
  • storage - Настройка для выбора хранилища файлов. Доступные значения: db - хранение файлов в базе, ftp - хранение файлов на ftp-сервере, smb - хранение файлов на smb-сервере. По умолчанию db.
  • ftp - настройки ftp-сервера.
  • host - имя хоста.
  • port - порт.
  • connectionTimeout - таймаут подключения.
  • rootFolder - путь к папке на ftp-сервере, в которую будут сохраняться файлы. Если необходимо сохранять в корневую папку, то следует задать пустую строку.
  • login - логин для подключения к ftp-серверу.
  • password - пароль для подключения к ftp-серверу.
  • secure - если true, то обеспечивается зашифрованное ssl/tls соединение (для корректной работы должно поддерживаться и ftp-сервером) (по умолчанию false).
  • secureOptions - дополнительные настройки при включении настройки secure.
    • rejectUnauthorized - включает/выключает проверку сертификата. По умолчанию true.
  • smb - настройки smb-сервера.
  • host - имя хоста.
  • port - порт
  • rootFolder - путь к папке на smb-сервере, в которую будут сохраняться файлы. Если необходимо сохранять в корневую папку, то следует задать пустую строку или не задавать это свойство.
  • login - логин для подключения к smb-серверу.
  • password - пароль для подключения к smb-серверу.
  • domain - домен для подключения к smb-серверу.
  • enablePreviewFiles - флаг, отвечающий за генерацию файлов предпросмотра при загрузке на сервер и выгрузке (по умолчанию - false).
  • convertingWithUpload - флаг, отвечающий за генерацию файлов предпросмотра при загрузке (значение true) или только при попытке доступа к ним (значение false). (по умолчанию - 'true').
  • usePathForOrganization - флаг, отвечающий за использование каталога файлового хранилища, указанного для организации (по умолчанию - false). Внимание: При включении параметра enablePreviewFiles убедитесь что подключен сервис preview и установлены: Python, LibreOffice и Unoconv. В случае их отсутствия будет возникать ошибка при загрузке файлов.

  • checkFile - если true, то при скачивании файла вызывается прикладная функция для проверки прав доступа на файл (по умолчанию - false).

preview#

Настройки сервиса превью (предпросмотр файлов).

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию - 3074).
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-preview-creator-service').
  • fileSizeLimit - максимальный размер конвертируемого файла (по умолчанию '30mb').
  • maxRetry - кол-во попыток сконвертировать файл, после которых возникнет ошибка (по умолчанию - 3).
  • resultTTL - время хранения готового результата (файла или ошибки) в миллисекундах, в случае отсутствия соединения для ответа (socket) (по умолчанию - 10 * 60 * 1000).

post#

Настройки сервиса электронной почты и смс сообщений.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию - 3066).
  • route - используемый маршрут (по умолчанию '/api/v2.0/post').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8/post').
  • attachmentRequestTimeout - максимальное время ожидания загрузки файла в миллисекундах (по умолчанию 1000).
  • defaultEmailId - идентификатор почтового ящика, который используется по умолчанию.
  • emails - словарь с описанием используемых почтовых ящиков. Ключом является уникальный идентификатор почтового ящика, а значением - объект со свойствами:
  • host - имя хоста smtp-сервера.
  • port - порт smtp-сервера.
  • secure - включить/выключить доставку по электронной почте с использованием TLS/STARTTLS (по умолчанию false). Доступные значение true, false. (Для 'smtp.yandex.ru' значение должно быть true)
  • rejectUnauthorized - включает/выключает проверку сертификата. По умолчанию true.
  • user - логин.
  • pass - пароль.
  • userName - имя отображаемое при отправке почты.
  • sms - настройки сервиса для отправки смс (можно не описывать, если код для восстановления пароля не отправляется через смс).
  • provider - имя провайдера, реализующий отправку смс сообщений (по умолчанию undefined). Доступные значения:
    • prostor
    • mts
    • либо путь к своему собственному классу
  • login - логин.
  • password - пароль.
  • token - токен доступа к api (используется у провайдера "мтс коммуникатор").
  • sender - имя отправителя.
  • pushNotification - настройки для интеграции с сервисом firebase для отправки push-уведомлений. Насройки необходимо получить в личном кабинете firebase. Перейдите в настройки вашего приложения (Project settings). В разделе Service accounts нажмите кнопку Generate new private key. Содержимое файла необходимо добавить в этот раздел.

dxreport-iis-application#

Настройки web-приложения для работы с devexpress-отчетами.

protocol - используемый веб-протокол (по умолчанию 'http'). host - имя хоста (по умолчанию 'localhost'). port - порт для запуска (по умолчанию - 3067). route - используемый маршрут (по умолчанию '/api/v2.0/report'). xtraReport - использование DevExpress отчетов (по умолчанию true).

jsreport#

Настройки сервиса отчетов jsreport.

  • protocol - используемый веб-протокол (рекомендуемое 'http').
  • host - имя хоста (рекомендуемое 'localhost').
  • port - порт для запуска (рекомендуемое - 3070).
  • route - используемый маршрут (по умолчанию '/api/v2.0/jsreport').
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-jsreport-service').
  • editor - настройки редактора отчета.
  • port - порт для запуска (по умолчанию 3069).
  • protocol - протокол (по умолчанию http).
  • core - настройки библиотеки jsreport-core для сервиса отчетов. Редактор отчетов использует только настройки раздела extensions.
  • store - настройки для хранения отчетов.
    • provider - задает один из возможных вариантов для хранения отчетов. Доступно только значение 'fs' (хранение в файловой системе).
  • templatingEngines - настройки компоненты, выполняющей задачи рендеринга.
    • strategy - стратегия для рендеринга отчетов. Доступные значения: 'dedicated-process', 'http-server', 'in-process' (по умолчанию 'in-process').
  • extensions - словарь используемых модулей для сервиса отчетов и редактора (редактор некоторые модули может подключать со своими настройками). Ключом является имя модуля, значением - объект с настройками (если необходимо использовать настройки по умолчанию, то необходимо передать пустой объект). При подключении модуля необходимо установить соответствующий пакет. Имя пакета формируется из имени модуля, с добавлением префикса 'jsreport-' (например, при подключении модуля jsrender имя пакета будет 'jsreport-jsrender'). Чтобы отключить модуль укажите в его настройках свойство enabled со значением false (Пример: xlsx: {enabled: false}) и удалите соответствующий пакет в package.json.
  • fs-store - хранение отчетов в файловой системе.
    • syncModifications - сброс кэша при изменении отчета (по умолчанию false). В редакторе отчетов эта настройка всегда передается со значением false.
  • chrome-pdf - создание pdf-отчетов с использованием headless chrome. Для этого модуля требуется установка пакета puppeteer (убедитесь, что в package.json в разделе dependencies прописан пакет puppeteer. Пропишите, если он отсутствует. В проекте прикладной библиотеки пакет puppeteer должен быть прописан в разделе devDependencies).
    • launchOptions - настройки запуска.
    • args - массив аргументов (по умолчанию ['--no-sandbox']).
  • handlebars - движок для описания макета шаблона (по умолчанию {}).
  • text - создание текстовых отчетов (по умолчанию {}).
  • xlsx - создание excel-отчетов (по умолчанию {}).
  • html-to-xlsx - создание excel-отчетов из html (по умолчанию {}).
  • templates - хранение и поиск шаблонов (по умолчанию {}).
  • child-templates - использование вложенных шаблонов (по умолчанию {}).
  • assets - встраивание статических ресурсов, такие как стили, шрифты или HTML (по умолчанию {}).
  • data - возможность привязки данных к шаблону (по умолчанию {}). Значения для параметров protocol, host, port, script не определены по умолчанию, для работы с сервисом jsreport их необходимо установить в конфигурационном файле конечного приложения.

scheduler#

Настройки сервиса планировщика задач

  • protocol - используемый веб-протокол (рекомендуемое 'http').
  • host - имя хоста (рекомендуемое 'localhost').
  • port - порт для запуска (рекомендуемое - 3075).
  • route - используемый маршрут (по умолчанию '/api/v2.0/scheduler').
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-scheduler-service').
  • clientInfo - Объект содкржащий данные для получения токенов для работы с приложением.
  • clientId - id стороннего приложения. Указанный id не рекомендуется испльзовать для других сторонних приложений.
  • clientSecret - секретный ключ стороннего приложения.
  • defaultUser - ключ пользователя из объекта users для работы с приложением.
  • users - объект содержащий данные о пользователях для работы с приложением. Пример:
    default: { _// default - ключ пользователя_
      userName: %Имя пользователя%,
      password: %Пароль пользователя%
    
  • functions - массив названий подключаемых к сервису пакетов функций.
  • attemptsLimit - количество попыток инициализации сервиса (по умолчанию 6)
  • beginTimeout - таймаут между попыток инициализации сервиса (по умолчанию 1000)

dss#

Настройки сервиса работы с электронными подписями

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию - 3076).
  • route - используемый маршрут (по умолчанию '/api/v2.0/dss').
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-dss-service').
  • kontur - настройки для интеграции с СКБ Контур.
  • key - ключ для доступа к тестовой площадке контура.
  • cryptoApiUrl - адрес, по которому доступно Crypto API контура. При работе с тестовой площадкой по http указывается 'http://cloudtest.kontur-ca.ru/v3'. При работе с тестовой или боевой площадками по https указывается адрес, по которому доступен stunnel-msspi.
  • certificateReleasingUrl - адрес, по которому доступно Certificate Releasing API контура. При работе с тестовой площадкой по http указывается 'http://test.kontur-ca.ru/CC'. При работе с боевой площадкой по https указывается адрес, по которому доступен stunnel-msspi.
  • cryptoApiHost - добавляет http-заголовок host для запросов, которые обращаются к Crypto API. Свойство задается, если сервис работает в связке с stunnel-msspi. При работе с тестовой площадкой указывается 'cloudtest.kontur-ca.ru:443', при работе с боевой площадкой 'cloud.kontur-ca.ru:443'.
  • certificateReleasingHost - добавляет http-заголовок host для запросов, которые обращаются к Сertificate Releasing API. Свойство задается, если сервис работает в связке с stunnel-msspi. При работе с боевой площадкой указывается 'reg.kontur-ca.ru:443'.
  • callbackUrl - полный адрес к маршруту, на который придет POST-запрос с результатом операции от СКБ Контур. Шаблон адреса: [protocol]://[domain]/api/v2.0/kontur/dss/response.
  • taskId - идентификатор задачи, который выполнится сервисом shceduler после обработки POST-запроса от СКБ Контур маршрутом callbackUrl (по умолчанию null).
  • disableConfirmOperation - отключает подтверждение операции по смс для сертификатов НЭП по умолчанию false. Если настройка включена, то работа с сертификатами КЭП становится невозможной.
  • lexema - Настройки для подключения ОЭП от Лексемы. Для подключения достаточно указать пустой объект {}, если не используются дополнительные настройки.
  • certificateValidityPeriod - Задает срок действия сертификата в днях (по умолчанию 1825).
  • loadUserAttributesQuery - путь к запросу, который возвращает атрибуты, используемые для заполнения поля Subject (информация о владельце) сертификата.
  • confirmCodeLifeTime - время действия кода для подтверждения операции в секундах (по умолчанию 60).
  • attemptsLimitForConfirmCode - лимит попыток ввода кода для подтверждения операции (по умолчанию 3). Если указано 0, то количество попыток неограничено.
  • disableConfirmOperation - отключает подтверждение операции по коду (по умолчанию false).
  • containerStorage - тип хранилища данных для контейнера закрытого ключа (по умолчанию REGISTRY). Настройка используется для ОС Windows. Доступные значения: REGISTRY, HDIMAGE.
  • rootCertificate - Задает настройки корневых сертификов, которые используются для выпуска пользовательских сертификатов. В режиме разработки сертификаты рекомендуется устанавливать в корневые доверенные сертификаты пользователя, а в режиме производства в корневые доверенные сертификаты компьютера. Если корневые сертификаты не используются, то это свойство не нужно задавать.
    • thumbprint - отпечаток корневого сертификата, который будет использоваться по умолчанию. Имеет меньший приоритет, чем сертификат, который привязан к организации. Можно не задавать.
    • store - хранилище для корневых сертификатов (рекомендуемое значение в режиме разработки 'uRoot' - поиск в корневых доверенных сертификах пользователя, рекомендуемое значение в режиме производства 'mRoot' - поиск в корневых доверенных сертификах компьютера).

collector#

Настройки сервиса сбора информации о системе.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию - 'localhost').
  • port - порт для запуска (по умолчанию 3077).
  • route - используемый маршрут (по умолчанию '/api/v2.0/collector').
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-collector-service').
  • model - модель, используемая для записи информации (по умолчанию 'ecosoft-lexema8/lib/models/collector.model.json').
  • enable - включить/выключить сбор информации о системе(по умолчанию false).
  • authentication - настройки сбора информации о сессиях пользователей.
  • enable - включить/выключить сбор информации об сессиях(по умолчанию false).
  • reports - настройки сбора информации об отчетах.
  • enable - включить/выключить сбор информации об отчетах(по умолчанию false).
  • exceptions - массив отчетов, игнорирующих параметр enable раздела reports (по умолчанию []).
  • forms - настройки сбора информации об открытии/закрытии форм приложения.
  • enable - включить/выключить сбор информации об открытии/закрытии форм(по умолчанию false).
  • exceptions - массив ключей форм из units.json, игнорирующих параметр enable раздела forms (по умолчанию []).
  • data - настройки сбора информации о работе с данными.
  • enable - включить/выключить сбор информации о работе с данными(по умолчанию false).
  • exceptions - массив идентификаторов моделей и запросов (путей к файлам относительно "контекста"), игнорирующих параметр enable раздела data (по умолчанию []).

dev#

Настройки сервиса, предоставляющего интерфейс разработчика.

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию - 3078).
  • route - используемый маршрут (по умолчанию '/dev').
  • script - путь к модулю, запускающему сервис (по умолчанию 'ecosoft-lexema8-dev-service').

excel#

Настройки сервиса экспотра данных в excel (используется для серверного грида).

  • protocol - используемый веб-протокол (по умолчанию 'http').
  • host - имя хоста (по умолчанию 'localhost').
  • port - порт для запуска (по умолчанию - 3079).
  • route - используемый маршрут (по умолчанию '/api/v2.0/excel').
  • script - путь к модулю, запускающему сервис (рекомендуемое 'ecosoft-lexema8-excel-service').