feat: OnlyOffice Standalone integration with S3 direct URLs

 ЧТО СДЕЛАНО:
- Поднят новый standalone OnlyOffice Document Server (порт 8083)
- Настроен Nginx для доступа через office.clientright.ru:9443
- Создан open_file_v3_standalone.php для работы с новым OnlyOffice
- Реализована поддержка прямых S3 URL (bucket публичный)
- Добавлен s3_proxy.php с поддержкой Range requests
- Создан onlyoffice_callback.php для сохранения (базовая версия)
- Файлы успешно открываются и загружаются!

⚠️ TODO (на завтра):
- Доработать onlyoffice_callback.php для сохранения обратно в ОРИГИНАЛЬНЫЙ путь в S3
- Добавить Redis маппинг documentKey → S3 path
- Обновить CRM JS для использования open_file_v3_standalone.php
- Протестировать сохранение файлов
- Удалить тестовые файлы

📊 РЕЗУЛЬТАТ:
- OnlyOffice Standalone РАБОТАЕТ! 
- Файлы открываются напрямую из S3 
- Редактор загружается БЫСТРО 
- Автосохранение настроено  (но нужна доработка callback)
This commit is contained in:
Fedor
2025-11-01 01:02:03 +03:00
parent d7941ac862
commit 269c7ea216
4383 changed files with 282112 additions and 7731 deletions

View File

@@ -0,0 +1,98 @@
# ✅ ПРОЕКТ 396447 - ИСПРАВЛЕНИЕ ЗАВЕРШЕНО
**Дата:** 31 октября 2025
**Проект:** Крылова ГБУ ЖИЛИЩНИК РАЙОНА ЧЕРТАНОВО ЦЕНТРАЛЬНОЕ
**ID:** 396447
**Статус:** Ожидание ответа на претензию
---
## 🔍 ПРОБЛЕМА
### Что было:
В проекте были файлы в **трёх разных местах**:
1. ❌ Старая структура: `Documents/396XXX/filename.pdf`
2.С кавычками (HTML entity): `Documents/Project/Крылова_ГБУ_"ЖИЛИЩНИК..."_396447/`
3. ✅ Без кавычек: `Documents/Project/Крылова_ГБУ_ЖИЛИЩНИК_РАЙОНАЕРТАНОВОЕНТРАЛЬНОЕ_396447/`
### Симптомы:
- Файлы в Nextcloud папке есть
- Из CRM файлы не открываются (неправильные пути в БД)
- В `filename` были URL-encoded пути с `%26quot%3B`
---
## ✅ РЕШЕНИЕ
### Что сделано:
1.**Все 13 файлов** мигрированы в единую правильную папку
2.**Пути в БД** исправлены (s3_key, nc_path, filename)
3.**Старые дубликаты** удалены из S3
4.**Стандартизированы имена** файлов: `doc_396XXX.ext`
---
## 📁 ФИНАЛЬНАЯ СТРУКТУРА
### В S3/Nextcloud:
```
Documents/Project/Крылова_ГБУ_ЖИЛИЩНИК_РАЙОНАЕРТАНОВОЕНТРАЛЬНОЕ_396447/
├── doc_396450.pdf (81 KB) - Договор
├── doc_396452.pdf (59 KB) - Подтверждение оплаты
├── doc_396454.pdf (59 KB) - Прочие документы
├── doc_396462.pdf (9.1 MB) - Заявление потребителей 2 стр
├── doc_396463.pdf (99 KB) - Выписка из ЕГРН
├── doc_396464.pdf (155 KB) - Выписка из ЕГРЮЛ
├── doc_396465.pdf (450 KB) - Копия акта обследования
├── doc_396466.pdf (178 KB) - Подтверждение оплаты оценки
├── doc_396467.pdf (9.4 MB) - Отчет оценки
├── doc_396468.pdf (122 KB) - Уведомление об осмотре
├── doc_396475.pdf (234 KB) - Доказательство претензионного порядка
├── doc_396477.pdf (284 KB) - Претензия Жилищник
└── doc_396478.docx (101 KB) - Претензия Жилищник (Word)
```
**ИТОГО:** 13 файлов, ~20 MB
---
## 📊 РЕЗУЛЬТАТ
| Статус | Количество | Описание |
|--------|-----------|----------|
| ✅ В новой структуре | 13 | Все рабочие файлы |
| ❌ Битый (NULL) | 1 | Документ 396456 (без файла) |
| **ВСЕГО** | **14** | |
---
## 🔗 ССЫЛКИ
**Папка в Nextcloud:**
```
https://office.clientright.ru:8443/apps/files/files?dir=/crm/crm2/CRM_Active_Files/Documents/Project/Крылова_ГБУ_ЖИЛИЩНИК_РАЙОНАЕРТАНОВОЕНТРАЛЬНОЕ_396447
```
**Путь в S3:**
```
s3://f9825c87-4e3558f6-f9b6-405c-ad3d-d1535c49b61c/crm2/CRM_Active_Files/Documents/Project/Крылова_ГБУ_ЖИЛИЩНИК_РАЙОНАЕРТАНОВОЕНТРАЛЬНОЕ_396447/
```
---
## ✅ СТАТУС
**Все файлы теперь доступны из CRM!** 🎉
- ✅ Правильные пути в БД
- ✅ Файлы в S3 на месте
- ✅ Nextcloud показывает папку
- ✅ Кнопка "Папка в Nextcloud" работает
- ✅ Редактирование через Collabora работает
---
**Исправлено:** 31 октября 2025, 09:56
**Время выполнения:** ~2 минуты
**Результат:** 100% успех