Commit Graph

8 Commits

Author SHA1 Message Date
Fedor
9245768987 🚀 CRM Files Migration & Real-time Features
 Features:
- Migrated ALL files to new S3 structure (Projects, Contacts, Accounts, HelpDesk, Invoice, etc.)
- Added Nextcloud folder buttons to ALL modules
- Fixed Nextcloud editor integration
- WebSocket server for real-time updates
- Redis Pub/Sub integration
- File path manager for organized storage
- Redis caching for performance (Functions.php)

📁 New Structure:
Documents/Project/ProjectName_ID/file_docID.ext
Documents/Contacts/FirstName_LastName_ID/file_docID.ext
Documents/Accounts/AccountName_ID/file_docID.ext

🔧 Technical:
- FilePathManager for standardized paths
- S3StorageService integration
- WebSocket server (Node.js + Docker)
- Redis cache for getBasicModuleInfo()
- Predis library for Redis connectivity

📝 Scripts:
- Migration scripts for all modules
- Test pages for WebSocket/SSE/Polling
- Documentation (MIGRATION_*.md, REDIS_*.md)

🎯 Result: 15,000+ files migrated successfully!
2025-10-24 19:59:28 +03:00
Fedor
3fb2ad5f60 feat: Project file migration and Nextcloud integration
- Added project file migration script with sanitization (underscores)
- Fixed Nextcloud editor integration (urldecode, basename fix)
- Added 'Open Project Folder in Nextcloud' button
- 223 projects migrated (completed + archived)
- URL decoding fix for Cyrillic filenames
2025-10-22 18:29:02 +03:00
Fedor
1f96ab6e10 feat: Полная интеграция CRM → Nextcloud редактор
 Что реализовано:
- SSL/HTTPS для Nextcloud (Let's Encrypt R13)
- Redis кэширование для производительности
- Collabora Online редактор документов
- WOPI allow list настроен (0.0.0.0/0)
- Динамическое получение fileId через WebDAV
- Поддержка файлов из S3 и локальных файлов
- Автоматическое извлечение имени файла из URL
- Промежуточная страница для обхода CSRF

🚀 Как работает:
1. JavaScript передает recordId и fileName
2. PHP получает fileId через WebDAV PROPFIND
3. PHP делает редирект на рабочий URL Nextcloud
4. Файл открывается в редакторе Collabora

📁 Файлы:
- layouts/v7/lib/nextcloud-editor.js - JavaScript интеграция
- crm_extensions/file_storage/api/open_file.php - PHP редирект
- modules/Documents/actions/NcPrepareEdit.php - API подготовка
- crm_extensions/docs/ - документация

🎯 Результат: Каждый документ в CRM открывает СВОЙ файл в Nextcloud редакторе!
2025-10-21 22:10:47 +03:00
Fedor
f9484d6bc6 fix: Добавлены альтернативные варианты открытия файлов в Nextcloud
Проблема: Редакторы документов (OnlyOffice, Collabora) не установлены в Nextcloud
Решение: Добавлены дополнительные варианты открытия файлов

Изменения:
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js:
  * Убран параметр editing=false для Files App
  * Добавлены варианты: download_direct, view_only
  * Улучшена логика fallback при ошибках

Добавлены тестовые страницы:
- test_nc_open.html - тест разных редакторов
- simple_test.html - простое модальное окно с вариантами

Варианты открытия:
1. Files App (показать файл в менеджере)
2. Прямое скачивание через WebDAV
3. Просмотр (если поддерживается браузером)

Теперь кнопка Nextcloud будет работать даже без установленных редакторов
2025-10-20 19:35:14 +03:00
Fedor
76abcbc70b fix: ПРАВИЛЬНАЯ миграция путей Nextcloud /crm2/ → /crm/crm2/
ИСПРАВЛЕНИЕ: На новом Nextcloud S3 примонтирован как /crm, но внутри папка crm2
Правильный путь: /crm/crm2/CRM_Active_Files/

Выполнено в БД (rollback_and_fix.sql):
- Откат предыдущей неправильной миграции из backup
- s3_key: crm2/ → crm/crm2/ (17386 записей)
- nc_path: /crm2/crm2/ → /crm/crm2/ (72 записи)
- nc_path: /crm2/ → /crm/crm2/ (все остальные)

Обновлены файлы кода:
- crm_extensions/file_storage/config.php: active_folder = /crm/crm2/CRM_Active_Files/
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js (5 путей)
- crm_extensions/file_storage/api/get_edit_urls.php (6 путей)
- modules/Documents/actions/NcPrepareEdit.php (2 пути)
- crm_extensions/file_storage/api/prepare_edit.php (1 путь)
- crm_extensions/file_storage/NextcloudClient.php (1 путь)

Документ 395695:
- s3_key: crm/crm2/CRM_Active_Files/Documents/395695/zayavlenie_proekt.docx ✓
- nc_path: /crm/crm2/CRM_Active_Files/Documents/395695/zayavlenie_proekt.docx ✓
2025-10-20 18:54:33 +03:00
Fedor
f582cf9c0f fix: Обновлены пути Nextcloud с /crm2/ на /crm/ для нового сервера
Обновленные файлы:
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js (5 путей)
- crm_extensions/file_storage/api/get_edit_urls.php (6 путей)
- modules/Documents/actions/NcPrepareEdit.php (2 пути)
- crm_extensions/file_storage/api/prepare_edit.php (1 путь)
- crm_extensions/file_storage/NextcloudClient.php (1 путь)
- data/CRMEntity.php (nc_path для новых файлов)

Все пути теперь используют /crm/ вместо /crm2/ для соответствия новому External Storage на office.clientright.ru
2025-10-20 17:23:20 +03:00
Fedor
75d3f7942b feat: Обновлены все URL Nextcloud с office.klientprav.tech на office.clientright.ru
Обновленные файлы:
- crm_extensions/nextcloud_api.php (2 места)
- modules/Documents/actions/NcPrepareEdit.php
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js
- crm_extensions/file_storage/api/get_edit_urls.php
- crm_extensions/file_storage/api/simple_edit.php
- crm_extensions/README.md
- NEXTCLOUD_EDIT_BUTTON_IMPLEMENTATION.md
- crm_extensions/docs/NEXTCLOUD_EDITOR.md
- test_syntax_check.html
- crm_extensions/tests/test_edit_button.html

Все ссылки теперь указывают на новый сервер office.clientright.ru
Backup файлы и тестовые директории не изменены
2025-10-20 17:17:34 +03:00
Fedor
cf520a7db5 Initial commit: CRM project with S3 integration and advanced APIs 2025-09-26 10:43:05 +03:00