🔧 Исправления: - Исправлены пути к папкам проектов: теперь /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 теперь открывается по правильному пути!
306 lines
9.1 KiB
Markdown
306 lines
9.1 KiB
Markdown
# OnlyOffice + Nextcloud интеграция
|
||
|
||
**Дата:** 1 ноября 2025
|
||
**Цель:** Использовать OnlyOffice Document Server для редактирования файлов в Nextcloud
|
||
|
||
---
|
||
|
||
## ✅ Что сделано
|
||
|
||
### 1. Установлено приложение ONLYOFFICE
|
||
```bash
|
||
docker exec -u www-data nextcloud-fresh php occ app:install onlyoffice
|
||
# onlyoffice 9.11.0 installed ✅
|
||
```
|
||
|
||
### 2. Настроен Document Server
|
||
```bash
|
||
# Адрес OnlyOffice Document Server
|
||
DocumentServerUrl: https://office.clientright.ru:9443
|
||
|
||
# SSL проверка отключена
|
||
verify_peer_off: true
|
||
|
||
# JWT отключен (как в OnlyOffice)
|
||
jwt_secret: (пусто)
|
||
jwt_header: (пусто)
|
||
```
|
||
|
||
### 3. Отключен Collabora
|
||
```bash
|
||
# Чтобы не конфликтовал с OnlyOffice
|
||
docker exec -u www-data nextcloud-fresh php occ app:disable richdocuments
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 Теперь у тебя ДВА способа редактирования:
|
||
|
||
### Вариант 1: **Через CRM** (OnlyOffice напрямую)
|
||
```
|
||
CRM → open_file_v2.php → OnlyOffice (9443) → S3
|
||
```
|
||
**Преимущества:**
|
||
- ⚡ **Молниеносно** (прямой доступ к S3)
|
||
- ✅ Автосохранение каждые 5 сек
|
||
- ✅ Файлы в CRM сразу обновляются
|
||
|
||
**Когда использовать:**
|
||
- Работаешь в CRM
|
||
- Нужна скорость
|
||
- Редактируешь файлы клиентов
|
||
|
||
---
|
||
|
||
### Вариант 2: **Через Nextcloud** (OnlyOffice через Nextcloud)
|
||
```
|
||
Nextcloud → OnlyOffice (9443) → WebDAV → S3
|
||
```
|
||
**Преимущества:**
|
||
- ✅ **Версионирование** файлов
|
||
- ✅ История изменений
|
||
- ✅ Права доступа через Nextcloud
|
||
- ✅ Интеграция с Nextcloud UI
|
||
|
||
**Когда использовать:**
|
||
- Работаешь в Nextcloud
|
||
- Нужна история версий
|
||
- Совместное редактирование
|
||
- Управление файлами
|
||
|
||
---
|
||
|
||
## 🚀 Как использовать в Nextcloud
|
||
|
||
### Шаг 1: Открой Nextcloud
|
||
```
|
||
https://office.clientright.ru:8443
|
||
Логин: admin
|
||
Пароль: office
|
||
```
|
||
|
||
### Шаг 2: Перейди к файлам
|
||
```
|
||
Файлы → crm/crm2/CRM_Active_Files/Documents
|
||
```
|
||
|
||
### Шаг 3: Открой файл для редактирования
|
||
```
|
||
Клик на файл .docx/.xlsx/.pptx
|
||
→ Автоматически откроется OnlyOffice!
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Сравнение OnlyOffice vs Collabora
|
||
|
||
| Характеристика | OnlyOffice | Collabora |
|
||
|----------------|------------|-----------|
|
||
| **Скорость** | ⚡⚡⚡ Молниеносно | 🐌 Медленнее |
|
||
| **Форматы** | .docx, .xlsx, .pptx | .odt, .ods, .odp + docx |
|
||
| **Совместимость** | MS Office | LibreOffice |
|
||
| **Интерфейс** | Современный | Классический |
|
||
| **Настройка** | Проще | Сложнее |
|
||
| **Автосохранение** | ✅ Есть | ✅ Есть |
|
||
| **Версионирование** | ✅ Через Nextcloud | ✅ Через Nextcloud |
|
||
|
||
---
|
||
|
||
## 🔧 Настройки OnlyOffice в Nextcloud
|
||
|
||
### Где найти:
|
||
```
|
||
Nextcloud → Настройки → Администрирование → ONLYOFFICE
|
||
```
|
||
|
||
### Текущие настройки:
|
||
```
|
||
Document Server Address: https://office.clientright.ru:9443
|
||
Secret key (JWT): (отключен)
|
||
Verify peer off: ✅ (SSL проверка отключена)
|
||
```
|
||
|
||
### Что можно настроить:
|
||
- Форматы файлов для открытия
|
||
- Права доступа (просмотр/редактирование)
|
||
- Автосохранение (интервал)
|
||
- Водяные знаки
|
||
- Шаблоны документов
|
||
|
||
---
|
||
|
||
## 🎨 Создание новых документов в Nextcloud
|
||
|
||
### Теперь можно создавать файлы прямо в Nextcloud!
|
||
|
||
**Как:**
|
||
1. Открой Nextcloud Files
|
||
2. Нажми **"+"** (New)
|
||
3. Выбери:
|
||
- 📄 **Document** (Word) → создаст .docx
|
||
- 📊 **Spreadsheet** (Excel) → создаст .xlsx
|
||
- 📽️ **Presentation** (PowerPoint) → создаст .pptx
|
||
4. Файл откроется в OnlyOffice для редактирования!
|
||
|
||
---
|
||
|
||
## ⚙️ Команды для управления
|
||
|
||
### Просмотр настроек:
|
||
```bash
|
||
# Адрес Document Server
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice DocumentServerUrl
|
||
|
||
# Проверка SSL
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice verify_peer_off
|
||
|
||
# JWT секрет
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice jwt_secret
|
||
```
|
||
|
||
### Изменение настроек:
|
||
```bash
|
||
# Изменить адрес Document Server
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice DocumentServerUrl --value="https://NEW_ADDRESS"
|
||
|
||
# Включить/отключить SSL проверку
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice verify_peer_off --value="true"
|
||
```
|
||
|
||
### Переключение между OnlyOffice и Collabora:
|
||
```bash
|
||
# Включить OnlyOffice
|
||
docker exec -u www-data nextcloud-fresh php occ app:enable onlyoffice
|
||
docker exec -u www-data nextcloud-fresh php occ app:disable richdocuments
|
||
|
||
# Включить Collabora
|
||
docker exec -u www-data nextcloud-fresh php occ app:disable onlyoffice
|
||
docker exec -u www-data nextcloud-fresh php occ app:enable richdocuments
|
||
```
|
||
|
||
---
|
||
|
||
## 🐛 Отладка
|
||
|
||
### Если файл не открывается:
|
||
|
||
**1. Проверь доступность OnlyOffice:**
|
||
```bash
|
||
curl -s https://office.clientright.ru:9443/healthcheck
|
||
# Должен вернуть: true
|
||
```
|
||
|
||
**2. Проверь настройки в Nextcloud:**
|
||
```bash
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice DocumentServerUrl
|
||
# Должно быть: https://office.clientright.ru:9443
|
||
```
|
||
|
||
**3. Проверь логи OnlyOffice:**
|
||
```bash
|
||
docker logs --tail 50 onlyoffice-standalone
|
||
```
|
||
|
||
**4. Проверь логи Nextcloud:**
|
||
```bash
|
||
docker exec -u www-data nextcloud-fresh php occ log:tail 50
|
||
```
|
||
|
||
**5. Проверь что приложение включено:**
|
||
```bash
|
||
docker exec -u www-data nextcloud-fresh php occ app:list | grep onlyoffice
|
||
# Должно быть в Enabled
|
||
```
|
||
|
||
---
|
||
|
||
## 🔒 Безопасность
|
||
|
||
### ⚠️ Сейчас JWT отключен!
|
||
|
||
**Что это значит:**
|
||
- Любой может использовать твой OnlyOffice сервер
|
||
- Не рекомендуется для продакшна
|
||
|
||
**Для продакшна:**
|
||
|
||
**1. Включи JWT в OnlyOffice:**
|
||
```bash
|
||
# Генерируй случайный секрет
|
||
SECRET=$(openssl rand -base64 32)
|
||
|
||
# Добавь в OnlyOffice config
|
||
docker exec onlyoffice-standalone bash -c "cat > /etc/onlyoffice/documentserver/local-jwt.json << EOF
|
||
{
|
||
\"services\": {
|
||
\"CoAuthoring\": {
|
||
\"token\": {
|
||
\"enable\": {
|
||
\"request\": {
|
||
\"inbox\": true,
|
||
\"outbox\": true
|
||
}
|
||
}
|
||
},
|
||
\"secret\": {
|
||
\"inbox\": {
|
||
\"string\": \"$SECRET\"
|
||
},
|
||
\"outbox\": {
|
||
\"string\": \"$SECRET\"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
EOF
|
||
"
|
||
|
||
# Перезапусти OnlyOffice
|
||
docker restart onlyoffice-standalone
|
||
```
|
||
|
||
**2. Добавь секрет в Nextcloud:**
|
||
```bash
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice jwt_secret --value="$SECRET"
|
||
docker exec -u www-data nextcloud-fresh php occ config:app:set onlyoffice jwt_header --value="Authorization"
|
||
```
|
||
|
||
---
|
||
|
||
## 📈 Статистика
|
||
|
||
### Текущая конфигурация:
|
||
- ✅ OnlyOffice Document Server: **9.0.4**
|
||
- ✅ Nextcloud ONLYOFFICE app: **9.11.0**
|
||
- ✅ Nextcloud: **30.0.2**
|
||
- ✅ SSL: самоподписанный сертификат (проверка отключена)
|
||
- ⚠️ JWT: **отключен** (включи для продакшна!)
|
||
|
||
---
|
||
|
||
## 🎯 Итог
|
||
|
||
### Что работает сейчас:
|
||
1. ✅ **CRM → OnlyOffice** - прямой доступ (молниеносно)
|
||
2. ✅ **Nextcloud → OnlyOffice** - через интеграцию (с версионированием)
|
||
3. ✅ **Создание новых файлов** в Nextcloud
|
||
4. ✅ **Редактирование** docx, xlsx, pptx
|
||
5. ✅ **Автосохранение** в обоих случаях
|
||
|
||
### Что использовать:
|
||
- **Работа в CRM** → используй прямой OnlyOffice (быстрее)
|
||
- **Работа в Nextcloud** → используй интеграцию (больше функций)
|
||
- **Создание новых файлов** → Nextcloud (удобнее)
|
||
|
||
---
|
||
|
||
**Попробуй открыть файл в Nextcloud! Должно работать!** 🚀
|
||
|
||
**Теперь у тебя:**
|
||
- ⚡ Быстрое редактирование через CRM
|
||
- 📚 Версионирование через Nextcloud
|
||
- 🆕 Создание новых файлов
|
||
- ✅ Единый OnlyOffice для всего!
|
||
|