Обновленные файлы: - 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 файлы и тестовые директории не изменены
5.1 KiB
5.1 KiB
Как протестировать улучшенный парсер
✅ Шаг 1: Проверка что ничего не сломалось
Протестируй на РЕГИОНАЛЬНОМ суде (существующая функциональность):
- Возьми проект с ссылкой вида:
https://example--region.sudrf.ru/... - Запусти парсинг через дизайнер процессов как обычно
- Проверь что:
- ✅ Скрипт отработал без ошибок
- ✅ Данные сохранились в БД
- ✅ Вернулся корректный JSON ответ
- Проверь лог
logs/parser.log:[timestamp] Режим парсера: НОВЫЙ (универсальный) [timestamp] Выбран парсер: RegionalCourtParser
Если что-то пошло не так:
- Посмотри полный лог в
logs/parser.log - Должен быть fallback: "Переключаемся на старый парсер (fallback)..."
- Если fallback сработал - всё равно должно работать!
🆕 Шаг 2: Проверка московских судов
Протестируй на МОСКОВСКОМ суде (новая функциональность):
- Возьми проект со ссылкой вида:
https://mos-gorsud.ru/... - Запусти парсинг через дизайнер процессов
- Проверь лог
logs/parser.log:[timestamp] Режим парсера: НОВЫЙ (универсальный) [timestamp] Выбран парсер: MoscowCourtParser [timestamp] Старт парсинга ... (МОСКОВСКИЙ СУД)
Важно:
- Если данные не извлеклись - это нормально для первого раза
- Московские суды могут иметь разную структуру HTML
- Посмотри в логах что именно было найдено
- Пришли мне пример ссылки и лог - доработаю парсер
🔧 Шаг 3: Тестирование fallback механизма
Принудительно отключи новый парсер:
Добавь параметр в POST запрос:
use_new_parser=0
Проверь что:
- ✅ Скрипт работает как раньше
- ✅ В логе: "Режим парсера: СТАРЫЙ (legacy)"
- ✅ Всё работает как до обновления
📊 Что проверять в логах
Успешный парсинг (региональный суд):
[2025-10-17 10:00:00] ========================================
[2025-10-17 10:00:00] Режим парсера: НОВЫЙ (универсальный)
[2025-10-17 10:00:00] Выбран парсер: RegionalCourtParser
[2025-10-17 10:00:01] Найдено строк (tr) в div с id 'cont2': 5
[2025-10-17 10:00:01] Найдено событие: Предварительное судебное заседание, Дата: 16.10.2025...
[2025-10-17 10:00:01] Данные успешно записаны в таблицу subject для события: ...
Успешный парсинг (московский суд):
[2025-10-17 10:00:00] ========================================
[2025-10-17 10:00:00] Режим парсера: НОВЫЙ (универсальный)
[2025-10-17 10:00:00] Выбран парсер: MoscowCourtParser
[2025-10-17 10:00:01] Найдено строк (tr) в таблице событий: 8
[2025-10-17 10:00:01] Найдено событие (МСК): Название: ..., Дата: 16.10.2025...
Fallback сработал:
[2025-10-17 10:00:00] ОШИБКА в новом парсере: ...
[2025-10-17 10:00:00] Переключаемся на старый парсер (fallback)...
[2025-10-17 10:00:01] Старт парсинга ... (СТАРЫЙ ПАРСЕР)
🐛 Что делать если нашёл баг
- Скопируй ссылку на дело которое не парсится
- Скопируй логи из
logs/parser.log - Скопируй JSON ответ скрипта
- Пришли мне - я исправлю!
📞 Быстрый откат
Если что-то пошло совсем не так:
cd /var/www/fastuser/data/www/crm.clientright.ru
cp parscourt_backup_* parscourt.php
Или просто добавь в POST параметры:
use_new_parser=0
✅ Контрольный список
- Протестировал на региональном суде - работает
- Протестировал на московском суде - работает (или понял почему нет)
- Проверил что fallback работает (use_new_parser=0)
- Проверил логи - всё понятно
- Проверил БД - данные сохраняются
Готово! 🎉