Как включить загрузку вложений в офлайн-режиме
В инструкции описана настройка загрузки вложений для отображения в офлайн-режиме в клиентского приложения VK WorkSpace — Супераппа (ранее — VK Teams). Документ предназначен для использования администраторами организации.
Документ предназначен для использования администраторами организации.
В конфигурационном файле myteam-config.json в секции offline-attachments с версии 26.3 доступно управление локальными кэшированием вложений Почты и Календаря. После завершения загрузки сохраненный файл можно повторно открыть без сетевого запроса, в том числе без подключения к сети.
Секция offline-attachments задается отдельно для Почты и Календаря (mail-android, calendar-android и т.д). Оба продукта используют одинаковый набор параметров, но независимые кэши и квоты.
Пример конфигурационного файла для Android:
{"services": {"config": {"<домен Почты VK WorkSpace>": {"mail-android": {"offline-attachments": {"attachments-offline-enabled": true,"target-quota-bytes": 524288000,"max-file-size-bytes": 104857600,"cloud-ttl-ms": 3600000,"immutable-ext-list": [],"lower-urgency-preemption-threshold": 9999,"shrink-target-usage-percent": 0.8,"max-parallel-attachment-downloads": 2,"shrink-period-minutes": 1440,"shrink-start-hour": 4,"notification-enabled": true,"cloud-weblink-api-url": "https://openapi.cloud.<домен Почты VK WorkSpace>.ru/api/v1/weblink/download"}},"calendar-android": {"offline-attachments": {"attachments-offline-enabled": true,"target-quota-bytes": 524288000,"max-file-size-bytes": 104857600,"cloud-ttl-ms": 3600000,"immutable-ext-list": [],"lower-urgency-preemption-threshold": 9999,"shrink-target-usage-percent": 0.8,"max-parallel-attachment-downloads": 2,"shrink-period-minutes": 1440,"shrink-start-hour": 4,"notification-enabled": true,"cloud-weblink-api-url": "https://openapi.cloud.<домен Почты VK WorkSpace>.ru/api/v1/weblink/download"}}}}}}
Ключевые особенности работы:
- Вложение становится доступно без сети только после успешного завершения загрузки. Принятие запроса в очередь еще не означает, что файл уже сохранен
- Квота задает целевой объем кэша, поэтому фактический объем может временно быть выше
- Лимит размера относится к офлайн-кэшу, а не ко всем пользовательским скачиваниям
- Отключение функции прекращает новое офлайн-кэширование, но само по себе не удаляет уже сохраненные файлы
- Основная семантика офлайн-вложений одинакова для Android, iOS и Desktop, но расположение блока и набор доступных параметров различаются согласно таблице выше
В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json установите необходимые значения параметров. Описание параметров в секции offline-attachments приведено в таблице ниже:
Параметр | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
attachments-offline-enabled | Boolean |
| Главный флаг offline-вложений для выбранного продукта. |
target-quota-bytes | Long |
| Целевой суммарный размер offline-кэша выбранного продукта. Если кэш превышает квоту, механизм очистки удаляет менее актуальные вложения, пока объем не вернется к целевому значению. Квоты Почты и Календаря независимы. Если для обоих продуктов указано 500 МБ, это два отдельных кэша по 500 МБ. Квота является целевым, а не абсолютно жестким лимитом: до очередного запуска очистки фактический объем может временно быть выше. |
max-file-size-bytes | Long |
| Максимальный размер одного файла, который можно поместить в управляемый offline-кэш. Файл большего размера не сохраняется в кэше. При пользовательском открытии или экспорте платформа может скачать такой файл напрямую во временное либо выбранное пользователем хранилище. Параметр ограничивает размер кэшируемого файла, а не общий размер вложения, которое пользователь может скачать. |
cloud-ttl-ms | Long |
| Определяет, сколько времени закэшированная версия изменяемого Cloud-вложения считается актуальной. После истечения TTL при следующем запросе на сохранение или обновление клиент проверяет актуальность файла и при необходимости загружает новую версию. Само истечение TTL не удаляет файл и не запускает загрузку по таймеру.Параметр применяется к изменяемым вложениям типа |
immutable-ext-list | массив строк |
| Список расширений Cloud-файлов, которые считаются неизменяемыми и не требуют обновления по |
lower-urgency-preemption-threshold |
|
| Порог приоритета, начиная с которого запрос считается высокоприоритетным. Такая загрузка может приостановить менее приоритетную и не должна вытесняться фоновыми запросами. Стандартные приоритеты: |
shrink-target-usage-percent |
|
| Целевая доля заполнения кэша после очистки. Значение |
max-parallel-attachment-downloads |
|
| Максимальное количество вложений, которые клиент может загружать параллельно для выбранного продукта. Например, значение |
shrink-period-minutes |
|
| Фактическое время запуска может быть сдвинуто операционной системой из-за ограничений фоновой работы, энергосбережения или состояния устройства. |
shrink-start-hour |
|
| Час первого планового запуска очистки по локальному времени устройства. Допустимые значения: от |
notification-enabled |
|
| Управляет системными уведомлениями о работе очереди offline-вложений: |
cloud-weblink-api-url |
|
| Эндпойнт используется для получения прямой ссылки на скачивание вложения типа |