Entity Usage

Rastrea el uso de entidades referenciadas por otras entidades en Drupal, mostrando dónde se está utilizando el contenido en todo tu sitio.

entity_usage
53,600 sites
156
drupal.org

Overview

Entity Usage es un módulo potente que rastrea y muestra las relaciones entre entidades en Drupal. Monitorea cómo las entidades se referencian entre sí a través de varios tipos de campos y métodos de incrustación, y luego proporciona informes que muestran dónde se está utilizando cada entidad.

El módulo rastrea automáticamente cuando se crean, actualizan o eliminan las entidades de origen, manteniendo un registro preciso de todas las relaciones entre entidades. Los usuarios pueden ver una pestaña 'Uso' en las páginas de entidades para ver qué otras entidades referencian a la entidad actual, con información sobre el tipo de entidad que hace la referencia, el nombre del campo, el idioma, el estado de publicación y el contexto de revisión.

Entity Usage soporta múltiples métodos de rastreo incluyendo campos de referencia de entidad, campos de enlace, enlaces HTML en campos de texto, incrustaciones de medios, componentes de Layout Builder e integraciones con módulos contribuidos como Entity Embed, LinkIt, Block Field y Dynamic Entity Reference. Los administradores del sitio pueden configurar qué tipos de entidades rastrear como origen y destino, habilitar/deshabilitar plugins de rastreo específicos y controlar los mensajes de advertencia que se muestran al editar o eliminar entidades que están siendo referenciadas en otros lugares.

Features

  • Rastrea relaciones entre entidades a través de campos entity_reference, entity_reference_revisions, file, image y webform
  • Rastrea entidades referenciadas mediante campos Link que apuntan a URLs internas de entidades
  • Detecta y rastrea enlaces HTML estándar en campos de texto formateado que apuntan a URLs de entidades
  • Rastrea entidades de medios incrustadas usando el filtro de incrustación de medios del core de Drupal en editores WYSIWYG
  • Rastrea entidades incrustadas usando el módulo contribuido Entity Embed
  • Rastrea entidades enlazadas usando el módulo contribuido LinkIt en editores WYSIWYG
  • Rastrea entidades de archivos incrustadas mediante el widget de imagen de CKEditor
  • Rastrea entidades referenciadas en diseños de Layout Builder incluyendo bloques de contenido en línea, bloques reutilizables y selecciones de Entity Browser Block
  • Soporta el módulo Block Field para rastrear bloques referenciados en campos block_field
  • Soporta el módulo Dynamic Entity Reference para rastrear referencias a múltiples tipos de entidades
  • Proporciona una pestaña 'Uso' configurable (tarea local) en las páginas canónicas o de edición de entidades mostrando todas las referencias a esa entidad
  • Muestra mensajes de advertencia en formularios de edición cuando una entidad tiene referencias activas en otros lugares
  • Muestra mensajes de advertencia en formularios de eliminación cuando una entidad está siendo utilizada por otro contenido
  • Herramienta de actualización por lotes para regenerar todas las estadísticas de uso del contenido existente
  • Comando Drush para recreación por lotes de estadísticas de uso
  • Filtrado configurable de tipos de entidad de origen y destino para controlar qué se rastrea
  • Soporte para rastrear campos base además de campos configurables
  • Configuración de dominio para rastrear URLs absolutas que apuntan al sitio
  • Rastreo consciente de revisiones mostrando el uso en revisiones por defecto, pendientes y antiguas
  • Rastreo consciente de traducciones con información de idioma mostrada
  • Integración con el módulo Trash para mostrar apropiadamente las entidades de origen en la papelera
  • Sistema de plugins extensible que permite añadir métodos de rastreo personalizados

Use Cases

Prevenir referencias rotas al eliminar contenido

Habilita los mensajes de advertencia de eliminación para tipos de contenido como Media, Términos de taxonomía o entidades personalizadas. Cuando un editor intenta eliminar una entidad, verá una advertencia mostrando dónde se está utilizando actualmente, ayudando a prevenir referencias rotas en todo el sitio.

Auditar el uso de medios en todo el sitio

Usa la pestaña Uso en las entidades de medios para ver en todas partes donde se está usando una imagen, video o documento particular. Esto ayuda a identificar archivos de medios huérfanos, entender las dependencias de contenido y planificar actualizaciones de contenido que afectan a múltiples páginas.

Gestionar dependencias de contenido durante migraciones

Antes de migrar o reestructurar contenido, usa Entity Usage para entender las dependencias de relaciones. Esto ayuda a planificar el orden de migración e identificar contenido que necesita manejo especial debido a referencias cruzadas.

Rastrear dónde aparecen los bloques de contenido reutilizables

Para entidades block_content reutilizables usadas en múltiples páginas mediante Layout Builder o Block Field, la pestaña Uso muestra cada página donde aparece el bloque. Esto es valioso al actualizar contenido compartido.

Encontrar todas las páginas que enlazan a una página interna específica

El plugin de rastreo de enlaces HTML detecta enlaces estándar en contenido WYSIWYG. Combinado con la pestaña Uso, los editores pueden encontrar cada página que enlaza a un contenido específico, útil para auditorías de enlaces y reestructuración de contenido.

Coordinar actualizaciones de contenido entre traducciones

Los listados de uso muestran el contexto de idioma de las referencias. Al actualizar contenido multilingüe, los editores pueden ver qué traducciones referencian a una entidad y coordinar las actualizaciones en consecuencia.

Identificar contenido referenciado solo en revisiones antiguas

La columna 'Usado en' distingue entre revisiones por defecto, borradores pendientes y revisiones antiguas. Esto ayuda a identificar cuando el contenido ya no se usa activamente pero puede seguir existiendo en el historial de revisiones.

Tips

  • Ejecuta la actualización por lotes después de la instalación inicial para poblar los datos de uso del contenido existente
  • Habilita los mensajes de advertencia gradualmente, comenzando con los tipos de contenido más críticos para evitar abrumar a los editores
  • Configura los dominios del sitio si tu contenido contiene URLs absolutas - esto permite el rastreo de enlaces que incluyen el dominio completo
  • Usa el comando Drush para actualizaciones por lotes en sitios grandes para evitar tiempos de espera del navegador
  • El módulo rastrea todas las revisiones y traducciones - los datos de uso reflejan el historial completo de referencias
  • Se pueden crear plugins de rastreo personalizados implementando EntityUsageTrackInterface para tipos de referencia especializados
  • Los datos de uso se limpian automáticamente cuando se eliminan las entidades de origen o destino
  • El hook hook_entity_usage_block_tracking permite control detallado sobre qué se rastrea

Technical Details

Admin Pages 3
Configuración de Entity Usage /admin/config/entity-usage/settings

Configura los ajustes de rastreo de uso de entidades incluyendo qué tipos de entidades rastrear, qué plugins de rastreo habilitar y opciones de visualización para la información de uso.

Actualización por lotes /admin/config/entity-usage/batch-update

Elimina y regenera todas las estadísticas de uso de entidades. Usa esto después de la instalación inicial o cuando la configuración de rastreo ha cambiado significativamente.

Información de uso de entidad para [Etiqueta de entidad] /admin/content/entity-usage/{entity_type}/{entity_id}

Muestra una tabla de todas las entidades que referencian a la entidad de destino especificada. Muestra la entidad que hace la referencia, su tipo y bundle, idioma, nombre del campo, estado de publicación y contexto de revisión (por defecto, pendiente o revisión antigua).

Permissions 3
Acceder a las estadísticas de uso de entidades

Los usuarios con este permiso podrán ver las estadísticas de uso de entidades incluyendo la visualización de la pestaña Uso en las entidades y las páginas de lista de uso.

Acceder al formulario para lanzar actualizaciones por lotes en entidades existentes

Los usuarios con este permiso podrán reiniciar/relanzar los conteos de estadísticas en todas las entidades existentes en el sistema. Este es un permiso restringido ya que las operaciones por lotes pueden consumir muchos recursos.

Administrar Entity Usage

Los usuarios con este permiso podrán administrar la configuración del módulo Entity Usage incluyendo la configuración de qué tipos de entidades y plugins rastrear. Este es un permiso restringido.

Hooks 1
hook_entity_usage_block_tracking

Permite a los módulos bloquear registros específicos de rastreo de uso para que no se escriban en la base de datos. Devuelve TRUE para evitar que el registro se guarde.

Drush Commands 1
drush entity-usage:recreate

Recrea todas las estadísticas de uso de entidades procesando todos los tipos de entidades de origen configurados y regenerando sus registros de uso.

Troubleshooting 7
La pestaña Uso no aparece en las páginas de entidades

Navega a la Configuración de Entity Usage y asegúrate de que el tipo de entidad esté seleccionado en 'Tareas locales habilitadas'. Después de guardar, las rutas se reconstruirán. Limpia las cachés si la pestaña aún no aparece.

El contenido existente no muestra información de uso

Entity Usage solo rastrea los cambios realizados después de instalar el módulo. Ejecuta la actualización por lotes en /admin/config/entity-usage/batch-update para escanear todo el contenido existente y poblar los datos de uso.

Algunos tipos de relaciones no se están rastreando

Verifica la Configuración de Entity Usage para asegurar que el plugin de rastreo apropiado esté habilitado. También verifica que tanto el tipo de entidad de origen como de destino estén habilitados en las secciones de configuración respectivas.

Las URLs absolutas en el contenido no se están rastreando

Configura el ajuste 'Dominios para este sitio web' con todos los dominios donde tu sitio es accesible. Incluye variaciones como versiones www y sin www, y cualquier dominio de staging.

El uso muestra referencias que ya no existen en el contenido

La base de datos de uso puede estar desincronizada. Ejecuta la actualización por lotes con los registros existentes eliminados para regenerar datos de uso frescos del contenido actual.

Los mensajes de advertencia no aparecen en los formularios de edición/eliminación

Asegúrate de que el tipo de entidad esté habilitado en 'Mensaje de advertencia en formulario de edición' o 'Mensaje de advertencia en formulario de eliminación' en la configuración. La entidad también debe estar habilitada como tipo de entidad de destino.

Problemas de rendimiento con grandes cantidades de contenido

El proceso de actualización por lotes está optimizado para sitios grandes pero puede tomar tiempo. Ejecuta mediante Drush (drush entity-usage:recreate) para mejor rendimiento y evitar tiempos de espera del navegador.