Media Remote
Proporciona integración de Media para contenido remoto (no compatible con OEmbed) de varios proveedores como Google Docs, Dropbox, Apple Podcasts y más.
media_remote
Instalar
composer require 'drupal/media_remote:^1.10'
Overview
Media Remote es un módulo de Drupal que permite incrustar contenido de URL remotas que no implementan la especificación OEmbed como elementos de Media. Mientras que el módulo Media del core maneja proveedores compatibles con OEmbed (listados en oembed.com/providers.json), muchos proveedores de contenido usan métodos de incrustación propietarios que este módulo soporta.
El módulo proporciona la estructura necesaria para interactuar con el sistema Media de Drupal, incluyendo un plugin de fuente de Media, validación de URL, derivación automática del nombre del media e integración completa con Media Library. Cada proveedor soportado tiene su propio formatter que convierte URLs remotas en fragmentos de código de incrustación apropiados.
Las características principales incluyen validación automática de URL con mensajes de error útiles que muestran formatos de URL válidos, generación automática de nombres de media desde URLs, dimensiones de iframe personalizables para la mayoría de los proveedores e integración completa con Media Library para una gestión de contenido sencilla.
Features
- Plugin de fuente de Media (Remote Media URL) para integración de contenido no OEmbed
- 20 field formatters específicos por proveedor para convertir URLs en códigos de incrustación
- Validación automática de URL con patrones regex y mensajes de error útiles que muestran ejemplos de URL válidas
- Derivación automática del nombre del media desde patrones de URL
- Integración completa con Media Library con formulario de entrada de URL habilitado con AJAX
- Dimensiones de iframe personalizables (ancho/alto) para la mayoría de los proveedores
- Configuraciones específicas por proveedor como la configuración de App Key de Dropbox
- Plantillas Twig para cada proveedor permitiendo personalización del tema
- Redirección automática a Manage Display después de crear un tipo de media Media Remote
Use Cases
Incrustar Google Docs en Contenido
Crear un tipo de Media con fuente Remote Media URL, configurar el formatter de Google en Manage Display con las dimensiones de iframe deseadas, luego añadir URLs de Google Docs/Sheets/Slides vía Media Library. Las URLs deben ser publicadas (URLs de compartir que comiencen con docs.google.com/document/d/e/).
Sitio de Agregación de Podcasts
Crear tipos de Media separados para diferentes proveedores de podcasts (Apple Podcasts, Buzzsprout, Libsyn, Deezer, Stitcher). Cada tipo usa el formatter apropiado. Los editores de contenido pueden añadir fácilmente episodios de podcasts vía URL sin lidiar con códigos de incrustación.
Compartir Documentos Empresariales
Para organizaciones que usan Box o Dropbox, crear tipos de Media con los respectivos formatters. Dropbox requiere una App Key de la Consola de Desarrolladores de Dropbox. Esto permite incrustar fácilmente documentos alojados en la nube en contenido de Drupal.
Exhibición de Modelos 3D
Usando el formatter de Matterport, sitios inmobiliarios o de arquitectura pueden incrustar modelos 3D interactivos. El formatter añade automáticamente los parámetros de incrustación requeridos a la URL.
Publicación de Documentos Gubernamentales/Periodísticos
Usando el formatter de DocumentCloud, organizaciones periodísticas pueden incrustar documentos oficiales con el visor de DocumentCloud, que proporciona funciones de anotación y visualización de documentos.
Integración de Plataforma de Video Educativo
Instituciones educativas pueden usar formatters de Panopto, Brightcove o Loom para incrustar grabaciones de conferencias y videos educativos desde su plataforma de video preferida.
Mapas Interactivos y Datos GIS
Usando formatters de ArcGIS o Google Maps, las organizaciones pueden incrustar mapas interactivos, dashboards y visualizaciones de datos geográficos directamente en su contenido.
Integración de Microsoft Forms
Organizaciones que usan Microsoft 365 pueden incrustar Microsoft Forms para encuestas y recolección de datos directamente en páginas de Drupal con dimensiones personalizables.
Tips
- Después de crear un tipo de Media con fuente Remote Media URL, serás redirigido automáticamente a Manage Display para configurar el formatter - no omitas este paso
- Siempre usa URLs publicadas/de compartir de los proveedores de contenido, no URLs de edición
- Para integración con Dropbox, debes obtener una App Key de la Consola de Desarrolladores de Dropbox y configurarla en los ajustes del formatter
- Cada tipo de Media debe usar solo un formatter - crea tipos de Media separados para diferentes proveedores
- Las plantillas pueden ser sobrescritas en tu tema para estilos personalizados (ej., mytheme/templates/media-remote-google.html.twig)
- La variable media está disponible en todas las plantillas para acceder a la entidad media completa
- Los ajustes de ancho y alto aceptan unidades CSS (px, %) para formatters de Matterport y Microsoft Forms
- Los errores de validación de URL muestran ejemplos de URL válidas para ayudar a los editores de contenido a entender el formato esperado
Technical Details
Hooks 1
hook_form_media_type_add_form_alter
Modifica el formulario de adición de tipo de media para inyectar un manejador de envío personalizado que redirige a los usuarios a Manage Display después de crear un tipo de media Media Remote.
Troubleshooting 5
Navega a la página Manage Display (/admin/structure/media/manage/[tipo]/display) y selecciona un formatter de Media Remote para el campo fuente.
El mensaje de error incluye ejemplos de URL válidas. Asegúrate de que tu URL coincida exactamente con el formato esperado, incluyendo el prefijo https:// y los parámetros de URL requeridos.
Debes configurar una App Key de Dropbox válida en los ajustes del formatter. Visita developers.dropbox.com/embedder para crear y gestionar tu App Key.
Asegúrate de estar usando la URL publicada (Archivo > Compartir > Publicar en la web), no la URL de edición o visualización. La URL debe comenzar con docs.google.com/document/d/e/.
Limpia la caché de Drupal después de cambiar los ajustes del formatter. Algunos formatters usan unidades CSS (px, %) mientras que otros solo aceptan valores en píxeles.
Security Notes 3
- El módulo sanitiza los valores de ancho/alto usando Html::escape() para formatters que aceptan unidades CSS arbitrarias (Matterport, Microsoft Forms)
- Las URLs son validadas contra patrones regex estrictos antes de ser usadas en las plantillas
- La integración con Dropbox usa la API oficial Dropbox Embedder con autenticación mediante App Key