Обновление плагина
Есть два способа: автообновление из канала SLP (основной) и ручная замена файлов (запасной, для случая когда касса отрезана от интернета).
Что при обновлении не теряется#
- Файл настроек
slp-plugin.jsonлежит в папке конфигураций фронта, а не в папке плагина — обновление его не трогает. - Очередь неотправленных чеков лежит в папке данных плагина — обновление её не трогает. Начисления, накопленные во время офлайна, доедут и после обновления.
Способ 1: обновление вручную#
Нужен, только если касса не имеет доступа к каналу обновлений — например, её выпустили в интернет по узкому списку адресов. В этом случае запросите комплект у поддержки: отдельной публичной ссылки на файлы плагина нет, а пакет из кабинета для этого не подходит — он выпускает новый ключ доступа и разлогинит работающую кассу.
Получив комплект:
- Закройте iikoFront на кассе. Пока касса работает, файлы плагина заняты и заменить их нельзя.
- Переименуйте текущую папку
Plugins\SlpPlugin.V9\вSlpPlugin.V9.bak(страховка для отката). - Распакуйте новый комплект в
Plugins\— папкаSlpPlugin.V9\создастся из архива сама. - Запустите iikoFront и проверьте версию в логе (
SLP: плагин <версия> запущен) — она же видна в кабинете в карточке терминала.
Файл настроек при этом не трогается: он лежит в папке конфигураций фронта, а не в папке плагина, поэтому ключ кассы сохраняется.
Откат: закрыть фронт, удалить новую папку, вернуть SlpPlugin.V9.bak под прежним именем, запустить фронт.
Способ 2: автообновление (рекомендуется)#
Обновление приезжает на кассу само — выезжать на точку не нужно.
Работает это штатным механизмом обновления самой iiko, а не нашей отдельной программой. У iikoFront есть служба обновления плагинов, которая берёт новые версии из указанных ей источников. Источник для нашего плагина — канал обновлений SLP:
https://gate.simple-loyalty-pass.ru/plugin-feed/index.json
Важное свойство этого способа: кассу останавливать не нужно. При обновлении перезапускается только процесс плагина, iikoFront продолжает работать. Смена, открытые заказы и продажи не затрагиваются.
Что при этом происходит:
- Служба обновления видит в канале версию новее установленной.
- Пакет скачивается и распаковывается в папку плагина.
- Процесс плагина перезапускается на новой версии.
- В логе плагина появляется строка
SLP: плагин <версия> запущен— по ней и проверяют, что обновление применилось. Версия видна и в кабинете, в карточке терминала.
Канал отдаёт версии всем кассам одинаково: отдельной настройки «boevой / тестовый» на стороне заведения сейчас нет — новая версия выкладывается в канал уже после проверки на нашей тестовой кассе.
Что нужно, чтобы автообновление работало#
Два условия, оба выставляются один раз при установке (шаги 2 и 3 инструкции по установке):
- Канал прописан в службе обновления. Файл
%AppData%\iiko\CashServer\PluginConfigs\Resto.Front.Api.Updater.V9\updater.config, блокCustomPluginSources, адресhttps://gate.simple-loyalty-pass.ru/plugin-feed/index.json. Служба опрашивает источники по расписанию (по умолчанию раз в 6 часов) и по кнопке проверки обновлений.
С версии 0.1.13 плагин прописывает канал себе сам при запуске — руками это нужно делать, только если на кассе стоит версия старше. Проверить можно по логу плагина: SLP: канал обновлений прописан в … или SLP: канал обновлений уже прописан.
- Папка плагина названа ровно
SlpPlugin.V9. Служба ищет обновление по имени папки — при другом имени она просто не найдёт наш пакет и молча покажет «обновлений нет».
Проверить, что касса видит канал, можно в логе службы обновления %AppData%\iiko\CashServer\Logs\plugin-Resto.Front.Api.Updater.V9.log — там перечислены источники и установленные плагины со своими версиями (SlpPlugin.V9.<версия>).
Поля
updateManifestUrl,updateChannelиupdatePublicKeyBase64вslp-plugin.jsonотносятся к более раннему, собственному механизму обновления и сейчас не используются. Оставьте их пустыми.