Мастер-Тур(15):Установка — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Установка службы поиска)
(Настройка конфигурационного файла)
 
(не показаны 93 промежуточные версии 7 участников)
Строка 19: Строка 19:
  
 
==Взаимодействие модулей==
 
==Взаимодействие модулей==
 
+
Взаимодействие модулей «Мастер-Тур» 15 версии представлено на схеме.</br>
Взаимодействие модулей «Мастер-Тур» 15 версии представлено на схеме.
+
[[Файл: Ea_231.png|900px|Взаимодействие модулей]]</br>
{| border="1" style="border-collapse:collapse"
+
===Основные компоненты системы===
|-
+
* Служба MasterTourService нужна для кеширования данных для работы ПК «Мастер-Тур», расчета цен на услуги в турах и оформленных путевках, а также для бронирования и оплаты путевок. Без запущенной службы MasterTourService в ПК «Мастер-Тур» войти нельзя. Взаимодействует с базой данных, сервисом квот, сервисом лицензирования, десктопным приложением Мастер Тур, личным кабинетом MasterWeb, программами туров.
| [[Файл: mb_293.png|900px|Взаимодействие модулей]]
+
* Cервис квотирования (QuotasService) необходим для обработки квот. До релиза 15.9 является необязательным, если не установлен, то обработкой квот занимается MTS. Взаимодействует с базой данных, MTS, десктопным приложением Мастер Тур, личным кабинетом MasterWeb, программами туров.
|-
+
* Сервис лицензирования (MasterDataService) отвечает за проверку лицензий всех приложений ПК «Мастер-Тур». До релиза 15.9 является необязательным, если не установлен, то проверка лицензий ведется приложениями при взаимодействии с базой данных. Взаимодействует с MTS, десктопным приложением Мастер Тур, личным кабинетом MasterWeb, сервисом поиска, программами туров.
|}
+
* Сервис поиска (TourSearchOwin) нужен для кеширования данных для поиска и является основой архитектуры динамического ценообразования, API для поиска и бронирования. Имеется возможность настройки разных конфигураций службы поиска, например вынести актуальные фильтры в отдельную службу. Подробнее в разделе [[Мастер-Тур(15):Установка#Варианты конфигураций служб поиска|Варианты конфигураций служб поиска]]. Взаимодействует с базой данных, личным кабинетом MasterWeb, сервисом лицензирования, программами туров, клиентами поиска.
 +
* Программа туров предназначена для создания и редактирования турпрограмм, заведения акций, администрирования системы, работой со справочниками и внешними поставщиками. Взаимодействует с базой данных, MTS, сервисом квот, сервисом лицензирования.
 +
* Личный кабинет MasterWeb предназначен для работы с путевками и проведения оплат. Взаимодействует с MTS, сервисом поиска, сервисом квот, сервисом лицензирования.
 +
* Клиенты поиска TourSearchCliуnt/Canary предназначены для поиска и бронирования туров. Взаимодействует с сервисом поиска.
 +
* Клиентское приложение Мастер-Тур предназначено для работы с ценами, справочниками и взаимодействия с компонентами ПК "Мастер-Тур". Взаимодействует с базой данных, MTS, сервисом квот, сервисом лицензирования.
  
 
==Установка==
 
==Установка==
Строка 62: Строка 66:
  
  
''Тестирование компонентов комплекса:''
+
====Тестирование компонентов комплекса====
* Тестирование '''TourSearchOwin''': правильность настройки сети и работу службы можно проверить открытием ссылки ''http://online.yourdomainname.ru:9000/TourSearchOwin/Settings''.
+
 
* Тестирование '''TourSearchClient''': правильность настройки сети и работу службы можно проверить открытием ссылки ''http://online.yourdomainname.ru/TourSearchClient''.
+
* Тестирование '''TourSearchOwin''': правильность настройки сети и работу службы поиска можно проверить открытием ссылки ''http://online.yourdomainname.ru:9000/TourSearchOwin/Settings''
 +
* Тестирование '''TourSearchClient''': правильность настройки сети и работу приложения можно проверить открытием ссылки ''http://online.yourdomainname.ru/TourSearchClient''
 +
* Тестирование '''Canary''': правильность настройки сети и работу приложения можно проверить открытием ссылки ''http://online.yourdomainname.ru/Canary''
 +
* Тестирование '''QuotasService''': правильность настройки сети и работу службы квотирования можно проверить открытием ссылки ''http://online.yourdomainname.ru:5000/QuotasService/api/Settings''
 +
* Тестирование '''MasterTourService''': правильность настройки сети и работу службы MTS можно проверить открытием ссылки ''http://online.yourdomainname.ru/MTS/Setting.svc''
 +
* Тестирование '''MasterDataService''': правильность настройки сети и работу службы лицензирования можно проверить открытием ссылки ''http://online.yourdomainname.ru:5005/DataService/swagger/index.html''
  
 
===Установка серверной части ПК «Мастер-Тур»===
 
===Установка серверной части ПК «Мастер-Тур»===
Строка 100: Строка 109:
 
  <span style="font-family:arial">Файлы базы данных и файлы резервной копии физически должны находиться на отдельных дисках  
 
  <span style="font-family:arial">Файлы базы данных и файлы резервной копии физически должны находиться на отдельных дисках  
 
  (для восстановления базы данных в случае проблем с диском)</span><br />
 
  (для восстановления базы данных в случае проблем с диском)</span><br />
 +
 +
====Переход с одного SQL сервера на другой====
 +
При переходе с одного SQL_сервера на другой необходимо выполнить следующие шаги:
 +
* Перенести учетные записи пользователей стандартным скриптом от Microsoft:
 +
https://learn.microsoft.com/ru-ru/windows/deployment/usmt/usmt-migrate-user-accounts
 +
* Перенести все базы данных, которые необходимы для работы
 +
* Начиная с SQL Server 2019 требуется повторное выполнение скриптов для пользователей служб Мастер-Тура по базе ПК Мастер-Тура: ''CreateUserMT15_avAdmins.sql'', ''CreateUserMT15_avServices.sql'' и ''CreateUserMT15_sysadmin.sql''
 +
* Если все-таки не произошло сопоставления учетных записей SQL сервера и базы данных – выполнить скрипт по каждому логину пользователя
 +
''sp_change_users_login 'Update_one', loginname, username''
  
 
===Обновление базы данных ПК «Мастер-Тур»===
 
===Обновление базы данных ПК «Мастер-Тур»===
  
Если при установке 15 версии используется эталонная база, необходимо выполнить два скрипта:<br />
+
Если при установке 15 версии используется эталонная база, необходимо выполнить три скрипта:<br />
 
* Выполнить скрипт (из дистрибутива обновления) '''CurrentScript.sql''' – для обновления базы данных ПК Мастер-Тур
 
* Выполнить скрипт (из дистрибутива обновления) '''CurrentScript.sql''' – для обновления базы данных ПК Мастер-Тур
* Выполнить скрипт (из дистрибутива обновления) '''CreateUserMT15.sql''' – для создания пользователя, который будет использоваться в конфигурационном файле службы поиска [[#Установка службы поиска|TourSearchOwin]], а также для входа в программу туров для установки лицензии
+
* Выполнить скрипт (из дистрибутива обновления) '''CreateUserMT15_avAdmins.sql''' – для создания пользователя, который будет использоваться в конфигурационном файле [[Мастер-Тур(15):Установка#Установка службы MasterTourService|MasterTourService]], а также для входа в программу туров для установки лицензии
 +
* Выполнить скрипт (из дистрибутива обновления) '''CreateUserMT15_avServices.sql''' – для создания пользователя, который будет использоваться в конфигурационных файлах [[Мастер-Тур(15):Установка#Установка службы поиска|Служба поиска]], [[Мастер-Тур(15):Установка#Установка службы кеша для акций|Служба кеша для акций]], [[Мастер-Тур(15):Установка#Установка программы туров|Программа туров]] и [[Мастер-Тур(15):Установка#Установка ПК «Мастер-Web»|Мастер-Web]]<br />
  
 
После окончания настройки программы, для дальнейшего создания логинов и паролей пользователей необходимо использовать приложение [[Модуль_администрирования_AdminMS#Уровень Users|Мастер-Администратор]].<br /><br />
 
После окончания настройки программы, для дальнейшего создания логинов и паролей пользователей необходимо использовать приложение [[Модуль_администрирования_AdminMS#Уровень Users|Мастер-Администратор]].<br /><br />
Строка 123: Строка 142:
 
* Скопировать папку ''MasterTour'' из дистрибутива на клиентскую машину.  
 
* Скопировать папку ''MasterTour'' из дистрибутива на клиентскую машину.  
 
* Распаковать дистрибутивы ''MasterTour_Rus_15.1.0.ххххх.zip'' и ''Plugins/AllPlugins.zip'' в папку ''MasterTour''  
 
* Распаковать дистрибутивы ''MasterTour_Rus_15.1.0.ххххх.zip'' и ''Plugins/AllPlugins.zip'' в папку ''MasterTour''  
* Настроить конфигурационный файл ''sql.ini''. Если установка с нуля, то шаблон файла можно взять ниже.
+
* Настроить конфигурационный файл ''sql.ini''. Если установка производится с нуля, в случае отсутствия конфигурационного файла в папке ''MasterTour'', необходимо создать его любым текстовым редактором, используя представленный ниже шаблон файла.
  
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 183: Строка 202:
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="acceptableServices" value=""/>
 
<add key="acceptableServices" value=""/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 2
 +
| Путь к службе сервиса квотирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса квотирования|служба сервиса квотирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
| Путь к службе сервиса лицензирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса лицензирования|служба сервиса лицензирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Строка 220: Строка 257:
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
Для корректной работы в настройке ''User Id'' необходимо указать пользователя, созданного в ПК «Мастер-Тур». Использование имени входа ''sa'' или других системных имен входа
+
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
MS SQL сервера невозможно.
+
* Для корректной работы в настройке ''User Id'' достаточно указать пользователя, привязанного к группе ''avServices'' в модуле [[Модуль администрирования AdminMS#Уровень Groups|Мастер-Администратор]] (обрабатывается с релиза 15.6). Использование имени входа ''sa'' или других системных имен входа MS SQL сервера невозможно.
<br /><font style="color:red">''Внимание!''</font><br />
+
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=TourSearchOwin" />
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=TourSearchOwin" />
Строка 238: Строка 274:
 
* TourSearchCache – детализированная информация при первоначальной загрузке в кеш и об изменениях всех данных в системе
 
* TourSearchCache – детализированная информация при первоначальной загрузке в кеш и об изменениях всех данных в системе
 
* TourSearchApi – информация о поисковых запросах к API поисковыми системами
 
* TourSearchApi – информация о поисковых запросах к API поисковыми системами
* DictionaryCacheLog – первоначальная загрузка в кеш всех справочников
+
* TourSearchApiShort – краткая информация о поисковых запросах к API поисковыми системами (Записывается только запуск и завершение запроса). Используется вместо лога TourSearchApi, если у клиента наблюдается слишком большая нагрузка при записи лога TourSearchApi
 +
* DictionaryCacheLog – информация о запросах, ответах и времени обработки от внешнего поставщика (GDS)
 
* Calculate – детализированный расчет (не включать на реальной среде, так как будут просадки в производительности)
 
* Calculate – детализированный расчет (не включать на реальной среде, так как будут просадки в производительности)
 
* Specials – детализированный расчет акций (не включать на реальной среде, так как будут просадки в производительности)
 
* Specials – детализированный расчет акций (не включать на реальной среде, так как будут просадки в производительности)
 +
* Account – информация об авторизации
 +
* SearchResultLogger – информация о результатах поиска
 +
* ReservationLogger – информация о бронировании
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<Loggers path="Logs\">
 
<Loggers path="Logs\">
Строка 247: Строка 287:
 
  <Logger level="ALL" name="TourSearchCache" console="true" />
 
  <Logger level="ALL" name="TourSearchCache" console="true" />
 
  <Logger level="ALL" name="TourSearchApi" console="true" />
 
  <Logger level="ALL" name="TourSearchApi" console="true" />
 +
<Logger level="OFF" name="TourSearchApiShort" console="false" />
 
  <Logger level="ALL" name="DictionaryCacheLog" console="true" />
 
  <Logger level="ALL" name="DictionaryCacheLog" console="true" />
 
  <Logger level="OFF" name="Calculate" console="false" />
 
  <Logger level="OFF" name="Calculate" console="false" />
 
  <Logger level="OFF" name="Specials" console="true" />
 
  <Logger level="OFF" name="Specials" console="true" />
 +
<Logger level="OFF" name="Account" console="false" />
 +
<Logger level="OFF" name="SearchResultLogger" console="false" />
 +
<Logger level="OFF" name="ReservationLogger" console="true" />
 
</Loggers>
 
</Loggers>
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 267: Строка 311:
  
 
| 4
 
| 4
 +
| Путь к службе сервиса квотирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса квотирования|служба сервиса квотирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 5
 +
| Путь к службе сервиса лицензирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса лицензирования|служба сервиса лицензирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 6
 
| Использование актуальных фильтров
 
| Использование актуальных фильтров
 
| Включает актуальные фильтры в поиске и подсветку дат. В этом случае инициализация увеличивается по времени. По умолчанию настройка не включена (значение ''false'').
 
| Включает актуальные фильтры в поиске и подсветку дат. В этом случае инициализация увеличивается по времени. По умолчанию настройка не включена (значение ''false'').
Строка 275: Строка 337:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 5
+
| 7
 
| Название службы
 
| Название службы
 
| Задается название службы. По умолчанию служба будет создана с названием ''MegatecTourSearchOwin''.
 
| Задается название службы. По умолчанию служба будет создана с названием ''MegatecTourSearchOwin''.
Строка 284: Строка 346:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 6
+
| 8
 
| Расчет размещения 1+0 при заполнении актуальных фильтров
 
| Расчет размещения 1+0 при заполнении актуальных фильтров
 
| По умолчанию актуальные фильтры заполняются только по тем ценам, размещение которых равно 2+0. При использовании этой настройки будет учитываться как размещение 2+0, так и 1+0.
 
| По умолчанию актуальные фильтры заполняются только по тем ценам, размещение которых равно 2+0. При использовании этой настройки будет учитываться как размещение 2+0, так и 1+0.
Строка 295: Строка 357:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 7
+
| 9
 
| Указание приложения поиска.<br />
 
| Указание приложения поиска.<br />
 
Обрабатывается только в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]].
 
Обрабатывается только в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]].
Строка 305: Строка 367:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 8
+
| 10
 
| Отображение цен на услуги (значение '''surcharge''' метода '''ActualizeTour''' в [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Актуализация тура (ActualizeTour)|API для отдачи цен в поисковые системы]])
 
| Отображение цен на услуги (значение '''surcharge''' метода '''ActualizeTour''' в [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Актуализация тура (ActualizeTour)|API для отдачи цен в поисковые системы]])
 
|
 
|
 
* '''Always''' – цена на услуги возвращается всегда и для всех услуг
 
* '''Always''' – цена на услуги возвращается всегда и для всех услуг
 
* '''No''' – цена на услуги не возвращается
 
* '''No''' – цена на услуги не возвращается
* '''SurchargeOnly''' или '''отсутствие настройки''' – возвращаются цены только для тех услуг, которые ''не включены'' в стоимость тура
+
* '''SurchargeOnly''' или '''отсутствие настройки''' – возвращаются цены только для тех услуг, которые ''не включены'' в стоимость тура и являются ''удаляемыми''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="showServicePriceInActualizeTour" value="SurchargeOnly" />
 
<add key="showServicePriceInActualizeTour" value="SurchargeOnly" />
Строка 317: Строка 379:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 9
+
| 11
 
| Группы классов перелетов.<br />
 
| Группы классов перелетов.<br />
 
Обрабатывается только в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]].
 
Обрабатывается только в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]].
Строка 327: Строка 389:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 10
+
| 12
| Процент используемых ядер процессора при поиске.
+
| Множитель используемых ядер процессора при поиске.
| Процент от общего количества ядер процессора, которые будут использоваться при поиске. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
+
| Настройка предназначена для указания множителя физического количества потоков машины, которые будут обслуживать функциональность поиска службы поиска.<br />
 +
В качестве примера:<br />
 +
физических ядер – 4<br />
 +
значение настройки – 0,8<br />
 +
результат перемножения – 3, т.е. всего максимум 3 потока будут обслуживать поисковую функциональность<br />
 +
Стоит учитывать, что ограничение будет действовать также при нескольких одновременных поисках. Таким образом, если количество свободных потоков закончится, тогда новые поиски будут ожидать высвобождения ресурсов, создавая эффект ''подвисания''. Следовательно – настройка ограничивает также максимальное количество одновременных поисков.<br />
 +
Чтобы увеличить количество одновременных поисков, следует увеличить значение настройки.<br />
 +
Допускается значения больше единицы. В этом случае, количество разрешенных потоков для поиска будет превышать количество физических потоков. Подобное допускается ценой снижения производительности на поток, если количество одновременных поисков будет превышать количество доступных физических ядер.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="searchCoresKoeff" value="0,8" />
 
<add key="searchCoresKoeff" value="0,8" />
Строка 336: Строка 405:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 11
+
| 13
| Процент используемых ядер процессора при перерасчете актуальных фильтров.<br />
+
| Множитель используемых ядер процессора при перерасчете актуальных фильтров.<br />
 
| Процент от общего количества ядер процессора, которые будут использоваться при перерасчете актуальных фильтров. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
 
| Процент от общего количества ядер процессора, которые будут использоваться при перерасчете актуальных фильтров. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
Строка 345: Строка 414:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 12
+
| 14
| Процент используемых ядер процессора при первичном расчете актуальных фильтров.<br />
+
| Множитель используемых ядер процессора при первичном расчете актуальных фильтров.<br />
 
| Процент от общего количества ядер процессора, которые будут использоваться при первичном расчете актуальных фильтров. К примеру, в 20-ти ядерном процессоре при значении настройки "0,9" будет использоваться 90 % мощности, то есть 18 ядер.
 
| Процент от общего количества ядер процессора, которые будут использоваться при первичном расчете актуальных фильтров. К примеру, в 20-ти ядерном процессоре при значении настройки "0,9" будет использоваться 90 % мощности, то есть 18 ядер.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
Строка 354: Строка 423:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 13
+
| 15
 +
| Множитель используемых ядер процессора при перерасчете маршрутов.<br />
 +
| Процент от общего количества ядер процессора, которые будут использоваться при перерасчете маршрутов. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="useParallelRecalcForRoutes" value="0,8" />
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| 16
 
| Упрощение расчета для поисковых систем.
 
| Упрощение расчета для поисковых систем.
 
| Данную настройку необходимо включать только в том случае, если для поисковых систем выделена отдельная служба поиска<br />
 
| Данную настройку необходимо включать только в том случае, если для поисковых систем выделена отдельная служба поиска<br />
Строка 365: Строка 443:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 14
+
| 17
 
| Служба с данными для актуальных фильтров.
 
| Служба с данными для актуальных фильтров.
 
| Данную настройку необходимо включать в службе, выделенной отдельно для поисковых систем. Используется с настройкой ''enableActualFilters'' в значении '''false'''<br />
 
| Данную настройку необходимо включать в службе, выделенной отдельно для поисковых систем. Используется с настройкой ''enableActualFilters'' в значении '''false'''<br />
Строка 376: Строка 454:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 15
+
| 18
 
| Ограничение максимального количества результатов для поисковых систем.
 
| Ограничение максимального количества результатов для поисковых систем.
 
| Данная настройка ограничивает параметр '''count''' в API для поисковых систем.<br />
 
| Данная настройка ограничивает параметр '''count''' в API для поисковых систем.<br />
Рекомендуемое значение – 60.
+
Рекомендуемое значение – 30.
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<add key="searchApiMaxResults" value="60" />
+
<add key="searchApiMaxResults" value="30" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 16
+
| 19
 
| Очистка устаревших данных (offerID в API для поисковых систем)
 
| Очистка устаревших данных (offerID в API для поисковых систем)
 
| Задается интервал для очистки дерева результатов в API для поисковых систем. Указывается в минутах. Рекомендуемое значение – 60.
 
| Задается интервал для очистки дерева результатов в API для поисковых систем. Указывается в минутах. Рекомендуемое значение – 60.
Строка 395: Строка 473:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 17
+
| 20
 
| Возможность отключения API для поисковых систем в определенной службе поиска
 
| Возможность отключения API для поисковых систем в определенной службе поиска
 
| Данную настройку необходимо включать в том случае, если необходимо закрыть доступ к методам для поисковых систем<br />
 
| Данную настройку необходимо включать в том случае, если необходимо закрыть доступ к методам для поисковых систем<br />
Строка 402: Строка 480:
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="disableSearchApi" value="true" />
 
<add key="disableSearchApi" value="true" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 21
 +
| Вывод в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]] информации об услугах в туре. Обрабатывается начиная с релиза 15.6.
 +
| '''false''' или '''отсутствие настройки''' – система работает без изменений (значение по умолчанию)<br />
 +
'''true''' – в ответе методов GetTours и GetToursAllPrices будет отображаться массив с услугами ''services''
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="showServiceDescription" value="true" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 22
 +
| Вывод в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]] информации о нетто стоимости услуги (обрабатывается только при включенной настройке '''showServiceDescription'''). Обрабатывается начиная с релиза 15.6.
 +
| '''false''' или '''отсутствие настройки''' – система работает без изменений (значение по умолчанию)<br />
 +
'''true''' – в ответе методов GetTours и GetToursAllPrices в массиве с услугами ''services'' будет заполняться информация о нетто стоимости услуги
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="showServiceNetto" value="true" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 23
 +
| Вывод в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]] информации о брутто стоимости услуги (обрабатывается только при включенной настройке '''showServiceDescription'''). Обрабатывается начиная с релиза 15.6.
 +
| '''false''' или '''отсутствие настройки''' – система работает без изменений (значение по умолчанию)<br />
 +
'''true''' – в ответе методов GetTours и GetToursAllPrices в массиве с услугами ''services'' будет заполняться информация о брутто стоимости услуги
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="showServiceBrutto" value="true" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 24
 +
| Вывод в [[Мастер-Тур(15):API для отдачи цен в поисковые системы|API для отдачи цен в поисковые системы]] информации о партнере по услуге (обрабатывается только при включенной настройке '''showServiceDescription'''). Обрабатывается начиная с релиза 15.6.
 +
| '''false''' или '''отсутствие настройки''' – система работает без изменений (значение по умолчанию)<br />
 +
'''true''' – в ответе методов GetTours и GetToursAllPrices в массиве с услугами ''services'' будет заполняться информация о партнере по услуге
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="showServicePartner" value="true" />
 +
</syntaxhighlight>
 +
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 25
 +
| Режим поиска (в днях тура/в ночах тура/в ночах проживания в отеле).<br />
 +
| Настройка режима поиска, заданная в конфигурационном файле имеет больший приоритет, чем аналогичная настройка [[Мастер-Тур(15):Программа туров. Настройки|осуществлять поиск]], заданная в настройках.
 +
Принимаемые параметры:
 +
* 0 – поиск осуществляется в днях тура
 +
* 1 – поиск осуществляется в ночах тура
 +
* 2 – поиск осуществляется в ночах проживания в отеле
 +
По умолчанию настройка не задана.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="DurationSearchMode" value=""/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 26
 +
| Возможность отключения поиска во внешних системах (в API для поисковых систем)
 +
| Данную настройку необходимо включать в том случае, если необходимо отключить поиск во внешних системах (в API для поисковых систем)<br />
 +
'''false''' или '''отсутствие настройки''' – поиск во внешних системах включен, регулируется фильтром ''hasGDSHotel''<br />
 +
'''true''' – поиск во внешних системах отключен
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="disallowDynamicHotelsInSearchApi" value="true" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 27
 +
| Запись статистики в базу данных данным экземпляром службы поиска
 +
| Данная настройка регулирует запись статистики в базу данных данным экземпляром службы поиска.
 +
Если клиент использует несколько служб поиска, то для работы статистики данная настройка должна быть в положении '''true''' на самой производительной из служб, а на остальных может быть выключена.
 +
Если статистика не используется, то на всех службах настройка должна быть в положении '''false'''.<br />
 +
'''false''' или '''отсутствие настройки''' – запись статистики в базу данных отключена <br />
 +
'''true''' – запись статистики в базу данных включена
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="useSaveTourStatistics" value="false" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 28
 +
| Максимальное число запросов в минуту (в api)
 +
| Данная настройка регулирует количество запросов к службе поиска через API с одного IP - адреса.<br />
 +
То есть если установлено значение 3, то при отправке последующих запросов будем получать в ответе на запрос ошибку TooManyRequest, пока не пройдет минута с первого запроса.<br />
 +
'''0''' или '''отсутствие настройки''' – ограничение по количеству запросов к службе поиска через API с одного IP - адреса не установлено<br />
 +
'''числовое значение''' – числовое значение запросов к службе поиска через API с одного IP - адреса
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="maxRequestsPerMinute" value="0" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 29
 +
| Количество цен, которое будет обрабатываться при запросе [[Мастер-Тур(15):API для отдачи цен в поисковые системы#Поиск всех цен по туру (GetToursAllPrices) начиная с релиза 15.3|getToursAllPrices]]
 +
| Данная настройка регулирует количество цен, которое будет обрабатываться при запросе getToursAllPrices. К примеру, по умолчанию при нажатии на ''Варианты'' существует 10 цен по отелю. В случае, если в настройке указано значение 5, то при запросе метода getToursAllPrices будет обрабатываться только 5 цен.
 +
'''0''' или '''отсутствие настройки''' – ограничение по количеству выводимых цен не применяется<br />
 +
'''числовое значение''' – ограничение по количеству выводимых цен применяется
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="getToursAllPricesMaxCostCount" value="" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
  
Для настройки отправки писем при работе с частными лицами в '''Megateс.TourSearchOwin.exe.config''' службы '''TourSearchOwin''' нужно указать следующие настройки:  
+
Для настройки отправки писем о регистрации частных лиц в '''Megateс.TourSearchOwin.exe.config''' службы '''TourSearchOwin''' нужно указать следующие настройки:  
  
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
Строка 536: Строка 716:
 
<add key="searchApiMaxResults" value="60" />
 
<add key="searchApiMaxResults" value="60" />
 
<add key="actualFiltersServiceUrl" value="" />
 
<add key="actualFiltersServiceUrl" value="" />
 +
<add key="disableSearchApi" value="false" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 549: Строка 730:
 
<add key="searchApiMaxResults" value="60" />
 
<add key="searchApiMaxResults" value="60" />
 
<add key="actualFiltersServiceUrl" value="" />
 
<add key="actualFiltersServiceUrl" value="" />
 +
<add key="disableSearchApi" value="true" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 560: Строка 742:
 
<add key="searchApiMaxResults" value="60" />
 
<add key="searchApiMaxResults" value="60" />
 
<add key="actualFiltersServiceUrl" value="" />
 
<add key="actualFiltersServiceUrl" value="" />
 +
<add key="disableSearchApi" value="false" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 574: Строка 757:
 
<add key="searchApiMaxResults" value="60" />
 
<add key="searchApiMaxResults" value="60" />
 
<add key="actualFiltersServiceUrl" value="значение настройки serviceAddress службы API (актуальные фильтры)" />
 
<add key="actualFiltersServiceUrl" value="значение настройки serviceAddress службы API (актуальные фильтры)" />
 +
<add key="disableSearchApi" value="true" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 585: Строка 769:
 
<add key="searchApiMaxResults" value="60" />
 
<add key="searchApiMaxResults" value="60" />
 
<add key="actualFiltersServiceUrl" value="" />
 
<add key="actualFiltersServiceUrl" value="" />
 +
<add key="disableSearchApi" value="true" />
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Строка 596: Строка 781:
 
<add key="searchApiMaxResults" value="60" />
 
<add key="searchApiMaxResults" value="60" />
 
<add key="actualFiltersServiceUrl" value="значение настройки serviceAddress службы API (актуальные фильтры)" />
 
<add key="actualFiltersServiceUrl" value="значение настройки serviceAddress службы API (актуальные фильтры)" />
 +
<add key="disableSearchApi" value="false" />
 +
</syntaxhighlight>
 +
 +
|}
 +
 +
 +
====Быстрый поиск====
 +
 +
Установка [[Мастер-Тур(15):Поиск вариантов программ туров#Быстрый поиск|быстрого поиска]] 
 +
 +
====Быстрый поиск (новая форма)====
 +
 +
Установка [[Мастер-Тур(15):Поиск вариантов программ туров#Быстрый поиск (новая форма)|быстрого поиска (новая форма)]]<br />
 +
 +
===Установка службы сервиса квотирования===
 +
 +
Начиная с релиза 15.6 разработан сервис квотирования, который нужен для снятия дополнительной нагрузки со службы поиска, связанной с логикой работ с квотами. В данном сервисе оптимизирована скорость обработки квот и Stop-Sales, реализована многопоточность обработки изменений, что позволило значительно ускорить применение изменений. Сервис не обязательный для работы системы, рекомендуется устанавливать в случае появления проблем с обработкой большого количества квот. Начиная с релиза 15.9 сервис станет обязательным для установки.
 +
* Скопировать папку ''QTS'' из дистрибутива на сервер. Служба QuotesService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
 +
* Перед установкой службы сервиса квот необходимо настроить конфигурационный файл ''Megatec.QuotesService.dll.config''.
 +
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="10%" | Название
 +
! width="38%" | Описание
 +
! width="50%" | Настройка
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 1
 +
| Название службы
 +
| Задается название службы. По умолчанию служба будет создана с названием ''MegatecQuotesService''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="serviceName" value="MegatecQuotesService"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 2
 +
| Строка подключения
 +
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 +
<font style="color:red">''Внимание!''</font><br />
 +
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
 +
* Для корректной работы в поле ''User Id'' достаточно указать пользователя, привязанного к группе ''avServices'' в модуле [[Модуль администрирования AdminMS#Уровень Groups|Мастер-Администратор]] (обрабатывается с релиза 15.6).
 +
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=QuotasService" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
| Логирование
 +
| Путь к лог-файлам задается в секции ''Loggers path''.
 +
* ExceptionLogger – информация об ошибках
 +
* TourSearch – первоначальный расчет и перерасчет актуальных фильтров, информация о поисковых запросах
 +
* TourSearchCache – детализированная информация при первоначальной загрузке в кэш и об изменениях всех данных в системе
 +
* DictionaryCacheLog – первоначальная загрузка в кэш всех справочников
 +
* RequestLogger – информация о входящих запросах
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<Loggers path="Logs\">
 +
<Logger level="ALL" name="ExceptionLogger" console="true" />
 +
<Logger level="ALL" name="TourSearch" console="true" />
 +
<Logger level="ALL" name="TourSearchCache" console="true" />
 +
<Logger level="ALL" name="DictionaryCacheLog" console="true" />
 +
<Logger level="OFF" name="RequestLogger" console="true" />
 +
</Loggers>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 5
 +
| Путь к службе сервиса квотирования
 +
| По умолчанию служба сервиса квотирования использует порт ''5000''. Рекомендуется использование порта по умолчанию.<br />
 +
<font style="color:red">''Внимание!''</font><br />
 +
При смене порта необходимо также изменить порт в установочном скрипте ''_Install.bat''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="serviceAddress" value="http://*:5000/QuotasService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 6
 +
| Множитель используемых ядер процессора при работе сервиса квотирования.
 +
| Настройка предназначена для указания множителя физического количества потоков машины, которые будут обслуживать функциональность службы сервиса квотирования.<br />
 +
В качестве примера:<br />
 +
физических ядер – 4<br />
 +
значение настройки – 0,8<br />
 +
результат перемножения – 3, т.е. всего максимум 3 потока будут обслуживать данную функциональность<br />
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="serviceCoresKoeff" value="0,8" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 7
 +
| Множитель используемых ядер процессора при обновлении службы сервиса квотирования.<br />
 +
| Процент от общего количества ядер процессора, которые будут использоваться при обновлении справочных данных. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="serviceRecalcCoresKoeff" value="0,8" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 8
 +
| Множитель используемых ядер процессора при инициализации службы сервиса квотирования.<br />
 +
| Процент от общего количества ядер процессора, которые будут использоваться при инициализации справочных данных. К примеру, в 20-ти ядерном процессоре при значении настройки "0,9" будет использоваться 90 % мощности, то есть 18 ядер.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="serviceInitCoresKoeff" value="0,9" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 9
 +
| Настройка для работы службы сервиса квотирования через https <br />
 +
|
 +
* certFile – название файла сертификата с форматом файла
 +
* certPassword – пароль к сертификату
 +
* certStoreLocation – каким образом установлен сертификат: для текущего пользователя (значение ''CurrentUser'') или для текущей машины (значение ''LocalMachine''). Подробное описание см. в [[Мастер-Тур(15):Настройки системы#Настройка работы системы по https|настройках работы системы по https]]
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="certFile" value="" />
 +
<add key="certPassword" value="" />
 +
<add key="certStoreLocation" value="CurrentUser" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 10
 +
| В настройке указывается протокол подключения, который будет использоваться в работе приложения
 +
| Возможные значения:
 +
* IPAddress.IPv6Any – используется по умолчанию (или при отсутствии настройки)
 +
* IPAddress.Any
 +
* IPAddress.IPv6Loopback
 +
* IPAddress.Broadcast
 +
* IPAddress.IPv6None
 +
* IPAddress.Loopback
 +
* IPAddress.None
 +
Использовать другие значения в том случае, если через стандартный протокол обработка не происходит
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="IPAddress" value="IPAddress.IPv6Any" />
 +
</syntaxhighlight>
 +
|}
 +
 +
* Установка осуществляется запуском скрипта ''_Install.bat'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]]
 +
* При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта QuotesService. [[Файл:Mb_354.png‎|Правила для входящих подключений QuotesService]]
 +
* В Службах Windows добавляется служба ''MegatecQuotesService''.<br />
 +
[[Файл:mb_353.png|MegatecQuotesService]]<br />
 +
 +
* Для удаления службы необходимо запустить скрипт ''_UnInstall.bat'' от имени администратора. При этом будут удалены правила для входящих подключений.
 +
 +
===Установка службы сервиса лицензирования===
 +
 +
Начиная с релиза 15.8 разработан сервис лицензирования, который отвечает за проверку лицензий всех приложений ПК «Мастер-Тур». Сервис не обязательный для работы системы (станет обязательным с релиза 15.9).
 +
* Скопировать папку ''MasterDataService'' из дистрибутива на сервер. Служба MasterDataService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
 +
* Перед установкой службы сервиса лицензирования необходимо настроить конфигурационный файл ''appsettings.json''.
 +
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="10%" | Название
 +
! width="38%" | Описание
 +
! width="50%" | Настройка
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 1
 +
| Строка подключения
 +
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''ConnectionStrings''.
 +
<font style="color:red">''Внимание!''</font><br />
 +
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
 +
* Для корректной работы в поле ''User Id'' необходимо указать пользователя, имеющего административные права на уровне сервера (роль ''sysadmin'')
 +
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
  "ConnectionStrings": {
 +
    "MtDatabase": "Server = DataBase_Server; Database = DataBase_Name; User Id = DataBase_User; Password = DataBaseUser_Password; Persist Security Info=true;"
 +
  },
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
| Путь к службе сервиса лицензирования
 +
| По умолчанию служба сервиса лицензирования использует порт ''5005''. Рекомендуется использование порта по умолчанию.<br />
 +
<font style="color:red">''Внимание!''</font><br />
 +
При смене порта необходимо также изменить порт в установочном скрипте ''_Install.bat''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
"applicationUrl": "http://*:5005/DataService",
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
|- style="vertical-align:text-top"
 +
 +
| 4
 +
| Настройка для работы службы сервиса лицензирования через https <br />
 +
|
 +
* certFile – название файла сертификата с форматом файла
 +
* certPassword – пароль к сертификату
 +
* certStoreLocation – каким образом установлен сертификат: для текущего пользователя (значение ''CurrentUser'') или для текущей машины (значение ''LocalMachine''). Подробное описание см. в [[Мастер-Тур(15):Настройки системы#Настройка работы системы по https|настройках работы системы по https]]
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
"certFile": "",
 +
"certPassword": "",
 +
"certStoreLocation": "",
 +
</syntaxhighlight>
 
|}
 
|}
<br />
+
<font style="color:red">''Обратите внимание! ''</font>
 +
Для корректной работы ПК "Мастер-Тур" порт, указанный в файле web.config службы, должен быть доступен через NAT сотрудникам компании Мегатек.<br />
 +
* Имя службы сервиса лицензирования для создания и запуска необходимо задать в файле ''_Install.cmd'' (по умолчанию название службы ''MasterDataService''), а для остановки и удаления в файле ''_UnInstall.cmd''
 +
* Установка осуществляется запуском скрипта ''_Install.cmd'' от имени администратора. [[Файл:Bm135.png|Запуск от имени администратора]]
 +
* При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта MasterDataService.
 +
* В Службах Windows добавляется служба ''MasterDataService''.<br />
 +
[[Файл:MB_374.png|MasterDataService]]<br />
 +
 
 +
* Для удаления службы необходимо запустить скрипт ''_UnInstall.cmd'' от имени администратора. При этом будут удалены правила для входящих подключений.
  
 
===Установка службы MasterTourService===
 
===Установка службы MasterTourService===
 +
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR>
 +
Начиная '''с релиза 15.7''' в составе службы MasterTourService
 +
уже включена служба кеша для акций (службу для акций теперь отдельно устанавливать не нужно)
  
 
Служба MasterTourService нужна для кеширования данных для работы ПК «Мастер-Тур», расчета цен на услуги в турах и оформленных путевках, а также для бронирования. Без запущенной службы MasterTourService в ПК «Мастер-Тур» войти нельзя.
 
Служба MasterTourService нужна для кеширования данных для работы ПК «Мастер-Тур», расчета цен на услуги в турах и оформленных путевках, а также для бронирования. Без запущенной службы MasterTourService в ПК «Мастер-Тур» войти нельзя.
Строка 630: Строка 1029:
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
Для корректной работы в поле ''User Id'' необходимо указать пользователя ''sa''.
+
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
 +
* Для корректной работы в поле ''User Id'' достаточно указать пользователя, привязанного к группе ''avAdmins'' в модуле [[Модуль администрирования AdminMS#Уровень Groups|Мастер-Администратор]] (обрабатывается с релиза 15.6).
 +
 
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<!--Имя приложения-->
 
<!--Имя приложения-->
Строка 644: Строка 1045:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
|- style="vertical-align:text-top"
 +
|3
 +
|Настройка печати
 +
|Начиная с релиза 15.9 добавлена обязательная настройка, необходимая для формирования отчета 4030 из справочника [[Мастер-Тур(15):Список партнеров|Список партнеров]]
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="OvverideCommonType" value="MasterTourService" />
 +
</syntaxhighlight>
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 3
+
| 4
 
| Имя компьютера, на котором будет размещено приложение ''MegatecMasterTourService''
 
| Имя компьютера, на котором будет размещено приложение ''MegatecMasterTourService''
 
| Необязательная настройка. Если настройка не указана (или не указано значение настройки), то используется DNS-имя компьютера.<br />
 
| Необязательная настройка. Если настройка не указана (или не указано значение настройки), то используется DNS-имя компьютера.<br />
Строка 658: Строка 1066:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 4
+
| 5
 
| Логирование
 
| Логирование
 
| Путь к лог-файлам задается в секции ''Loggers path''.
 
| Путь к лог-файлам задается в секции ''Loggers path''.
 +
* ExceptionLogger - информация об ошибках
 +
* AddCostLogic - информация о расчете доплат
 +
* CostLogic - информация о расчете цен
 +
* TourMarginLogic - информация о расчете наценок по услугам в туре
 +
* QuotaLogic - информация по квотам
 +
* FlightSelectionLogic - информация по вариантам перелетов
 +
* GDSLogger - информация по работе с адаптерами GDS
 +
* Specials - детализированный расчет акций (не включать на реальной среде, так как будут просадки в производительности)
 +
* TourSearchCache - детализированная информация при первоначальной загрузке в кэш и об изменениях всех данных в системе
 +
* DictionaryCacheLog - первоначальная загрузка в кэш всех справочников
 +
* RelationHelperLogger - информацию по удалению связанных данных из справочников
 +
* RequestLogger - информация о входящих запросах
 +
* PartnerImportLogger - информация об импорте партнеров
 +
* SystemSettingsLogger - информация о настройках системы
 +
* CommonServiceParametersLogger - информация о ценах
 +
* KamkorLogger - краткая информация о получении туркодов от Камкора
 +
* KamkorDetailLogger - детальная информация о получении туркодов от Камкора
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<Loggers path="Logs\">
 
<Loggers path="Logs\">
(доп. инфо по логам: список и что каждый лог логирует в задаче 36421)
 
 
  <Logger level="ALL" name="ExceptionLogger"/>
 
  <Logger level="ALL" name="ExceptionLogger"/>
 
  <Logger level="ALL" name="AddCostLogic"/>
 
  <Logger level="ALL" name="AddCostLogic"/>
Строка 670: Строка 1094:
 
  <Logger level="ALL" name="QuotaLogic"/>
 
  <Logger level="ALL" name="QuotaLogic"/>
 
  <Logger level="ALL" name="FlightSelectionLogic"/>
 
  <Logger level="ALL" name="FlightSelectionLogic"/>
 +
<Logger level="ALL" name="GDSLogger" />
 +
<Logger level="OFF" name="Specials" />
 +
<Logger level="ALL" name="TourSearchCache" console="true" />
 +
<Logger level="ALL" name="DictionaryCacheLog" console="true" />
 +
<Logger level="OFF" name="RelationHelperLogger" console="true" />
 +
<Logger level="OFF" name="RequestLogger" console="true" />
 +
<Logger level="OFF" name="PartnerImportLogger"/>
 +
<Logger level="OFF" name="SystemSettingsLogger"/>
 +
<Logger level="OFF" name="CommonServiceParametersLogger" console="false" />
 +
<Logger level="OFF" name="KamkorLogger" console="false" />
 +
<Logger level="OFF" name="KamkorDetailLogger" console="false" />
 
</Loggers>
 
</Loggers>
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 675: Строка 1110:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 5
+
| 6
 
| Имя текущей установленной службы (отображается в таблице ''MasterTourServiceHosts'')
 
| Имя текущей установленной службы (отображается в таблице ''MasterTourServiceHosts'')
 
| После установки службы ''MasterTourService'' также добавляется информация в таблицу ''MasterTourServiceHosts''. В поле ''MTS_Name'' записывается значение настройки ''acceptableServices''. Данная настройка отображает наименования сервисов, к которым можно будет обращаться:
 
| После установки службы ''MasterTourService'' также добавляется информация в таблицу ''MasterTourServiceHosts''. В поле ''MTS_Name'' записывается значение настройки ''acceptableServices''. Данная настройка отображает наименования сервисов, к которым можно будет обращаться:
Строка 691: Строка 1126:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 6
+
| 7
 +
| Путь к службе сервиса квотирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса квотирования|служба сервиса квотирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| 8
 +
| Путь к службе сервиса лицензирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса лицензирования|служба сервиса лицензирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
 +
</syntaxhighlight>
 +
 
 +
|- style="vertical-align:text-top"
 +
 
 +
| 9
 
| Приоритет текущего установленного сервиса
 
| Приоритет текущего установленного сервиса
 
| Приоритет текущей установленной службы ''MasterTourService''. Целое положительное число. Чем число выше, тем приоритет больше.  
 
| Приоритет текущей установленной службы ''MasterTourService''. Целое положительное число. Чем число выше, тем приоритет больше.  
Строка 707: Строка 1160:
  
 
===Установка службы кеша для акций===
 
===Установка службы кеша для акций===
 +
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR>
 +
Начиная '''с релиза 15.7''' службу акций отдельно устанавливать не нужно,
 +
она перенесена в состав службы MasterTourService.
  
 
Данная служба предназначена для увеличения производительности работы блока «Акции» путем хранения суточных цен в оперативной памяти сервера.
 
Данная служба предназначена для увеличения производительности работы блока «Акции» путем хранения суточных цен в оперативной памяти сервера.
Строка 727: Строка 1184:
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
Для корректной работы в поле ''User Id'' необходимо указать пользователя ''sa''.  
+
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения
<br /><font style="color:red">''Внимание!''</font><br />
+
* Для корректной работы в поле ''User Id'' достаточно указать пользователя, привязанного к группе ''avServices'' в модуле [[Модуль администрирования AdminMS#Уровень Groups|Мастер-Администратор]] (обрабатывается с релиза 15.6).  
Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
+
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=Specials" />
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=Specials" />
Строка 756: Строка 1213:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 4
+
| 4.1
| Порт
+
| Порт <baseAddresses> (до релиза 15.5 включительно)
 
| По умолчанию служба кэширования использует порт ''52529''. Рекомендуется использование порта по умолчанию.<br />
 
| По умолчанию служба кэширования использует порт ''52529''. Рекомендуется использование порта по умолчанию.<br />
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
Строка 764: Строка 1221:
 
<add baseAddress="http://localhost:52529/SpecialsCache/SpecialsHotelDataCacheService"/>
 
<add baseAddress="http://localhost:52529/SpecialsCache/SpecialsHotelDataCacheService"/>
 
<add baseAddress="http://localhost:52529/SpecialsCache/SpecialsAccommodationsCacheService"/>
 
<add baseAddress="http://localhost:52529/SpecialsCache/SpecialsAccommodationsCacheService"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 4.1
 +
| Путь к службе кеша для акций (начиная с релиза 15.6)
 +
| По умолчанию служба кэширования использует порт ''52529''. Рекомендуется использование порта по умолчанию.<br />
 +
<font style="color:red">''Внимание!''</font><br />
 +
При смене порта необходимо также изменить порт в установочном скрипте ''_Install.bat''.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="serviceAddress" value="http://*:52529/SpecialsCache/" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Строка 777: Строка 1245:
  
 
Для установки приложения ''Программы туров'' нужно создать отдельную директорию, например, TourPrograms (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива TourPrograms.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourPrograms.
 
Для установки приложения ''Программы туров'' нужно создать отдельную директорию, например, TourPrograms (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива TourPrograms.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourPrograms.
 +
 +
[[Файл: mb_030.png|left|Предупреждение]] <BR>
 +
Приложение ''Программы туров'' предназначено для внутреннего использования, поэтому рекомендуется не давать
 +
внешний доступ из сети Интернет к приложению и не размещать приложение ''Программы туров'' на одном узле (сайте),
 +
что и приложение ''Поиска (TourSearchClient, Canary)''. Для доступа к приложению ''Программы туров'' через сеть Интернет
 +
рекомендуется использовать VPN соединение и размещать приложение на отдельном узле (сайте).
  
 
====Создание виртуального каталога====
 
====Создание виртуального каталога====
Строка 806: Строка 1280:
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''. Должен быть указан пользователь с административными правами.
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''. Должен быть указан пользователь с административными правами.
 
<br /><font style="color:red">''Внимание!''</font><br />
 
<br /><font style="color:red">''Внимание!''</font><br />
Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
+
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения
 +
* Для корректной работы в поле ''User Id'' достаточно указать пользователя, привязанного к группе ''avServices'' в модуле [[Модуль администрирования AdminMS#Уровень Groups|Мастер-Администратор]] (обрабатывается с релиза 15.6).
 +
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=TourPrograms" />
 
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=TourPrograms" />
Строка 815: Строка 1291:
 
| Логирование
 
| Логирование
 
| Путь к лог-файлам задается в секции ''Loggers path''.
 
| Путь к лог-файлам задается в секции ''Loggers path''.
 +
* ExceptionLogger - информация об ошибках
 +
* AddCostLogic - информация о расчете доплат
 +
* CostLogic - информация о расчете цен
 +
* TourMarginLogic - информация о расчете наценок по услугам в туре
 +
* QuotaLogic - информация по квотам
 +
* FlightSelectionLogic - информация по вариантам перелетов
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
<Loggers path="Logs\">
+
<Loggers path="Logs\">
(доп. инфо по логам: список и что каждый лог логирует в задаче 36421)
+
  <Logger level="ALL" name="ExceptionLogger"/>  
  <Logger level="ALL" name="ExceptionLogger"/> Логирование ошибок
+
  <Logger level="ALL" name="AddCostLogic"/>  
  <Logger level="ALL" name="AddCostLogic"/> Логирование ...
 
 
  <Logger level="ALL" name="CostLogic"/>
 
  <Logger level="ALL" name="CostLogic"/>
 
  <Logger level="ALL" name="TourMarginLogic"/>
 
  <Logger level="ALL" name="TourMarginLogic"/>
Строка 839: Строка 1320:
  
 
| 4
 
| 4
 +
| Путь к службе сервиса квотирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса квотирования|служба сервиса квотирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 5
 +
| Путь к службе сервиса лицензирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса лицензирования|служба сервиса лицензирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 6
 
| Путь к службе кеша для акций
 
| Путь к службе кеша для акций
 
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы кеша для акций|служба кеша для акций]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний ip-адрес или внешнее субдоменное имя (если планируется использование акций извне), либо указать внутренний ip-адрес или внутреннее субдоменное имя (если планируется использование акций внутри локальной сети).
 
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы кеша для акций|служба кеша для акций]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний ip-адрес или внешнее субдоменное имя (если планируется использование акций извне), либо указать внутренний ip-адрес или внутреннее субдоменное имя (если планируется использование акций внутри локальной сети).
Строка 847: Строка 1346:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 5
+
| 7
 
| Имя текущей установленной службы
 
| Имя текущей установленной службы
 
| Наименование службы, к которой может обращаться текущий клиент (по значению настройки [[Мастер-Тур(15):Установка#Установка службы MasterTourService|''acceptableServices'']] в ''MasterTourService''). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.<br />  
 
| Наименование службы, к которой может обращаться текущий клиент (по значению настройки [[Мастер-Тур(15):Установка#Установка службы MasterTourService|''acceptableServices'']] в ''MasterTourService''). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.<br />  
Строка 927: Строка 1426:
 
| Логирование
 
| Логирование
 
| Путь к лог-файлам задается в секции ''Loggers path''.
 
| Путь к лог-файлам задается в секции ''Loggers path''.
 +
* TourSearch – первоначальный расчет и перерасчет актуальных фильтров, информация о поисковых запросах
 +
* TourSearchCache – детализированная информация при первоначальной загрузке в кэш и об изменениях всех данных в системе
 +
* ExceptionLogger – информация об ошибках
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<Loggers path="Logs\">
 +
<Logger level="ALL" name="TourSearch" console="true" />
 +
<Logger level="ALL" name="TourSearchCache" console="true" />
 +
<Logger level="ALL" name="ExceptionLogger" console="true"/>
 +
</Loggers>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 6
 +
| Системная настройка
 +
| Настройки внутреннего пользования. '''Не изменяемые'''
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="webpages:Version" value="3.0.0.0"/>
 +
<add key="webpages:Enabled" value="false"/>
 +
<add key="ClientValidationEnabled" value="true"/>
 +
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 7
 +
| Системная настройка
 +
| Настройка для работы внутренних механизмов TourSearchOwin (в определенных случаях позволяет обращаться к службе поиска по локальной сети, а не через внешнюю сеть).
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="InnerSearchApiServiceUrl" value="http://192.168.0.55:9000/TourSearchOwin/"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 8
 +
| Ссылка на политику конфиденциальности
 +
| Настройка ссылки на политику конфиденциальности TourSearchClient.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="SubmittingAgreePrivacyPolicy" value="https://www.megatec.ru/webpolicy"/>
 +
</syntaxhighlight>
 +
|}
 +
 +
===Установка Canary===
 +
 +
Для установки приложения ''Canary'' нужно создать отдельную директорию, например, Canary (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива Canary.zip. В управлении IIS необходимо создать виртуальный каталог для папки Canary.
 +
 +
====Создание виртуального каталога====
 +
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
 +
 +
1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).<br />
 +
[[Файл:ls0217.png]]<br />
 +
 +
2. Запустить Internet Information Services (IIS) Manager.<br />
 +
[[Файл:ls0218.png]]<br />
 +
 +
3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».<br />
 +
[[Файл:ls0219.png]]<br />
 +
 +
====Настройка конфигурационного файла====
 +
 +
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse"
 +
|- style="background-color:#F2F2F2"
 +
 +
! width="2%" | №
 +
! width="10%" | Название
 +
! width="38%" | Описание
 +
! width="50%" | Настройка
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 1
 +
| Ссылка на страницу забронированных путевок
 +
| Путь к приложению ПК «Мастер-Web»
 +
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="mwOrderInfo" value="MasterWeb/OrderInfo.aspx"/>
 +
<add key="mwOrderListUrl" value="MasterWeb/OrderList.aspx"/>
 +
<add key="mwPasswordRecoveryUrl" value="MasterWeb/PasswordRecovery.aspx"/>
 +
<add key="mwRegistrationUrl" value="MasterWeb/registration.aspx"/>
 +
<add key="mwSendReservationMails" value="MasterWeb/SendReservationMails.aspx"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 2
 +
| Путь к службе поиска
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы поиска|служба поиска]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний ip-адрес или внешнее субдоменное имя.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="SearchApiServiceUrl" value="http://localhost:9000/TourSearchOwin/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 3
 +
| Настройка языка
 +
| Язык поиска по умолчанию. Код языка указывается исходя из файла с локализацией в \Canary\Content\localization
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="defaultLanguageCode" value="ru"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 4
 +
| Время кеширования файлов локализации
 +
| Указывается время в минутах, через которое должен очищаться кеш файлов локализации. Изменения, внесенные в файлы \TourSearchClient\Content\localization применяться через указанное время.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="languageDictionaryCacheExpiration" value="5"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 5
 +
| Логирование
 +
| Путь к лог-файлам задается в секции ''Loggers path''.
 +
* ExceptionLogger – информация об ошибках
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<Loggers path="Logs\">
 
<Loggers path="Logs\">
<Logger level="ALL" name="TourSearch" console="true" /> Логирование информации о поиске (доп. инфо 36421)
+
  <Logger level="ALL" name="ExceptionLogger" console="true"/>  
<Logger level="ALL" name="TourSearchCache" console="true" /> Логирование информации об инициализации кеша (доп. инфо 36421)
 
  <Logger level="ALL" name="ExceptionLogger" console="true"/> Логирование ошибок возникающих в приложении
 
 
</Loggers>
 
</Loggers>
 
</syntaxhighlight>
 
</syntaxhighlight>
Строка 938: Строка 1550:
  
 
| 6
 
| 6
| Системные настройки
+
| Системная настройка
 
| Настройки внутреннего пользования. '''Не изменяемые'''
 
| Настройки внутреннего пользования. '''Не изменяемые'''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
Строка 945: Строка 1557:
 
<add key="ClientValidationEnabled" value="true"/>
 
<add key="ClientValidationEnabled" value="true"/>
 
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
 
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 7
 +
| Системная настройка
 +
| Настройка для работы внутренних механизмов TourSearchOwin (в определенных случаях позволяет обращаться к службе поиска по локальной сети, а не через внешнюю сеть).
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="InnerSearchApiServiceUrl" value="http://192.168.0.55:9000/TourSearchOwin/"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
 +
 +
[[Файл: mb_030.png|Предупреждение]] '''Внимание! Начиная с версии 15.7 появилась возможность сохранения персональных настроек клиентов при обновлении поиска Canary.'''<br />
 +
При установке с нуля поиска Canary для дальнейшего сохранения настроек пользователя при обновлении компонентов ПК Мастер-Тур нужно создать персональный файл настроек путем копирования текущего файла настроек '''settings.js''' и добавления к нему подписи "_custom", т.е. '''settings_custom.js'''. Файлы настроек расположены по пути '''Основная папка ПК Мастер-Тур/Canary/'''.<br />
 +
В случае отсутствия в файле настроек '''settings_custom.js''' каких-либо параметров, значение подбирается из соответствующего параметра основного файла настроек '''settings.js'''. <br />
 +
В случае отсутствия файла '''settings_custom.js''' настройки  берутся сразу из файла '''settings.js'''.<br />
 +
При установке с нуля поиска Canary для дальнейшего сохранения настроек локализации при обновлении компонентов ПК Мастер-Тур нужно создать персональный файл локализации путем копирования текущего файла локализации '''language_ru (language_en, language_ua).js''' и добавления к нему подписи "_custom", т.е. '''language_ru_custom.js'''. Файлы настроек локализации расположены по пути '''Основная папка ПК Мастер-Тур/Canary/Content/localization'''.<br />
 +
В случае отсутствия в файле '''language_ru_custom.js''' перевода на конкретное поле, перевод подбирается из соответствующего поля основного файла локализации '''language_ru.js'''. <br />
 +
В случае отсутствия файла '''language_ru_custom.js''' настройки  берутся сразу из файла '''language_ru.js'''.<br />
  
 
===Установка ПК «Мастер-Web»===
 
===Установка ПК «Мастер-Web»===
 +
 +
Для установки ПК Мастер-Web нужно создать директорию MasterWebStandard в каталоге c:/inetpub/wwwroot и выложить туда разархивированные файлы ПК Мастер-Web.
 +
В управлении IIS cоздайте приложение для папки MasterWebStandard и приложение для папки admin, которая находится внутри директории MasterWebStandard. Для этого нужно в управлении IIS выделить нужную папку, нажать правую кнопку мышки и выбрать пункт меню Свойства. На вкладке Каталог в разделе Параметры приложения нажмите кнопку Создать. То же самое нужно сделать для папки admin, которая находится внутри директории MasterWebStandard.
 +
 +
====Создание виртуального каталога====
 +
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
 +
 +
1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).<br />
 +
[[Файл:ls0217.png]]<br />
 +
 +
2. Запустить Internet Information Services (IIS) Manager.<br />
 +
[[Файл:ls0218.png]]<br />
 +
 +
3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».<br />
 +
[[Файл:ls0219.png]]<br />
 +
 +
В случае, если у пользователя возникают проблемы с отправкой сообщений из Мастер-Web на зарегистрированную почту, следует установить значение настройки '''Загрузить профиль пользователя''' на '''True''' в дополнительных параметрах того пула приложений IIS, к которому привязан Мастер-Web.
 +
 +
[[Файл:Nr183.png|Настройка Загрузить профиль пользователя]]
  
 
====Настройка конфигурационного файла====
 
====Настройка конфигурационного файла====
Строка 966: Строка 1614:
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.  
 
| Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ''appSettings''.  
 
<font style="color:red">''Внимание!''</font><br />
 
<font style="color:red">''Внимание!''</font><br />
Для корректной работы в настройке ''User Id'' необходимо указать пользователя, созданного в ПК «Мастер-Тур». Использование имени входа ''sa'' или других системных имен входа MS SQL сервера невозможно.
+
* Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения
<br /><font style="color:red">''Внимание!''</font><br />
+
* Для корректной работы в настройке ''User Id'' достаточно указать пользователя, привязанного к группе ''avServices'' в модуле [[Модуль администрирования AdminMS#Уровень Groups|Мастер-Администратор]] (обрабатывается с релиза 15.6). Использование имени входа ''sa'' или других системных имен входа MS SQL сервера невозможно.
Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
+
* Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: '''< > " ' &'''
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="connectionString" value="Data Source=Server;Initial Catalog=Database;User Id=User;Password=Password;Application Name=MasterWeb" />
 
<add key="connectionString" value="Data Source=Server;Initial Catalog=Database;User Id=User;Password=Password;Application Name=MasterWeb" />
Строка 986: Строка 1634:
  
 
| 3
 
| 3
 +
| Путь к службе сервиса квотирования
 +
| Необходимо указать путь, по которому была настроена [[Мастер-Тур(15):Установка#Установка службы сервиса квотирования|служба сервиса квотирования]]. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо ''localhost'' необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 4
 
| Имя текущей установленной службы
 
| Имя текущей установленной службы
 
| Наименование службы, к которой может обращаться текущий клиент (по значению настройки [[Мастер-Тур(15):Установка#Установка службы MasterTourService|''acceptableServices'']] в ''MasterTourService''). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.<br />  
 
| Наименование службы, к которой может обращаться текущий клиент (по значению настройки [[Мастер-Тур(15):Установка#Установка службы MasterTourService|''acceptableServices'']] в ''MasterTourService''). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.<br />  
Строка 994: Строка 1651:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 4
+
| 5
 
| Оплата от клиента<br />
 
| Оплата от клиента<br />
 
Используется в экране [[Мастер-Тур(15):Оплата от клиента в экране OrderInfo.aspx|Информация о заказе (OrderInfo.aspx)]]
 
Используется в экране [[Мастер-Тур(15):Оплата от клиента в экране OrderInfo.aspx|Информация о заказе (OrderInfo.aspx)]]
Строка 1006: Строка 1663:
 
|- style="vertical-align:text-top"
 
|- style="vertical-align:text-top"
  
| 5
+
| 6
 
| Детализация платежей
 
| Детализация платежей
 
<font style="color:red">''Внимание!''</font> Настройка обрабатывается, начиная с релиза '''15.4'''
 
<font style="color:red">''Внимание!''</font> Настройка обрабатывается, начиная с релиза '''15.4'''
Строка 1014: Строка 1671:
 
| <syntaxhighlight lang="xml" enclose="div">
 
| <syntaxhighlight lang="xml" enclose="div">
 
<add key="ShowPaymentDetails" value="true"/>
 
<add key="ShowPaymentDetails" value="true"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 7
 +
| Системная настройка
 +
| Настройка для работы внутренних механизмов TourSearchOwin (в определенных случаях позволяет обращаться к службе поиска по локальной сети, а не через внешнюю сеть).
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="InnerSearchApiServiceUrl" value="http://192.168.0.55:9000/TourSearchOwin/"/>
 +
</syntaxhighlight>
 +
 +
|- style="vertical-align:text-top"
 +
 +
| 8
 +
| Ссылка для регистрации частных лиц
 +
| Ссылка для регистрации частных лиц с окна авторизации.
 +
* '''TourSearchClient?isPrivateUserRegistrationShow=1''' – для поиска TourSearchClient
 +
* '''Canary#/?isPrivateUserRegistrationShow=1''' – для поиска Canary
 +
| <syntaxhighlight lang="xml" enclose="div">
 +
<add key="privateUserRegistrationUrl" value="TourSearchClient?isPrivateUserRegistrationShow=1" />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
|}
 
|}
Строка 1021: Строка 1698:
 
[[Мастер-Web:Установка и настройка#Настройка отправки e-mail сообщений в системе бронирования|Описание сообщений, которые отправляются из системы бронирования.]]<br />
 
[[Мастер-Web:Установка и настройка#Настройка отправки e-mail сообщений в системе бронирования|Описание сообщений, которые отправляются из системы бронирования.]]<br />
 
[[Мастер-Web:Установка и настройка#Настройка отправки e-mail сообщений в системе бронирования|Описание почтовых настроек, которые должны быть заданы в системе для отправки и получения писем.]]<br />
 
[[Мастер-Web:Установка и настройка#Настройка отправки e-mail сообщений в системе бронирования|Описание почтовых настроек, которые должны быть заданы в системе для отправки и получения писем.]]<br />
 +
 +
==Шифрование секций web.config==
 +
В файлах web.config содержатся данные со строками подключения к базе данных. Существует возможность шифровать секции с этими данными.<br />
 +
Пример использования через POWERSHELL, запущенной с административными правами:
 +
* Шифрование
 +
 +
<syntaxhighlight lang="xml" enclose="div">
 +
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "appSettings" "c:\inetpub\wwwroot\MasterWeb"
 +
</syntaxhighlight>
 +
, где <br />
 +
v4.0.30319 – версия Framework <br />
 +
c:\inetpub\wwwroot\MasterWeb – путь к папке приложения<br /><br />
 +
 +
* Расшифровка
 +
<syntaxhighlight lang="xml" enclose="div">
 +
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "appSettings" "c:\inetpub\wwwroot\MasterWeb"
 +
</syntaxhighlight>
 +
, где <br />
 +
v4.0.30319 – версия Framework <br />
 +
c:\inetpub\wwwroot\MasterWeb – путь к папке приложения<br />
 +
 +
[[Файл:am_063.png|left|Предупреждение]]<br />
 +
Следует понимать, что шифрование происходит с использованием закрытого и открытого ключа,
 +
которые хранятся в контейнере, поэтому шифрование этим методом либо должно происходить прямо на сервере,
 +
либо после шифрования на локальном компьютере контейнер ключей должен быть экспортирован.
 +
  
 
==Установка файла лицензии==
 
==Установка файла лицензии==
Для установки файла лицензии необходимо зайти в приложение '''Программа туров''' на вкладку '''Панель администрирования''' под пользователем, который имеет административные права (выбрана роль '''sysadm''' на уровне сервера), а также является пользователем ПК «Мастер-Тур». При первом входе будет отображена информация о том, что файл лицензии отсутствует.
+
Для установки файла лицензии необходимо зайти в приложение '''Программа туров''' на вкладку '''Панель администрирования''' под пользователем, который имеет административные права (выбрана роль '''sysadm''' на уровне сервера), а также является пользователем ПК «Мастер-Тур». При первом входе будет отображена информация о том, что файл лицензии отсутствует.<br />
 +
Начиная с релиза 15.6 для установки лицензии у пользователя достаточно только административных прав (выбрана роль '''sysadm''' на уровне сервера).<br />
 
[[Файл:Mb_215.png|Файл лицензии отсутствует]]<br />
 
[[Файл:Mb_215.png|Файл лицензии отсутствует]]<br />
  
Необходимо скопировать поле '''GUID сервера''' и отправить его в компанию ООО «КОМПАНИЯ МЕГАТЕК» по адресу service@megatec.ru. После обработки Вам будет отправлено письмо с файлом лицензии. Его нужно будет выбрать с помощью кнопки '''Выбрать'''.
+
Начиная с релиза 15.7, чтобы попасть в лицензирование, нужно выбрать основном меню пункт '''Администрирование''' &rarr; '''Лицензирование''' [[Мастер-Тур(15):Программа туров. Основное меню#Основное меню|основного меню]]<br />
 +
 
 +
[[Файл:JK 73.png|1250px|Лицензирование]]<br />
 +
 
 +
Необходимо скопировать поле '''GUID сервера''' и отправить его в компанию ООО «КОМПАНИЯ МЕГАТЕК» по адресу service@megatec.ru. После обработки Вам будет отправлено письмо с файлом лицензии. Его нужно будет выбрать с помощью кнопки '''Выбрать'''.<br />
 +
 
 
[[Файл:Mb_216.png|Загрузка файла лицензии]]<br />
 
[[Файл:Mb_216.png|Загрузка файла лицензии]]<br />
  
Строка 1050: Строка 1759:
 
* На сервере, где будет использоваться данная служба нужно в свойствах обозревателя выключить ''использовать прокси-сервер''.
 
* На сервере, где будет использоваться данная служба нужно в свойствах обозревателя выключить ''использовать прокси-сервер''.
 
</div></div>
 
</div></div>
<br>
+
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:100%">'''TourSearchClient:''' Ошибка. Срок действия лицензии истек.
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:100%">'''TourSearchClient:''' Ошибка. Срок действия лицензии истек.
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
Строка 1059: Строка 1768:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</div></div>
 
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:100%">'''TourSearchOwin:''' Медленная загрузка актуальных фильтров (на ОС Win10).
 +
<div class="mw-collapsible-content">
 +
Данное поведение наблюдалось на операционной системе Win10. TourSearchOwin воспринимался программой Защитник Windows как вредоносное ПО.<br />
 +
Проверьте, установлены ли последние обновления на операционную систему (так как данная ошибка в последних обновлениях была исправлена).<br />
 +
Для устранения проблем также можно попробовать добавить процесс ''Megatec.TourSearchOwin.exe'' в исключения сканирования антивредоносной программы Защитник Windows.
 +
</syntaxhighlight>
 +
</div></div>
 +
<br />
  
 
+
==Оптимизация работы системы==
 
+
Более подробно с оптимизацией по производительности системы можно ознакомиться в статье [[Мастер-Тур(15):Рекомендации_по_оптимизации_производительности_системы|рекомендациии по оптимизации производительности системы]].
  
 
[[Category:Мастер-Тур(15)]]
 
[[Category:Мастер-Тур(15)]]

Текущая версия на 10:30, 31 января 2024

Версия статьи от 31-01-2024.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии


Содержание

Введение

Процесс установки ПК «Мастер-Тур» 15 версии включает в себя установку всех компонентов, необходимых для работы приложения.

Системные требования

Минимальная поддерживаемая версия SQL Server 2008 R2 SP1 (10.50.2500.0). При использовании Microsoft SQL Server 2017 необходимо проставить у базы данных уровень совместимости 140, иначе будут возникать ошибки, связанные с производительностью системы.

Процессор
Оперативная память
Свободное место на жестком диске
Операционная система
Разрешение монитора

Взаимодействие модулей

Взаимодействие модулей «Мастер-Тур» 15 версии представлено на схеме.
Взаимодействие модулей

Основные компоненты системы

  • Служба MasterTourService нужна для кеширования данных для работы ПК «Мастер-Тур», расчета цен на услуги в турах и оформленных путевках, а также для бронирования и оплаты путевок. Без запущенной службы MasterTourService в ПК «Мастер-Тур» войти нельзя. Взаимодействует с базой данных, сервисом квот, сервисом лицензирования, десктопным приложением Мастер Тур, личным кабинетом MasterWeb, программами туров.
  • Cервис квотирования (QuotasService) необходим для обработки квот. До релиза 15.9 является необязательным, если не установлен, то обработкой квот занимается MTS. Взаимодействует с базой данных, MTS, десктопным приложением Мастер Тур, личным кабинетом MasterWeb, программами туров.
  • Сервис лицензирования (MasterDataService) отвечает за проверку лицензий всех приложений ПК «Мастер-Тур». До релиза 15.9 является необязательным, если не установлен, то проверка лицензий ведется приложениями при взаимодействии с базой данных. Взаимодействует с MTS, десктопным приложением Мастер Тур, личным кабинетом MasterWeb, сервисом поиска, программами туров.
  • Сервис поиска (TourSearchOwin) нужен для кеширования данных для поиска и является основой архитектуры динамического ценообразования, API для поиска и бронирования. Имеется возможность настройки разных конфигураций службы поиска, например вынести актуальные фильтры в отдельную службу. Подробнее в разделе Варианты конфигураций служб поиска. Взаимодействует с базой данных, личным кабинетом MasterWeb, сервисом лицензирования, программами туров, клиентами поиска.
  • Программа туров предназначена для создания и редактирования турпрограмм, заведения акций, администрирования системы, работой со справочниками и внешними поставщиками. Взаимодействует с базой данных, MTS, сервисом квот, сервисом лицензирования.
  • Личный кабинет MasterWeb предназначен для работы с путевками и проведения оплат. Взаимодействует с MTS, сервисом поиска, сервисом квот, сервисом лицензирования.
  • Клиенты поиска TourSearchCliуnt/Canary предназначены для поиска и бронирования туров. Взаимодействует с сервисом поиска.
  • Клиентское приложение Мастер-Тур предназначено для работы с ценами, справочниками и взаимодействия с компонентами ПК "Мастер-Тур". Взаимодействует с базой данных, MTS, сервисом квот, сервисом лицензирования.

Установка

Установка компонентов 15 версии ПК «Мастер-Тур» производится в несколько этапов, которые описаны ниже.

Предупреждение


Пароль пользователей системы, от которых работают службы и приложения, 
не должен содержать ни одного из следующих символов: < > " ' & 

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

Предупреждение


Служба TourSearchOwin по умолчанию сконфигурирована на работу по порту tcp: 9000. 
Все клиенты, работающие с веб интерфейсом поиска туров (как из сети internet, 
так и локальные пользователи и службы) должны иметь доступ к этой службе. 
Для этого необходимо открытие соответствующего порта на firewall и DNAT 
проброс порта к серверу,  на котором установлена служба TourSearchOwin.

Пример:

  • В конфигурационном файле службы TourSearchOwin настройка serviceAddress будет иметь значение http://online.yourdomainname.ru:9000/TourSearchOwin, а в конфигурационных файлах приложений TourSeachClient, TourPrograms, MasterWeb настройка SearchApiServiceUrl должна иметь значение http://online.yourdomainname.ru:9000/TourSearchOwin.
  • Для работы с сервисом в сети интернет у вас должен быть настроен DNS для вашего ресурса, к примеру с названием online.yourdomainname.ru. Вы должны иметь запись типа А в зоне домена. Как правило, эту запись можно настроить самостоятельно у вашего провайдера услуг или же по обращению в службу поддержки размещения ресурса.
  • Приложение TourSearchClient устанавливается на IIS и по умолчанию сконфигурировано на работу по порту tcp: 80.
  • Все службы и приложения размещаются на одном сервере в локальной сети или на площадке ДЦ (если используется конфигурация, где несколько серверов – см. ниже в разделе Советы).

Для работы такой конфигурации необходима возможность доступа из сети интернет всем пользователям к Public IP и трансляция портов 80, 9000 на данный сервер.

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

  • Для уменьшения трафика через внешнее соединение или при невозможности обеспечить взаимодействие служб сервера путем обращения к самому себе через внешнее соединение, рекомендуется настроить службу внутреннего DNS для трансляции адреса online.yourdomainname.ru в адрес локальной сети (192.168.1.1), на котором установлена службы TourSearchOwin. Таким образом можно добиться работы внешних пользователей с внешнем адресом, а работу пользователей локальной сети и всех служб комплекса через локальную сеть.

Советы:

  • При наличии в сети прокси-сервера необходимо исключить на всех клиентах и всех серверах работу с компонентами и службами через прокси-сервер.
  • Внутренний DNS можно заменить редактированием файла hosts в операционной системе, но это повлечет необходимость держать его актуальным на всех компьютерах и серверах локальной сети и своевременное его резервирование с возможностью восстановить из backup.
  • При необходимости изменить работу TourSearchOwin на работу с портом 80 необходимо:
    • изменить соответствующие строки в конфигурационных файлах. Привести к виду: http://online.yourdomainname.ru/TourSearchOwin настройку serviceAddress и соответствующим образом поправить настройки приложений TourSeachClient, TourPrograms, MasterWeb.
    • предусмотреть дополнительный Public IP и DNS записи, если служба TourSearchOwin размещается не на сервере, где размещен TourSearchClient, т.к. невозможно сделать DNAT с одного порта Public IP на два разных компьютера локальной сети.


Тестирование компонентов комплекса

Установка серверной части ПК «Мастер-Тур»

Установка и настройка SQL Server

База данных для серверной части ПК «Мастер-Тур» разворачивается на MS SQL Server. Минимально возможная версия сервера MS SQL Server 2008R2 SP1. Рекомендуется использование версии не ниже Microsoft SQL Server 2017 с последним сервис паком (гайд по установке).

Особенности настройки SQL сервера, задаваемые при установке:

  • Для работы ПК «Мастер-Тур» необходим компонент «Компонент Database Engine» и Компоненты соединения. Остальные компоненты (Службы Analysis Services, Службы Reporting Services, Службы Integration Services, Службы Master Data Services, Data Quality Services) не используются. Можно исключить их из установки для экономии ресурсов компьютера.
  • Установить значение «Cyrillic_General_CI_AS» в параметре сортировки свойств базы данных (Properties → Options → Collation).
  • Во избежание возникновения ошибок необходимо убедиться, что у имен входа (пользователей) Microsoft SQL Server, используемых для работы в ПК «Мастер-Тур», в качестве языка по умолчанию установлен английский язык. Для осуществления проверки нужно запустить SQL Server Management Studio, подключиться к используемому экземпляру SQL Server, зайти в свойства и выбрать значение «English» (Properties → General → Default language).
Предупреждение


Настройка Default language особо критична для имен входа, под которыми
работают ПК «Мастер-Web» и веб-сервисы «MasterTourService». Имена входа указываются
в конфигурационных файлах соответствующих приложений и используются для обращений
к базе данных ПК «Мастер-Тур».

Присоединение базы данных вручную

  • Подключиться к соответствующему экземпляру компонента SQL Server Database Engine, в обозревателе объектов выбрать имя сервера.
  • Кликом правой кнопкой мыши по узлу Databases открыть контекстное меню и выбрать команду Attach.
  • В открывшемся диалоговом окне нажать кнопку Add.
  • В открывшемся диалоговом окне выбрать диск, на котором находится база данных. В дереве каталогов выбрать необходимый mdf-файл, нажать OK.
  • При необходимости изменить данные:
    • Attach As - имя, под которым будет присоединена база данных;
    • Owner - владелец базы данных.
  • Нажать OK.
  • Новая база данных будет отображаться в списке.
  • После присоединения базы данных, необходимо убедиться, что выбран максимально возможный для этой версии SQL Server уровень совместимости, иначе будут возникать ошибки, связанные с производительностью системы. Для SQL Server 2017 уровень совместимости равен 140, это значение устанавливается в свойствах базы данных (Properties → Options → Compatibility level).
Предупреждение


Файлы базы данных и файлы резервной копии физически должны находиться на отдельных дисках 
(для восстановления базы данных в случае проблем с диском)

Переход с одного SQL сервера на другой

При переходе с одного SQL_сервера на другой необходимо выполнить следующие шаги:

  • Перенести учетные записи пользователей стандартным скриптом от Microsoft:

https://learn.microsoft.com/ru-ru/windows/deployment/usmt/usmt-migrate-user-accounts

  • Перенести все базы данных, которые необходимы для работы
  • Начиная с SQL Server 2019 требуется повторное выполнение скриптов для пользователей служб Мастер-Тура по базе ПК Мастер-Тура: CreateUserMT15_avAdmins.sql, CreateUserMT15_avServices.sql и CreateUserMT15_sysadmin.sql
  • Если все-таки не произошло сопоставления учетных записей SQL сервера и базы данных – выполнить скрипт по каждому логину пользователя
sp_change_users_login 'Update_one', loginname, username

Обновление базы данных ПК «Мастер-Тур»

Если при установке 15 версии используется эталонная база, необходимо выполнить три скрипта:

  • Выполнить скрипт (из дистрибутива обновления) CurrentScript.sql – для обновления базы данных ПК Мастер-Тур
  • Выполнить скрипт (из дистрибутива обновления) CreateUserMT15_avAdmins.sql – для создания пользователя, который будет использоваться в конфигурационном файле MasterTourService, а также для входа в программу туров для установки лицензии
  • Выполнить скрипт (из дистрибутива обновления) CreateUserMT15_avServices.sql – для создания пользователя, который будет использоваться в конфигурационных файлах Служба поиска, Служба кеша для акций, Программа туров и Мастер-Web

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


Ниже описан порядок обновления базы данных ПК «Мастер-Тур» уже не при установке эталонной базы, а при переходе на 15 версию программы с более ранних версий:

  • Обновить базу данных до релиза 2009.2.20.31 (скрипт обновления можно скачать из личного кабинета)
  • Выполнить скрипт (из дистрибутива обновления) 15.0.0_2015.09.01.sql
  • Выполнить скрипт (из дистрибутива обновления) CurrentScript.sql

Существует возможность конвертировать существующие цены в ценовые блоки. Для этого необходимо выполнить следующие шаги:

  • Выполнить скрипт (из дистрибутива обновления) convertCostOffers.sql: происходит конвертация цен в ценовые блоки

Установка клиентской части ПК «Мастер-Тур»

  • Скопировать папку MasterTour из дистрибутива на клиентскую машину.
  • Распаковать дистрибутивы MasterTour_Rus_15.1.0.ххххх.zip и Plugins/AllPlugins.zip в папку MasterTour
  • Настроить конфигурационный файл sql.ini. Если установка производится с нуля, в случае отсутствия конфигурационного файла в папке MasterTour, необходимо создать его любым текстовым редактором, используя представленный ниже шаблон файла.
Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур»

Внимание!
В случае, если осуществляется вход в ПК "Мастер-Тур" не из локальной сети, то необходимо прописать внешний ip-адрес (как в файле sql.ini приложения ПК Мастер-Тур, так и в настройке hostname приложения MasterTourService).
Внимание!
Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &

remotedbname=AVALON,DRIVER=SQL Server; SERVER=Server; DATABASE=Database; Trusted_Connection=NO; APP=Master-Tour client;


Шаблон файла sql.ini
[win32client]
clientname=MT

[win32client.dll]
comdll=sqlodb32

[odbcrtr]
remotedbname=AVALON,DRIVER=SQL Server; SERVER=Server; DATABASE=Database; Trusted_Connection=NO; APP=Master-Tour client;

[settings]


  • Настроить конфигурационный файл Master32.exe.config.
Название Описание Настройка
1 Имя текущей установленной службы Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.
<add key="acceptableServices" value=""/>
2 Путь к службе сервиса квотирования Необходимо указать путь, по которому была настроена служба сервиса квотирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
3 Путь к службе сервиса лицензирования Необходимо указать путь, по которому была настроена служба сервиса лицензирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />

Установка отчетов

После установки ПК «Мастер-Тур» 15 необходимо переустановить следующие отчеты:

  • 4001
  • 4003
  • 4006
  • 4010
  • 4020
  • 4030

Установка службы поиска

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

  • Скопировать папку TourSearchOwin из дистрибутива на сервер приложений.
  • Перед установкой службы поиска необходимо настроить конфигурационный файл Megatec.TourSearchOwin.exe.config.
Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
  • Для корректной работы в настройке User Id достаточно указать пользователя, привязанного к группе avServices в модуле Мастер-Администратор (обрабатывается с релиза 15.6). Использование имени входа sa или других системных имен входа MS SQL сервера невозможно.
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=TourSearchOwin" />
2 Логирование Путь к лог-файлам задается в секции Loggers path.

Разные настройки логирования отвечают за получение разной информации:

  • ExceptionLogger – информация об ошибках
  • TourSearch – первоначальный расчет и перерасчет актуальных фильтров, информация о поисковых запросах
  • TourSearchCache – детализированная информация при первоначальной загрузке в кеш и об изменениях всех данных в системе
  • TourSearchApi – информация о поисковых запросах к API поисковыми системами
  • TourSearchApiShort – краткая информация о поисковых запросах к API поисковыми системами (Записывается только запуск и завершение запроса). Используется вместо лога TourSearchApi, если у клиента наблюдается слишком большая нагрузка при записи лога TourSearchApi
  • DictionaryCacheLog – информация о запросах, ответах и времени обработки от внешнего поставщика (GDS)
  • Calculate – детализированный расчет (не включать на реальной среде, так как будут просадки в производительности)
  • Specials – детализированный расчет акций (не включать на реальной среде, так как будут просадки в производительности)
  • Account – информация об авторизации
  • SearchResultLogger – информация о результатах поиска
  • ReservationLogger – информация о бронировании
<Loggers path="Logs\">
 <Logger level="ALL" name="ExceptionLogger" console="true" />
 <Logger level="ALL" name="TourSearch" console="true" />
 <Logger level="ALL" name="TourSearchCache" console="true" />
 <Logger level="ALL" name="TourSearchApi" console="true" />
 <Logger level="OFF" name="TourSearchApiShort" console="false" />
 <Logger level="ALL" name="DictionaryCacheLog" console="true" />
 <Logger level="OFF" name="Calculate" console="false" />
 <Logger level="OFF" name="Specials" console="true" />
 <Logger level="OFF" name="Account" console="false" />
 <Logger level="OFF" name="SearchResultLogger" console="false" />
 <Logger level="OFF" name="ReservationLogger" console="true" />
</Loggers>
3 Путь к службе поиска По умолчанию служба поиска использует порт 9000. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

<add key="serviceAddress" value="http://*:9000/TourSearchOwin/" />
4 Путь к службе сервиса квотирования Необходимо указать путь, по которому была настроена служба сервиса квотирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
5 Путь к службе сервиса лицензирования Необходимо указать путь, по которому была настроена служба сервиса лицензирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
6 Использование актуальных фильтров Включает актуальные фильтры в поиске и подсветку дат. В этом случае инициализация увеличивается по времени. По умолчанию настройка не включена (значение false).
<add key="enableActualFilters" value="true" />
7 Название службы Задается название службы. По умолчанию служба будет создана с названием MegatecTourSearchOwin.
<add key="serviceName" value="MegatecTourSearchOwin"/>
8 Расчет размещения 1+0 при заполнении актуальных фильтров По умолчанию актуальные фильтры заполняются только по тем ценам, размещение которых равно 2+0. При использовании этой настройки будет учитываться как размещение 2+0, так и 1+0.

Внимание!
Использование данной настройки увеличивает время актуализации фильтров и уменьшает производительность системы. Использовать только по согласованию со своим куратором.

<add key="calculateFiltersByOneManToo" value="true" />
9 Указание приложения поиска.

Обрабатывается только в API для отдачи цен в поисковые системы.

Путь, где установлено приложение поиска. Данное значение добавляется к результату в параметре tourUrl методов GetTours и ActualizeTour. Вместо localhost необходимо указать внешний ip-адрес или внешнее субдоменное имя.
<add key="sletatruCreateReservationApplicationUrl" value="http://localhost/TourSearchClient/"/>
10 Отображение цен на услуги (значение surcharge метода ActualizeTour в API для отдачи цен в поисковые системы)
  • Always – цена на услуги возвращается всегда и для всех услуг
  • No – цена на услуги не возвращается
  • SurchargeOnly или отсутствие настройки – возвращаются цены только для тех услуг, которые не включены в стоимость тура и являются удаляемыми
<add key="showServicePriceInActualizeTour" value="SurchargeOnly" />
11 Группы классов перелетов.

Обрабатывается только в API для отдачи цен в поисковые системы.

Коды перелетов определенного класса. До разделителя через запятую указываются все перелеты, относящиеся к эконом классу, после разделителя через запятую указываются все перелеты, относящиеся к бизнес классу.
<add key="flightTariffGroups" value="81,87,89,93|67,68,74,92"/>
12 Множитель используемых ядер процессора при поиске. Настройка предназначена для указания множителя физического количества потоков машины, которые будут обслуживать функциональность поиска службы поиска.

В качестве примера:
физических ядер – 4
значение настройки – 0,8
результат перемножения – 3, т.е. всего максимум 3 потока будут обслуживать поисковую функциональность
Стоит учитывать, что ограничение будет действовать также при нескольких одновременных поисках. Таким образом, если количество свободных потоков закончится, тогда новые поиски будут ожидать высвобождения ресурсов, создавая эффект подвисания. Следовательно – настройка ограничивает также максимальное количество одновременных поисков.
Чтобы увеличить количество одновременных поисков, следует увеличить значение настройки.
Допускается значения больше единицы. В этом случае, количество разрешенных потоков для поиска будет превышать количество физических потоков. Подобное допускается ценой снижения производительности на поток, если количество одновременных поисков будет превышать количество доступных физических ядер.

<add key="searchCoresKoeff" value="0,8" />
13 Множитель используемых ядер процессора при перерасчете актуальных фильтров.
Процент от общего количества ядер процессора, которые будут использоваться при перерасчете актуальных фильтров. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
<add key="actualFiltersRecalcCoresKoeff" value="0,8" />
14 Множитель используемых ядер процессора при первичном расчете актуальных фильтров.
Процент от общего количества ядер процессора, которые будут использоваться при первичном расчете актуальных фильтров. К примеру, в 20-ти ядерном процессоре при значении настройки "0,9" будет использоваться 90 % мощности, то есть 18 ядер.
<add key="actualFiltersInitCoresKoeff" value="0,9" />
15 Множитель используемых ядер процессора при перерасчете маршрутов.
Процент от общего количества ядер процессора, которые будут использоваться при перерасчете маршрутов. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
<add key="useParallelRecalcForRoutes" value="0,8" />
16 Упрощение расчета для поисковых систем. Данную настройку необходимо включать только в том случае, если для поисковых систем выделена отдельная служба поиска

false или отсутствие настройки – система работает без изменений
true – при поиске из поисковых систем не считаются лишние комбинации

<add key="searchApiСalculateAlgorithm" value="false" />
17 Служба с данными для актуальных фильтров. Данную настройку необходимо включать в службе, выделенной отдельно для поисковых систем. Используется с настройкой enableActualFilters в значении false
<add key="actualFiltersServiceUrl" value="адрес службы с включенной настройкой enableActualFilters" />
к примеру,  
<add key="actualFiltersServiceUrl" value="http://domain:9001/TourSearchOwin/" />
18 Ограничение максимального количества результатов для поисковых систем. Данная настройка ограничивает параметр count в API для поисковых систем.

Рекомендуемое значение – 30.

<add key="searchApiMaxResults" value="30" />
19 Очистка устаревших данных (offerID в API для поисковых систем) Задается интервал для очистки дерева результатов в API для поисковых систем. Указывается в минутах. Рекомендуемое значение – 60.
<add key="cleanSearchApiTreeInterval" value="60" />
20 Возможность отключения API для поисковых систем в определенной службе поиска Данную настройку необходимо включать в том случае, если необходимо закрыть доступ к методам для поисковых систем

false или отсутствие настройки – система работает без изменений
true – доступ к методам searchApi запрещен, в ответе будет приходить статус 403 и сообщение Доступ запрещен

<add key="disableSearchApi" value="true" />
21 Вывод в API для отдачи цен в поисковые системы информации об услугах в туре. Обрабатывается начиная с релиза 15.6. false или отсутствие настройки – система работает без изменений (значение по умолчанию)

true – в ответе методов GetTours и GetToursAllPrices будет отображаться массив с услугами services

<add key="showServiceDescription" value="true" />
22 Вывод в API для отдачи цен в поисковые системы информации о нетто стоимости услуги (обрабатывается только при включенной настройке showServiceDescription). Обрабатывается начиная с релиза 15.6. false или отсутствие настройки – система работает без изменений (значение по умолчанию)

true – в ответе методов GetTours и GetToursAllPrices в массиве с услугами services будет заполняться информация о нетто стоимости услуги

<add key="showServiceNetto" value="true" />
23 Вывод в API для отдачи цен в поисковые системы информации о брутто стоимости услуги (обрабатывается только при включенной настройке showServiceDescription). Обрабатывается начиная с релиза 15.6. false или отсутствие настройки – система работает без изменений (значение по умолчанию)

true – в ответе методов GetTours и GetToursAllPrices в массиве с услугами services будет заполняться информация о брутто стоимости услуги

<add key="showServiceBrutto" value="true" />
24 Вывод в API для отдачи цен в поисковые системы информации о партнере по услуге (обрабатывается только при включенной настройке showServiceDescription). Обрабатывается начиная с релиза 15.6. false или отсутствие настройки – система работает без изменений (значение по умолчанию)

true – в ответе методов GetTours и GetToursAllPrices в массиве с услугами services будет заполняться информация о партнере по услуге

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


25 Режим поиска (в днях тура/в ночах тура/в ночах проживания в отеле).
Настройка режима поиска, заданная в конфигурационном файле имеет больший приоритет, чем аналогичная настройка осуществлять поиск, заданная в настройках.

Принимаемые параметры:

  • 0 – поиск осуществляется в днях тура
  • 1 – поиск осуществляется в ночах тура
  • 2 – поиск осуществляется в ночах проживания в отеле

По умолчанию настройка не задана.

<add key="DurationSearchMode" value=""/>
26 Возможность отключения поиска во внешних системах (в API для поисковых систем) Данную настройку необходимо включать в том случае, если необходимо отключить поиск во внешних системах (в API для поисковых систем)

false или отсутствие настройки – поиск во внешних системах включен, регулируется фильтром hasGDSHotel
true – поиск во внешних системах отключен

<add key="disallowDynamicHotelsInSearchApi" value="true" />
27 Запись статистики в базу данных данным экземпляром службы поиска Данная настройка регулирует запись статистики в базу данных данным экземпляром службы поиска.

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

<add key="useSaveTourStatistics" value="false" />
28 Максимальное число запросов в минуту (в api) Данная настройка регулирует количество запросов к службе поиска через API с одного IP - адреса.

То есть если установлено значение 3, то при отправке последующих запросов будем получать в ответе на запрос ошибку TooManyRequest, пока не пройдет минута с первого запроса.
0 или отсутствие настройки – ограничение по количеству запросов к службе поиска через API с одного IP - адреса не установлено
числовое значение – числовое значение запросов к службе поиска через API с одного IP - адреса

<add key="maxRequestsPerMinute" value="0" />
29 Количество цен, которое будет обрабатываться при запросе getToursAllPrices Данная настройка регулирует количество цен, которое будет обрабатываться при запросе getToursAllPrices. К примеру, по умолчанию при нажатии на Варианты существует 10 цен по отелю. В случае, если в настройке указано значение 5, то при запросе метода getToursAllPrices будет обрабатываться только 5 цен.

0 или отсутствие настройки – ограничение по количеству выводимых цен не применяется
числовое значение – ограничение по количеству выводимых цен применяется

<add key="getToursAllPricesMaxCostCount" value="" />

Для настройки отправки писем о регистрации частных лиц в Megateс.TourSearchOwin.exe.config службы TourSearchOwin нужно указать следующие настройки:

Описание Настройка
1 Адрес, с которого отправляются письма из системы бронирования
<add key="mailFrom"value="MasterWeb@EmailServiceProvider.com" />
2 Адрес администратора системы, на который приходит уведомление о новой регистрации (можно добавить несколько адресов через « ; »)
<add key="rcptTo"value="MasterWebAdmin@EmailServiceProvider.com"/>
3 Дополнительные e-mail адреса, на которые приходят сообщения о новой регистрации (можно добавить несколько e-mail адресов через « ; »)
<add key="addRcptTo"value="Email1@EmailServiceProvider.com; Email2@EmailServiceProvider.com" />
4 Почтовый сервер SMTP
<add key="smtpServer"value="Smtp.EmailServiceProvider.com" />
5 SMTP порт почтового сервера (по умолчанию — 25)
<add key="smtpPort" value="25" />
6 Тип авторизации на сервере: None, Base64 или TLS/SSL
<add key="smtpAuthentication" value="Base64" />
7 Активация протокола SSL (Нужно включить при использовании TLS/SSL авторизации.)
<add key="EnableSsl" value="false" />
8 Имя пользователя для подключения к почтовому серверу
<add key="smtpUser" value="Domain\Username" />
9 Пароль пользователя для подключения к почтовому серверу
<add key="smtpPassword" value="Pa$$w0rd" />


  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта службы поиска. Правила для входящих подключений службы поиска
  • В Службах Windows добавляется служба TourSearchOwin.

TourSearchWebApi

  • Для удаления службы кэширования необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.
Рекомендуется ежедневно перезапускать службу поиска. Это можно сделать с помощью планировщика заданий Windows. 
Пример bat-файла размещен ниже.
Пример bat-файла для перезагрузки службы поиска
@Echo Off
SetLocal EnableDelayedExpansion

Set ServiceName=MegatecTourSearchOwin
Net Stop %ServiceName%||(
	For /F "tokens=3" %%A In ('SC queryex %ServiceName%^|Find "PID"') Do (
	            TaskKill /F /PID %%A>nul
	            Ping -n 5 127.0.0.1>nul
	)
)
Net start %ServiceName%
echo service restart @ %date% %time% >> REM C:\checklog.txt 
Exit


Варианты конфигураций служб поиска

Ниже описаны варианты конфигураций служб поиска в зависимости от нагрузки и потребностей туроператоров.

Описание Служба Настройка
1 По умолчанию для небольших и средних ТО служба поиска и служба API размещаются на одном сервере. Сервер: TourSearchClient + API
<add key="enableActualFilters" value="true" />
<add key="searchApiСalculateAlgorithm" value="false" />
<add key="searchApiMaxResults" value="60" />
<add key="actualFiltersServiceUrl" value="" />
<add key="disableSearchApi" value="false" />
2 В том случае, если идут большие запросы от поисковых систем и конфигурация №1 не справляется – службу поиска и службу API разносят по разным серверам. Сервер 1: TourSearchClient
<add key="enableActualFilters" value="true" />
<add key="searchApiСalculateAlgorithm" value="false" />
<add key="searchApiMaxResults" value="60" />
<add key="actualFiltersServiceUrl" value="" />
<add key="disableSearchApi" value="true" />
Сервер 2: API
<add key="enableActualFilters" value="true" />
<add key="searchApiСalculateAlgorithm" value="true" />
<add key="searchApiMaxResults" value="60" />
<add key="actualFiltersServiceUrl" value="" />
<add key="disableSearchApi" value="false" />
3 Существует возможность разделить API для поисковых систем на 2 части: API для актуальных фильтров и API для поисковых систем. В API для актуальных фильтров будут только считаться актуальные фильтры при изменениях в системе, а API для поисковых систем будет служить только для осуществления поиска из поисковых систем.

В этом случае конфигурация поисковых служб будет следующая: на отдельном сервере располагается служба поиска (для TourSearchClient), на отдельном сервере API для актуальных фильтров и на отдельном сервере API для поисковых систем.

Сервер 1: API (TourSearchClient)
<add key="enableActualFilters" value="false" />
<add key="searchApiСalculateAlgorithm" value="false" />
<add key="searchApiMaxResults" value="60" />
<add key="actualFiltersServiceUrl" value="значение настройки serviceAddress службы API (актуальные фильтры)" />
<add key="disableSearchApi" value="true" />
Сервер 2: API (актуальные фильтры)
<add key="enableActualFilters" value="true" />
<add key="searchApiСalculateAlgorithm" value="true" />
<add key="searchApiMaxResults" value="60" />
<add key="actualFiltersServiceUrl" value="" />
<add key="disableSearchApi" value="true" />
Сервер 3: API (поисковые системы)
<add key="enableActualFilters" value="false" />
<add key="searchApiСalculateAlgorithm" value="true" />
<add key="searchApiMaxResults" value="60" />
<add key="actualFiltersServiceUrl" value="значение настройки serviceAddress службы API (актуальные фильтры)" />
<add key="disableSearchApi" value="false" />


Быстрый поиск

Установка быстрого поиска

Быстрый поиск (новая форма)

Установка быстрого поиска (новая форма)

Установка службы сервиса квотирования

Начиная с релиза 15.6 разработан сервис квотирования, который нужен для снятия дополнительной нагрузки со службы поиска, связанной с логикой работ с квотами. В данном сервисе оптимизирована скорость обработки квот и Stop-Sales, реализована многопоточность обработки изменений, что позволило значительно ускорить применение изменений. Сервис не обязательный для работы системы, рекомендуется устанавливать в случае появления проблем с обработкой большого количества квот. Начиная с релиза 15.9 сервис станет обязательным для установки.

  • Скопировать папку QTS из дистрибутива на сервер. Служба QuotesService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
  • Перед установкой службы сервиса квот необходимо настроить конфигурационный файл Megatec.QuotesService.dll.config.
Название Описание Настройка
1 Название службы Задается название службы. По умолчанию служба будет создана с названием MegatecQuotesService.
<add key="serviceName" value="MegatecQuotesService"/>
2 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
  • Для корректной работы в поле User Id достаточно указать пользователя, привязанного к группе avServices в модуле Мастер-Администратор (обрабатывается с релиза 15.6).
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=QuotasService" />
3 Логирование Путь к лог-файлам задается в секции Loggers path.
  • ExceptionLogger – информация об ошибках
  • TourSearch – первоначальный расчет и перерасчет актуальных фильтров, информация о поисковых запросах
  • TourSearchCache – детализированная информация при первоначальной загрузке в кэш и об изменениях всех данных в системе
  • DictionaryCacheLog – первоначальная загрузка в кэш всех справочников
  • RequestLogger – информация о входящих запросах
<Loggers path="Logs\">
 <Logger level="ALL" name="ExceptionLogger" console="true" />
 <Logger level="ALL" name="TourSearch" console="true" />
 <Logger level="ALL" name="TourSearchCache" console="true" />
 <Logger level="ALL" name="DictionaryCacheLog" console="true" />
 <Logger level="OFF" name="RequestLogger" console="true" />
</Loggers>
5 Путь к службе сервиса квотирования По умолчанию служба сервиса квотирования использует порт 5000. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

<add key="serviceAddress" value="http://*:5000/QuotasService/" />
6 Множитель используемых ядер процессора при работе сервиса квотирования. Настройка предназначена для указания множителя физического количества потоков машины, которые будут обслуживать функциональность службы сервиса квотирования.

В качестве примера:
физических ядер – 4
значение настройки – 0,8
результат перемножения – 3, т.е. всего максимум 3 потока будут обслуживать данную функциональность

<add key="serviceCoresKoeff" value="0,8" />
7 Множитель используемых ядер процессора при обновлении службы сервиса квотирования.
Процент от общего количества ядер процессора, которые будут использоваться при обновлении справочных данных. К примеру, в 20-ти ядерном процессоре при значении настройки "0,8" будет использоваться 80 % мощности, то есть 16 ядер.
<add key="serviceRecalcCoresKoeff" value="0,8" />
8 Множитель используемых ядер процессора при инициализации службы сервиса квотирования.
Процент от общего количества ядер процессора, которые будут использоваться при инициализации справочных данных. К примеру, в 20-ти ядерном процессоре при значении настройки "0,9" будет использоваться 90 % мощности, то есть 18 ядер.
<add key="serviceInitCoresKoeff" value="0,9" />
9 Настройка для работы службы сервиса квотирования через https
  • certFile – название файла сертификата с форматом файла
  • certPassword – пароль к сертификату
  • certStoreLocation – каким образом установлен сертификат: для текущего пользователя (значение CurrentUser) или для текущей машины (значение LocalMachine). Подробное описание см. в настройках работы системы по https
<add key="certFile" value="" />
<add key="certPassword" value="" />
<add key="certStoreLocation" value="CurrentUser" />
10 В настройке указывается протокол подключения, который будет использоваться в работе приложения Возможные значения:
  • IPAddress.IPv6Any – используется по умолчанию (или при отсутствии настройки)
  • IPAddress.Any
  • IPAddress.IPv6Loopback
  • IPAddress.Broadcast
  • IPAddress.IPv6None
  • IPAddress.Loopback
  • IPAddress.None

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

<add key="IPAddress" value="IPAddress.IPv6Any" />
  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта QuotesService. Правила для входящих подключений QuotesService
  • В Службах Windows добавляется служба MegatecQuotesService.

MegatecQuotesService

  • Для удаления службы необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.

Установка службы сервиса лицензирования

Начиная с релиза 15.8 разработан сервис лицензирования, который отвечает за проверку лицензий всех приложений ПК «Мастер-Тур». Сервис не обязательный для работы системы (станет обязательным с релиза 15.9).

  • Скопировать папку MasterDataService из дистрибутива на сервер. Служба MasterDataService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
  • Перед установкой службы сервиса лицензирования необходимо настроить конфигурационный файл appsettings.json.
Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции ConnectionStrings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
  • Для корректной работы в поле User Id необходимо указать пользователя, имеющего административные права на уровне сервера (роль sysadmin)
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
  "ConnectionStrings": {
    "MtDatabase": "Server = DataBase_Server; Database = DataBase_Name; User Id = DataBase_User; Password = DataBaseUser_Password; Persist Security Info=true;"
  },
3 Путь к службе сервиса лицензирования По умолчанию служба сервиса лицензирования использует порт 5005. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

 "applicationUrl": "http://*:5005/DataService",
4 Настройка для работы службы сервиса лицензирования через https
  • certFile – название файла сертификата с форматом файла
  • certPassword – пароль к сертификату
  • certStoreLocation – каким образом установлен сертификат: для текущего пользователя (значение CurrentUser) или для текущей машины (значение LocalMachine). Подробное описание см. в настройках работы системы по https
 "certFile": "",
 "certPassword": "",
 "certStoreLocation": "",

Обратите внимание! Для корректной работы ПК "Мастер-Тур" порт, указанный в файле web.config службы, должен быть доступен через NAT сотрудникам компании Мегатек.

  • Имя службы сервиса лицензирования для создания и запуска необходимо задать в файле _Install.cmd (по умолчанию название службы MasterDataService), а для остановки и удаления в файле _UnInstall.cmd
  • Установка осуществляется запуском скрипта _Install.cmd от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта MasterDataService.
  • В Службах Windows добавляется служба MasterDataService.

MasterDataService

  • Для удаления службы необходимо запустить скрипт _UnInstall.cmd от имени администратора. При этом будут удалены правила для входящих подключений.

Установка службы MasterTourService

Предупреждение


Начиная с релиза 15.7 в составе службы MasterTourService 
уже включена служба кеша для акций (службу для акций теперь отдельно устанавливать не нужно)

Служба MasterTourService нужна для кеширования данных для работы ПК «Мастер-Тур», расчета цен на услуги в турах и оформленных путевках, а также для бронирования. Без запущенной службы MasterTourService в ПК «Мастер-Тур» войти нельзя.

  • Скопировать папку MasterTourService из дистрибутива на сервер. Служба MasterTourService должна устанавливаться на компьютере, имеющем доступ к серверу баз данных, или на компьютере, который сам является сервером баз данных (установлен MS SQL Server).
  • Перед установкой службы поиска необходимо настроить конфигурационный файл Megatec.MasterTourService.exe.config.
Название Описание Настройка
1 Название службы Задается название службы. По умолчанию служба будет создана с названием MegatecMasterTourService.
<add key="serviceName" value="MegatecMasterTourService"/>
2 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения.
  • Для корректной работы в поле User Id достаточно указать пользователя, привязанного к группе avAdmins в модуле Мастер-Администратор (обрабатывается с релиза 15.6).
<!--Имя приложения-->
<add key="applicationName" value="MasterTourService"/>
<!--Сервер-->
<add key="serviceServer" value="Server"/>
<!--База данных-->
<add key="serviceDatabase" value="Database"/>
<!--Логин -->
<add key="defaultUserName" value="User"/>
<!--Пароль-->
<add key="defaultPassword" value="Password"/>
3 Настройка печати Начиная с релиза 15.9 добавлена обязательная настройка, необходимая для формирования отчета 4030 из справочника Список партнеров
<add key="OvverideCommonType" value="MasterTourService" />
4 Имя компьютера, на котором будет размещено приложение MegatecMasterTourService Необязательная настройка. Если настройка не указана (или не указано значение настройки), то используется DNS-имя компьютера.

Внимание!
В случае, если осуществляется вход в ПК "Мастер-Тур" не из локальной сети, то необходимо прописать внешний ip-адрес (как в настройке hostname приложения MasterTourService, так и в файле sql.ini приложения ПК Мастер-Тур).

<!--Имя хоста-->
<add key="hostName" value=""/>
5 Логирование Путь к лог-файлам задается в секции Loggers path.
  • ExceptionLogger - информация об ошибках
  • AddCostLogic - информация о расчете доплат
  • CostLogic - информация о расчете цен
  • TourMarginLogic - информация о расчете наценок по услугам в туре
  • QuotaLogic - информация по квотам
  • FlightSelectionLogic - информация по вариантам перелетов
  • GDSLogger - информация по работе с адаптерами GDS
  • Specials - детализированный расчет акций (не включать на реальной среде, так как будут просадки в производительности)
  • TourSearchCache - детализированная информация при первоначальной загрузке в кэш и об изменениях всех данных в системе
  • DictionaryCacheLog - первоначальная загрузка в кэш всех справочников
  • RelationHelperLogger - информацию по удалению связанных данных из справочников
  • RequestLogger - информация о входящих запросах
  • PartnerImportLogger - информация об импорте партнеров
  • SystemSettingsLogger - информация о настройках системы
  • CommonServiceParametersLogger - информация о ценах
  • KamkorLogger - краткая информация о получении туркодов от Камкора
  • KamkorDetailLogger - детальная информация о получении туркодов от Камкора
<Loggers path="Logs\">
 <Logger level="ALL" name="ExceptionLogger"/>
 <Logger level="ALL" name="AddCostLogic"/>
 <Logger level="ALL" name="CostLogic"/>
 <Logger level="ALL" name="TourMarginLogic"/>
 <Logger level="ALL" name="QuotaLogic"/>
 <Logger level="ALL" name="FlightSelectionLogic"/>
 <Logger level="ALL" name="GDSLogger" />
 <Logger level="OFF" name="Specials" />
 <Logger level="ALL" name="TourSearchCache" console="true" />
 <Logger level="ALL" name="DictionaryCacheLog" console="true" />
 <Logger level="OFF" name="RelationHelperLogger" console="true" />
 <Logger level="OFF" name="RequestLogger" console="true" />
 <Logger level="OFF" name="PartnerImportLogger"/>
 <Logger level="OFF" name="SystemSettingsLogger"/>
 <Logger level="OFF" name="CommonServiceParametersLogger" console="false" />
 <Logger level="OFF" name="KamkorLogger" console="false" />
 <Logger level="OFF" name="KamkorDetailLogger" console="false" />
</Loggers>
6 Имя текущей установленной службы (отображается в таблице MasterTourServiceHosts) После установки службы MasterTourService также добавляется информация в таблицу MasterTourServiceHosts. В поле MTS_Name записывается значение настройки acceptableServices. Данная настройка отображает наименования сервисов, к которым можно будет обращаться:
  • из ПК «Мастер-Тур», указав их в конфигурационном файле master32.exe.config
  • из ПК «Мастер-Web», указав их в конфигурационном файле web.config
  • из Программы туров, указав их в конфигурационном файле web.config.
  • из любого сервиса интеграции с платежными системами, указав их в конфигурационном файле web.config.

По умолчанию настройка не заполнена.
Внимание!
Значение настройки должно быть явно задано.

<add key="acceptableServices" value=""/>
7 Путь к службе сервиса квотирования Необходимо указать путь, по которому была настроена служба сервиса квотирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
8 Путь к службе сервиса лицензирования Необходимо указать путь, по которому была настроена служба сервиса лицензирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
9 Приоритет текущего установленного сервиса Приоритет текущей установленной службы MasterTourService. Целое положительное число. Чем число выше, тем приоритет больше.
<add key="servicePriority" value="1"/>
  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта MasterTourService. Правила для входящих подключений MasterTourService
  • В Службах Windows добавляется служба MegatecMasterTourService.

MegatecMasterTourService

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

Установка службы кеша для акций

Предупреждение


Начиная с релиза 15.7 службу акций отдельно устанавливать не нужно, 
она перенесена в состав службы MasterTourService.

Данная служба предназначена для увеличения производительности работы блока «Акции» путем хранения суточных цен в оперативной памяти сервера.

  • Скопировать папку SpecialsCacheService из дистрибутива на сервер.
  • Перед установкой службы кеша для акций необходимо настроить конфигурационный файл Megatec.MasterTour.SpecialsCacheService.exe.config.
Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения
  • Для корректной работы в поле User Id достаточно указать пользователя, привязанного к группе avServices в модуле Мастер-Администратор (обрабатывается с релиза 15.6).
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=Specials" />
2 Название службы Задается название службы. По умолчанию служба будет создана с названием MegatecSpecialsCacheService.
<add key="serviceName" value="MegatecSpecialsCacheService"/>
3 Логирование Путь к лог-файлам задается в секции Loggers path.
<Loggers path="Logs\">
 <Logger level="ALL" name="ExceptionLogger" console="true" /> Логирование ошибок
 <Logger level="ALL" name="SpecialsCache" console="true" /> Логирование информации по заполнению кеша акций
</Loggers>
4.1 Порт <baseAddresses> (до релиза 15.5 включительно) По умолчанию служба кэширования использует порт 52529. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

<add baseAddress="http://localhost:52529/SpecialsCache/SpecialsHotelDataCacheService"/>
<add baseAddress="http://localhost:52529/SpecialsCache/SpecialsAccommodationsCacheService"/>
4.1 Путь к службе кеша для акций (начиная с релиза 15.6) По умолчанию служба кэширования использует порт 52529. Рекомендуется использование порта по умолчанию.

Внимание!
При смене порта необходимо также изменить порт в установочном скрипте _Install.bat.

<add key="serviceAddress" value="http://*:52529/SpecialsCache/" />
  • Установка осуществляется запуском скрипта _Install.bat от имени администратора. Запуск от имени администратора
  • При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта кэширования. Правила для входящих подключений кэширования
  • В Службах Windows добавляется служба SpecialsCacheService.

SpecialsCacheService

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

Установка программы туров

Для установки приложения Программы туров нужно создать отдельную директорию, например, TourPrograms (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива TourPrograms.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourPrograms.

Предупреждение


Приложение Программы туров предназначено для внутреннего использования, поэтому рекомендуется не давать 
внешний доступ из сети Интернет к приложению и не размещать приложение Программы туров на одном узле (сайте), 
что и приложение Поиска (TourSearchClient, Canary). Для доступа к приложению Программы туров через сеть Интернет 
рекомендуется использовать VPN соединение и размещать приложение на отдельном узле (сайте).

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).
Ls0217.png

2. Запустить Internet Information Services (IIS) Manager.
Ls0218.png

3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Ls0219.png

Настройка конфигурационного файла

Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings. Должен быть указан пользователь с административными правами.


Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения
  • Для корректной работы в поле User Id достаточно указать пользователя, привязанного к группе avServices в модуле Мастер-Администратор (обрабатывается с релиза 15.6).
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
<add key="connectionString" value="Data Source=Server; Initial Catalog=Database; User Id=User; Password=Password; Application Name=TourPrograms" />
2 Логирование Путь к лог-файлам задается в секции Loggers path.
  • ExceptionLogger - информация об ошибках
  • AddCostLogic - информация о расчете доплат
  • CostLogic - информация о расчете цен
  • TourMarginLogic - информация о расчете наценок по услугам в туре
  • QuotaLogic - информация по квотам
  • FlightSelectionLogic - информация по вариантам перелетов
 <Loggers path="Logs\">
 <Logger level="ALL" name="ExceptionLogger"/> 
 <Logger level="ALL" name="AddCostLogic"/> 
 <Logger level="ALL" name="CostLogic"/>
 <Logger level="ALL" name="TourMarginLogic"/>
 <Logger level="ALL" name="QuotaLogic"/>
 <Logger level="ALL" name="FlightSelectionLogic"/>
</Loggers>
3 Путь к службе поиска Необходимо указать путь, по которому была настроена служба поиска. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний ip-адрес или внешнее субдоменное имя.
<add key="SearchApiServiceUrl" value="http://localhost:9000/TourSearchOwin/" />
4 Путь к службе сервиса квотирования Необходимо указать путь, по которому была настроена служба сервиса квотирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
5 Путь к службе сервиса лицензирования Необходимо указать путь, по которому была настроена служба сервиса лицензирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.8.
<add key="DataServiceUrl" value="http://localhost:5005/DataService/" />
6 Путь к службе кеша для акций Необходимо указать путь, по которому была настроена служба кеша для акций. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний ip-адрес или внешнее субдоменное имя (если планируется использование акций извне), либо указать внутренний ip-адрес или внутреннее субдоменное имя (если планируется использование акций внутри локальной сети).
<add key="CacheServiceUrl" value="http://localhost:52529/SpecialsCache/"/>
7 Имя текущей установленной службы Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.
<add key="acceptableServices" value=""/>

Установка поиска вариантов программ туров

Для установки приложения Поиск вариантов программ туров нужно создать отдельную директорию, например, TourSearchClient (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива TourSearchClient.zip. В управлении IIS необходимо создать виртуальный каталог для папки TourSearchClient.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).
Ls0217.png

2. Запустить Internet Information Services (IIS) Manager.
Ls0218.png

3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Ls0219.png

Настройка конфигурационного файла

Название Описание Настройка
1 Ссылка на страницу забронированных путевок Путь к приложению ПК «Мастер-Web»
<add key="mwOrderInfo" value="MasterWeb/OrderInfo.aspx"/>
<add key="mwOrderListUrl" value="MasterWeb/OrderList.aspx"/>
<add key="mwPasswordRecoveryUrl" value="MasterWeb/PasswordRecovery.aspx"/>
<add key="mwRegistrationUrl" value="MasterWeb/registration.aspx"/>
<add key="mwSendReservationMails" value="MasterWeb/SendReservationMails.aspx"/>
2 Путь к службе поиска Необходимо указать путь, по которому была настроена служба поиска. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний ip-адрес или внешнее субдоменное имя.
<add key="SearchApiServiceUrl" value="http://localhost:9000/TourSearchOwin/" />
3 Настройка языка Язык поиска по умолчанию. Код языка указывается исходя из файла с локализацией в \TourSearchClient\Content\localization
<add key="defaultLanguageCode" value="ru"/>
4 Время кеширования файлов локализации Указывается время в минутах, через которое должен очищаться кеш файлов локализации. Изменения, внесенные в файлы \TourSearchClient\Content\localization применяться через указанное время.
<add key="languageDictionaryCacheExpiration" value="5"/>
5 Логирование Путь к лог-файлам задается в секции Loggers path.
  • TourSearch – первоначальный расчет и перерасчет актуальных фильтров, информация о поисковых запросах
  • TourSearchCache – детализированная информация при первоначальной загрузке в кэш и об изменениях всех данных в системе
  • ExceptionLogger – информация об ошибках
<Loggers path="Logs\">
 <Logger level="ALL" name="TourSearch" console="true" />
 <Logger level="ALL" name="TourSearchCache" console="true" /> 
 <Logger level="ALL" name="ExceptionLogger" console="true"/> 
</Loggers>
6 Системная настройка Настройки внутреннего пользования. Не изменяемые
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
7 Системная настройка Настройка для работы внутренних механизмов TourSearchOwin (в определенных случаях позволяет обращаться к службе поиска по локальной сети, а не через внешнюю сеть).
<add key="InnerSearchApiServiceUrl" value="http://192.168.0.55:9000/TourSearchOwin/"/>
8 Ссылка на политику конфиденциальности Настройка ссылки на политику конфиденциальности TourSearchClient.
<add key="SubmittingAgreePrivacyPolicy" value="https://www.megatec.ru/webpolicy"/>

Установка Canary

Для установки приложения Canary нужно создать отдельную директорию, например, Canary (далее в примерах будет использоваться данное название каталога) в корневом каталоге IIS (по умолчанию c:/inetpub/wwwroot) и выложить туда распакованные файлы из архива Canary.zip. В управлении IIS необходимо создать виртуальный каталог для папки Canary.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).
Ls0217.png

2. Запустить Internet Information Services (IIS) Manager.
Ls0218.png

3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Ls0219.png

Настройка конфигурационного файла

Название Описание Настройка
1 Ссылка на страницу забронированных путевок Путь к приложению ПК «Мастер-Web»
<add key="mwOrderInfo" value="MasterWeb/OrderInfo.aspx"/>
<add key="mwOrderListUrl" value="MasterWeb/OrderList.aspx"/>
<add key="mwPasswordRecoveryUrl" value="MasterWeb/PasswordRecovery.aspx"/>
<add key="mwRegistrationUrl" value="MasterWeb/registration.aspx"/>
<add key="mwSendReservationMails" value="MasterWeb/SendReservationMails.aspx"/>
2 Путь к службе поиска Необходимо указать путь, по которому была настроена служба поиска. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний ip-адрес или внешнее субдоменное имя.
<add key="SearchApiServiceUrl" value="http://localhost:9000/TourSearchOwin/" />
3 Настройка языка Язык поиска по умолчанию. Код языка указывается исходя из файла с локализацией в \Canary\Content\localization
<add key="defaultLanguageCode" value="ru"/>
4 Время кеширования файлов локализации Указывается время в минутах, через которое должен очищаться кеш файлов локализации. Изменения, внесенные в файлы \TourSearchClient\Content\localization применяться через указанное время.
<add key="languageDictionaryCacheExpiration" value="5"/>
5 Логирование Путь к лог-файлам задается в секции Loggers path.
  • ExceptionLogger – информация об ошибках
<Loggers path="Logs\">
 <Logger level="ALL" name="ExceptionLogger" console="true"/> 
</Loggers>
6 Системная настройка Настройки внутреннего пользования. Не изменяемые
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
7 Системная настройка Настройка для работы внутренних механизмов TourSearchOwin (в определенных случаях позволяет обращаться к службе поиска по локальной сети, а не через внешнюю сеть).
<add key="InnerSearchApiServiceUrl" value="http://192.168.0.55:9000/TourSearchOwin/"/>

Предупреждение Внимание! Начиная с версии 15.7 появилась возможность сохранения персональных настроек клиентов при обновлении поиска Canary.
При установке с нуля поиска Canary для дальнейшего сохранения настроек пользователя при обновлении компонентов ПК Мастер-Тур нужно создать персональный файл настроек путем копирования текущего файла настроек settings.js и добавления к нему подписи "_custom", т.е. settings_custom.js. Файлы настроек расположены по пути Основная папка ПК Мастер-Тур/Canary/.
В случае отсутствия в файле настроек settings_custom.js каких-либо параметров, значение подбирается из соответствующего параметра основного файла настроек settings.js.
В случае отсутствия файла settings_custom.js настройки берутся сразу из файла settings.js.
При установке с нуля поиска Canary для дальнейшего сохранения настроек локализации при обновлении компонентов ПК Мастер-Тур нужно создать персональный файл локализации путем копирования текущего файла локализации language_ru (language_en, language_ua).js и добавления к нему подписи "_custom", т.е. language_ru_custom.js. Файлы настроек локализации расположены по пути Основная папка ПК Мастер-Тур/Canary/Content/localization.
В случае отсутствия в файле language_ru_custom.js перевода на конкретное поле, перевод подбирается из соответствующего поля основного файла локализации language_ru.js.
В случае отсутствия файла language_ru_custom.js настройки берутся сразу из файла language_ru.js.

Установка ПК «Мастер-Web»

Для установки ПК Мастер-Web нужно создать директорию MasterWebStandard в каталоге c:/inetpub/wwwroot и выложить туда разархивированные файлы ПК Мастер-Web. В управлении IIS cоздайте приложение для папки MasterWebStandard и приложение для папки admin, которая находится внутри директории MasterWebStandard. Для этого нужно в управлении IIS выделить нужную папку, нажать правую кнопку мышки и выбрать пункт меню Свойства. На вкладке Каталог в разделе Параметры приложения нажмите кнопку Создать. То же самое нужно сделать для папки admin, которая находится внутри директории MasterWebStandard.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

1. Зайти в Пуск (Start) – Панель управления (Control Panel) – Администрирование (Administrative Tools).
Ls0217.png

2. Запустить Internet Information Services (IIS) Manager.
Ls0218.png

3. В открывшемся дереве каталогов выбрать сайты (Web Sites) – Default Web Site (либо другой сайт, на который планируется установить приложение). В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать пункт «Преобразовать в приложение».
Ls0219.png

В случае, если у пользователя возникают проблемы с отправкой сообщений из Мастер-Web на зарегистрированную почту, следует установить значение настройки Загрузить профиль пользователя на True в дополнительных параметрах того пула приложений IIS, к которому привязан Мастер-Web.

Настройка Загрузить профиль пользователя

Настройка конфигурационного файла

Название Описание Настройка
1 Строка подключения Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings.

Внимание!

  • Обратите внимание, что в целях безопасности необходимо ограничить доступ к этому конфигурационному файлу. Он должен быть доступен только для данного приложения
  • Для корректной работы в настройке User Id достаточно указать пользователя, привязанного к группе avServices в модуле Мастер-Администратор (обрабатывается с релиза 15.6). Использование имени входа sa или других системных имен входа MS SQL сервера невозможно.
  • Пароль пользователей системы, от которых работают службы и приложения, не должен содержать ни одного из следующих символов: < > " ' &
<add key="connectionString" value="Data Source=Server;Initial Catalog=Database;User Id=User;Password=Password;Application Name=MasterWeb" />
<add key="connectionStringShort" value="Data Source=Server; Initial Catalog=Database"/>
2 Путь к службе поиска Необходимо указать путь, по которому была настроена служба поиска. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний ip-адрес или внешнее субдоменное имя.
<add key="SearchApiServiceUrl" value="http://localhost:9000/TourSearchOwin/" />
3 Путь к службе сервиса квотирования Необходимо указать путь, по которому была настроена служба сервиса квотирования. Если был изменен порт по умолчанию – его также необходимо сменить в настройке. Вместо localhost необходимо указать внешний или внутренний ip-адрес, либо внешнее или внутреннее субдоменное имя (для корректной работы достаточно указать внутренний ip-адрес или внутреннее субдоменное имя). Настройка обрабатывается с релиза 15.6.
<add key="QuotasServiceUrl" value="http://localhost:5000/QuotasService/" />
4 Имя текущей установленной службы Наименование службы, к которой может обращаться текущий клиент (по значению настройки acceptableServices в MasterTourService). По умолчанию настройка не заполнена. Значение настройки должно быть явно задано.
<add key="acceptableServices" value=""/>
5 Оплата от клиента

Используется в экране Информация о заказе (OrderInfo.aspx)

Настройка, позволяющая в экране OrderInfo.aspx вносить процент комиссии, оплаченный клиентом. По умолчанию настройка отсутствует.
  • true – появляется поле Оплата от клиента с возможностью вносить данные по оплате
  • false или отсутствие настройки – поле Оплата от клиента отсутствует
<add key="PaymentAmount" value="true"/>
6 Детализация платежей

Внимание! Настройка обрабатывается, начиная с релиза 15.4

Настройка, включающая детализацию платежей, произведенных для оплаты услуг путевки в экране «Информация о заказе».
  • true – включена детализация платежей
  • false - выключена детализация платежей
<add key="ShowPaymentDetails" value="true"/>
7 Системная настройка Настройка для работы внутренних механизмов TourSearchOwin (в определенных случаях позволяет обращаться к службе поиска по локальной сети, а не через внешнюю сеть).
<add key="InnerSearchApiServiceUrl" value="http://192.168.0.55:9000/TourSearchOwin/"/>
8 Ссылка для регистрации частных лиц Ссылка для регистрации частных лиц с окна авторизации.
  • TourSearchClient?isPrivateUserRegistrationShow=1 – для поиска TourSearchClient
  • Canary#/?isPrivateUserRegistrationShow=1 – для поиска Canary
<add key="privateUserRegistrationUrl" value="TourSearchClient?isPrivateUserRegistrationShow=1" />

Настройка отправки e-mail сообщений в системе бронирования

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

Шифрование секций web.config

В файлах web.config содержатся данные со строками подключения к базе данных. Существует возможность шифровать секции с этими данными.
Пример использования через POWERSHELL, запущенной с административными правами:

  • Шифрование
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "appSettings" "c:\inetpub\wwwroot\MasterWeb"

, где
v4.0.30319 – версия Framework
c:\inetpub\wwwroot\MasterWeb – путь к папке приложения

  • Расшифровка
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "appSettings" "c:\inetpub\wwwroot\MasterWeb"

, где
v4.0.30319 – версия Framework
c:\inetpub\wwwroot\MasterWeb – путь к папке приложения

Предупреждение


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


Установка файла лицензии

Для установки файла лицензии необходимо зайти в приложение Программа туров на вкладку Панель администрирования под пользователем, который имеет административные права (выбрана роль sysadm на уровне сервера), а также является пользователем ПК «Мастер-Тур». При первом входе будет отображена информация о том, что файл лицензии отсутствует.
Начиная с релиза 15.6 для установки лицензии у пользователя достаточно только административных прав (выбрана роль sysadm на уровне сервера).
Файл лицензии отсутствует

Начиная с релиза 15.7, чтобы попасть в лицензирование, нужно выбрать основном меню пункт АдминистрированиеЛицензирование основного меню

Лицензирование

Необходимо скопировать поле GUID сервера и отправить его в компанию ООО «КОМПАНИЯ МЕГАТЕК» по адресу service@megatec.ru. После обработки Вам будет отправлено письмо с файлом лицензии. Его нужно будет выбрать с помощью кнопки Выбрать.

Загрузка файла лицензии

После этого нажать на кнопку Загрузить. Файл лицензии будет загружен, информация об этом будет отображена внизу страницы. Для клиента отображается информация о названии компании, сроке действия и количестве купленных лицензий. Изменения по новому файлу лицензии будут применены через 10 минут.
Файл лицензии загружен

Предупреждение


Если было изменено количество логических ядер процессора, версия SQL-сервера 
или название экземпляра SQL-сервера, то файл лицензии необходимо запросить заново.

Настройка логирования

Возможные ошибки и варианты их решения


TourSearchClient: Сервис поиска недоступен. Проверьте настройки.

Проверьте, заполнены ли настройки serviceAddress и SearchApiServiceUrl в конфигурационных файлах.
Если настройки заполнены, но все равно ошибка сохраняется, попробуйте сделать следующее:

  • Служба TourSearchOwin работает по порту 9000. Для нее требуется доступность из интернета. Необходимо сделать проброс портов на роутере до локального в сети компьютера.
  • В конфигурационном файле службы прописать название доменной машины, к примеру test.youdomainame.ru.
  • Данное имя должно быть доступно в интернете и иметь белый статический адрес, внутри сети данное имя должно иметь ip того компьютера, где установлена служба, к примеру 192.168.0.10.
  • На сервере, где будет использоваться данная служба нужно в свойствах обозревателя выключить использовать прокси-сервер.


TourSearchClient: Ошибка. Срок действия лицензии истек.

Проверьте, правильно ли указан срок действия в лицензии.
Проверьте, запускается ли Мастер-Тур. Если Мастер-Тур запускается и не выдает сообщения о сроке действия лицензии, то выполните скрипт ниже по базе денных, перезапустите службу поиска и заново запустите приложение.

use master grant view server state to public


TourSearchOwin: Медленная загрузка актуальных фильтров (на ОС Win10).

Данное поведение наблюдалось на операционной системе Win10. TourSearchOwin воспринимался программой Защитник Windows как вредоносное ПО.
Проверьте, установлены ли последние обновления на операционную систему (так как данная ошибка в последних обновлениях была исправлена).
Для устранения проблем также можно попробовать добавить процесс Megatec.TourSearchOwin.exe в исключения сканирования антивредоносной программы Защитник Windows. </syntaxhighlight>


Оптимизация работы системы

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