Files
crm.clientright.ru/ONLYOFFICE_NEXTCLOUD_ИНТЕГРАЦИЯ.md
Fedor 7e3f0dcede Исправление путей к папкам проектов в Nextcloud + создание файлов из CRM
🔧 Исправления:
- Исправлены пути к папкам проектов: теперь /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 теперь открывается по правильному пути!
2025-11-01 12:22:12 +03:00

306 lines
9.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 для всего!