Serve plain files

Overview:

This module provides a way to serve configurable plain text files.

The main idea is to provide a way to configure static files in the backend,
like facebook domain ownership, google site verification or ads.txt, which may
be added or changed regularly by SEOs.

It can be either used as a normal configuration which will be imported/exported or
in conjunction with config_ignore to make it manageable in the production environment
without being overwritten by config import.

Usage:

  • Install module & configure permission Administer served files
  • Goto /admin/config/system/served_files
  • Add a file with path, max-age & content
  • The file is now available under the provided path

If you have external caching providers, e.g. Varnish, CDNs you should monitor
file changes via entity type hooks and purge caches there.

e.g:

use Drupal\serve_plain_file\Entity\ServedFile;

/**
 * Implements hook_ENTITY_TYPE_update().
 */
function my_module_served_file_update(ServedFile $entity) {
  $urls = $entity->getUrlsForCachePurging();
  my_module_purge_external_caches($urls);
}

/**
 * Implements hook_ENTITY_TYPE_delete().
 */
function my_module_served_file_delete(ServedFile $entity) {
  $urls = $entity->getUrlsForCachePurging();
  my_module_purge_external_caches($urls);
}

Contribute

Supporting organizations: 
Initial development of 8.x-1.x version

Project information

Releases