Domain Access Entity

Extiende la funcionalidad de Domain Access a cualquier tipo de entidad con campos, permitiendo control de acceso basado en dominios más allá de solo nodes.

domain_entity
1,755 sites
24
drupal.org

Overview

Domain Access Entity proporciona una solución potente para agregar control de Domain Access a cualquier tipo de entidad con campos en Drupal. Mientras que el módulo principal Domain Access solo maneja el acceso a nodes, este módulo extiende esa capacidad a todos los tipos de entidades incluyendo términos de taxonomía, paragraphs, blocks, media y entidades personalizadas.

El módulo agrega un campo domain_access a los tipos de entidad seleccionados, permitiendo que el contenido sea restringido a dominios específicos. Las entidades sin asignación de dominio permanecen accesibles en todos los dominios. También proporciona un campo domain_source para reescritura de URLs, asegurando que las URLs de las entidades apunten a su dominio canónico.

Los administradores del sitio pueden configurar el acceso por dominio por tipo de entidad y por bundle, eligiendo entre asignación automática de dominio (oculta a los usuarios) o afiliación de dominio seleccionable por el usuario. El módulo se integra con Views y proporciona permisos granulares para crear, editar y eliminar contenido en dominios asignados.

Features

  • Habilitar control de Domain Access en cualquier tipo de entidad con campos (términos de taxonomía, paragraphs, blocks, media, etc.)
  • Acceso por dominio configurable por bundle de entidad con asignación automática o seleccionable por el usuario
  • Campo Domain Source para reescritura de URL canónica entre dominios
  • Condiciones de acceso a consultas que filtran automáticamente entidades por dominio actual
  • Generación dinámica de permisos para operaciones de crear/actualizar/eliminar por bundle de entidad
  • Soporte de actualización por lotes para asignar entidades existentes a dominios predeterminados
  • Integración con el sistema de permisos del módulo Domain Access
  • Configuración de exclusión de rutas para reescrituras de URL de domain source
  • Submódulo para control de acceso a enlaces de menú basado en dominio

Use Cases

Gestión de taxonomía multi-marca

Una empresa con múltiples marcas compartiendo una base de código puede crear términos de taxonomía específicos para el dominio de cada marca. Las categorías de productos, etiquetas y otras taxonomías pueden ser específicas por dominio mientras comparten la misma estructura de vocabulario.

Biblioteca de medios específica por dominio

Las entidades de media pueden ser asignadas a dominios específicos, permitiendo que diferentes sitios mantengan bibliotecas de imágenes separadas mientras usan una instalación compartida de Drupal.

Contenido entre dominios con URLs canónicas

El contenido puede ser accesible en múltiples dominios mientras mantiene una URL canónica en su dominio primario usando la característica de domain source. Esto ayuda con el SEO al evitar problemas de contenido duplicado.

Paragraphs multi-inquilino

Los tipos de Paragraph pueden ser restringidos por dominio, permitiendo que diferentes sitios tengan acceso a diferentes bibliotecas de componentes mientras comparten la misma configuración de paragraphs.

Navegación específica por dominio

Usando el submódulo domain_menu_access, los elementos de menú pueden ser mostrados u ocultados basándose en el dominio actual, permitiendo que cada sitio tenga su propia estructura de navegación.

Tips

  • Use la configuración de omitir condiciones de acceso temporalmente para solucionar problemas de acceso sin deshabilitar el módulo
  • Asigne usuarios a dominios a través de las opciones de editor afiliado en perfiles de usuario para permitir la gestión de contenido entre dominios
  • Al migrar entidades, asegúrese de que las asignaciones de dominio estén incluidas o las entidades se volverán inaccesibles
  • El campo domain source determina el dominio de URL canónica, mientras que domain_access controla qué dominios pueden acceder a la entidad
  • Para Views que muestran contenido entre dominios, exponga el filtro de campo de dominio para permitir a los editores cambiar entre dominios

Technical Details

Admin Pages 2
Entities /admin/config/domain/entities

Página de configuración principal para habilitar el acceso por dominio en tipos de entidad. Lista todos los tipos de entidad con campos disponibles y permite habilitar/deshabilitar el control de acceso por dominio para cada uno. Proporciona un interruptor rápido para omitir las condiciones de acceso para solución de problemas.

Activar acceso por dominio en [Tipo de Entidad] /admin/config/domain/entities/{entity_type_id}

Página de configuración específica por bundle para un tipo de entidad. Configure los ajustes de acceso por dominio para cada bundle incluyendo comportamiento del campo, valores de dominio predeterminados y configuración de domain source.

Permisos 5
Acceder y filtrar entidades afiliadas en los dominios asignados del usuario

Permitir a un editor de múltiples dominios acceder a entidades en diferentes dominios. Los usuarios con este permiso pueden ver entidades de todos sus dominios asignados en las páginas de administración.

Establecer el estado de acceso por dominio para todas las entidades

Permitir al editor editar y establecer el acceso por dominio para todos los tipos de entidad independientemente de la configuración de comportamiento del widget.

[Tipo de Entidad]: [Bundle]: Crear nuevo contenido en dominios asignados

Permiso dinámico generado por bundle de entidad. Permite crear nuevas entidades de este tipo en los dominios a los que el usuario está asignado.

[Tipo de Entidad]: [Bundle]: Editar cualquier contenido en dominios asignados

Permiso dinámico generado por bundle de entidad. Permite editar entidades de este tipo en los dominios a los que el usuario está asignado.

[Tipo de Entidad]: [Bundle]: Eliminar cualquier contenido en dominios asignados

Permiso dinámico generado por bundle de entidad. Permite eliminar entidades de este tipo en los dominios a los que el usuario está asignado.

Hooks 2
hook_domain_entity_source_alter

Permite a los módulos alterar el domain source para reescritura de URLs de entidades.

hook_domain_entity_source_path_alter

Permite a los módulos agregar manejo de domain source a rutas que no son de entidades.

Troubleshooting 4
Las entidades no aparecen después de habilitar el acceso por dominio

Las entidades creadas antes de habilitar el acceso por dominio no tienen asignación de dominio y pueden volverse inaccesibles. Use la característica de actualización por lotes al habilitar el acceso por dominio para asignar entidades existentes a dominios predeterminados.

Views no filtra por dominio correctamente

Deshabilite la reescritura SQL en la configuración avanzada de View (Configuración de Consulta), o agregue manualmente un filtro en el campo domain_access para controlar qué entidades de dominios aparecen.

Errores de acceso denegado en administración

Asegúrese de que los usuarios tengan el permiso 'access entities affiliate on assigned domains' y estén asignados a los dominios apropiados en las opciones de editor afiliado de su perfil de usuario.

La reescritura de URL no funciona para enlaces de entidades

Verifique que el campo domain_source esté habilitado para el bundle de entidad y compruebe que la ruta no esté en la lista de rutas excluidas en la configuración del bundle.

Security Notes 3
  • Este módulo restringe el acceso solo a los poseedores del permiso 'administer domains'
  • Los permisos dinámicos se generan por bundle de entidad - revise cuidadosamente al agregar nuevos tipos de entidad
  • La configuración de omitir condiciones de acceso solo debe usarse temporalmente para depuración, no en producción