Вы здесь

Media Entity File Replace

Замена файла на другой, с таким же названием.

Модуль Media Entity File Replace позволяет редактору заменить исходный файл, связанные с медиа-объектом. Новый файл перезапишет существующий, сохранив его название и путь.

Без этого модуля, редакторы обычно пытаются заменять файлы сначала удалив старый с помощью кнопки «Удаление», после чего сразу загрузить новый с тем же названием. Но это не всегда работает как ожидает редактор и Друпал может добавить к названию файла суффикс _1, если объект не был сохранён и соответственно ранее загруженный «неиспользуемый» файл удалён не был.

Скорее всего, отдающиеся с сайта статические файлы (.txt, .pdf и так далее), кешируются во внешнем кеше на долгое время. Это означает, что если вы заменяете содержание файла на своём веб-сервере, пользователи могут не увидеть обновлённое содержание. Внешний кеш включает такие вещи как Varnish, CDN и браузер пользователя. Вы можете управлять поведением внешнего кеша отдавая определённые заголовки HTTP вместе с ответом на запрос файла. Это не может быть настроено в Друпале, потому что Друпал не вовлечён в обслуживание статических файлов, это можно настроить в веб-сервере. Есть несколько вариантов:

  • Если возможно, настройте веб-сервер на отдачу заголовка ETag cache для статических файлов вместо заголовка max-age
  • Установите небольшое время для заголовка max-age для статических файлов. По умолчанию, файл .htaccess (который содержит конфигурацию для веб-сервера Apache) устанавливает это время равное 2 неделям. Его можно уменьшить, а редакторов проинформировать о том, что не все пользователи могут увидеть обновлённое содержание сразу

Похожие модули

Есть некоторые похожие модули, которые решают этот вопрос другими путями:

  • Media Entity Download — вместо того, чтобы беспокоиться о реальном названии файла/пути на сайте, они будут доступны через специальный URL на основе ID документа (который никогда не изменяется, даже если заменяется исходный файл). Недостатком этого подхода является то, что будет выполняться стандартная полная загрузка страницы, на что будут тратиться ресурсы сервера
  • Media Entity File Redirect — вместо обслуживания файла напрямую, он только перенаправляет URL. Это может быть проблемой, потому что кто-то может скопировать и вставить перенаправленный URL на другом сайте и в будущем ссылка может не работать при замене документа на сайте
  • File Replace — делает то же самое, что и этот модуль, но он не интегрирован с модулем Media. Редактору нужен доступ к специальной форме для управления файлами и в ней выполнять замену файла
Зависит от: 
Группа проекта: