Drupal 11 y Drupal CMS: ¿cuál es la diferencia?¶
Objetivo¶
Después de crear el entorno con DDEV, es importante distinguir entre Drupal 11 y Drupal CMS. No son dos programas independientes que haya que instalar a la vez.
La idea clave es:
Drupal 11 es la base tecnológica; Drupal CMS es una solución preparada que se construye sobre esa base.
1. Drupal 11: el núcleo y la plataforma¶
Cuando hablamos de Drupal 11 en este curso nos referimos normalmente a Drupal Core, el núcleo y la plataforma sobre la que se construye un sitio.
Drupal Core proporciona, entre otras cosas:
- Usuarios y permisos.
- Entidades, nodos, campos y tipos de contenido.
- Taxonomías.
- Configuración exportable.
- Módulos y temas.
- Renderizado y plantillas Twig.
- APIs para desarrollar funcionalidades propias.
- Una base flexible para construir sitios personalizados.
La instalación habitual para comenzar un proyecto controlado por el equipo de desarrollo utiliza:
ddev composer create-project drupal/recommended-project
Después se añaden las dependencias que necesite el proyecto:
ddev composer require drush/drush
Con este enfoque, el equipo decide qué módulos, temas, configuraciones y recetas incorpora.
2. Drupal CMS: una solución preparada¶
Drupal CMS es un producto preparado para construir sitios con mayor rapidez. Está desarrollado sobre Drupal Core y añade una selección de herramientas, módulos, configuraciones y recetas pensadas para crear un sitio funcional desde el principio.
Puede incluir, según la versión y las recetas instaladas:
- Herramientas de gestión de contenidos.
- Gestión avanzada de medios.
- Funcionalidades de SEO.
- Formularios.
- Búsqueda.
- Analítica y consentimiento.
- Configuraciones para tareas habituales.
- Herramientas orientadas a personas editoras y responsables de sitios.
Su instalación mediante Composer utiliza:
ddev composer create-project drupal/cms
En el flujo documentado por DDEV también se ejecuta:
ddev composer drupal:recipe-unpack
Después se abre el instalador desde el navegador con:
ddev launch
3. Comparación rápida¶
| Aspecto | Drupal 11 / Drupal Core | Drupal CMS |
|---|---|---|
| Qué es | La plataforma y el núcleo de Drupal | Una solución preparada sobre Drupal Core |
| Instalación habitual | drupal/recommended-project | drupal/cms |
| Punto de partida | Más neutro y controlado por desarrollo | Más preparado para comenzar a construir |
| Quién decide el conjunto inicial | El equipo del proyecto | Drupal CMS aporta una selección inicial |
| Personalización | Muy amplia | También amplia; parte de una base más preparada |
| Objetivo didáctico | Entender cómo se construye Drupal | Obtener antes un sitio funcional y usable |
| DDEV | --project-type=drupal11 | También --project-type=drupal11 |
4. Por qué ambos usan el tipo de proyecto drupal11 en DDEV¶
Esta parte suele causar confusión.
El comando:
ddev config --project-type=drupal11 --docroot=web
indica a DDEV que el proyecto utiliza la estructura y los servicios de Drupal 11. No decide si vamos a instalar Drupal Core directamente o Drupal CMS.
La diferencia se establece después, en el comando de Composer:
# Proyecto basado directamente en Drupal Core
ddev composer create-project drupal/recommended-project
# Proyecto basado en Drupal CMS
ddev composer create-project drupal/cms
Por eso podemos tener dos proyectos DDEV configurados como drupal11 y, aun así, haber instalado contenidos iniciales diferentes.
5. Qué hemos instalado en Drupal Academy¶
En el taller de creación del proyecto drupalacademy usamos el flujo de Drupal 11 con drupal/recommended-project:
mkdir -p ~/proyectos/drupalacademy
cd ~/proyectos/drupalacademy
ddev config --project-type=drupal11 --docroot=web
ddev start
ddev composer create-project drupal/recommended-project
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass='admin' -y
Por tanto:
- DDEV proporciona el entorno local y los contenedores.
- Drupal Core proporciona la plataforma.
- Composer descarga Drupal y sus dependencias.
- Drush proporciona comandos de administración desde la terminal.
- El equipo irá añadiendo módulos, temas y configuración durante las sesiones.
No hemos instalado Drupal CMS en drupalacademy. Lo estudiaremos como comparación y como otra forma válida de comenzar un sitio Drupal.
6. Cómo reconocer qué hay instalado¶
Desde la carpeta del proyecto, ejecuta:
ddev composer show drupal/core
ddev composer show drupal/cms
En un proyecto basado en drupal/recommended-project:
- Debe aparecer drupal/core.
- Normalmente no aparecerá drupal/cms como dependencia directa.
También puedes consultar el archivo composer.json:
code composer.json
Busca las dependencias de require. El paquete de arranque utilizado permite identificar el tipo de proyecto que se eligió.
7. Una comparación sencilla¶
Imagina que queremos construir una casa:
- Drupal Core / Drupal 11 es la estructura, los cimientos, las instalaciones y las herramientas para construirla.
- Drupal CMS es una casa que parte de esos mismos cimientos, pero incorpora habitaciones, instalaciones y equipamiento pensado para poder empezar a utilizarla antes.
En ambos casos se puede seguir personalizando el resultado. La diferencia está en cuánto viene preparado al principio y en quién decide esa selección inicial.
8. No confundir estos conceptos¶
Drupal 11 no significa una instalación mínima sin funcionalidades¶
Drupal 11 Core ya incluye muchas capacidades: usuarios, permisos, entidades, campos, contenido, configuración, idiomas y APIs. La instalación con drupal/recommended-project no significa que haya que programar todo desde cero.
Drupal CMS no sustituye a Drupal Core¶
Drupal CMS necesita Drupal Core. Es una solución construida sobre él y utiliza sus mecanismos de módulos, temas, configuración, Composer y actualizaciones.
DDEV no es Drupal¶
DDEV crea y administra el entorno local. Drupal Core o Drupal CMS es el software del sitio que funciona dentro de ese entorno.
Actividad de comprobación¶
Responde a estas preguntas:
- ¿Qué paquete de Composer se utilizó para crear drupalacademy?
- ¿Por qué el proyecto se configura en DDEV con --project-type=drupal11?
- ¿Qué paquete usarías para comenzar un nuevo sitio con Drupal CMS?
- ¿Puede Drupal CMS utilizar módulos, temas y APIs de Drupal Core?
- ¿Qué diferencia hay entre DDEV y Drupal?