Saltar al contenido
Framework Ecosystems LabsUn contrato, muchos ecosistemas, la misma prueba.

💧 Drupal — 2001#

⬅️ Atlas · 🐘 Ecosistema PHP · 🗂️ Índice

Drupal es un gestor de contenidos con una diferencia importante respecto a WordPress: el modelo de datos es configurable. En lugar de partir de «entradas y páginas», permite definir tipos de contenido con sus campos y relaciones desde la interfaz de administración.

Aparición 2001, creado por Dries Buytaert
Clasificación cmsno es un framework
Ecosistema PHP
Licencia GPL-2.0-or-later
Estado 🟢 Activo
Documentación https://www.drupal.org/docs

💡 Modelo de datos como configuración#

La propuesta: definir el dominio sin programar. Un tipo de contenido «Producto» con sus campos, sus relaciones y sus permisos se crea desde la interfaz.

Es potente y tiene una consecuencia que el módulo 06 ayuda a ver: el modelo de dominio vive en la base de datos, no en el repositorio. Eso complica tres cosas que damos por hechas en un proyecto de código:

Práctica habitual Cómo se complica
Revisar un cambio de modelo No está en un archivo que se pueda leer en una revisión
Reproducir un entorno Hay que exportar e importar configuración
Migrar entre entornos Existe un sistema de configuración exportable, y es trabajo aparte

Drupal resolvió esto con un mecanismo de configuración exportable a archivos, precisamente porque el problema era real.

🔄 La reescritura sobre Symfony#

Drupal 8 supuso una reescritura profunda: adoptó componentes de Symfony, espacios de nombres, inyección de dependencias y las prácticas del PHP moderno [symfony-components].

Fue una migración dura para el ecosistema de módulos —comparable en dificultad a la de AngularJS— y con una diferencia clave: se hizo dentro del mismo producto, con guías y herramientas, en lugar de renombrarlo. Las versiones posteriores han sido mucho más continuistas, lo que sugiere que la lección se aprendió.

⚖️ Lo mismo que en WordPress#

Dos advertencias del módulo 11 se aplican igual:

Licencia copyleft. GPL condiciona lo que se distribuye construido encima.

Cadena de suministro. Los módulos de terceros son dependencias con acceso completo, y su calidad y mantenimiento son desiguales.

🎓 Las dos lecciones#

1. Configurar el modelo de datos desde una interfaz saca el dominio del repositorio. Es flexible y complica revisión, reproducibilidad y migración.

2. Una reescritura puede hacerse dentro del mismo producto. Drupal 8 cambió casi todo y conservó el nombre, la comunidad y el camino de migración.

🔗 Enlaces#

Fuentes#