Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transparent Edge — Módulo para Drupal

Integración nativa de Transparent Edge para Drupal 10.3+ / 11 (PHP 8.1+, validado en ambas versiones). Emite los cache tags de Drupal como Surrogate-Keys, invalida contenido quirúrgicamente vía API, y añade optimizaciones WPO y visibilidad de seguridad coordinadas con el edge.

Módulos incluidos

Módulo Qué hace Activación
transparent_edge Núcleo: API OAuth2 con circuit breaker, header Surrogate-Keys (site key + -html, ignore-list, hashing, límite 4 KB), política de caché por grupos, soft purge, warm-up, resource hints, Dashboard, wizard, Drush Obligatorio
transparent_edge_purger Purger para el framework Purge: invalidación automática al editar contenido (tag/url/wildcardurl/everything) + diagnostics Muy recomendado
transparent_edge_i3 Optimización de imágenes en el edge (snippet VCL: auto-WebP, calidad) Opcional
transparent_edge_speculation Speculation Rules: prefetch/prerender de enlaces (3 modos, por tipo de contenido, inline o edge) Opcional
transparent_edge_lcp Precarga de la imagen LCP por tipo de contenido (auto-detección de estilo) + header Link (base Early Hints) Opcional
transparent_edge_security Security headers (snippet + verificación en vivo), gating por servicios contratados, asesor de mitigación, postura de seguridad Opcional

Instalación

Requisitos

  • Drupal 10.3+ o 11.x · PHP 8.1+ (8.3 recomendado)
  • Cuenta de Transparent Edge con API habilitada (Company ID, Client ID, Client Secret)
  • El dominio del site sirviéndose a través de la CDN de Transparent Edge

1. Dependencias

composer require drupal/purge        # framework de invalidación (para el purger)

2. Obtener el módulo

Opción A — Zip (actual): descarga transparent_edge-x.y.z.zip y descomprímelo en web/modules/custom/, quedando en web/modules/custom/transparent_edge/.

Opción B — Composer vía GitHub (cuando el repositorio sea público):

"repositories": [
    { "type": "vcs", "url": "https://github.com/TransparentEdge/drupal-transparentedge-cache" }
]
composer require transparentedge/transparent_edge

(Publicación en Packagist prevista tras el periodo de validación: entonces bastará el composer require, sin bloque repositories.)

3. Habilitar módulos

# Núcleo + invalidación automática (recomendado para todos los sites)
drush en transparent_edge transparent_edge_purger \
  purge purge_ui purge_queuer_coretags purge_processor_cron purge_drush -y

# Opcionales, según lo que quieras usar
drush en transparent_edge_i3 transparent_edge_speculation \
  transparent_edge_lcp transparent_edge_security -y

El asesor de mitigación de transparent_edge_security se apoya en el módulo Update Status de core (drush en update).

4. settings.php recomendado

// Secreto de API fuera de la configuración exportada.
$settings['transparent_edge.client_secret'] = getenv('TE_CLIENT_SECRET');

// Detrás de la CDN: confiar en los headers del proxy.
$settings['reverse_proxy'] = TRUE;
$settings['reverse_proxy_trusted_headers'] =
  \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR
  | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO;

5. Asistente de configuración

En Configuración → Servicios web → Transparent Edge, ejecuta el asistente (4 pasos): detección de entorno → credenciales con test en vivo → perfil de caché (Editorial / E-commerce / Conservador / Agresivo) → resumen. Corrige automáticamente el cache.page.max_age = 0 de Drupal si lo encuentra. Relanzable en cualquier momento desde el Dashboard.

6. Activar el purger

En /admin/config/development/performance/purge: añade el purger Transparent Edge, el queuer Core tags y el processor Cron. O por Drush:

drush p:purger-add transparent_edge

7. Cron

La cola de purgas y el warm-up se procesan en el cron de Drupal. Prográmalo cada pocos minutos:

*/5 * * * * /ruta/a/vendor/bin/drush --root=/ruta/al/docroot cron

8. Cabeceras de estáticos (según servidor web)

Los ficheros estáticos puros no pasan por Drupal. En la pestaña Caché: en Apache, botón "Escribir reglas en .htaccess" (con backup automático); en nginx, copia el snippet generado a tu bloque server {} y recarga. Verifica con el botón "Verificar cabeceras de estáticos en vivo".

Verificación final

drush te:status                     # autenticación, circuit breaker, site key
curl -sI https://tu-dominio/ | grep -i surrogate-keys   # el header sale del origen

Y en el Dashboard del módulo: conexión ✓, política de caché activa, purger registrado, y (si aplica) postura de seguridad del site. Edita cualquier contenido y observa la invalidación automática en "Invalidaciones recientes".

Drush

drush te:status                          # conexión, circuit breaker, site key
drush te:purge-all [--html-only]         # purga total (o solo HTML, conservando estáticos)
drush te:purge-tag node:1,node_list      # purga por cache tags de Drupal
drush te:purge-url https://... [--recursive]
drush te:warmup --sitemap-url=https://tu-dominio/sitemap.xml

Principios de diseño

  • El módulo nunca despliega VCL — genera snippets recomendados que el cliente revisa y aplica desde su dashboard (desplegar VCL reemplaza la configuración activa completa).
  • Sin recursos huérfanos — no crea nada por API que luego no se pueda gestionar; las acciones de seguridad son recomendaciones con gestión en el panel de TE.
  • Privacidad multi-site — un site nunca ve datos (historial, purgas) de otros sites de la misma company.
  • Mismo formateo al emitir y purgar — el purger usa el mismo TagFormatter que genera el header: ambos lados siempre coinciden.

Calidad

  • Tests: 20 (unit + kernel), verdes en Drupal 10.6 + PHPUnit 9.6 y Drupal 11 + PHPUnit 11
  • phpcs estándar Drupal: limpio · phpstan nivel 2 + reglas Drupal: 0 errores
  • CI incluido (.github/workflows/ci.yml): phpcs + phpstan + tests en matriz D10/D11
  • Interfaz bilingüe ES/EN (270+ cadenas, cobertura verificada por herramienta)

Documentación

  • doc/guia-usuario-transparent-edge-drupal.pdf — guía completa de usuario (línea corporativa)
  • doc/guia-usuario.md — versión markdown
  • CHANGELOG.md — historial de versiones
  • Plataforma: docs.transparentedge.eu

Soporte

help+cdn@transparentedge.eu · www.transparentedge.eu Licencia: GPL-2.0-or-later

About

Plugin para invalidación de caché en Transparent Edge

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages