dbaccess.properties

Основной конфигурационный файл приложения.

Файл находится в каталоге, путь к которому указан в параметре "-Dext.prop.dir" виртуальной машины Java (nausd4/conf):

В файле dbaccess.properties указываются не все настройки приложения. Указаны только параметры, значения которых заданы явно и значения которых переопределяют значение по умолчанию. Если параметр в файле не указан, то используется значение параметра по умолчанию.

В файле dbaccess.properties определяются настройки приложения в формате "параметр=значение". В строке "параметр=значение" после указания значения параметра в конце строки не должно быть пробелов.

Изменения любого параметра в файле конфигурации dbaccess.properties вступают в силу только после перезапуска приложения.

При указании путей к различным файлам в dbaccess.properties рекомендуется использовать прямой слеш "/" не зависимо от используемой операционной системы.
Обратный слеш "\" в сочетании с некоторыми символами может быть интерпретирован Java как управляющий символ и поэтому не рекомендуется к использованию.
Например, "\naumen.keytab" будет интерпретирован как символ перевода строки - "\n", за которым следует строка "aumen.keytab"."

CTI

Настройка интеграции с IP-телефонией рассматривается на примере Asterisk Manager Interface (AMI).

Параметры подключения к серверу базы данных asteriskcdrdb:

  • ru.naumen.cti.cdr.db.url — URL подключения к телефонии

    ru.naumen.cti.cdr.db.url=jdbc:mysql://%IP_ADDR%:%PORT%/asteriskcdrdb

    где: IP_ADDR — ip адрес сервера базы данных asteriskcdrdb; PORT — порт сервера базы данных asteriskcdrdb.

  • ru.naumen.cti.cdr.db.user — логин пользователя для подключения к телефонии

    ru.naumen.cti.cdr.db.user=%USER%

    где: USER — имя пользователя подключения к базы данных asteriskcdrdb.

  • ru.naumen.cti.cdr.db.password — пароль пользователя для подключения к телефонии

    ru.naumen.cti.cdr.db.password=%PASS%

    где: PASS — пароль подключения к базы данных asteriskcdrdb.

  • ru.naumen.cti.cdr.path — путь к расположению сохраненных звонков.

    ru.naumen.cti.cdr.path=%PATH_TO_RECORDS%

    где: PATH_TO_RECORDS — путь к примонтированному каталогу с аудиофайлами записей разговоров.

См. Модуль CTI. Подключение к серверу телефонии со стороны Service Desk (только для Asterisk)

Comet

  • ru.naumen.comet.connections.limit — максимальное количество активных comet-соединений.

    Значение 0 — не ограничено.

  • ru.naumen.comet.reconnect.multiplier — множитель прогрессивного таймаута.

    Используется для расчета времени повторной инициализации comet после неудачной попытки.

    Повторная попытка будет произведена через multiplier * attemptNumber секунд.

    Значения по умолчанию для таймаута 300 секунд (5 минут), для мультипликатора 3. При настройке по умолчанию в первый раз повторная попытка связаться будет произведена через 5 минут, в следующий раз еще через 15 минут, затем через 45 минут.

REST API

  • ru.naumen.rest.limit.find — максимальное количество объектов, возвращаемых методом "find".

    Значение по умолчанию 5000.

  • ru.naumen.rest.exec.restricted — включает или выключает проверку прав в методах "/exec" (методы REST API, вызываемые через модуль).

    • true — включена проверка прав в методах /exec(GET), /exec-post(POST), /execM2H(GET), /get-file-by-func(GET)).

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

      • текущего сотрудника — если пользователь уже авторизован в системе и в параметрах метода не передан accessKey;
      • пользователя, чей accessKey был передан, независимо от наличия авторизации вызывающего — если accessKey указан в параметрах метода.

      Если нет авторизации и нет accessKey, то методы возвращают ошибку, кроме методов M2H, которые отправляют на форму логина.

    • false (по умолчанию) — проверка прав не выполняется.
  • ru.naumen.httpclientapi.postjson.timeout — таймаут ожидания ответа от ресурса при REST-запросах (в миллисекундах).

    Используется в api для выполнения запросов к JSON сервисам, см. api.http Формирование запросов к JSON сервисам.

    Значение по умолчанию 5000.

RTF

Редактор RTF

  • ru.naumen.rtf.editor.froala — признак, определяющий выбор редактора RTF, используемого в системе:

    • true (по умолчанию) — редактор Froala;
    • false — редактор GWT.

    Редактор Froala поддерживается только начиная с IE10. При работе в браузере IE9 независимо от настройки параметра будет использоваться GWT редактор.

  • ru.naumen.rtf.editor.froala.link-protocols — перечень допустимых протоколов для ссылок в редакторе RTF Froala (через разделитель ',').

    Значение по умолчанию: mailto,tel,sms,notes,data,onenote.

    Протоколы "http", "https" и "ftp" работают всегда, указывать их в параметре не обязательно. В значении параметра необходимо указывать дополнительные, менее распространенные протоколы. Если протокол не указан в значении параметра, то при вставке ссылки будет происходить замена ':' на %3A. Например, ссылка вида 'myprotocol://link' будет преобразована к 'myprotocol%3A//link'.

  • ru.naumen.rtf.editor.froala.unavailability.admin — недопустимые области активности редактора RTF Froala в интерфейсе администратора (через разделитель ',' или ';').

    Возможные значения:

    • all — запрещено везде;
    • eventActions — запрещено для действий по событию;
    • escalations — запрещено для эскалаций;
    • styleTemplates — запрещено для шаблонов стилей;
    • attrDescr — запрещено для описания атрибутов;
    • attrDef — запрещено для значений атрибутов по умолчанию;
    • не указано (по умолчанию) — разрешено везде.

    Пример 1. Запретить использование froala только для действий по событию:

    ru.naumen.rtf.editor.froala.unavailability.admin=eventActions

    Пример 2. Запретить использование froala для действий по событию и шаблонов стилей:

    ru.naumen.rtf.editor.froala.unavailability.admin=eventActions,styleTemplates

    Пример 3. Полностью запретить использование froala в интерфейсе администратора :

    ru.naumen.rtf.editor.froala.unavailability.admin=all

  • ru.naumen.froala.emoji — признак, определяющий использование смайликов в редакторе Froala:

    • false (по умолчанию) — смайлики недоступны для использования в тексте RTF.
    • true — смайлики могут использоваться в тексте RTF, на панели инструментов редактора отображается иконка для выбора смайлика.
  • ru.naumen.rtf.editor.froala.minHeightReduced — признак, определяющий минимальную высоту текстового поля типа RTF для редактора Froala:

    • false (по умолчанию) — сохраняются старые значения высоты: минимальная высота = 278 px, максимальная = 300 px;
    • true — минимальная высота поля ввода Froala уменьшается до 150 px, максимальная высота та же. Изменение распространяется на все поля ввода типа текст RTF: комментарии, системные и пользовательские атрибуты, параметры действия по событию.

Изображения в тексте RTF

  • max.rtf.image.size — определяет максимальный размер картинки (ширина или высота) в атрибуте типа "Текст в формате RTF" и комментариях (в пикселях)

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

    Оригинал изображения также сохраняется и его можно посмотреть в режиме предварительного просмотра.

    Параметр влияет только на те изображения, у которых не установлены размеры(атрибуты width и height элемента).

    Допустимые значения: целое число или 0. Минимальное значение параметра =0, изображение всегда хранится в оригинальном размере и превью не создается.

    Значение по умолчанию: 700.

  • send.previews.with.rtf — признак, включающий отправку в оповещениях уменьшенных копий изображений вместо оригинальных. Использование уменьшенных копий изображений значительно сокращает размер прикрепляемых файлов и позволяет избежать сбоев при отправке оповещений.

    • true — используется уменьшенная копия (превью) изображения. Размер превью определяется в параметре max.rtf.image.size;
    • false или не определено — используется оригинальное изображение, сжатое до размеров применяемых в интерфейсе оператора.
  • rtf.image.compress и rtf.image.compress.ratio — управляет сжатием изображений в тексте RTF.

    С версии 4.11.5 параметры настраиваются в интерфейсе администратора, см. Сжатие изображений в атрибутах "Текст в формате RTF". В конфигурационном файле параметры являются устаревшими и их настройка не учитывается в системе.

Упоминания в тексте RTF

  • ru.naumen.processMentionsInRtfServlet — признак, включающий парсинг html и замену упоминаний в атрибуте типа "Текст в формате RTF" ссылками на объект (при получении значения атрибута "Текст в формате RTF" через RichTextServlet):

    • true (по умолчанию) — парсинг html работает. При переходе по ссылке с упоминанием в тексте RTF(атрибут выведен на карточку объекта) выполняется переход на карточку упомянутого объекта;
    • false — отключается парсинг html и замена упоминаний объектов в тексте RTF ссылками на их карточки. При переходе по ссылке с упоминанием в тексте RTF (атрибут выведен на карточку объекта) перехода на карточку НЕ происходит, открывается новая страница с данным упоминанием в формате "текст" (в Internet Explorer выполняется переход на домашнюю страницу);

Silent Mode

Режим Silent Mode — режим блокировки взаимодействия с внешними системами со стороны приложения SMP см. Режим Silent Mode.

  • silent.mode — признак, включающий режим Silent Mode:

    • true — режим Silent Mode включен;
    • false (по умолчанию) — режим Silent Mode выключен.
  • suitable.ips — список IP-адресов, с которыми разрешено взаимодействие при включенном режиме Silent Mode (через разделитель ',').

    По умолчанию: пусто.

    Вместо IP-адресов допустимо, но не рекомендуется, использовать DNS-имена. Разрешение DNS-имени в IP-адрес выполняется только один раз, при запуске приложения.

SOAP

  • ru.naumen.soap.soap-request-timeout-seconds — таймаут в секундах, после которого выполнение soap-запроса будет принудительно прервано.

    Используется в api для выполнение SOAP запроса (api.soap.sendRequest)

    Значение по умолчанию 180.

SMS

Обязательные параметры подключения:

  • sms.host — хост или IP-адрес;
  • sms.login — логин;
  • sms.password — пароль.

Дополнительные параметры подключения:

  • sms.port — порт (по умолчанию 3700);
  • sms.maxSendTry — максимальное количество попыток отправки сообщения (по умолчанию 5).

    В случае получения ошибок при отправке SMS-сообщений, будет производиться повторная попытка отправки сообщения до тех пор пока не будет превышен лимит попыток отправки сообщения, заданный параметром. Будет отображаться последняя из полученных ошибок.

  • sms.sendTimeoutMillis — таймаут отправки сообщений в миллисекундах (по умолчанию 60000);
  • sms.enquireLinkMillis — таймаут запроса ссылки в миллисекундах (по умолчанию 300000).

Websocket

WebSocket — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между клиентом (браузером) и веб-сервером в режиме реального времени.

WebSocket канал — соединение между клиентом и сервером по протоколу WebSocket.

Автообновление комментариев

Для корректной работы автообновления комментариев в конфигурационном файле dbaccess.properties должен быть задан параметр baseurl, который будет использоваться браузером для выполнения запросов, например, baseurl=https://servicedesk.domain.local/sd.

  • ru.naumen.use.live.comments — признак, включающий использование механизма автообновления комментариев через WebSocket канал:

    • false (по умолчанию) — не используется.
    • true — при любом изменении комментария в WebSocket канал отправляется событие, по которому выполняется оповещение браузера о необходимости обновления контента "Комментарии".

      Справедливо для любого способа добавления или изменения комментария: интерфейс оператора, системное API, REST API, интерфейс Мобильного приложения, интерфейс Портала.

Атрибуты

  • ru.naumen.attributes.dataTime.saveOldValueTime — признак, включающий сохранение ранее введенного значения времени при редактировании даты в атрибуте типа "Дата/время":

    • false (по умолчанию) — сохраняется текущее поведение, при изменении даты время сбрасывается на текущее;
    • true — при изменении даты в атрибуте или параметре пользовательского действия по событию типа "Дата/время" любым способом в интерфейсе оператора время автоматически не изменяется, если пользователь сам не изменит его вручную.
  • ru.naumen.servicetime.enableOptimizationServiceEndTime — признак, включающий оптимизацию в ServiceTimeCalculator (метод api.timing.serviceEndTime). Оптимизация служит для быстрого вычисления ServiceEndDate при больших интервалах:

    • true (по умолчанию) — оптимизация включена;
    • false — оптимизация не производится.
  • ru.naumen.core.server.attr.enableHideArchivedObjects — признак, определяющий, будет ли отображаться поле "Скрывать архивные объекты" на форме добавления (форме редактирования) атрибута типа "Обратная ссылка", "Набор ссылок на БО" и "Атрибут связанного объекта":

    • false (по умолчанию) — поле "Скрывать архивные объекты" не отображается и в значениях атрибутов указанных типов отображаются архивные и неархивные объекты;
    • true — поле "Скрывать архивные объекты" отображается на форме и настройка отображения архивных объектов в значении атрибута может выполняться для каждого атрибута отдельно. По умолчанию архивные объекты скрываются.
  • ru.naumen.core.client.card.computeOnlyVisibleCompAttributes — признак, включающий вычисление только видимых атрибутов на карточках.

    • true — для атрибута не производится получение списка доступных значений, установка единственного значения, не выполняется скрипт фильтрации значений и скрипты вычислимого атрибута и вычисления значения при редактировании в следующих случаях:

      • контент атрибута скрыт профилем прав доступа;
      • контент атрибута скрыт меткой;
      • атрибут есть в контенте, но скрыт из-за отсутствия права у пользователя.

      Исключение. Если контент атрибута скрыт условием видимости, то будут выполняться скрипты вычислимого атрибута и вычисления значения при редактировании.

    • false (по умолчанию) — вычисляются значения всех атрибутов.
  • ru.naumen.core.client.form.evalOnlyVisibleAttributes — признак, включающий вычисление только видимых атрибутов на формах.

    • true — для атрибута не производится получение списка доступных значений, установка единственного значения, не выполняется скрипт фильтрации значений и скрипты вычислимого атрибута и вычисления значения при редактировании в следующих случаях:

      • контент атрибута скрыт профилем прав доступа;
      • контент атрибута скрыт меткой;
      • атрибут есть в контенте, но скрыт из-за отсутствия права у пользователя.

      Исключение. Если контент атрибута скрыт условием видимости, то будут выполняться скрипты вычислимого атрибута и вычисления значения при редактировании.

    • false (по умолчанию) — вычисляются значения всех атрибутов.

Аутентификация и авторизация

accessKey

  • accessKeys.nonUpdatable.usageDate — список UUID ключей доступа (через запятую), для которых отключается обновление параметра "последняя дата использования" (last_usage_data).

  • ru.naumen.accessKey.reusable.restoreSession — активация восстановления сессии пользователя при использовании многоразового accessKey.

    • false (по умолчанию) — при повторном переходе на страницу системы по ссылке с многоразовым ключом accessKey после завершения сессии автоматически сессия пользователя не возобновляется, выполняется переадресация на страницу входа;
    • true — при повторном переходе на страницу системы по ссылке с многоразовым ключом accessKey после завершения сессии авторизация и создание новой сессии происходит автоматически незаметно для пользователя.

Регистрозависимость логина

  • login.casesensitive — выключает или включает регистрозависимость логина:

    • true (по умолчанию) — при определении уникальности логина регистр учитывается;
    • false — при определении уникальности логина регистр НЕ учитывается.

    При SSO-аутентификации параметр login.casesensitive не учитывается, регистр влияет на уникальность логина.

Типы аутентификаторов

  • ru.naumen.core.authentication.authenticators — список используемых типов аутентификаторов в порядке использования (разделитель ','). Недопустимые значения игнорируются.

    • INTERNAL — встроенная в приложение;
    • SPNEGO — прозрачная Kerberos аутентификация.

      Описание параметров для Kerberos аутентификации приведено в разделе Настройка параметров аутентификатора (dbaccess.properties);

    • LDAP и AD — синонимы для обозначения LDAP-аутентификации.

      Настройка параметров LDAP-аутентификации осуществляется в конфигурационных файлах приложения: dbaccess.properties и ldap-settings.xml (если файла ldap-settings.xml нет, необходимо создать его вручную), см. Конфигурационные файлы для настройки LDAP-аутентификации.

    • EXTERNAL — механизм аутентификации через провайдеров web SSO (SAML, OpenID Connect). Для входа в мобильное приложение будет использоваться платформенная логика аутентификации пользователя через отдельного провайдера. Если параметр ru.naumen.core.authentication.authenticators не содержит EXTERNAL, для аутентификации пользователя в мобильном приложении используется системная форма входа.

      Описание см. Аутентификация через web SSO.

    • X.509 — механизм аутентификации по сертификату X.509.

      Описание параметров для настройки аутентификации по сертификату X.509 приведено в разделе, см. Настройка конфигурации.

Аутентификация через форму входа возможна, даже если среди аутентификаторов не указан тип "INTERNAL".

Если указано несколько типов аутентификации, то для входа в систему пользователь сможет использовать любой из своих паролей.

Переход на форму авторизации

  • ru.naumen.core.authentication.redirect_for_invalid_access_key — включает или выключает перенаправление на форму авторизации при входе в систему по ссылке в оповещении, в случае если переданный ключ авторизации не работает (истек срок действия или доступ ограничен):

    • false (по умолчанию) — перенаправление на форму авторизации не происходит;
    • true — пользователь перенаправляется на форму авторизации и может выполнить вход в систему под своей учетной записью.

Параметры cookie

  • ru.naumen.security.session.cookie.path — параметр, указывающий путь доступа к cookie.

    cookie будут отправляться только для HTTP-запросов, сделанных на этот путь с этим префиксом и его подпути. По умолчанию параметр пуст.

Параметры безопасности для сессионной cookie JSESSIONID

Последние версии браузеров Chrome и Edge блокируют cookie в кросс-доменных переходах. Параметры, описанные в этом разделе, позволяют разрешить кросс-доменные переходы. Для этого нужно настроить приложение для работы через HTTPS (средствами nginx или tomcat) и установить параметр ru.naumen.security.session.cookie.secure=true.

Если HTTPS настроен через nginx, а между nginx и tomcat соединение через HTTP, то зайти в приложение напрямую, т.е. прямо через порт tomcat, не получится. Авторизация не будет проходить. При соединении по HTTP cookie со свойством secure будет заблокирована. Для nginx версии 1.19.3 и старше есть обходное и более гибкое решение: использовать директиву proxy_cookie_flags.

cookie для сессии может быть переименована через настройки Tomcat, что не влияет на настройки параметров.

HttpOnly и Secure частично управляет Tomcat:

  • HttpOnly — если в контексте сервлета определено, что нужно установить HttpOnly, то оно будет уставлено независимо от конфигурационных параметров;
  • Secure — если Tomcat работает в HTTPS, то Secure тоже будет установлен автоматически.

SameSite может быть установлен либо через tomcat, либо через наш параметр.

  • ru.naumen.security.session.cookie.secure — устанавливать принудительно параметр Secure для сессионной cookie (JSESSIONID).

    • false (по умолчанию) — параметр не устанавливается;
    • true — параметр устанавливается.
  • ru.naumen.security.session.cookie.httpOnly — устанавливать принудительно параметр HttpOnly для сессионной cookie (JSESSIONID).

    • true (по умолчанию) — параметр устанавливается;
    • false — параметр не устанавливается.
  • ru.naumen.security.session.cookie.sameSite — устанавливать принудительное значение параметра SameSite для сессионной cookie (JSESSIONID).

    Возможные значения: None, Lax, Strict, <пусто>.

    Значение по умолчанию: None

AD

  • ru.naumen.core.authentication.spnego-authenticator.service-principal — принципал сервиса для подключения сервера к AD (SPN): HTTP/<server_fqdn>@<realm>,

    где:

    • <server_fqdn> — FQDN сервера приложения;
    • <realm> — область (домен) аутентификации в инфраструктуре Kerberos, значение регистрозависимо.
  • ru.naumen.core.authentication.spnego-authenticator.keytab — расположение keytab-файла. Путь к файлу обязательно должен содержать префикс "file:"

    Значение параметра может содержать: file:${ext.prop.dir}/ — путь до каталога конфигурации приложения /path/to/myservice.HTTP.keytab. Например, "file:${ext.prop.dir}/naumen.keytab".

  • ru.naumen.core.authentication.spnego-authenticator.keytab-spn-map — словарь, содержащий пары (spn + realm) - (keytab) для прозрачной авторизации в нескольких доменах с разным паролем пользователя.

    Значение file:${ext.prop.dir}/ указывает на каталог где лежат настройки.

    По умолчанию параметр пуст, в этом случаи будут использоваться настройки ru.naumen.core.authentication.spnego-authenticator.keytab, ru.naumen.core.authentication.spnego-authenticator.service-principal.

    Значение: {'HTTP/krb.dc1.local' : 'file:${ext.prop.dir}/keytab1.keytab', 'HTTP/krb.dc2.local' : 'file:${ext.prop.dir}/keytab2.keytab'}

  • ru.naumen.core.authentication.spnego-authenticator.realm-config-file — расположение файла соответствия реалмов (доменных имен) /path/to/realm-rules.xml.

  • ru.naumen.core.authentication.spnego-authenticator.debug — признак, включающий вывод отладочной информации из модуля.

    Значение по умолчанию false (информация не выводится).

Кастомизация страницы для отображения ошибок при аутентификации через Web SSO

  • ru.naumen.core.authentication.external.useCustomErrorPage — включает или выключает использование отдельной страницы для отображения ошибок при аутентификации через Web SSO:

    • true (по умолчанию) — ошибки аутентификации отображаются на отдельной странице. На странице содержится сообщение об ошибке и ссылка для перехода на повторную попытку аутентификации;
    • false — ошибки аутентификации отображаются на форме входа в SMP.
  • ru.naumen.core.authentication.external.customErrorPageContent — текст сообщения на отдельной странице для отображения ошибок при аутентификации через Web SSO.

    В тексте можно использовать html-теги. В текст рекомендуется вставлять ссылки на службу технической поддержки и прочие ресурсы.

    Если значение не задано, то отображаются сообщения об ошибках по умолчанию.

  • ru.naumen.core.authentication.external.clientCustomErrorPageFileName — имя файла в формате html с клиентским вариантом реализации отдельной страницы для отображения ошибок при аутентификации через Web SSO.

    Файл необходимо разместить в папке ext.prop.dir.

    На клиентской странице можно указывать переменные:

    • ${errorMessage} — сообщение об ошибке;
    • ${logoutUrl} — URL для повторной попытки аутентификации;
    • ${customErrorPageContent} — значение параметра ru.naumen.core.authentication.external.customErrorPageContent.

    Если файл не указан, то используется страница для отображения ошибок по умолчанию.

База данных

База данных должна быть предварительно создана в соответствии с рекомендациями, приведенными в разделе Особенности настройки СУБД и создания базы данных.

Для СУБД PostgreSQL

  • db.driver=org.postgresql.Driver;
  • db.url=jdbc:postgresql://<db_server_name>:<db_port>/<dbname>;
  • db.user=<db_user> — имя пользователя;
  • db.password=<db_user_password> — пароль для базы данных;
  • db.max_active_connections=10 — количество требуемых соединений может быть вычислено по формуле: [Количество одновременных пользователей] + 10;
  • hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect;
  • hibernate.default_schema=public — схема, используемая по умолчанию.

Пул соединений с базой данных

  • db.pool — используемый пул соединений с базой данных:

    • hikari (по умолчанию).
  • db.pool.config — путь к файлу с дополнительными настройками пула соединений.

Таймаут на получение блокировки для ddl операции

  • ru.naumen.schema.ddl.timeout=100000 — таймаут на получение блокировки для совершения ddl операции в миллисекундах.

    Если значение <= 0, то таймаут не ставится.

    Обратите внимание на диапазон таймаута для разных типов баз данных.

tbl_event

  • db.events.datasource.enabled — признак, включающий вынос tbl_event в отдельную схему или базу данных (tbl_event определяет параметры объектов класса "Событие (event)"):

    • false (по умолчанию) — используется обычный режим;
    • true — tbl_event выносится в отдельную схему/базу данных.
  • hibernate.events_schema — схема, в которой будет хранится таблица tbl_event.

Параметры схемы, в которой будет хранится таблица tbl_event. Параметры аналогичны стандартным параметрам подключения, если какой-то параметр не указан, то применяется соответствующий из параметров db.*

  • db.events_url=
  • db.events_user=
  • db.events_password=
  • db.events_password.enc=null
  • db.events_driver=
  • db.events_max_active_connections=
  • db.events_max_time_waiting_connection=

Использование блокировки строк базы данных при работе с файлами

  • ru.naumen.filestorage.locks.enabled — признак, определяющий наличие блокировок строк в базе данных на чтение и запись при работе с содержимым файлов:

    • не задано (по умолчанию) — блокировки используются;
    • true — при работе с содержимым файлов используется механизм блокировок;
    • false — блокировок нет.

Удаление старых версий метаинформации из базы данных

  • history.cleaner.metastorage.count.version.from.current — признак, включающий удаление старых версий метаинформации из базы данных:

    • Не задано (по умолчанию) — в базе данных хранятся все версии метаинформации.
    • N (натуральное число) — количество последних версий метаинформации, хранимых в базе данных. Более старые версии будут удалены.

Автоматическое удаление неиспользуемых таблиц

  • db.startup.drop_unnecessary_tables — признак, включающий автоматическое удаление из базы данных таблиц, которые не используются в приложении:

    • true — автоматическое удаление неиспользуемых таблиц включено;
    • false (по умолчанию) — автоматическое удаление неиспользуемых таблиц отключено.

Безопасность

  • encryption.enabled — признак, включающий шифрование паролей к внешним системам:

    • true — шифрование паролей включено;
    • false (по умолчанию) — шифрование паролей отключено.

    После включения encryption.enabled=true, пароли, указанные ранее в незашифрованном виде, будут обрабатываться не корректно. Для корректной обработки необходимо выполнить действия в разделе Шифрование паролей к внешним системам.

  • security.headers.frameoptions.disable — признак, включающий возможность вставки интерфейса системы в виде IFRAME в стороннее веб-приложение:

    • false (по умолчанию) — заголовок X-Frame-Options будет включаться в ответ сервера.
    • true — заголовок X-Frame-Options НЕ будет включаться в ответ сервера.
  • ru.naumen.maintenance.disableOnStart — признак, включающий блокировку входа в систему при перезапуске приложения. Рекомендуется использовать, если блокировка входа в систему на время технических работ запущена на длительный срок и нет доступа к системе, чтобы отключить ее через интерфейс.

    • false (по умолчанию) — при перезапуске приложения блокировка входа в систему сохраняет включенное состояние;
    • true — перезапуск приложения переводит блокировку в состояние "Неактивна" из любого состояния.
  • ignore.owasp.in.safe.html — признак, включающий защиту от XSS-атак в атрибутах типа "Текст в формате RTF" (безопасный) и типа "Строка".

    • true (по умолчанию) — защита выключена;
    • false — защита включена.

      Для атрибута типа "Текст в формате RTF" (безопасный) — перед отображением значения атрибута выполняются проверки на уязвимость, обнаруженные запрещенные символы будут удалены из текста перед его отображением. Ограничений на заполнение атрибута нет.

      Для атрибутов типа "Строка" (атрибута "Название" (title) у объектов любого класса и атрибутов "Адрес электронной почты" (email), "Логин" (login), "Фамилия" (lastName), "Имя" (firstName) и "Отчество" (middleName) у объектов класса "Сотрудник" (employee)) — при редактировании на формах (при уводе фокуса с полей атрибутов и сохранении значений атрибутов) выполняются проверки на уязвимость. Если в результате хотя бы одной из проверок обнаружились запрещенные символы, под полем атрибута выводится сообщение об ошибке, форма не сохраняется и не закрывается.

      Возможные проверки на уязвимость:

      • ru.naumen.html.sanitizer.remove_events — признак, включающий проверку на наличие в значении атрибутов обработчиков событий:

        • true — проверка производится;
        • false — проверка не выполняется.
      • ru.naumen.html.sanitizer.remove_js_attr_value — признак, включающий проверку на наличие в значении атрибута вставок javascript:some_code из значений атрибутов:

        • true — проверка производится;
        • false — проверка не выполняется.
      • ru.naumen.html.sanitizer.tags_to_cut — запрещенные теги, на наличие которых будет производиться проверка при сохранении значения атрибута. Если значение параметра не указано, то проверки не выполняется.

        Пример:

        ru.naumen.html.sanitizer.tags_to_cut=script

Продвинутая защита от XSS

  • ru.naumen.security.sanitizeHtml — признак, включающий экранирование пользовательских данных перед выводом:

    • true (по умолчанию) — экранирование пользовательских данных включено.

      Для экранирования используется белый список тегов. Настройки белого списка берутся из whitelist.json, расположенного в том же каталоге, что и dbaccess.properties. Если такой файл отсутствует, то используется белый список тегов по умолчанию.

      Copy
      whitelist.json (по умолчанию)
      {
        "whiteList": {
          "a": [
            "target",
            "href",
            "title"
          ],
          "abbr": [
            "title"
          ],
          "address": [],
          "area": [
            "shape",
            "coords",
            "href",
            "alt"
          ],
          "article": [],
          "aside": [],
          "b": [],
          "bdi": [
            "dir"
          ],
          "bdo": [
            "dir"
          ],
          "big": [],
          "blockquote": [
            "cite"
          ],
          "br": [],
          "caption": [],
          "center": [],
          "cite": [],
          "code": [],
          "col": [
            "align",
            "valign",
            "span",
            "width"
          ],
          "colgroup": [
            "align",
            "valign",
            "span",
            "width"
          ],
          "dd": [],
          "del": [
            "datetime"
          ],
          "details": [
            "open"
          ],
          "div": [],
          "dl": [],
          "dt": [],
          "em": [],
          "figcaption": [],
          "figure": [],
          "font": [
            "color",
            "size",
            "face"
          ],
          "footer": [],
          "h1": [],
          "h2": [],
          "h3": [],
          "h4": [],
          "h5": [],
          "h6": [],
          "header": [],
          "hr": [],
          "i": [],
          "img": [
            "src",
            "alt",
            "title",
            "width",
            "height"
          ],
          "ins": [
            "datetime"
          ],
          "li": [],
          "mark": [],
          "nav": [],
          "ol": [],
          "p": [],
          "pre": [],
          "s": [],
          "section": [],
          "small": [],
          "span": [],
          "sub": [],
          "summary": [],
          "sup": [],
          "strong": [],
          "strike": [],
          "table": [
            "width",
            "border",
            "align",
            "valign"
          ],
          "tbody": [
            "align",
            "valign"
          ],
          "td": [
            "width",
            "rowspan",
            "colspan",
            "align",
            "valign",
            "style"
          ],
          "tfoot": [
            "align",
            "valign"
          ],
          "th": [
            "width",
            "rowspan",
            "colspan",
            "align",
            "valign"
          ],
          "thead": [
            "align",
            "valign"
          ],
          "tr": [
            "rowspan",
            "align",
            "valign"
          ],
          "tt": [],
          "u": [],
          "ul": []
        }
      }
    • false — экранирование пользовательских данных выключено.

Обнаружение аномалий сессии

  • ru.naumen.security.session.anomalyDetection.enabled — признак, включающий обнаружение аномалий сессии.

    Аномалией браузерной сессии считается изменение IP-адреса пользователя или заголовка User-Agent, передаваемого его браузером. Если обнаружение включено, сессия с аномалией будет считаться скомпрометированной и такая сессия будет немедленно инвалидирована. IP-адрес и User-Agent фиксируются в момент создания сессии:

    • false — обнаружение аномалий сессии отключено;
    • true (по умолчанию) — обнаружение аномалий сессии включено, сессия с аномалией будет считаться скомпрометированной. Такая сессия будет немедленно инвалидирована.

Встроенные приложения

  • ru.naumen.api.key_value.find.max_results — максимальное число подходящих выбираемых объектов за один запрос, используется в api.keyValue.

    Значение по умолчанию 1000

  • ru.naumen.embeddedapplication.applicationsAvailableOnModalForm — список кодов встроенных приложений, которые могут отображаться на формах, через запятую.

    Если код встроенного приложения указан в значении параметр, то на карточке приложения отображается блок "Места использования приложения на модальных формах".

    По умолчанию список пустой.

Дашборды

Описание работы встроенного приложения Дашборды.

  • ru.naumen.secGroup.dashboardMaster.enabled — признак, включающий возможность настройки группы пользователей "Мастер Дашбордов". Пользователи этой группы будут обладать исключительными правами на настройку всех дашбордов системы вне зависимости от редактируемости контента со встроенным приложением.

    • true — в интерфейсе администратора на странице "Группы пользователей и роли" отображается группа "Мастер Дашбордов" (sys_dashboardMaster). Пользователи в группу не добавлены. Технолог может добавить в нее пользователей.
    • false (значение по умолчанию) — группа "Мастер Дашбордов" (sys_dashboardMaster) отсутствует, создание группы пользователей с кодом sys_dashboardMaster вручную невозможно.

Параметры используются, если во встроенном приложении "Дашборды" настраиваются виджеты по статусам обратных счетчиков:

  • ru.naumen.core.server.timerStatusChangeHandler.enable — признак, включающий обработчик события "Истечение времени обратного счетчика". Обработчик отслеживает время истечения обратных счетчиков времени с последующим изменением их статуса в базе данных.

    • true — обработчик события включен, событие "Истечение времени обратного счетчика" создается для новых счетчиков времени;
    • false (значение по умолчанию) — обработчик события выключен. При отключении, уже созданные события на изменение статуса обрабатываться не будут.

    Включение параметра не влияет на уже существующие счетчики времени. Счетчики времени, запущенные до включения данного параметра не изменят свое состояние в базе данных при истечении времени обратного счетчика.

  • ru.naumen.core.server.timerStatusChangeHandler.timerStatusChangeDelay — допустимая разница между текущим временем и временем истечения обратного счетчика времени для срабатывания события "Истечение времени обратного счетчика". Значение задается в миллисекундах.

    Значение по умолчанию: 0 мс.

    Если значение не задано, то события могут приходить в обработчик на ~ 5-50 мс раньше времени истечения обратного счетчика времени и, в этом случае, событие изменения статуса может быть не обработано.

  • ru.naumen.core.server.timerStatusRefresh.enable — признак, включающий обновление значений счетчиков времени в базе данных с определенной периодичностью. Значения обновляются только у счетчиков, которые находятся в статусе "Активен" или "Кончился запас времени".

    • true — обновление значений в базе данных включено;
    • false (значение по умолчанию) — обновление значений в базе данных выключено.
  • ru.naumen.core.server.timerStatusRefresh.timerStatusRefreshDelay — периодичность обновления значений счетчиков в базе данных. Значение задается в минутах.

    Значение по умолчанию: 30 минут.

    Не рекомендуется снижать установленное значение, так как это может повлиять на производительность системы.

Действия по событиям

  • eventActions.notifications.sender.deferred — признак, включающий отложенную пакетную отправку писем — отправка пакета писем (N сообщений) через определенный временной интервал (параметры "Минимальный интервал между пакетами отсылаемых писем, сек"(временной интервал) и "Максимальное количество писем, отправляемых в одном пакете" (N сообщений в пакете), см. описание настройки параметров отправки писем см. Настройка исходящей почты.

    • true — отложенная пакетная отправка писем активирована;
    • false (по умолчанию) — отложенная пакетная отправка писем отключена.
  • eventActions.deviationPeriod — период времени в минутах, отсчитываемый назад от момента запуска приложения, в течение которого будут выполняться действия по событию "Наступление времени атрибута" и эскалации, если дата и время наступления события прошли, пока приложение было выключено

    Допустимые значения: целое число или 0 (никакие действия по событию и эскалация, запланированные на время отключения приложения, не будут выполнены при включении приложения).

    Значение по умолчанию 120.

Кастомизация оповещений

  • use.Email.allow.uppercase — выключает или включает регистрозависимость адреса электронной почты (стандарт RFC 5321) для отправки оповещений на email адреса.

    • false (по умолчанию) —регистр адреса электронной почты не учитывается;
    • true — в скрипте кастомизации оповещения для notification.to, notification.cc, notification.bcc учитывается регистр адреса электронной почты, см. Скрипт кастомизации оповещения.

Очередь обработки действия

  • ru.naumen.max.quantity.user.queues — максимальное количество пользовательских очередей. Значение по умолчанию 10.
  • ru.naumen.max.quantity.thread.queue — максимальное количество потоков в пользовательских очередях. Значение по умолчанию — 10 (один поток может обрабатывать одно действие по событию за раз, два потока — два действия за раз и т.д.).

Преобразование текста, содержащего ссылки на файлы в base64

  • ru.naumen.file.base64.converter.parser.html — признак, включающий и выключающий html парсер для корректной обработки тегов <br> и преобразования текста, содержащего ссылки на файлы в base64 (применяется только для метода utils.convertFilesToBase64 utils.convertFilesToBase64).

    • true (по умолчанию) — используется jsoup парсер (html), который корректно обрабатывает теги <br>, не добавляя в конец текста дополнительные переносы строк, и оборачивает текст в html страницу;
    • false — используется парсер (xml) и при отправке писем в форматах plain и html в конец текста будут вставляться лишние переносы строк, если параметр оповещения "В формате HTML" = true и в самом тексте оповещения есть переносы строк (тег <br>).

Загрузка файлов

  • upload.file.max.size.bytes — максимальный размер каждого файла, загружаемого в систему (в байтах).

    Используется при загрузке файлов через мобильное приложение, через веб-интерфейс оператора, при обработке входящей почты, методами rest и api.

    При загрузке через веб-интерфейс оператора проверка происходит на сервере по факту загрузки файлов.

    Если значение параметра не задано или равно -1, то ограничений не накладывается.

  • upload.files.group.max.size.bytes — максимальный размер группы файлов, загружаемых в систему (в байтах).

    Используется при загрузке файлов через веб-интерфейс оператора, при обработке входящей почты, методами rest и api.

    Если значение параметра не задано или равно -1, то ограничений не накладывается.

  • upload.files.webserver.text.error.size.bytes — значение, использующееся в тексте сообщения об ошибке, при нарушении ограничений, установленных на размер загружаемых файлов на веб-сервере. Сам параметр никаких ограничений не накладывает.

    Значение указывается в байтах. Целое число.

    Примеры сообщений:

    • параметр задан: "Не удалось загрузить файл. Размер файла больше допустимого (%значение параметра%)".
    • параметр не задан: "Не удалось загрузить файл. Размер файла больше допустимого, обратитесь к администратору системы"
  • upload.files.acceptable.extensions — набор расширений файлов, разрешенных для загрузки в систему (через разделитель ','): jpg, jpeg, gif, png, ico, doc, docx, xls, xlsx, pdf, txt, eml, xml. Значения указываются с учетом регистра, т.е. JPEG и jpeg будут расцениваться как разные расширения.

    Если значение не задано, файлы будут загружаться без ограничений.

    Используется при загрузке файлов через мобильное приложение, через веб-интерфейс оператора, при обработке входящей почты, методами rest и api.

  • upload.files.nginx.max.size.bytes — константа, отображаемая в интерфейсе оператора, при превышении лимита на размер загружаемого файла на стороне NGINX (актуальность находится в ответственности технолога производящего настройку).

    См. Установка и настройка nginx.

При загрузке файлов в систему, если они нарушают установленное ограничение на размер, возникает ошибка. В тексте ошибки заданные параметры в байтах конвертируются в мегабайты с точностью до сотых (2-го знака после запятой).

Методы api, на которые распространяются ограничения: utils.attachFile, api.mail.helper.attachMessageAttachments, api.mail.attachAllMessageAttachments, см. Методы API.
Методы rest, на которые распространяются ограничения: add-file, create, create-m2m, edit, edit-m2m, см. REST сервисы в системе. Если в методе передаются файлы, нарушающие какие-либо ограничения, действие не выполняется (объект не создается, не редактируется, файлы не добавляются). Сервер возвращает код 500.
При обработке входящей почты, если файл из вложения к письму превысил ограничение на размер или его расширение не доступно для загрузки в систему, или вложения к письму превысили ограничение на групповой размер файлов, то ни один из файлов в систему не загружается и к объекту "письмо" не прикрепляется.

История

  • history.actionConditionsError. daysToExpire — количество дней, в течение которых будут храниться объекты истории категории actionConditionsError. Необходим для уменьшения места, занимаемого объектами истории событий в базе данных.

    Вариант хранения объектов истории вида "Не выполнено условие для действия по событию" (actionConditionsError): не создавать объекты истории вида actionConditionsError ИЛИ ограничить время их хранения.

    • 1 либо не указано (по умолчанию) — объекты вида "actionConditionsError" создаются без ограничений.
    • 0 — Объекты вида "actionConditionsError" не создаются. Условия для действий по событиям выполняются. При запуске приложения происходит очистка существующих объектов вида "actionConditionsError" из базы данных (tbl_event).
    • N (натуральное число) — количество дней. Объекты категории "actionConditionsError" создаются. При запуске приложения происходит очистка существующих объектов вида "actionConditionsError" из базы данных (tbl_event), созданных раньше "текущее время - N". Каждые 24 часа выполняется проверка на наличие объектов "actionConditionsError" в таблице tbl_event и очистка созданных раньше "текущее время - N".
  • history.cleaner.allowed_hours_begin — разрешенный час начала работ — время запуска задач очистки объектов истории категории "Не выполнено условие для действия по событию" (actionConditionsError).

    Если предыдущий цикл очистки не закончен, новый цикл очистки не запускается.

    Если значение параметра равно 14, а приложение запускается в 14:02, то задача очистки будет запущена на следующий день в 14:00.

    Если приложение было перезапущено при работающих задачах очистки, их следующий запуск будет произведен на следующий день в разрешенный час начала работ

    По умолчанию: 0. Допустимые значения: 0-23. Каждый день в начале (0 минут) указанного часа будет запущена задача очистки.

  • history.cleaner.allowed_hours_end — предельный час окончания работ задач очистки (включительно).

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

    Очистка записей производится пока не останется записей для очистки ИЛИ пока не вышло отведенное на очистку время

    По умолчанию: 23. Допустимые значения: 0-23.

  • history.cleaner.batch_size — количество записей в пачке, которая будет удалена в одной транзакции.

    По умолчанию: 1000.

Карточки и формы

Комментарии

  • bo.showCommentPropertiesByDefault — признак, управляющий отображением блока "Подробнее" у комментария в списке комментариев: всегда или по ссылке.

    • false (по умолчанию) или отсутствует — блок "Подробнее" отображается при нажатии на ссылку "Подробнее".
    • true — блок "Подробнее" всегда отображается
  • bo.maxCommentsAmount — максимальное количество комментариев, которые могут быть добавлены к объекту.

    Допустимые значения: целое число, 0 или не задано.

    0 или не задано — количество комментариев к объекту неограниченно.

Количество объектов на вкладке

  • ru.naumen.tab.counting.maxValue — максимальное количество объектов, отображаемых на вкладке — N. Если объектов больше N, то отображается "N+".

    По умолчанию 1000

    Значение не может быть меньше 0.

Заполнение полей

  • ru.naumen.localstorage.saveInputValues — признак, включающий сохранение значений, введенных в полях ввода на форме, а также сохранение информации в консоли.

    Сохраненные значения будут восстановлены на форме в случае разрыва сессии.

    • true (по умолчанию) — введенные значения сохраняются в localstorage браузера и восстанавливаются в случае разрыва сессии;
    • false — введенные значения не сохраняются и в случае разрыва сессии не восстанавливаются.

    При принудительном обновлении страницы браузера введенные данные удаляются из localStorage браузера и, при открытии формы вновь, система не предлагает восстановить данные.

  • ru.naumen.form.textbox.autocomplete — признак, включающий браузерное автозаполнение для полей атрибутов типа "Строка", "Текст", "Целое число", "Вещественное число".

    • true — браузерное автозаполнение разрешено для полей атрибутов типа "Строка", "Текст", "Целое число", "Вещественное число";
    • false (по умолчанию) — браузерное автозаполнение заблокировано для всех полей ввода.

Отображение элементов

  • ru.naumen.metainfoadmin.client.resetButtons.hidden — признак, включающий отображение кнопок восстановления наследования настроек класса/типа:

    • кнопки Сбросить настройки системных атрибутов и Сбросить настройки пользовательских атрибутов на вкладке "Атрибуты" ;
    • кнопка Сбросить настройки на вкладках "Карточка объекта", "Форма добавления" и "Форма редактирования".

    Возможные значения:

    • false (по умолчанию) — кнопки отображаются;
    • true — кнопки скрыты.
  • ru.naumen.attribute.showDescriptionIcon — признак, определяющий поведение системы при отображении всплывающей подсказки с описанием атрибута, если описание атрибута скрыто на форме или в контенте:

    • true (по умолчанию) — всплывающая подсказка с описанием атрибута отображается при наведении курсора на иконку , расположенную рядом с названием атрибута;
    • false — всплывающая подсказка с описанием атрибута отображается при наведении курсора на название атрибута и удержании более одной секунды (иконка не отображается).

Кодирование текста

  • encode-fqn — включает сервис кодирования текста, который сокращает ссылку для перехода на форму, карточку или список, если ее длина превышает 2000 символов. Применяется для ссылок в веб-интерфейсе и в мобильном приложении.

    • true — сервис кодирования текста включен;
    • false — сервис кодирования текста отключен.

Текст ошибки на форме

  • ru.naumen.core.client.form.showFullValidationText — признак, определяющий показывать или нет полный текст сообщения об ошибке при валидациях:

    • true — при валидации поля ввода показывается полный текст ошибки ниже поля ввода;
    • false (по умолчанию) или параметр отсутствует — показывается текст ошибки, обрезанный до одной строки.

Кэширование

Верхнее меню

  • ru.naumen.top.menu.cache.ttl.hours — время жизни записей (вычисленных пунктов верхнего меню в интерфейсе оператора) в кэше, в часах.

    Если значение не указано (по умолчанию), то работает логика по умолчанию и запись в кэше хранится до окончания сессии, в рамках которой она была вычислена.

    Если значение задано, то в качестве ключа кэша используется uuid пользователя, для которого происходит вычисление, и записи удаляются из кэша по истечению настроенного времени.

Список выбора или дерево выбора

  • ru.naumen.cache.responsible.lifespan — время жизни значений списка/дерева выбора с настроенной фильтрацией, в минутах.

    Значение по умолчанию: 5 минут.

  • ru.naumen.cache.responsible.max-size — максимальное количество записей в кэше.

    Значение по умолчанию: 100.

Количество объектов на вкладке

  • ru.naumen.tab.counting.timeLiveCacheOnTabs — время хранения в кэше количества объектов на вкладке (в минутах).

    При значении параметра больше 0 — количество объектов на вкладке сначала проверяется в кэше, если кэш пуст или принудительно был вызван пересчет количества объектов (ссылка "посчитать" на панель постраничной навигации), то сначала происходит подсчет количества объектов закэшированным запросом в hibernate, а затем (если пусто) новым запросом в базу данных.

    Если кэширование включено (значение параметра больше 0), то в интерфейсе администратора на форме редактирования вкладки отображается логический параметр "Кэшировать количество объектов на вкладке". Если параметр включен, то при достижении порогового значения количества объектов в списке (параметр ru.naumen.tab.counting.minCacheOnTabs) для вкладки будет включен упрощенный подсчет: реальное число объектов может отличаться от указанного на вкладке.

    Значение по умолчанию: 0, кэширование количество объектов на вкладке отключено.

  • ru.naumen.tab.counting.minCacheOnTabs — количество объектов на вкладке, после которого начинается кэширование этого количества объектов.

    Значение по умолчанию: 100.

Список файлов

  • ru.naumen.file.query.cache — признак, включающий кэширование в query запросах для получения списка файлов в FileDAO:

    • true — кэширование включено;
    • false — кэширование отключено.

Кэширование данных в браузере

  • ru.naumen.localstorage.clearAfterChangeVersion — включает или отключает выполнение очистки содержимого Local Storage браузера при обновлении приложения на другую мажорную версию.

    • false (по умолчанию) — localStorage не очищается;
    • true — при открытии страницы в интерфейсе оператора или интерфейсе администратора будет выполняться полная очистка Local Storage браузера.

Использование последовательностей правил именования без кэширования

  • ru.naumen.naming.generator.cached — включает кэширующий тип для SequenceProvider.

    • false (значение по умолчанию для кластерных сборок ) — значения хранятся в базе;
    • true (значение по умолчанию для некластерных сборок ) — значения хранятся в кэше.

Логирование

  • ru.naumen.log.max-logs-count — количество последних логов, отображаемых на странице "Администрирование" в блоке "Логи приложения".

    Если параметр не заполнен, заполнен 0 или отрицательным числом, то на странице "Администрирование" будет отображаться 30 последних логов.

  • ru.naumen.log.dispatch.maxLength — управление объемом логирования аргументов действия (Action). Параметр предназначен для снижения объема логов при эксплуатации системы или увеличения точности логов при возникновении сложных ситуаций, требующих разбирательства и отладки.

    Параметр ограничивает максимальное количество символов в аргументах действия (Action) при формировании строки лога для всех уровней логирования, аргументы действия указываются в []. Если количество символов в аргументах действия превышает заданное в параметре, то строка обрезается и в конце указываются три точки.

    Значение по умолчанию: 1000 (символов).

    Пример сообщения в логе:

    (30 окт. 2020 17:44:48,562) [GetFilteredTreeValueAction(serviceCall$ACHsc@groupClient) naumen #448] INFO dispatch.Dispatch - SQL(0) Queries(0) Done(9) DS(RegularPool):GetFilteredTreeValueAction [getAttributeFqn()=serviceCall$ACHsc@groupClient, getCurrentValue()=[], getUserEventParams()=null, getActionDebugTokens()=[serviceCall$ACHsc@groupClient], getProperties()={closedByEmployee=null, folders=[], checkSum#rtf=b497e2bd514a5a15e0a739e88c111d0fe137aea12b5fc09b65fdb1c55141a026, deadLineTime=Mon Nov 02 16:34:49 YEKT 2020, testgvslm={removed=false, UUID=slmService$7301, title=Service ACH, metaClass=slmService$ACHslm}, solvedByTeam=null, timeAllowanceTimer=BackTimerDto [getStatus()=ACTIVE, deadLineTime=Mon Nov 02 16:34:49 YEKT 2020, allowance=255006265, elapsedFromOverdue=0], number=35, hintType2=null, wfProfile=null, fileee=[], composite=код-35, AdvList#massOperationMentionContextFqn=serviceCall$ACHsc, registrationDate=Fri Oct 30 16:34:49 YEKT 2020, closedByTeam=null, state=registered, UUID=serviceCall$211601, determTC=null, agreement={removed=false, UUID=agreement$7101, title=Agreement ACH, metaClass=agreement$ACHagreem}, clientEmail=null, author={UUID=null, title=Суперпользова...]

    Если значение параметра меньше 3 или отрицательное, то в аргументах действия указывается только [...].

    (30 окт. 2020 17:39:23,442) [GetPermittedMenuItemsAction naumen #3170] INFO dispatch.Dispatch - SQL(0) Queries(0) Done(11) DS(RegularPool):GetPermittedMenuItemsAction [...]

Массовые запросы

  • copy.mass.operation.restrictions.params — перечень атрибутов и комментариев, значения которых не будут копироваться в подчиненные запросы при заполнении их на форме смене статуса массового запроса, для каждого класса и типа подчиненных запросов.

    Формат значения параметра: { key1 : value1, key2 : value2, ... }, где каждый

    • key1..n — класс или тип подчиненных запросов;
    • value1..n — множество атрибутов и комментариев для каждого класса/типа подчиненных запросов, формат для каждого value: {'state', 'text', "", ...}, при передаче пустой строки как одного из значений отключается копирование комментариев для класса или типа подчиненных запросов.

    Пример:

    copy.mass.operation.restrictions.params={'serviceCall': {'test'}, 'serviceCall$ACHsc': {'state', ""}}

Мобильное приложение

  • ru.naumen.mobile.trim.attribute.title — признак, включающий удаление пробелов в начале названий атрибутов при передаче их в мобильное приложение: списки, карточки, формы.

    • true (по умолчанию) — пробелы в начале названий атрибутов обрезаются;
    • false — пробелы в начале названий атрибутов не обрезаются.
  • ru.naumen.mobile.showPreviewForPdfFiles — признак, управляющий отображением файла .pdf в атрибуте типа "Файл" в представлении "Изображение" в мобильном приложении:

    • true — файл .pdf будет отображаться как изображение;
    • false (по умолчанию) — файл .pdf НЕ отображается.
  • ru.naumen.mobile.rest.jwt — признак, управляющий использованием JWT-аутентификации в мобильном приложении:

    • true — используется аутентификация по JSON Web Token (JWT).

      JSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на формате JSON. Используется для передачи данных для аутентификации. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.

      Поддерживается работа со встроенными приложениями в мобильном приложении.

    • false (по умолчанию) — используется аутентификация по Access Key.

      Access Key — это зашифрованный ключ API. Ключ представляет собой длинную строку, которую обычно включают либо в URL запроса, либо в заголовок запроса. Ключ в основном служит способом идентификации лица, выполняющего запрос API.

      Не поддерживается работа со встроенными приложениями в мобильном приложении.

Мобильные пуши

  • ru.naumen.push.mobile.fcmUrl — адрес сервера пушей.

    Пример:

    ru.naumen.push.mobile.fcmUrl=https://fcm.googleapis.com/fcm/send

Настройка прокси-сервера для отправки пушей

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

  • ru.naumen.push.mobile.fcm.proxyHostPort — имя сервера прокси и порт.

    Форма записи СЕРВЕР:ПОРТ. Если значение пустое, то прокси не используется. Пример: 127.0.0.1:8888.

  • ru.naumen.push.mobile.fcm.proxyUser — имя пользователя для доступа к прокси. Если значение пустое, то аутентификация не используется.

  • ru.naumen.push.mobile.fcm.proxyPassword — пароль пользователя для доступа к прокси. Если значение пустое, то аутентификация не используется.

Общие настройки

  • baseurl=http://<nsd_server_name>:8080/sd/ — базовая ссылка на приложение, определяет URL стенда для формирования ссылок в оповещениях. Должен заканчиваться на "/".

    Пример: baseurl=https://support.naumen.ru/sd/

  • data.dir=<app_dir>/data — путь до домашней директории приложения.

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

    Пример для Linux: data.dir=/opt/nausd4/data

  • dbaccess.default.setup — файл с дополнительными настройками, который необходимо загрузить в систему.

    Возможные значения:

    • название пакета дополнительных настроек, например, "nsd";
    • пусто — комплект настроек будет игнорироваться.

    Файл с дополнительными настройками при сборке war необходимо поместить в папку /sdng/src/main/resources/. Название файла должно быть в формате dbaccess-'название пакета с настройками'.properties, например, dbaccess-nsd.properties

Омниканальность

Описание модуля, см. Модуль "Омниканальность".

  • omnichannel.outgoingMessage.listeners.concurrency — количество потоков для обработки исходящих сообщений.

    По умолчанию: 1.

  • omnichannel.outgoingMessage.listeners.groupNumber — максимальное количество групп, на которые будут разделены исходящие сообщения. Параметр необходим для балансировки обработчиков очереди исходящих сообщений, а также для последовательной отправки сообщений.

    По умолчанию: 1.

Шлюз MessageBox

  • omnichannel.connection.poolSize — количество потоков для обработки входящих сообщений.

    По умолчанию: 1.

  • omnichannel.connection.readTimeout — таймаут ожидания входящего трафика (в секундах). Параметр определяет промежуток времени, по истечении которого необходимо разорвать соединение, в случае отсутствия входящих данных. Необходим для проверки связанности соединения со шлюзом MessageBox.

    По умолчанию: 35.

  • omnichannel.fileStorage.connectionTimeout — таймаут подключения к файловому хранилищу шлюза MessageBox (в секундах).

    По умолчанию: 30.

  • omnichannel.fileStorage.listeners.concurrency — количество потоков для отложенной загрузки файлов шлюза MessageBox.

    По умолчанию: 1.

  • omnichannel.fileStorage.maxFileSize — максимальный размер автоматического скачивания файлов при поступлении сообщения (в байтах).

    Значение -1 означает, что ограничения на размер скачиваемых файлов нет.

    По умолчанию: 5242880.

  • omnichannel.fileStorage.socketTimeout — таймаут ожидания ответа от сервера после выполнения запроса шлюза MessageBox (в секундах).

    По умолчанию: 60.

Отчеты

  • reports.instances.max-memory.mb — максимальное потребление памяти при построении отчета в памяти, МB (при этом размер самих данных будет в 50 раз меньше).

    Значение по умолчанию = 1024.

  • reports.instances.max-table-size— определяет максимальное потребление памяти при построении отчета в памяти, в условных ячейках. Одна условная ячейка в рамках данного параметра равна 1000 байт. В зависимости от отчета потребление памяти на ячейку может отличаться.

    Параметр является другим представлением параметра reports.instances.max-memory.mb (максимальное потребление памяти при построении отчета в памяти, МB) и имеет приоритет над ним.

    Значение по умолчанию = 1073742.

    Увеличение значений параметров по умолчанию может повлиять на производительность системы.

  • reports.instances.sync.export-table-size — максимальный размер отчета для которого доступна оперативная выгрузка, в условных ячейках. Одна условная ячейка в рамках данного параметра равна 200 байт. В зависимости от отчета потребление памяти на ячейку может отличаться.

    Значение по умолчанию = 1311

  • db.report_url=

    db.report_user=

    db.report_password=

    db.report_driver=

    Реквизиты базы данных, на которой будут строиться отчеты (обычно указывается реплика рабочей базы для распределения нагрузки).

    Правила указания параметров см. База данных.

  • use.Email.Reporting — признак, включающий возможность отправки отчета на почту.

    • true — в списке экземпляров отчета, на карточке экземпляра отчета, на вкладке с отчетом отображаются элементы управления для отправки отчета по почте;
    • false — элементы управления для отправки отчета по почте не отображаются.

    Настройка отправки отчета по почте:

Планировщик задач

Автоматическое восстановление планировщика

  • quartz.recovery.attemptsCount — количество попыток автоматического восстановления планировщика задач.

    В случае неудачи при подключении приложения к базе, попытки автоматического восстановления планировщика совершаются с динамическим интервалом. Промежуток вычисляется по формуле N^2 секунд, где N — номер попытки, таким образом, на 10 попыток восстановления получаем 285 секунд (почти 5 минут).

    Значение по умолчанию: 10.

Рандомизация времени запуска системных задач планировщика

  • delayRandomValue.EncodedTextCleaner — максимальное время, на которое может быть задержан запуск очистки закодированного текста (в секундах).

    Значение по умолчанию: 0.

  • delayRandomValue.EventActionCleanerJob — максимальное время, на которое может быть задержан запуск очистки истории (в секундах).

    Значение по умолчанию: 0.

  • delayRandomValue.JMSQueueCleaner — максимальное время, на которое может быть задержан запуск очистки неиспользуемых (помеченных к удалению) очередей JMS (в секундах).

    Значение по умолчанию: 0.

  • delayRandomValue.LicenseModulesCheckerJob — максимальное время, на которое может быть задержан запуск регулярной проверки лицензионных модулей на актуальность (в секундах).

    Значение по умолчанию: 0.

  • delayRandomValue.MailCleaner — максимальное время, на которое может быть задержан запуск очистки таблиц с логом входящей почты и письмами входящей почты (в секундах).

    Значение по умолчанию: 0.

  • delayRandomValue.PushCleaner — максимальное время, на которое может быть задержан запуск очистки экземпляров уведомлений (в секундах).

    Значение по умолчанию: 0.

  • delayRandomValue.TempFileCleanerJob — максимальное время, на которое может быть задержан запуск очистки временных файлов (в секундах).

    Значение по умолчанию: 0.

Рандомизация времени запуска пользовательских задач планировщика

  • delayRandomValue.UsersJob — управляет возможностью включения рандомизации и определяет максимальное время, на которое может быть задержан запуск пользовательской задачи планировщика (в секундах).

    Значение по умолчанию 0 (рандомизация выключена).

    Если значение параметра отличается от 0, то при настройке расписания задачи планировщика в интерфейсе администратора можно включить рандомизацию времени запуска задачи.

    При использовании рандомизации время запуска задачи сдвигается на случайное количество секунд, ограниченное максимумом N, где N — значение данного параметра.

    Обратите внимание, что некорректная настройка времени рандомизации может привести к нарушениям расписания выполнения задач планировщика. Например, если задача выполняется ежедневно в 23:55:00, а время рандомизации — 360 секунд (6 минут), то плановое время запуска задачи с учетом рандомизации может выйти за текущие сутки, и правило выполнения задачи "ежедневно" нарушится.

Поиск

  • ru.naumen.search.string.maxLength — максимальная длина поискового запроса, при которой будет производиться быстрый и расширенный поиск.

    При вводе большего количества символов при запуске поиска выводится сообщение об ошибке, поиск не производится.

    Значение по умолчанию: 50.

  • ru.naumen.search.string.minLength — минимальная длина поискового запроса, при которой будет производиться быстрый и расширенный поиск.

    При вводе меньшего количества символов при запуске поиска выводится сообщение об ошибке, поиск не производится.

    Значение по умолчанию: 3.

  • ru.naumen.simpleSearch.maxLength — максимальная длина поискового запроса при быстром поиске.

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

    Ограничение на длину поискового запроса действует для быстрого поиска через интерфейс оператора и через api.fts.simpleSearch(...).

    Значение по умолчанию: 255

Логика работы параметров поиска. Если значения параметров: ru.naumen.search.string.maxLength=40 и ru.naumen.simpleSearch.maxLength=50, то если пользователь вводит:
39 символов — поиск запускается;
41, 49 или 50 символов — сработает ограничение параметра ru.naumen.search.string.maxLength и будет выведено сообщение об ошибке;
51 символ — сработает ограничение параметра ru.naumen.simpleSearch.maxLength, пользователь сможет ввести только 50 символов.

  • ru.naumen.lucene.use_dot_splitting — использование точки в качестве разделителя при поиске:

    • true — точка может использоваться в качестве разделителя во всех типах анализаторов;
    • false (по умолчанию) — точка не может использоваться в качестве разделителя.

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

  • ru.naumen.search.enabledFilterOnUuid — признак, включающий оптимизированный алгоритм формирования запросов к базе данных для получения доступных объектов. Параметр ускоряет поиск в случае, если в результатах поиска потенциально возможно получение большого количества объектов.

    • true — используется оптимизированный алгоритм формирования запросов к базе данных.

      Рекомендуется устанавливать ограничение на минимальную длину поискового запроса в два символа (ru.naumen.search.string.minLength=2).

    • false (по умолчанию) — алгоритм формирования запросов к базе данных не оптимизирован.

Поиск в поле выбора

  • ru.naumen.tree.search.string.min.length — минимальная длина строки, при которой выполняется поиск в поле выбора. Ограничение применяется только для представлений "Дерево выбора", "Дерево выбора с папками", "Список выбора с папками" и "Поле быстрого выбора".

    Значение по умолчанию: 1

  • ru.naumen.tree.search.string.max.length — максимальная длина строки, при которой выполняется поиск в поле выбора. Ограничение применяется только для представлений "Дерево выбора", "Дерево выбора с папками", "Список выбора с папками" и "Поле быстрого выбора".
  • ru.naumen.confirm.filtration — признак, включающий поиск по подтверждению пользователя в поле выбора (раскрывающийся список и дерево):

    • true — поиск в поле выбора будет производиться только после нажатия клавиши Enter;
    • false (по умолчанию) — результаты поиска отображаются по мере ввода поискового запроса.

Индексация

  • indexing.exceptions.forbiddenClasses — коды идентификаторов классов, для объектов которых будет отключена индексация (через разделитель ',' или ';').

    По умолчанию значение параметра пусто и индексация разрешена для объектов всех классов, для которых настроена.

    Следующие классы являются исключениями, не индексируются и соответственно могут не укатываться в данном параметре:

    • Абстрактные классы, абстрактным является класс, код которого начинается с abstract;
    • Файл;
    • Комментарий;
    • Отчет;
    • Событие;
    • Письмо или объекты электронной почты.

    При отключении индексации объектов определенного класса уже существующие индексы не удаляются.

    При смене значения параметра изменения будут применены только после перезапуска стенда.

  • indexing.priority.preferNewObjects — признак, включающий приоритет индексации новых объектов.

    • true — новым объектам будет отдаваться предпочтение при индексации.

      Схема определения приоритета: Приоритет новых объектов → Приоритет существующих объектов, над которыми выполняются действия → Приоритет переиндексации объектов всего класса

    • false (по умолчанию) — схема определения приоритета: Приоритет новых и существующих объектов, над которыми выполняются действия → Приоритет переиндексации объектов всего класса.

Индексация объектов, связанных через атрибуты типа "Ссылка на бизнес-объект" и "Набор ссылок на бизнес-объекты"

  • ru.naumen.linkedobjects.indexing — включение и выключение индексации объектов, связанных через атрибуты типа "Ссылка на бизнес-объект" и "Набор ссылок на бизнес-объекты":

    • true — объекты, связанные через атрибуты "Ссылка на бизнес-объект" и "Набор ссылок на бизнес-объекты", индексируются при изменении названия объекта, на который ссылаются атрибуты.

      Индексацию рекомендуется включать, если происходит частое изменение названий объектов.

    • false (по умолчанию) — индексирование связанных объектов не производится.
  • ru.naumen.linkedobjects.indexing.threadNumber — количество индексирующих потоков для очереди индексации связанных объектов. По умолчанию 1.

    Значение параметр стоит увеличивать, если происходят задержки в индексации.

  • ru.naumen.linkedobjects.cache.enabled — включение и выключение кэша связанных объектов для индексации объектов, связанных через атрибуты "Ссылка на бизнес-объект" и "Набор ссылок на бизнес-объекты", при изменении названия объекта, на который ссылаются атрибуты:

    • true — использование кэша включено;
    • false (по умолчанию) — кэш отключен.

Хранение индексов для переиндексациии

  • ru.naumen.fts.server.lucene.reindex.usedb — признак, переключающий место хранения индексов для переиндексациии.

    • true (по умолчанию) — индексы хранятся в базе данных;
    • false — индексы хранятся в локальной памяти.

Почта

Входящая почта

  • ru.naumen.email.saveOriginal — признак, определяющий формат сохраняемого входящего письма:

    • false (по умолчанию) — письмо сохраняется в виде после парсинга текста письма;

    • true — письмо сохраняется в исходном виде, в котором оно пришло до обработки.

  • ru.naumen.email.body.cutAnswerTag — определяет отображение в письме содержимого тега <if !mso>:

    • false (по умолчанию) — письма обрабатываются по старой логике и содержимое тега не отображается;

    • true — из текста кода письма вырезаются теги <if !mso>. Содержимое тега с ответом пользователя отображается в письме.

  • ru.naumen.mail.chronologicalProcessing — признак, включающий возможность указания порядка сортировки писем при их обработке:

    • true — при сборе писем сначала забираются письма, пришедшие первыми (самые старые);
    • false (по умолчанию) — сначала забираются письма, пришедшие последними (самые новые).
  • ru.naumen.mail.log_age — время хранения записей журнала обработки входящей почты

    Минимальное значение: 30 дней. По умолчанию: -1 (бесконечно)

    Значение параметра должно быть больше или равно максимальному значению параметров "Время хранения входящих писем, ...".

  • ru.naumen.mail.success_age — время хранения входящих писем, обработанных успешно

    Минимальное значение: 30 дней. По умолчанию: -1 (бесконечно)

  • ru.naumen.mail.issues_age — время хранения входящих писем, обработанных с особенностями

    Минимальное значение: 30 дней. По умолчанию: -1 (бесконечно)

  • ru.naumen.mail.error_age — время хранения входящих писем, обработанных с ошибкой

    Минимальное значение: 30 дней. По умолчанию: -1 (бесконечно)

  • ru.naumen.mail.cleaner.allowed_hours_begin — разрешенный час начала работ — время запуска задач очистки почтовых сообщений и лога почты

    Если предыдущий цикл очистки не закончен, новый цикл очистки не запускается.

    Если значение параметра равно 14, а приложение запускается в 14:02, то задача очистки будет запущена на следующий день в 14:00.

    Если приложение было перезапущено при работающих задачах очистки, их следующий запуск будет произведен на следующий день в разрешенный час начала работ

    Допустимые значения: 0-23.

    Значение по умолчанию 0. Каждый день в начале (0 минут) указанного часа будет запущена задача очистки.

  • ru.naumen.mail.cleaner.allowed_hours_end — предельный час окончания работ задач очистки (включительно).

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

    Очистка записей производится: пока не останется записей для очистки или пока не вышло отведенное на очистку время

    Допустимые значения: 0-23.

    Значение по умолчанию 23

  • ru.naumen.mail.batch_size — количество записей в пачке, которая будет удалена в одной транзакции

    Значение по умолчанию 1000

  • ru.naumen.mail.validation.domains — разрешенные домены email для API. Используется для прохождения валидации внутренних доменов верхнего уровня. Допустимо перечисление через ',' или ';'

Исходящая почта

  • ru.naumen.mail.resendDelayLimit — минимальное значение задержки между попытками отправки письма в секундах. По умолчанию 60 сек.

  • mail.dispatcher.strategy — стратегия отправки писем (пакетами или один за другим).

    Стратегия отправки писем:

    • bulk — в пакете писем все письма в одном подключении и транзакции отправляется почтовому серверу
    • oneByOne (по умолчанию) — в пакете писем каждое письмо в отдельном подключении и транзакции отправляется почтовому серверу.
  • ru.naumen.mail.outgoing.smtpserver.timeout — таймаут на проверку подключения к SMTP серверу исходящей почты (в секундах).

    Значение по умолчанию: 5.

    Максимальное значение: 2147483647.

    Если значение параметра 0, то таймаут выключен.

Многопоточная отправка писем

  • mail.dispatcher.pool.threads — количество потоков при многопоточной отправке писем. По умолчанию 1.

  • mail.dispatcher.pool.idleTimeout — таймаут бездействия потока в пуле при многопоточной отправке писем (в секундах). По умолчанию 60 сек.

  • mail.dispatcher.pool.taskTimeout — таймаут выполнения действия отправки при многопоточной отправке писем (в секундах). По умолчанию 120 сек.

  • mail.dispatcher.oneByOne.rateLimit — количество отсылаемых сообщений в секунду при многопоточной отправке писем в секунду. Только для oneByOne.

    Значение может быть дробным и меньше 1.

    Значение по умолчанию -1 (неограниченно только для oneByOne)

  • ru.naumen.mail.max_recipients — максимальное количество получателей для одного письма.

    Оповещение, у которого количество получателей превышает указанное пороговое значение, делится на отдельные письма таким образом, чтобы общее количество получателей каждого из писем не превышало установленного предела. Общее количество получателей вычисляется по параметрам письма "Кому", "Копия" и "Скрытая копия".

    Пример, если оповещение имеет 130 получателей, то оно будет разделено на [130/X] писем, где Х - предельное количество писем в пачке.

    Значение по умолчанию 90.

    Значения < 1 отключают работу параметра.

Скрипты и скриптовые модули

Режим компиляции скриптовых модулей

  • ru.naumen.script_modules.compilation.mode — режим компиляции скриптовых модулей.

    • all — компилировать все модули за один раз для разрешения зависимостей модулей между собой;
    • oneByOne — компилировать независимо друг от друга.

Подготовка стенда к включению режима компиляции All

Перед включением режима компиляции модулей all необходимо подготовить скриптовые модули.

Для выявления проблем компиляции модулей в консоли выполняется скрипт api.metainfo.compileAll().

  • Если проблемы компиляции отсутствуют, то скрипт возвращает true. После этого можно запустить тестовый стенд клиента в режиме компиляции all. Затем режим компиляции можно использовать на клиентском стенде.
  • Если есть проблемы с компиляцией, то скрипт возвращает ошибку с описанием проблемы. Необходимо исправить все описанные ошибки (пока скрипт не вернет true).

    Пример сообщения об ошибке:

    Copy
    Script compilation error
    startup failed:
    testa: 1: Invalid duplicate class definition of class Temp : The sources testa and testb each contain a class with the name Temp.
    @ line 1, column 1.
    class Temp{}
    ^
    1 error

    где:

    • "Invalid duplicate class definition of class Temp" — описание проблемы компиляции, например, наличие в проблемных классах классов с одинаковым именем);
    • "testa and testb" — в каких классах проблемы
    • "contain a class with the name Temp" — дополнительное описание проблемы;
    • "class Temp{}" — как это выглядит в коде.

Способы решения проблемы дублей класса в модулях:

  • Переименовать проблемные классы в этих модулях, чтобы избежать дублирования.
  • Перенести данные модули в другой пакет через package otherpackage.
  • Вынести эти классы и использовать один общий.

Компиляции скриптового кода в SMP

  • ru.naumen.script_modules.useInvokeDynamic — признак, включающий indy (InvokeDynamic) для компиляции скриптового кода в SMP:

    В SMP InvokeDynamic по умолчанию не используется. Использование данной функции может как улучшить производительность, так и снизить ее. Рекомендуется самостоятельно оценивать риски и необходимость использования InvokeDynamic.

Список

Экспорт списка

Общее описание настройки, см. Настройка экспорта списка объектов.

  • ru.naumen.advlist.export.size — максимальное количество строк, которые будут доступны для экспорта из списка объектов (N).

    • При выгрузке до 1000 записей списка включительно, файл с результатами сразу предоставляется для скачивания.
    • При выгрузке более 1000 записей, но менее N записей списка включительно, экспорт списка выполняется в фоновом режиме, затем ссылка для скачивания файла с результатами отправляется на e-mail, указанный пользователем.
    • Ссылка для скачивания файла с результатами экспорта списка действительна ограниченное время, по умолчанию 3 суток. Файл доступен для скачивания по ссылке только для пользователя, инициировавшего экспорт списка.
    • При попытке выгрузки более N записей списка, для пользователя выводится сообщение: "Количество экспортируемых строк превышает максимально допустимое значение. Будут экспортированы только первые N строк из N+X", где Х — число строк превышающее максимальное значение N.

    Выгрузка большого числа объектов может занять длительное время. Выгрузка объектов осуществляется в один поток, поэтому следующие выгрузки будут заблокированы, пока не завершится предыдущая.

    Значение по умолчанию 1000. Минимальное значение 1000.

  • ru.naumen.advlist.export.live_day — количество суток, на протяжении которых будет храниться файл с экспортированными данными в базе данных или файловом хранилище.

    Отсчет времени идет от даты окончания формирования файла. По истечении времени файл удаляется из базы или файлового хранилища.

    Если параметр отсутствует, то применяется значение параметра ru.naumen.export.lifetime=3.

    Минимальное значение 1 сутки.

  • ru.naumen.export.lifetime — количество суток, на протяжении которых будет храниться файл с экспортированными данными из списка объектов и отчетами, печатными формами в базе данных или файловом хранилище.

    Отсчет времени идет от даты окончания формирования файла. По истечении времени файл удаляется из базы или файлового хранилища.

    Минимальное значение 1 сутки.

Очистка сгенерированных ссылок на список

  • textencodingservice.objectListLinksLifetime — время жизни ссылок на список на отдельной странице, в днях.

    Значение по умолчанию 30.

  • textencodingservice.cleaner.allowed_hours_begin — разрешенный час начала запуска задач очистки сгенерированных ссылок на список. Значения от 0 до 23.

    Значение по умолчанию 22.

  • textencodingservice.cleaner.allowed_hours_end — предельный час окончания запуска задач очистки сгенерированных ссылок на список. Значения от 0 до 23.

    Значение по умолчанию 6.

  • textencodingservice.cleaner.allowed_hours_end — предельный час окончания запуска задач очистки сгенерированных ссылок на список. Значения от 0 до 23.

    Значение по умолчанию 6.

Настройка списка

  • ru.naumen.objectlist.client.mode.active.extended.advlist.saveContentSettings — признак, управляющий режимом фонового сохранения настроек сложного списка:

    • true (по умолчанию) — включен режим фонового сохранения настроек сложного списка, то есть выполняется автосохранение пользовательских настроек отображения списка объектов, отмеченных признаком измененности вида списка (красная звездочка в левом верхнем углу поля выбора видов списка) без сохранения вида

    • false — режим фонового сохранения выключен.
  • ru.naumen.objectlist.client.mode.active.extended.advlist.autoSaveAdvlistSettingsInterval — интервал времени (в секундах) после последнего изменения настроек списка (ширина колонок, порядок и набор колонок, количество объектов, отображаемых на странице), по окончанию которого происходит фоновое сохранение настроек в базу данных.

    Значение по умолчанию 10 секунд.

  • ru.naumen.core.shared.attr.formatters.dateTimeWithLocalFormat — признак, переключающий вид предоставления для отображения значения атрибута "Дата/время" в списках. Для сложного списка параметр влияет на отображение атрибута типа "Обратный счетчик" в представлении "Время окончания", для простого списка — на отображение любых атрибутов типа "Дата/время".

    • true (по умолчанию) — значение атрибута в списке отображается в виде:

      • DD.MM.YYYY HH:MM (DD.MM.YYYY HH:MM) — если часовой пояс объекта и текущего пользователя не совпадают. Вне скобок указано значение в часовом поясе текущего пользователя, а в скобках — значение атрибута в часовом поясе объекта.
      • DD.MM.YYYY HH:MM — если часовой пояс объекта и текущего пользователя совпадают;
    • false — значение атрибута в списке отображается в виде DD.MM.YYYY HH:MM в любом случае.
  • ru.naumen.greedyFetching.maxSize — ограничение для загрузки списков объектов из базы данных с родителями и папками. По умолчанию максимальное количество подгружаемых объектов из базы данных с родителями и папкам 8192.

Перенос метаинформации с условиями фильтрации списка

  • ru.naumen.metainfo.server.spi.MetainfoExportSource.useMetainfoFiltersUuidsTransformer — признак, включающий механизм изменения UUID для элементов справочников, используемых в фильтрах при загрузки метаинформации.

    • false (по умолчанию).
    • true — если в условии фильтрации используется значение справочника, то производится замена UUID элемента справочника на основании его кода (в случае, если в загружаемой метаинформации есть сведения о самом справочнике).

    Включение параметра может привести к значительному увеличению времени загрузки метаинформации, см. Выгрузка и перенос настроек системы (метаинформации).

Настройка определенных контентов на работу на Read Only реплике базы данных (если она есть)

  • ru.naumen.readonly.contents — контенты со списками (через запятую), SQL запросы которых будут направлены на Read Only реплику базы данных (если она есть) .

    Для построения списка на Read Only реплику базы данных необходимо заполнить параметры Настройка построения списков с использованием реплики базы данных.

  • ru.naumen.readonly.allWithExclusions — учитывать ли список исключений, по умолчанию false (отключен);
  • ru.naumen.readonly.exclusions — список исключений.

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

  • db.read_only.max_active_connections=10 — количество требуемых соединений может быть вычислено по формуле: [Количество одновременных пользователей] + 10;
  • db.read_only.max_time_waiting_connection=120000;
  • db.read_only.sync.timeout=1000;
  • db.read_only.user=<db_user> — имя пользователя;
  • db.read_only.password=<db_user_password> — пароль для базы данных;
  • db.read_only.url=jdbc.sqlserver.//<db_server_name>:<db_port>;instancename=<db_instance>;databasename=<dbname>;

Где:

  • <db_server-name> — IP-адрес сервера СУБД:
  • <db_instance> - название экземпляра MS SQL. Если на сервере СУБД только один экземпляр MS SQL, то параметр указывать не обязательно;
  • <dbname> — название базы данных.

В строке подключения указывать либо порт, либо instancename.

Уведомления

  • ru.naumen.push.read_by_user_age — время хранения прочитанных уведомлений в интерфейсе (push уведомлений). Параметр отвечает за время хранения прочитанных уведомлений (статус = "Прочитано" (readByUser)).

    Все прочитанные уведомления, доставленные более чем за %значение параметра% дней автоматически удаляются из системы. Процедура удаления запускается один раз в сутки.

    Допустимые значения: целое число, единица измерения "дни".

    Значение по умолчанию: 7 дней.

  • ru.naumen.push.not_read_by_user_age — время хранения непрочитанных уведомлений в интерфейсе (push уведомлений). Параметр отвечает за время хранения непрочитанных уведомлений (статус != "Прочитано" (readByUser)).

    Все непрочитанные уведомления, доставленные более чем %значение параметра% дней автоматически удаляются из системы. Удаление запускается один раз в сутки.

    Допустимые значения: целое число, единица измерения "дни".

    Значение по умолчанию: 7 дней.

  • ru.naumen.push.cleaner.allowed_hours_begin — разрешенный час начала работ — время запуска задач очистки push уведомлений

    Если предыдущий цикл очистки не закончен, новый цикл очистки не запускается.

    Если значение параметра равно 14, а приложение запускается в 14:02, то задача очистки будет запущена на следующий день в 14:00.

    Если приложение было перезапущено при работающих задачах очистки, их следующий запуск будет произведен на следующий день в разрешенный час начала работ.

    Допустимые значения: 0-23. Каждый день в начале (0 минут) указанного часа будет запущена задача очистки.

    Значение по умолчанию 0.

  • ru.naumen.push.cleaner.allowed_hours_end — предельный час окончания работ задач очистки (включительно).

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

    Очистка записей производится: пока не останется записей для очистки ИЛИ пока не вышло отведенное на очистку время

    Допустимые значения: 0-23.

    Значение по умолчанию 23.

  • ru.naumen.push.cleaner.batch_size — количество записей в пачке, которая будет удалена в одной транзакции

    Значение по умолчанию 1000.

Файловое хранилище

  • ru.naumen.filestorage.upload.direct — признак, управляющий загрузкой файлов в файловое хранилище типа disk (файловая система на сервере приложения) или s3 (хранилище, работающее по протоколу S3):

    • false (по умолчанию) — загрузка файлов через систему с помощью планировщика задач;
    • true — загрузка файлов выполняется напрямую в файловое хранилище;

Описание работы с файловыми хранилищами, см. Файловые хранилища.

Файлы

Максимальный размер загружаемого файла не должен превышать размер памяти, выделенной приложению (иначе будет возникать ошибка при загрузке файла, связанная с недостатком памяти)!

  • ru.naumen.max.files.size — максимальный суммарный размер файлов в Mb, выгружаемых из списка файлов. Если суммарный размер скачиваемых файлов больше, то появится сообщение об ошибке.

    Если параметр не указан или не заполнен, то применяется значение по умолчанию 500.

  • ru.naumen.file.base64.limit — ограничение на размер файла при преобразовании в base64. Значение указывается в килобайтах. Применяется только для метода utils.convertFilesToBase64 (api.utils Работа с файлами).

    Значение по умолчанию 51200.

Временные файлы

Механизм очистки временных файлов предназначен для удаления временных файлов из директории java.io.tmpdir при запуске приложения и во время работы приложения.

Удаление временных файлов рекомендуется включать во время минимальной работы сотрудников, например, в период 01:00 - 02:00.

  • temp.files.cleaner.service.enable — включение или отключение механизма очистки временных файлов:

    • true — механизм очистки временных файлов включен;
    • false (значение по умолчанию) — механизм очистки временных файлов отключен.
  • count.time.passed.for.safely.delete — удаление файлов, которые изменялись раньше, чем "время начала чистки", в миллисекундах.

    Значение по умолчанию 0.

    Рекомендованное значение 7200000 (2 часа)

  • temp.files.cleaner.service.clean.javamelody.enable — включение или отключение очистки каталога javamelody:

    • true — механизм очистки каталога javamelody включен;
    • false (значение по умолчанию) — механизм очистки каталога javamelody отключен.
  • temp.files.cleaner.allowed_hours_begin — разрешенный час начала запуска задач очистки. Возможные значения от 0 до 23. Рекомендованное значение 1.

    Значение по умолчанию 0.

  • temp.files.cleaner.allowed_hours_end — предельный час окончания запуска задач очистки. Возможные значения от 0 до 23. Рекомендованное значение 2.

    Значение по умолчанию 23.

Формы

  • ru.naumen.dynaform.client.useDtoObjectsWithoutLinkAttrs — определяет необходимость поднимать упрощенные (без ссылочных атрибутов) объекты на клиент в контенте "Выбор контрагента" в интерфейсе оператора.

    • false (по умолчанию) — при открытии формы добавления/редактирования объекта при выборе значения агрегирующего атрибута, поднимаются значения (объекты) по всем ссылочным атрибутам;
    • true — во всех скриптах, где будет формироваться контекстная переменная, через которую можно получить доступ к агрегирующему атрибуту "Контрагент" (client), будут загружаться и будут доступны все атрибуты, за исключением ссылочных.

      Т.е. в атрибуты "Контрагент" (client), "Контрагент сотрудник" (clientEmployee), "Контрагент отдел" (clientOu), "Контрагент команда" (clientTeam) будут загружаться все атрибуты, кроме "Ссылка на бизнес-объект", "Набор ссылок на бизнес-объекты", "Обратная ссылка", "Агрегирующий".

      Это касается скриптов: "Вычисление атрибута при редактировании", "Фильтрация атрибута при редактировании", "Вычисление значения по умолчанию", "Уточнения прав доступа"

  • ru.naumen.raiseOnlyRequiredFormAttributes.enable — определяет необходимость получения атрибутов типа "Обратная ссылка", не выведенных на форму редактирования контента. Параметр определяет вариант работы базового механизма приложения, который при любом запросе объекта производит вычисление вычислимых атрибутов и помещение их в контекст приложения groovy скриптами. Механизм обеспечивает актуальность данных на стороне клиента.

    Актуально для форм редактирования, открытых из контента "Параметры объекта" (будет работать если у запрашиваемого объекта нет атрибутов, вычисляемых скриптами).

    • true (по умолчанию) — при открытии формы редактирования контента не будут получены значения атрибутов типа "Обратная ссылка", которые не выведены на форму. Это позволяет загружать форму редактирования контента быстрее, не поднимая ненужные атрибуты.
    • false — при открытии формы редактирования контента будут получены значения атрибутов типа "Обратная ссылка", которые не выведены на форму.

    Если атрибут типа "Обратная ссылка" редактируем и выведен на форму редактирования контента, то он в любом случае вне зависимости от значения нового параметра отобразится на форме.

  • ru.naumen.form.tag.multiline — определяет отображение полного названия выбранных объектов в списке множественного выбора на формах и при настройке фильтрации в списках в интерфейсе оператора. Выбранные значения отображаются под полем списка на серых плашках.

    • false (по умолчанию) — названия объектов на серых плашках обрезаются и показываются с троеточием.
    • true — названия объектов на серых плашках отображаются полностью.

    Список множественного выбора используется для выбора значения атрибута типа "Набор ссылок на БО", "Обратная ссылка", "Набор элементов справочника", "Набор типов", "Файл"

Формы добавления и редактирования связи

Фильтрация списка на форме добавления и редактирования связи

  • ru.naumen.dynaform.client.content.complexrelation.form.list.filterRestrictionForComplexForm — признак, включающий ограничение фильтрации списка объектов на формах добавления и редактирования связей. Ограничение влияет на быструю и сложную фильтрацию

    • true (по умолчанию) — для выбора на форме будут доступны только те объекты, которые хранятся в значении атрибутов объектов списка, с которого была вызвана форма добавления /редактирования связей.

      Ограничение распространяется на атрибуты типа "Ссылка на бизнес объект", "Набор ссылок на БО", "Обратная ссылка", "Агрегирующий атрибут (и части агрегирующего)", "Ответственный", "Элемент справочника", "Набор элементов справочника", "Лицензия", "Статус", "Набор типов класса", "Тип объекта".

    • false — ограничение выключено и список объектов никак не ограничен.

    См. Форма добавления связи и Форма редактирования связей.

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

В разных базах данных есть ограничения для sql-запросов:

  • Ограничение на максимальное количество элементов, которое может быть передано в выражение IN sql-запроса (в PostgreSQL нет ограничения, у остальных зависит от версии).
  • Ограничение на количество параметров sql-запроса (MSSQL поддерживает максимум 2100 параметров).

Параметры, позволяющие обойти вышеуказанные ограничения:

  • ru.naumen.big_in_constructed_sql_enable — признак, включающий использование механизма InCriterionBig при формировании запросов, содержащих выражение IN.

    По умолчанию выключен.

    InCriterionBig — механизм, который запросы вида IN(...) преобразует в IN(...) OR IN (....) и таким образом обходит ограничение на количество элементов в IN. Реализовано для всех типов баз данных.

  • ru.naumen.in_with_id_storage_activate_border — количество объектов в атрибуте-коллекции (границу включения), при котором будет использован механизм InCriterionWithIdStorage для атрибутов-коллекций uuid.

    По умолчанию 10000.

    InCriterionWithIdStorage — механизм, который позволяет обойти ограничение на количество параметров, он заменяет передачу параметров в IN на SELECT к специальной таблице tbl_sys_id_storage.

    Только для Microsoft SQL Server и только для передачи uuid.

    Внимание! При использовании InCriterionWithIdStorage не происходит кэширования запросов. Поэтому механизм InCriterionWithIdStorage стоит использовать только в условиях, когда big_in_constructed_sql_enable ломается из-за слишком большого количества идентификаторов в запросе.

Переход на форму добавления связи

  • ru.naumen.form.complex.open.onenter — признак, включающий переход на форму добавления связи по клавише Enter, если форма доступна.

    • true — переход на форму по клавише Enter возможен;
    • false (по умолчанию) — переход на форму по клавише Enter не возможен.

Форма добавления связи с полнотекстовым поиском

  • ru.naumen.form.complex.fullTextSearchFormEnabled — признак, включающий или выключающий отображение значения "Плоский список с полнотекстовым поиском при настройке параметра "Расширенное редактирование связей" на форме добавления и форме редактирования атрибутов типа "Ссылка на бизнес-объект", "Набор ссылок на бизнес-объекты", "Обратная ссылка":

    • false (по умолчанию) — значение "Плоский список с полнотекстовым поиском" не отображается;
    • true — значение "Плоский список с полнотекстовым поиском" отображается и доступно для выбора.
  • ru.naumen.lucene.fullTextSearchOnFormObjectsLimit — максимальное количество объектов в списке результатов поиска при использовании формы добавления связей с полнотекстовым поиском.

    Значение по умолчанию = 10000.