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

9.1 KiB
Raw Permalink Blame History

OnlyOffice + Nextcloud интеграция

Дата: 1 ноября 2025
Цель: Использовать OnlyOffice Document Server для редактирования файлов в Nextcloud


Что сделано

1. Установлено приложение ONLYOFFICE

docker exec -u www-data nextcloud-fresh php occ app:install onlyoffice
# onlyoffice 9.11.0 installed ✅

2. Настроен Document Server

# Адрес OnlyOffice Document Server
DocumentServerUrl: https://office.clientright.ru:9443

# SSL проверка отключена
verify_peer_off: true

# JWT отключен (как в OnlyOffice)
jwt_secret: (пусто)
jwt_header: (пусто)

3. Отключен Collabora

# Чтобы не конфликтовал с 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 для редактирования!

⚙️ Команды для управления

Просмотр настроек:

# Адрес 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

Изменение настроек:

# Изменить адрес 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:

# Включить 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:

curl -s https://office.clientright.ru:9443/healthcheck
# Должен вернуть: true

2. Проверь настройки в Nextcloud:

docker exec -u www-data nextcloud-fresh php occ config:app:get onlyoffice DocumentServerUrl
# Должно быть: https://office.clientright.ru:9443

3. Проверь логи OnlyOffice:

docker logs --tail 50 onlyoffice-standalone

4. Проверь логи Nextcloud:

docker exec -u www-data nextcloud-fresh php occ log:tail 50

5. Проверь что приложение включено:

docker exec -u www-data nextcloud-fresh php occ app:list | grep onlyoffice
# Должно быть в Enabled

🔒 Безопасность

⚠️ Сейчас JWT отключен!

Что это значит:

  • Любой может использовать твой OnlyOffice сервер
  • Не рекомендуется для продакшна

Для продакшна:

1. Включи JWT в OnlyOffice:

# Генерируй случайный секрет
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:

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