Към съдържанието
N1
CRM / Bitrix24 · Диск · възстановяване на данни

Възстановяване на документите по дела: „от сделките изчезват файлове“

Клиент: Адвокатска кантора, NDA Категория: CRM / Bitrix24 Стек: PHP 8, Bitrix24 D7 (Disk, CRM Factory), CLI, Bash pipeline, cron Срок: около седмица
Проблем

Юристите се оплакваха, че от делата изчезват документи. Причината беше в роботите на три смарт процеса: всеки именуваше папката на делото в Общия диск по свой начин, а при преименуване на делото създаваше нова — старата папка с документите оставаше без линк от картата.

Ограничения

Нищо не може да се изтрива: това са работни документи по съдебни дела. Част от линковете минаваха през външна услуга за съкращаване на линкове или водеха към стария портал, част от делата имаха собствени контейнери за папки, а спорните съвпадения могат да се решават само заедно с юристите.

Какво направих
  • Анализ само с четене: пул от папки, класификация на всеки линк от картите (работещ, през съкращаване, стар портал, празен, боклук), папки сираци
  • Сливане на дублиращи се папки с приоритет на основното дело: съдържанието се премества в каноничната папка, източниците не се изтриват, съмнителните групи — за ръчен преглед
  • Синхронизация на файловете от файловите полета на картата в папката на делото без дубликати по име и размер, поправка на линковете и попълване на служебното поле с id на папката
  • Повторно създаване на липсващите папки за дела, които изобщо нямаха работна папка на диска
  • Краен pipeline с една команда: по подразбиране три dry-run прогона, реален прогон — само с потвърждение, спиране при първата грешка; нощна синхронизация по cron
Архитектура
Анализ (read-only) → Сливане на дубликати → Повторно създаване на папки → Синхронизация на файлове и линкове → Нощен cron
Резултат

Анализът откри 334 папки, 16 групи дубликати и 298 поправими линка през услугата за съкращаване. Реалният прогон обработи 750 елемента: копирани са 2544 файла, поправени 302 линка, попълнени 250 id на папки — 0 грешки; повторната проверка потвърди 7182 файла на местата си в 780 елемента.

Какво може да се преизползва
Анализ „само четене“ с класификация на линковете преди всякакви промени Сливане на дублиращи се папки без изтриване на източниците Pipeline dry-run → потвърждение → реален прогон