Files
crm.clientright.ru/crm_extensions/docs/NEXTCLOUD_EDITOR.md

5.1 KiB
Raw Blame History

✏️ Nextcloud Editor Integration

Интеграция редактора документов Nextcloud с vTiger CRM

🎯 Функциональность

Что реализовано:

  • Кнопка "Редактировать" в превью документов
  • Автоматическая подготовка файлов для редактирования
  • Встроенный редактор в модальном окне CRM
  • Синхронизация изменений обратно в систему
  • Поддержка форматов: DOC, DOCX, XLS, XLSX, PPT, PPTX, ODT, ODS, ODP, TXT

🔄 Workflow:

  1. Пользователь нажимает "Редактировать" в CRM
  2. Файл копируется в Nextcloud (если не там)
  3. Создаётся ссылка для редактирования
  4. Открывается встроенный редактор OnlyOffice/Collabora
  5. После редактирования - синхронизация в S3 и CRM

🏗️ Архитектура

vTiger CRM Documents Module
           ↓
    FileStorageManager
           ↓
┌─────────────────┬─────────────────┐
│   S3 Storage    │   Nextcloud     │
│ (Долгосрочное   │  (Активное      │
│  хранение)      │ редактирование) │
└─────────────────┴─────────────────┘

📁 Файлы интеграции

PHP Backend:

  • file_storage/NextcloudClient.php - WebDAV клиент
  • file_storage/S3Client.php - S3 клиент
  • file_storage/FileStorageManager.php - координатор
  • modules/Documents/views/NextcloudEdit.php - vTiger представление

Frontend:

  • nextcloud_editor/js/nextcloud-editor.js - JavaScript интеграция
  • layouts/v7/modules/Documents/FilePreview.tpl - модифицированный шаблон

Конфигурация:

  • .env - секретные данные
  • file_storage/config.php - настройки интеграции

🧪 Тестирование

Автоматические тесты:

# Тест S3
php crm_extensions/tests/test_s3_simple.php

# Тест Nextcloud  
php crm_extensions/tests/test_nextcloud.php

# Полный тест интеграции
открыть: /crm_extensions/tests/test_full_integration.html

Ручное тестирование:

  1. Откройте любой документ в CRM
  2. Нажмите "Просмотр"
  3. Должна появиться кнопка "Редактировать"
  4. Нажмите кнопку - откроется редактор
  5. Внесите изменения и синхронизируйте

🔧 Настройка

Требования к Nextcloud:

  • Nextcloud AIO установлен
  • OnlyOffice или Collabora Online настроен
  • Пользователь с правами WebDAV
  • Папка /CRM_Active_Files/ создана

Переменные .env:

NEXTCLOUD_URL=https://office.klientprav.tech
NEXTCLOUD_USERNAME=admin  
NEXTCLOUD_PASSWORD=ваш_app_password

Поддерживаемые форматы:

  • Документы: .doc, .docx, .odt, .rtf, .txt
  • Таблицы: .xls, .xlsx, .ods, .csv
  • Презентации: .ppt, .pptx, .odp
  • Текст: .txt, .md, .html

🚀 Использование

Для пользователей:

  1. Откройте документ в CRM
  2. Нажмите "Просмотр"
  3. Нажмите "Редактировать"
  4. Редактируйте в браузере
  5. Нажмите "Синхронизировать изменения"

Для разработчиков:

// Открытие редактора программно
openNextcloudEditor(recordId, fileName);

// Синхронизация изменений
syncFileChanges(recordId, fileName);

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

  • Аутентификация через app password
  • Временные ссылки для редактирования
  • Контроль доступа через роли CRM
  • Автоматическая очистка временных файлов

📈 Преимущества

Для пользователей:

  • Совместное редактирование документов
  • Версионирование файлов
  • Онлайн редактирование без скачивания
  • Интеграция с CRM workflow

Для бизнеса:

  • Повышение продуктивности команды
  • Централизованное управление документами
  • Соответствие требованиям безопасности
  • Масштабируемость решения

Интеграция готова к использованию!