Кейс: разработка медиа-портала на 1С-Битрикс для производственной компании | Ильнур Давлетбаев

Медиа-портал производственной компании

В 2020 году, работая программистом в одной из IT-компаний, я участвовал в разработке медиа-портала для крупной производственной компании.

Цель проекта — предоставить дилерам удобный инструмент для доступа к маркетинговым и техническим материалам по всей линейке продукции.


Задачи и функциональность

  • Организация хранения файлов в иерархической структуре: по линейке, модели, марке и т.д.
  • Возможность загрузки больших объёмов файлов (сотни и тысячи файлов, десятки гигабайт) прямо через браузер.
  • Автоматическая подстановка иконок и превью в зависимости от типа файла.
  • Возможность редактирования описаний и управления файлами менеджерами.
  • Для внешних пользователей реализовано три способа скачивания:
    • Прямое скачивание отдельных файлов;
    • Отложенное скачивание («корзина») — выбор и загрузка пакетом;
    • Скачивание целого раздела архивом.

Сложности и технические решения

  1. Наследие старого проекта.
  2. У заказчика уже был аналогичный портал на 1С-Битрикс, но без нужного функционала. Новый портал нужно было реализовать на той же платформе, сохранив совместимость и улучшив архитектуру.
  3. Параллельная разработка и использование.
  4. Требовалось быстро запустить базовый функционал загрузки, чтобы менеджеры могли начать работу ещё до завершения проекта. В дальнейшем это потребовало дополнительной доработки и обработки уже загруженных данных.
  5. Массовая загрузка через браузер.
  6. Реализован механизм многопоточной chunk-загрузки с обработкой ошибок, контролем состояния и оптимизацией серверных параметров (PHP, apache, nginx, Bitrix).
  7. Ограничения инфраструктуры.
  8. При интенсивных операциях с файлами наблюдалось падение скорости дисков. Это потребовало внедрения очередей и отложенных операций для равномерного распределения нагрузки.
  9. Высокая скорость архивации и скачивания.
  10. Для достижения требуемой производительности создан асинхронный механизм формирования архивов с поэтапной сборкой и уведомлением пользователя о готовности.

Механика работы

  • При загрузке файлов выполнялась предварительная проверка и отображался список всех загружаемых файлов.
  • Для дубликатов предлагалось действие: удалить, заменить или переименовать.
  • После подтверждения файлы распределялись по соответствующим разделам, создавались элементы в инфоблоках с описаниями и иконками.
  • Для скачивания больших наборов данных использовался очередной обработчик: система формировала архив по шагам и уведомляла пользователя письмом со ссылкой на готовый файл.

Результаты:

  • Полностью реализован требуемый функционал на платформе 1С-Битрикс.
  • Система стабильно работает с большими объёмами данных и выдерживает высокую нагрузку при одновременных загрузках.
  • Время формирования архивов и скачивания файлов сокращено в несколько раз.
  • Повышен комфорт работы менеджеров и дилеров — загрузка, поиск и скачивание материалов стали быстрыми и надёжными.
  • Проект успешно внедрён и используется заказчиком в производственной деятельности.