По умолчанию в MODx пользователи сами создают и управляют структурой файлов в файловом менеджере. В случае если перестать следить за структурой, при обильной работе и большом количестве файлов, в структуре становится тяжело работать. Помимо прочего, неопытные менеджеры любят загружать файлы в корень, если разработчик не предусмотрит изоляцию работы менеджера из корня сайта.

По этой (и не только) причине я решил что необходимо структурировать работу менеджеров в файловой системе. Задача стоит не только в изоляции менеджеров от важных папок, но и обеспечить полную автоматизацию, чтобы менеджер не замечал работу пакета и в то же время в файловой структуре был порядок. Поразмыслив над реализацией, я составил небольшой roadmap.

Road Map пакета

  1. Плагин работает только для контекста mgr.
  2. Плагин работает только для типов ресурсов, которые будут указаны в системной настройке mcataloger_class_keys.
  3. При удалении ресурса, удаляется и его папка со всем содержимым. Данная опция регулируется настройкой mcataloger_delete_folders.
  4. Для каждого пользователя нужно создать источник файлов, название источника должно полностью совпадать с username пользователя.
  5. В созданном источнике файлов, создаем 2 параметра:
    1. sourceFilesPath — Путь уже существующей папки. Например assets/.
    2. user_id — Идентификатор менеджера, для которого создается источник.
  6. Каждый менеджер должен работать только в своем источнике файлов, чтобы не мешать другим менеджерам. Посему для каждого менеджера нужно переопределить системную настройку default_media_source. В ней нужно указать источник файлов, который вы создали для пользователя.

Документация пакета