Публичное пространство
Set Sync ◾️ Синхронизация медиаконтента (загрузка изображений и видео на кассы)
- CR-4122Получение подробных данных проблемы… СТАТУС
- SRTE-3039Получение подробных данных проблемы… СТАТУС
- SRTE-3054Получение подробных данных проблемы… СТАТУС
- SRTE-3055Получение подробных данных проблемы… СТАТУС
- SRTE-3061Получение подробных данных проблемы… СТАТУС
10.2.92.0
Описание
В SetRetail10 есть функциональность по отображению изображений в плитках продаж или показ медиаконтента в LCD-мониторах. Начиная с версии 10.2.92.0 появилась возможность по обеспечению синхронизации медиаконтента с кассами (Клавиатурные, SetTouch).
- По сути SetSync может обеспечивать централизованную передачу файлов с сервера на кассы торговой сети.
- Поддерживается любой тип файлов и размера.
- Внимание! Размер передаваемого файла не ограничен, но учитывайте нагрузку вашей локальной сети, а также объем жесткого диска.
- Таким образом можно осуществлять как синхронизацию файлов медиаконтента (изображения, видеоролики), так и передавать любые типы файлов на кассу.
- Передача файлов от кассы к серверу не предусмотрена.
- Управление видеороликами и изображениями для касс осуществляется по стандартной логике, согласно техническому процессу. Изображения и файлы для использования на кассе можно синхронизировать для следующих функциональностей. В какие папки выкладывать изображения описано также в главе в этой статье.
- SetTouch ◾️ Дисплей покупателя. Воспроизведение изображений и видео.
- SetTouch ◾️ Настройка экрана продажи.
- SetRetail10 ▪️ Клавиатурная касса ◾️ Добавление немаркированного товара на кассе с помощью его изображений из меню.
- 🔒 Стандартный монитор LCD (дисплей покупателя). По вопросам подключения и настройки обратитесь к вашему менеджеру.
Компоненты
MinIO — это сервер хранения объектов с открытым исходным кодом. Служба может хранить неструктурированные данные, такие как фото, видео, файлы любых типов, и предоставляет один сервер хранения объектов, объединяющий в пул множество дисков, размещенных на разных серверах.
- minio-forward-proxy - компонент отвечает за отображение контента (изображений) в визуализации сервера - плитках пик-листов и карточках товаров.
- Rclone — это многопоточная компьютерная программа с открытым исходным кодом, предназначенная для управления файлами в облаке и других хранилищах с высокой задержкой.
Системные требования
Компоненты MinIO и микросервис minio-forward-proxy устанавливаются на отдельной машине Linux
В таблице указаны рекомендуемые системные требования для установки сервиса MinIO и микросервиса minio-forward-proxy.
Сервер | Процессор | RAM (GB) | Disk size (GB) | Пропускная способность канала |
---|---|---|---|---|
1 хост Linux для установки и MinIO и микросервиса | 4 ядра по 2,2 ГГц | 8 GB | SSD (объем SSD зависит от объема контента для синхронизации) | 1 Гигабит в секунду |
Список необходимых портов
Проверка доступности портов от кассы к серверу
№ порта | Тип | Назначение |
---|---|---|
9001 | TCP | Порт должен быть открыт:
|
5678 | TCP | Отображение картинок в визуализации сервера Set10. Порт должен быть открыт между сервером Set10 и сервером MinIO. ⚠️Указан номер порта для примера при установке по данной инструкции. |
Настройка
Подготовка
Настройка часового пояса
1. Выполните команду для проверки часового пояса:
timedatectl
2. Чтобы вывести список зон для Европы выполните команду:
timedatectl list-timezones | grep Europe
3. Чтобы вывести список зон для Азии выполните команду:
timedatectl list-timezones | grep Asia
4. Найдите в списке регион с нужным часовым поясом. Например, для Москвы необходимо установить Europe/Moscow.
5. Выполните команду для установки часового пояса:
timedatectl set-timezone Europe/Moscow
6. Командой timedatectl
проверьте правильность настройки часового пояса.
7. Для синхронизации времени на серверах воспользуйтесь рекомендациями из статьи.
MinIO
Пример настройки на образе CentOS SetRetail.
1. Создайте папку командой:
mkdir /home/minio
2. Перейдите в созданную папку:
cd /home/minio/
3. Выполните команду для загрузки актуального программного пакета minio:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
4. Дождитесь окончания загрузки.
5. Выполните команду для установки необходимых разрешений:
chmod +x minio
5. Выполните команду для проверки запуска сервиса minio, указав необходимый порт, через который будет происходить обмен.
nohup ./minio server --address :9001 /home/minio/data &
6. Откройте любой веб-браузер в сети и наберите IP-адрес в формате http://XXX.XXX.XXX.XXX:ПОРТ → убедитесь, что запускается страница авторизации сервиса minio.
Автозапуск
Добавьте на автозапуск сервис minio:
1. Скачайте и поместите скрипт d.sh в папку на сервере /home/minio.
2. Откройте файл d.sh для редактирования → если требуется, установите необходимый порт для работы сервиса → сохраните изменения.
3. Откройте на редактирование файл /etc/rc.d/rc.local.
4. Добавьте команду для выполнения при запуске ОС → сделайте пустую строку → сохраните файл.
sh /home/minio/d.sh
5. В командной строке выполните команды:
chmod +x /home/minio/d.sh chmod +x /etc/rc.d/rc.local systemctl enable rc-local
6. Перезагрузите сервер полностью. Проверьте работу сервиса через веб-браузер.
sudo reboot
Микросервис minio-forward-proxy
Пример настройки на образе CentOS SetRetail.
Установка Docker и docker-compose
- Обязательно производите установку в режиме суперпользователя.
- Если это пользователь не root, тогда произведите логин с правами администратора, выполнив команду
sudo su
с вводом пароля для пользователя.
1. Обязательно выполните команду для удаления старых версий Docker:
sudo yum remove docker \ docker-common \ docker-selinux \ docker-engine
2. Установите необходимые пакеты, выполнив команду:
sudo yum check-update
3. Установите Docker:
curl -fsSL https://get.docker.com/ | sh
Дождитесь окончания процесса.
4. Выполните следующие команды:
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose sudo chmod +x /usr/bin/docker-compose docker-compose --version
5. Запустите Docker:
sudo systemctl start docker
6. Проверьте, что служба Docker запускается, набрав команду:
sudo systemctl status docker
7. Установите службу Docker на автозапуск:
sudo systemctl enable docker
8. Произведите авторизацию для учетной записи, которая позволяет выполнить установку микросервиса minio-forward-proxy.
Выполните команду:
docker login artifactory.setmachine.ru:5000
- Username: setsync-customers
- Password: JQ9v&H39q70R
- Процесс ввода пароля не отображается.
- Учетная запись только для установки микросервиса minio-forward-proxy
Убедитесь, что появилось сообщение Login Succeeded
.
Установка микросервиса
1. Создайте в домашней директории папку minio_forward_proxy
mkdir /home/minio_forward_proxy
2. Скачайте архив minio_forward_proxy.zip → загрузите файлы из распакованного архива с помощью WinSCP или другим способом в папку /home/minio_forward_proxy
При копировании из ОС Windows файла .env, всегда обращайте внимание на его наименование. Название файла должно начинаться с точки.
Обратите внимание, что в WinSCP файл с наименованием точки перед расширением отображаться перестанет.
3. Для отображения скрытых файлов в WinSCP перейдите в меню Options → выберите Preferences → перейдите в раздел Panels → установите флажок Show hidden files (Ctrl + Alt + H) → кликните OK.
4. Файл .env отобразится в списке.
5. Настройте конфигурационные файлы:
5.1. Файл /home/minio_forward_proxy/consul/minio-forward-proxy.yml
application.port: 5678
- порт микросервиса, который будет слушать обращение на запрос изображения из сервера MinIO с нужными параметрами (в данном случае, это обращение от Retail или Centrum). Но это именно порт, с которым будет запущен микросервис в контейнере.minio.max.connections: 10000
- это одновременно возможные коннекты к микросервису. В данном примере к микросервису могут одновременно обращаться 10000 серверов SetRetail.
5.2. Файл /home/minio_forward_proxy/.env
CONSUL_HOST=http://172.29.16.179
- IP-адрес (который будет доступен всем участникам сети) хоста, на котором разворачивается микросервис. Указывается строго в формате http://XXX.XXX.XXX.XXX.CONSUL_PORT=9889
- любой доступный порт для микросервиса consul.HEALTH_CHECK_PORT=5489
- любой доступный порт. По этому порту можно узнать состояние микросервиса minio_forward_proxy. Например, http://172.29.16.179:5489/health, в ответ получим OK, если микросервис запущен.IMAGE_TAG=minio-forward-proxy:1.0.0
- версия образа микросервиса. Меняться будет только цифровая часть - 1.0.0
5.3. Файл /home/minio_forward_proxy/docker-compose.yaml
Настраивается проброс портов наружу, то есть чтобы с локального хоста были доступны внутренние порты в контейнере.
ports:
-
5678:5678
- порт на локальном хосте : порт внутри контейнера
Порт внутри контейнера должен совпадать с портом, указанным в параметре application.port
в файле /home/minio_forward_proxy/consul/minio-forward-proxy.yml
6. Перейдите в папку /home/minio_forward_proxy
cd /home/minio_forward_proxy
7. Выполните команду для выдачи необходимых разрешений:
chmod +x *
8. Выполните команду:
./start_minio_forward_proxy.sh
Дождитесь окончания установки.
9. Проверьте работу MinIO и микросервиса → в адресную строку браузера введите выражение:
http://{service_ip}:{service_port}/{bucket_name}?minio-url={minio_ip}%3A{minio_port}&minio-auth=Basic%20{auth_base64}%3D
- service_ip - IP-адрес хоста, где развернут микросервис.
- service_port - порт, который слушает микросервис на хосте.
- bucket_name - название корзины на сервере MinIO.
- minio_ip - IP-адрес сервера MinIO.
- minio_port - порт, на котором запущен сервер MinIO.
- auth_base64 - аутентификация на сервере MinIO в кодировке base64.
bWluaW9hZG1pbjptaW5pb2FkbWlu
minioadmin:minioadmin
Пример адреса:
http://192.168.56.143:5678/images?minio-url=192.168.56.143%3A9001&minio-auth=Basic%20bWluaW9hZG1pbjptaW5pb2FkbWlu%3D
В итоге будет выдан список всех файлов, которые есть в корзине {bucket_name}.
Автозапуск микросервиса
1. Скопируйте файл df.sh в папку /home/minio_forward_proxy
2. Откройте на редактирование файл /etc/rc.d/rc.local.
3. Добавьте команду sh /home/minio_forward_proxy/df.sh
для выполнения скрипта, а также сделайте пустую строку после неё клавишей ENTER.
4. В командной строке выполните команды:
chmod +x /home/minio_forward_proxy/df.sh chmod +x /etc/rc.d/rc.local systemctl enable rc-local
5. Перезагрузите сервер полностью. Проверьте работу сервиса через веб-браузер.
sudo reboot
Настройка папки для загрузки контента в сервисе MinIO
1. Введите логин и пароль → нажмите .
- Access Key: minioadmin
- Secret Key: minioadmin
2. Кликните .
3. Кликните Create bucket .
4. Введите название корзины (bucket), например: images → нажмите Enter.
5. Кликните .
6. Кликните Upload file .
7. Выберите медиа-файлы изображений и подтвердите их загрузку в сервис minio.
8. Файлы будут загружены на сервер.
Установка Rclone на кассе
1. С помощью SetConsole и WinSCP или другого средства распространения файлов на кассы скопируйте следующие файлы в папку /mnt/sda1/tce/optional.
В некоторых системных блоках, наименование диска может отличаться и быть: hda.
2. Откройте на редактирование файл в Midnight Commnder /mnt/sda1/tce/onboot.lst.
3. Добавьте следующие строки:
rclone.tcz bash.tcz
4. В командной строке выполните команды:
tce-load -i bash tce-load -i rclone cash save
Настройка SetRetail/SetCentrum
1. Кликните Интеграция → Внешние процессинги → кликните кнопку добавления процессинга .
2. Наберите в строке поиска Set Sync → кликните Set Sync → установите флажок для включения процессинга Set Sync → кликните .
3. В списке внешних процессингов кликните на строке с процессингом Set Sync.
5. Установите необходимые настройки → нажмите .
- После выхода из настроек они автоматически отправляются на кассы и начинается синхронизация контента.
- Перезагружать кассовые модули или службу сервера не требуется.
- Установите флажок Включить.
Начиная с версии 10.3.10.0 настройки адресации разнесены по отдельным вкладкам для удобства настройки.
- SRTE-3974Получение подробных данных проблемы… СТАТУС
- CR-7167Получение подробных данных проблемы… СТАТУС
10.3.10.0
Вкладка POS
- Начиная с версии 10.3.14.0 загрузка поддерживается только из разных корзин сервиса и только по пути, указанному в настройке "Путь синхронизации медиа-контента для товарных плиток POS-кассы" на вкладках POS, TOUCH, CSI-K!
- До версии 10.3.14.0 загрузка поддерживается только из одной созданной корзины сервиса и только по пути, указанному в настройке "Путь синхронизации медиа-контента для товарных плиток POS-кассы" на вкладке POS!
- Пути загрузки указываются только в указанном формате.
- Никакие другие форматы путей для загрузки контента на кассы не применяются.
- Указанные адреса также могут быть использованы для касс с установленной ОС Ubuntu.
Название настройки | Описание | Пример значения |
---|---|---|
Путь синхронизации медиа-контента для товарных плиток POS-кассы | Путь загрузки изображений для отображения в плитках товарных групп, а также для загрузки изображений в карточку товара | /home/tc/storage/crystal-cash/images |
Путь синхронизации медиа-контента для второго монитора покупателя | Путь загрузки изображений и видео для отображения на втором LCD-мониторе покупателя. | /home/tc/storage/crystal-cash/modules/advertising/templates/content/default |
Наименование корзины | Наименование корзины (bucket), которая создана в сервисе. | images |
Вкладка TOUCH
Название настройки | Описание | Пример значения |
---|---|---|
Путь синхронизации медиа-контента для товарных плиток Touch-кассы | Путь для загрузки изображений для отображения в плитках товарных групп SetTouch, а также в шаблоне пик-листа с типом устройства TOUCH | /home/tc/storage/crystal-cash/web/img/tile |
Путь синхронизации медиа-контента для экрана покупателя Touch-кассы | Путь для загрузки изображений для отображения на втором экране SetTouch | /home/tc/storage/crystal-cash/web/assets/clients/CSI/customerDisplay/slides |
Путь синхронизации с видео для экрана покупателя Touch-кассы | Путь для загрузки видео для отображения на втором экране SetTouch | /home/tc/storage/crystal-cash/web/assets/clients/CSI/customerDisplay/video |
Наименование корзины | Наименование корзины (bucket), которая создана в сервисе. | Buyer_images |
Вкладка CSI-K
- SCOC-1448Получение подробных данных проблемы… СТАТУС
- CR-10523Получение подробных данных проблемы… СТАТУС
10.4.1.0
Начиная с версии 10.4.1.0 в сервис SetSync добавлены дополнительные пути синхронизации для загрузки медиаконтента на кассы самообслуживания CSI-K.
Название настройки | Описание | Пример значения |
---|---|---|
Путь синхронизации медиа-контента для товарных плиток CSI-K | Путь для загрузки изображений для отображения в плитках товарных групп CSI-K, а также в шаблоне пик-листа с типом устройства CSI-K | /home/tc/storage/crystal-cash/media/images/picklist |
Путь синхронизации медиа-контента для пакетов, картинок типов оплат и брендирования CSI-K | Путь для загрузки изображений для отображения на плитках пакетов, на иконках типов оплат на экране выбора типов оплат и для кастомизации отдельных элементов интерфейса касс CSI-K | /home/tc/storage/crystal-cash/media/images/default |
Путь синхронизации медиа-контента для рекламного контента на экране простоя CSI-K | Путь для загрузки медиаконтента (изображений, видео) для отображения в качестве рекламного контента на экране кассы CSI-K в режиме простоя | /home/tc/storage/crystal-cash/modules/advertising/templates/content/sco-kiosk |
Путь синхронизации медиа-контента для файлов локализации CSI-K | Путь для загрузки файлов локализации интерфейса для касс CSI-K | /home/tc/storage/crystal-cash/config/localizations |
Наименование корзины | Наименование корзины (bucket), которая создана в сервисе. | images |
Вкладка НАСТРОЙКИ
Название настройки | Описание | Пример значения |
---|---|---|
Адрес Minio | Адрес сервиса minio в формате http://XXX.XXX.XXX.XXX:ПОРТ | http://172.29.16.179:9001 |
Access Key Ключ Секретный доступа к Minio | Логин доступа к сервису minio | minioadmin |
Secret Key Секретный ключ доступа к Minio | Пароль доступа к сервису minio | minioadmin |
Интервал синхронизации в минутах | Периодичность загрузки медиаконтента на кассы | 1 |
Настройка контента по магазинам
- SRTS-2560Получение подробных данных проблемы… СТАТУС
- CR-10522Получение подробных данных проблемы… СТАТУС
10.4.4.0
Для запуска функциональности обязательно должно быть заполнено поле Наименование корзины на вкладке POS, даже, если корзина для POS не используется!
Кейс может возникнуть у сетей, которые настраивают пик-листы только для SetTouch/SCO-касс, а POS не трогают.
Начиная с версии 10.4.4.0 можно использовать SetSync для синхронизации рекламного контента, если контент специфичен по географии при топологии SetCentrum ↔ Кассы;
В настройках выделите те, магазины на которые будут прогружены пути к локальным сервисам SetSync.
Пример работы
Загруженный контент для отображения на втором LCD-мониторе покупателя:
Загруженный контент для отображения в плитках товарных групп:
Отображение контента в пик-листах и карточке товара
- SRTE-3893Получение подробных данных проблемы… СТАТУС
- CR-6997Получение подробных данных проблемы… СТАТУС
10.3.8.0
Начиная с версии 10.3.8.0. добавлена возможность отображения загруженных изображений товаров в шаблонах пик-листов на сервере SetRetail и SetCentrum, а также в карточке товара.
При наличии файла изображения в удаленном хранилище изображение загружается сразу после подтверждения добавления товара в плитку. Сохранение шаблона не требуется.
Настройка
Функциональность работает только при установленном микросервисе minio-forward-proxy/v1.0.0.
Инструкция по установке микросервиса находится в начале этой статьи в главе Микросервис minio-forward-proxy
1. Выполните скрипт по базе данных set сервера, установив в параметре property_value
IP-адрес микросервиса в формате ХХХ.ХХХ.ХХХ.ХХХ:ПОРТ:
UPDATE sales_management_properties SET property_value = '192.168.56.143:5678', transport_level = 20, priority = 2, send_status = 0 WHERE property_key = 'minio.forward.proxy.url' AND module_name = 'SET_ESB';
2. Перезапустите службу сервера:
service JBOSS_SVC restart
Технические требования
- Название файла должно соответствовать артикулу товара.
- Доступные форматы изображений (регистр учитывается):
- Максимальный размер загружаемого файла: 5 МБ.
Приоритетность показа изображений
При загрузке в MinIO изображений с одинаковым наименованием (артикулом), но с разным расширением, они будут показываться в следующем порядке:
png (если отсутствует, используется jpg).
jpg (если отсутствует, используется jpeg).
jpeg (последний приоритет).
Пример работы
В удаленном хранилище MinIO загружены файлы изображений для товаров:
Показ изображений в шаблоне пик-листа
Показ изображений в карточке товара
© 1994-2023, ООО «Кристалл Сервис Интеграция».
Все права защищены..