Show/Hide Toolbars

Руководство по тех. обслуживанию

Описание ключей web.config

Что определяет

Ключ или тег

Описание и примеры

Конфигурация


<configSections>
  <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=6.0.0.0, Culture=neutral" requirePermission="true" />
</configSections>

Соединение с БД

connectionString

<connectionStrings>
  <add name="TCConnectionString" connectionString="xxxxxxxxx" providerName="System.Data.SqlClient"/>
</connectionStrings>

Пример connectionString:

connectionString="packet size=4096;user id=<user_login>;data source=<DBname>;persist security info=True;initial catalog=<catalog_name>;password=<user_password>;Max Pool Size=2500; MultipleActiveResultSets=true"

Имперсонирование пользователя

impersonate

Для работы в режиме однократной синхронизации почтового клиента необходимо, чтобы была включена Windows-авторизация, а также режим имперсонирования:

<identity impersonate="true" />

Ключ фермы

machineKey

Требуется для SingleSignOn между серверами "Первой Формы" и/или приложениями (например, "Первой Формой" и Личным кабинетом).

<machineKey validationKey="xxx" decryptionKey="xxx" validation="SHA1" decryption="AES" />

Настройки авторизации

authentication

Аутентификация Windows (Active Directory):

<authentication mode="Windows"/>

 

Аутентификация Forms (через БД сайта)

Начиная с версии 2.184:

тега authentication быть не должно. См. Настройка аутентификации по токенам.

До версии 2.184:

<authentication mode="Forms">
  <forms name="TaskCenterAndCZAuth" loginUrl="Login.aspx" slidingExpiration="true" timeout="25" protection="All" path="/" domain="1forma.ru">
  </forms>
</authentication>

Редирект для разных доменных имен

SetCookieForUpperLevelDomain

Ключ SetCookieForUpperLevelDomain определяет, для какого домена будет задана cookie 1FormaAuth - для домена верхнего уровня (значение true) либо для полного доменного имени (false).

<add key="SetCookieForUpperLevelDomain" value="true"/>

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

Имеет смысл, если настроены несколько серверов, например, https://win.myDomain.ru и https://forms.myDomain.ru.

См. Настройка аутентификации по токенам.

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

sessionState

По умолчанию

<sessionState mode="Off" />

(все остальные атрибуты у sessionState можно удалить)

Но если в приложении развернут модуль опросов, то

<sessionState mode="InProc" />

Отдача контейнеров мобильных приложений, а также вызов отчетов FastReport из контекста задачи

TaskCenter.iOSClientServices.API

В зависимости от используемого протокола для корректной отдачи контейнеров мобильного приложения в файле web.config необходимо выставить соответствующий параметр в секции
<service name = "TaskCenter.iOSClientServices.API">

Если передача ведется по протоколу https:

<service name="TaskCenter.iOSClientServices.API">
    <endpoint address="" behaviorConfiguration="TaskCenter.iOSClientServices.APIAspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration="secureHttpBinding" contract="TaskCenter.iOSClientServices.API" />
</service>

Если передача ведется по протоколу http, то параметр bindingConfiguration="secureHttpBinding" не нужен, и строка имеет вид:

<service name="TaskCenter.iOSClientServices.API">

    <endpoint address="" behaviorConfiguration="TaskCenter.iOSClientServices.APIAspNetAjaxBehavior" binding="webHttpBinding" contract="TaskCenter.iOSClientServices.API" />

</service>

Путь к Swagger для тестирования API

ApplicationPath

В секции <appSettings> можно указать путь к Swagger:

<add key="ApplicationPath" value="https://адрес-приложения-1Форма" />

В этом случае обращение к Swagger будет идти по адресу:

https://адрес-приложения-1Форма/swagger/ui/index/

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

Сервер заданий по таймеру

IsJobServer

Чтобы на сервере запускались задания по таймеру, в секции <appSettings> должен быть ключ

<add key="IsJobServer" value="true"/>

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

Если ключ IsJobServer не указан, то задания будут запускаться на сервере с ключем IsMainServer

Задания по удалению неиспользуемых файлов

EnableRemovalOfUnusedFiles

RemovePreparedFileStorageFilesJob

Чтобы работали задания по таймеру, отвечающие за удаление неиспользуемых файлов, в секции <appSettings> должен быть ключ

<add key="EnableRemovalOfUnusedFiles" value="true"/>

!warning Если тестовый сервер использует рабочие ("боевые") файловые провайдеры, то включать данный ключ в web.config на тестовом сервере не рекомендуется. В противном случае файлы, удаленные в тестовом приложении в процессе тестирования, будут удалены также и в рабочем приложении.

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

<add key="RemovalOfUnusedFilesBatchCount" value="300000"/>

где 300 000 - это максимальное число файлов.

!warning Перед внесением изменений рекомендуется сделать резервную копию всех файловых провайдеров и основной БД.

Создание задач для календарных встреч из Exchange (при включенной синхронизации)

CreateTasksForAppointments

Если календарная встреча создается в "Первой Форме", создается задача в календарной категории и запись в таблице Appointments.

Если календарная встреча создается в Exchange, то в "Первой Форме" создается запись в таблице Appointments, а соответствующая задача в системной календарной категории может создаваться или не создаваться. Будет ли создаваться такая задача, определяет ключ CreateTasksForAppointments – если он имеет значение false, задача в системном календаре не создается, если true - создается. По умолчанию задача в "Первой Форме" создается, но чтобы ускорить синхронизацию, этот режим можно отключить.

 

<appSettings>
  <add key="CreateTasksForAppointments" value="false" />
</appSettings>

Доступность прямой работы с SQL из интерфейса администрирования

disableSQLShell

В интерфейсе администрирования "Первой Формы" можно отключить возможность работы напрямую с SQL. Это определяет ключ disableSQLShell:

Если ключ имеет значение true, то в разделе Сервисы не доступен пункт Выполнить SQL-запрос, а в редакторе смарт-выражений не отображается кнопка В TSQL. При попытке отредактировать хранимую процедуру будет возникать ошибка 403.

<appSettings>
  <add key="disableSQLShell" value="true" />
</appSettings>

Режим аутентификации в ActiveDirectory

ActiveDirectoryAuthenticationMode

Для аутентификации через ActiveDirectory в секции appSettings может быть установлен ключ ActiveDirectoryAuthenticationMode. Значение по умолчанию - DirectoryServices.

Если в лесе ActiveDirectory используются одноименные учетные записи, для ActiveDirectoryAuthenticationMode нужно установить значение PrincipalContext

Обновление кэшей через БД

ApplicationInstanceId

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

<add key="ApplicationInstanceId" value="web-1901" />

Сигнализация для обновления кешей через БД

MessageBus

UseSqlServerBus

Ключ MessageBus определяет очередь сообщений. Возможные значения: NoneRedis (устаревшее), RebusSQL (по умолчанию). При старте приложения "Первая Форма" соответствующая очередь сообщений Rebus очищается.

Чтобы работала сигнализация для обновления кешей, в секции appSettings ключ UseSqlServerBus должен быть установлен в значение true. Чтобы выключить Rebus, значение UseSqlServerBus должно быть явно задано как false

Быстрая регистрация модулей приложения

ExperimentalEnableOptimizedRegistration

Для быстрой регистрации модулей при старте приложения в секции appSettings ключ ExperimentalEnableOptimizedRegistration должен быть установлен в значение true.

!warning По умолчанию выключен, не рекомендуется к использованию

Обновление пользовательского кеша по сигналу от мастер-сервера

InvalidateUsersCacheByEvent

Чтобы включить обновление UsersCache по сигналу от мастер сервера, в секции appSettings ключ InvalidateUsersCacheByEvent должен быть установлен в значение true.

!warning По умолчанию выключен, не рекомендуется к использованию

Скачивание файлов одним архивом (групповая обработка в табличном представлении категории)


<dependentAssembly>
            <assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.3.1.9" newVersion="1.3.1.9" />
</dependentAssembly>

Эти настройки должны присутствовать начиная с версии 2.232

Интерфейс SPA

Доступность интерфейса SPA

EnableSpaSettings

Чтобы в пользовательском и администраторском интерфейсах "Первой Формы" были доступны элементы интерфейса SPA, ключ EnableSpaSettings должен быть установлен в значение true.

 

<appSettings>
  <add key="EnableSpaSettings" value="true" />
</appSettings>

Карточка задачи

UseNewMTF

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

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

!warning Ключ действует только в категориях, где используется шаблон по умолчанию

UseNewMTFStyle

Чтобы отображалась карточка задачи с новой лентой комментариев и перепиской, нужно установить ключ UseNewMTFStyle в значение true.

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

!warning Ключ действует только в категориях, где используется шаблон по умолчанию

Порталы

UseSpaPortals

Чтобы включить использование новых порталов в старом фронте, нужно установить ключ UseSpaPortals в значение true

Профиль пользователя

UseSPAProfilePage

В интерфейсе SPA для просмотра профиля пользователя используется ссылка ~/spa/user/profile/{userid}.

В старом интерфейсе по умолчанию используется ссылка ~/UserInfo.aspx?UserID={userid}.

Чтобы включить переадресацию со старого профиля на новый, нужно включить ключ UseSPAProfilePage.

Если UseSPAProfilePage установлен в значение true, то переадресация выполняется, если UseSPAProfilePage установлен в значение false или не определен — переадресация не выполняется

Страница авторизации

UseSpaLoginPage

Чтобы использовать страницу авторизации, адаптированную для интерфейса SPA, нужно установить ключ UseSpaLoginPage в значение true

Также настройки web.config можно посмотреть в разделах:

конфигурирование аутентификации по токенам

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

поиск Sphinx

публикация личного кабинета

модуль опросов (устаревшее)

модуль интеграции с 1С

синхронизация с Exchange