Gestor de metadatos de archivos

Un módulo de Drupal que proporciona un servicio y API de gestión de metadatos de archivos para recuperar y administrar metadatos de archivos como información EXIF de fotos, información de fuentes tipográficas y dimensiones de imágenes.

file_mdm
56,372 sites
32
drupal.org
Drupal 10 Drupal 11

Install

Drupal 11 v3.2.0
composer require 'drupal/file_mdm:^3.2'
Drupal 10 v3.1.0
composer require 'drupal/file_mdm:^3.1'

Overview

File metadata manager proporciona una API unificada para acceder y gestionar información almacenada dentro de archivos, como metadatos EXIF de fotos, información de fuentes TrueType y dimensiones de imágenes. El módulo implementa una arquitectura de plugins donde los protocolos de metadatos se implementan como plugins, permitiendo a los desarrolladores extender el sistema con manejadores de metadatos personalizados.

El módulo almacena en caché estática los metadatos durante el ciclo de vida de una solicitud para evitar operaciones de E/S redundantes, y opcionalmente almacena los metadatos en el sistema de caché de Drupal para persistencia entre solicitudes. También maneja archivos remotos gestionando copias locales temporales para funciones PHP que no pueden acceder directamente a wrappers de streams remotos.

Se proporcionan tres plugins: 'getimagesize' (incluido en el módulo base) almacena en caché las llamadas a getimagesize() de PHP, 'exif' (submódulo) usa PHP Exif Library para leer y escribir datos EXIF, y 'font' (submódulo) usa PHP Font Lib para leer metadatos de fuentes TTF/OTF/WOFF.

Features

  • API unificada para recuperar metadatos de varios tipos de archivos a través de una única interfaz de servicio
  • Sistema de protocolos de metadatos mediante plugins que permite plugins personalizados para diferentes formatos de archivo
  • Caché estática de metadatos durante el ciclo de vida de la solicitud para minimizar operaciones de E/S de archivos redundantes
  • Caché persistente de metadatos en el bin de caché de Drupal con tiempos de expiración configurables
  • Soporte para lectura y escritura de metadatos EXIF en imágenes JPEG y TIFF (a través del submódulo)
  • Extracción de metadatos de fuentes tipográficas desde archivos TTF, OTF y WOFF (a través del submódulo)
  • Llamadas a getimagesize() de PHP en caché para detección de dimensiones y tipo de imagen
  • Manejo automático de archivos remotos copiándolos a almacenamiento temporal local para su procesamiento
  • Rutas de exclusión de caché configurables usando patrones con comodines
  • Configuración de caché por plugin con capacidad de anular la configuración global
  • Limpieza automática de metadatos en caché cuando se eliminan entidades de archivo

Use Cases

Corrección automática de orientación de imagen

Usa el plugin EXIF para leer la etiqueta de Orientación de fotos subidas, determinar la rotación correcta, aplicar transformaciones de imagen y opcionalmente escribir la orientación corregida de vuelta al archivo.

Visualización de metadatos en galería de fotos

Muestra información EXIF (modelo de cámara, configuración de exposición, coordenadas GPS) junto a las imágenes en una galería usando el plugin exif para extraer metadatos de fotografías subidas.

Caché de dimensiones de imagen para rendimiento

Usa el plugin getimagesize para almacenar en caché las dimensiones de imagen entre solicitudes, evitando acceso repetido al sistema de archivos al mostrar imágenes en listas o cuadrículas.

Sistema de gestión de fuentes tipográficas

Construye una biblioteca de fuentes con el plugin font para extraer y mostrar metadatos (familia de fuente, peso, diseñador, licencia) de archivos de fuentes TTF/OTF/WOFF subidos.

Extracción de metadatos de archivos remotos

Accede a metadatos de archivos almacenados en sistemas de archivos remotos (S3, CDN) usando copyUriToTemp() para crear copias locales antes del procesamiento, minimizando la E/S remota.

Optimización de procesamiento masivo de imágenes

Al procesar múltiples imágenes, aprovecha el almacenamiento en caché estático para evitar lecturas repetidas de archivos cuando la misma imagen es accedida por múltiples módulos u operaciones dentro de una sola solicitud.

Tips

  • Usa el bin de caché dedicado 'file_mdm' para invalidación de caché: los cache_tags para cambios de configuración se manejan automáticamente
  • Los archivos en el esquema temporary:// nunca se almacenan en caché independientemente de la configuración
  • Los metadatos se almacenan en caché estática durante una solicitud incluso si el almacenamiento persistente en caché está deshabilitado
  • Para archivos remotos, llama a copyUriToTemp() antes de getMetadata() para minimizar las solicitudes de red
  • El plugin EXIF puede escribir metadatos - recuerda llamar a saveMetadataToFile() y opcionalmente copyTempToUri() para archivos remotos
  • Usa getSupportedKeys() para descubrir las claves de metadatos disponibles para cada plugin
  • Las configuraciones de plugins pueden alterarse usando hook_file_metadata_plugin_info_alter()

Technical Details

Admin Pages 1
Gestor de metadatos de archivos /admin/config/system/file_mdm

Configura los ajustes de caché de metadatos de archivos y opciones de caché por plugin. Esta página permite a los administradores controlar cómo se almacenan en caché los metadatos de archivos para optimizar el rendimiento.

Hooks 1
hook_file_delete

Limpia los metadatos en caché cuando se elimina una entidad de archivo. Elimina automáticamente cualquier metadato de archivo en caché y libera el archivo del gestor de metadatos.