
Штатный модуль управления документами доступен только в платной редакции платформы. Написали лёгкую замену на обычных вложениях: папки, теги, публичная ссылка на файл без входа в систему и привязка к облачному хранилищу Nextcloud для внешнего хранения.
Что умеет
Любое вложение можно разложить по папкам и пометить тегами, как в обычном файловом менеджере. На файл можно выдать публичную ссылку — открывается в браузере без учётной записи, удобно для внешних контрагентов. Отдельно — привязка папки к аккаунту в облачном хранилище: тогда файлы синхронизируются во внешнее хранилище, а не только лежат в базе.
Дубли в общем дереве
Через полторы недели после запуска обнаружили, что при одновременном открытии одной и той же папки несколькими людьми узлы кэша облачного хранилища иногда плодились — у одной из папок оказалось четыре одинаковых копии. Защиты от дублей в базе не было. Поставили настоящий уникальный индекс на нужную комбинацию полей и заодно убрали лишнюю запись даты изменения на записях, которые фактически не менялись, — это же сняло и волну ошибок параллельной записи при одновременном открытии папки несколькими пользователями.
Итог
Работа с документами не зависит от того, куплена ли платная редакция: папки, теги, публичные ссылки и облачное хранение собраны в отдельном лёгком модуле, а найденная гонка при синхронизации — устранена.