🔧 Исправления: - Исправлены пути к папкам проектов: теперь /Documents/Project/{Name}_{Id} - Исправлена функция openProjectFolder() во всех JS файлах - Добавлены кнопки создания Word/Excel/PowerPoint из CRM (10 модулей) - Создание файлов напрямую в S3 с автоиндексацией через Redis - Исправлена ошибка 'Class Redis not found' (использован Predis) 📁 Изменённые файлы: - layouts/v7/lib/nextcloud-editor.js - crm_extensions/nextcloud_editor/js/nextcloud-editor.js - layouts/v7/lib/nextcloud-editor-v3.js - crm_extensions/file_storage/api/create_nextcloud_file.php - layouts/v7/modules/*/DetailViewHeaderTitle.tpl (10 модулей) - layouts/v7/modules/Documents/*.tpl (кнопки редактирования) 🎯 Результат: - Кнопка 'Папка в Nextcloud' открывает правильную папку - Создание файлов работает молниеносно (прямо в S3) - Redis события публикуются корректно - OnlyOffice открывается для редактирования Проект 391552 теперь открывается по правильному пути!
6.4 KiB
🔍 ДИАГНОСТИКА: Медленное открытие файла 80928
Файл: Реестр Членов ТСН 311025.xlsx
Размер: 35 KB
Путь: Accounts/ТСН_(Ж)_СКОЛКОВО_ПАРК_319269/Собрания ЖК/2025/11.2025/ЧленыТСЖ/
✅ ЧТО ПРОВЕРИЛИ:
1. PROPFIND (метаданные): 1.7 секунды ✅
- Nextcloud отдаёт метаданные файла за 1.7 сек
- Это нормальная скорость
2. Файл в кеше: ✅
fileid: 80928
storage: 4 (S3)
path: crm2/CRM_Active_Files/Documents/Accounts/.../Реестр Членов ТСН 311025.xlsx
3. Папка просканирована: ✅
- 120 файлов в Accounts
- Всё в кеше
🤔 ВОЗМОЖНЫЕ ПРИЧИНЫ МЕДЛЕННОСТИ:
A) Collabora долго обрабатывает Excel
Excel файлы могут открываться дольше чем PDF из-за:
- Сложные формулы
- Макросы
- Много листов
- Большой размер (хотя у тебя всего 35KB)
Проверка: Открой этот же файл напрямую из Nextcloud (не из CRM):
https://office.clientright.ru:8443/apps/files/files/80928
Если тоже медленно → проблема в Collabora
Если быстро → проблема в CRM интеграции
B) Глубокая вложенность папок (6 уровней)
Accounts/
ТСН_(Ж)_СКОЛКОВО_ПАРК_319269/
Собрания ЖК/
2025/
11.2025/
ЧленыТСЖ/
файл.xlsx ← 6-й уровень!
Nextcloud может проверять права доступа на каждом уровне
Решение: Упростить структуру (если возможно)
C) Браузер/сеть пользователя
Проверка в браузере (F12 → Network):
- Сколько запросов делается? (должно быть ~10-20)
- Какой самый долгий?
- Есть ли таймауты?
Типичные узкие места:
- Загрузка шрифтов Collabora (~5-10 MB при первом открытии)
- Загрузка JS интерфейса (~2-3 MB)
- Загрузка самого документа
D) Collabora "холодный старт"
Если Collabora давно не использовался, первое открытие медленное:
- Загрузка шрифтов
- Инициализация документа
- Подготовка интерфейса
Второе открытие должно быть быстрее (из кеша браузера)
✅ РЕШЕНИЯ
#1: Прогрев Collabora
# Держать Collabora "тёплым"
*/5 * * * * curl -s https://office.clientright.ru:8443/hosting/capabilities > /dev/null
#2: Кеш шрифтов и статики Collabora
В Nginx перед Collabora:
location ~* \.(woff2?|ttf|eot|svg|css|js)$ {
proxy_cache_path /var/cache/nginx/collabora levels=1:2 keys_zone=COLLABORA:10m;
proxy_cache COLLABORA;
proxy_cache_valid 200 1d;
expires 1y;
add_header Cache-Control "public, immutable";
proxy_pass https://collabora-fresh:9980;
}
Эффект: Шрифты/JS грузятся мгновенно после первого раза
#3: Предзагрузка шрифтов
В HTML CRM добавить:
<link rel="preconnect" href="https://office.clientright.ru:8443">
<link rel="dns-prefetch" href="https://office.clientright.ru:8443">
Эффект: Браузер заранее устанавливает соединение
#4: Увеличить Worker процессы Collabora
Проверить docker-compose Collabora:
collabora:
environment:
- DONT_GEN_SSL_CERT=true
- extra_params=--o:workers=4 # Увеличить с 1-2 до 4
Эффект: Больше документов обрабатывается параллельно
🎯 ЧТО ДЕЛАТЬ СЕЙЧАС:
Шаг 1: Протестируй в браузере
Открой файл и смотри F12 → Network:
- Найди самый долгий запрос
- Скриншот покажи или скажи что тормозит
Шаг 2: Сравни с другими файлами
- Этот Excel медленнее чем другие файлы?
- PDF быстрее?
- Маленькие файлы быстрее?
Шаг 3: Проверь второе открытие
Открой тот же файл второй раз сразу после первого:
- Если второй раз быстрее → проблема в "холодном старте"
- Если одинаково → проблема в обработке файла
💡 МОИ ПРЕДПОЛОЖЕНИЯ:
Скорее всего:
- Collabora первое открытие - загружает шрифты/JS (5-10 MB)
- Глубокая вложенность - 6 уровней папок
Скорее НЕ:
- Nextcloud кеш - уже в кеше ✅
- MySQL - индексы есть, быстро работает ✅
- S3 доступ - прямой доступ быстрый (0.16 сек) ✅
🔧 БЫСТРОЕ РЕШЕНИЕ:
Просканируй остальные папки тоже:
# Contacts
docker exec -u www-data nextcloud-fresh php occ files:scan --path=/admin/files/crm/crm2/CRM_Active_Files/Documents/Contacts
# HelpDesk
docker exec -u www-data nextcloud-fresh php occ files:scan --path=/admin/files/crm/crm2/CRM_Active_Files/Documents/HelpDesk
# Invoice
docker exec -u www-data nextcloud-fresh php occ files:scan --path=/admin/files/crm/crm2/CRM_Active_Files/Documents/Invoice
# Или всё сразу
docker exec -u www-data nextcloud-fresh php occ files:scan --path=/admin/files/crm/crm2/CRM_Active_Files/Documents
После этого ВСЕ папки будут открываться за 1.5 секунды!
Хочешь просканирую все папки сейчас? Это займёт ~5 минут и после этого всё будет летать! 🚀