3 min - Drupal

Recetas: El Nuevo Concepto de Drupal 10

Publicado el Apr 3, 2024

Recipes: The New Concept of Drupal 10

Estructura de una Receta Drupal

En la carpeta que contiene una receta encontraremos al menos un archivo recipe.yml con esta estructura:

# Nombre visible de la receta, tal y como se listará.
name: 'Example recipe'
 # Descripción opcional de la funcionalidad que aporta.
description: "An example Drupal recipe."

# El tipo es similar al paquete (package) en los módulos, agrupa recetas según criterio de utilidad.
# El tipo 'Content type' significa que la receta será listada como una opción en el instalador.
type: 'Content type'
 recipes:
  # Si la receta depende de otras, se listarán aquí. Todas se aplicarán antes que ella misma.
  - editorial_ui_for_publishers
  - another_recipe
 
install:
  # Dependencias generales (módulos o temas gráficos) de la receta.
  - easy_breadcrumb
  - node
  - text
 
config:
  # La receta puede controlar qué entidades de configuración instalar o no de las provistas por los módulos listados en sus dependencias.
  # Estos ejemplos son ficticios.
  import:
	easy_breadcrumb:
  	- views.view.easy_breadcrumbs
	node:
  	- node.type.article
	text: *
 
  # Acciones sobre configuración existente. Se declara el nombre de la configuración a tratar, la acción concreta a realizar (esto lo hace un plugin) y posibles argumentos.
  # En el ejemplo, el rol de usuario 'Editor' será creado si no existe y luego obtendrá varios permisos para trabajar sobre el tipo de contenido Artículo.
  actions:
	user.role.editor:
      ensure_exists:
        label: 'Editor'
      grantPermissions:
    	- 'delete any article content'
    	- 'edit any article content'

Si una receta necesita instalar nueva configuración, se guarda en una carpeta llamada "config". Cada entrada de configuración se almacena en un archivo YAML (.yml) cuyo nombre coincide con el del elemento que define. Toda la configuración proporcionada por una receta se instala de manera incondicional, por lo que no hay sub carpetas como "config/install" o "config/optional".

Igualmente, las recetas incorporan una nueva API que facilita la modificación de la configuración existente mediante una sintaxis declarativa. Esta API es independiente de las recetas y puede ser utilizado por otros módulos para realizar cambios en la configuración sin requerir programación.

El equipo de desarrollo de recetas alienta su uso en entornos de desarrollo debido al bajo riesgo que supone el mismo. Dado que no se esperan cambios significativos en la estructura ya implementada, es poco probable que las recetas construidas ahora requieran revisión.

Para utilizar las recetas se proporcionan parches extensos para su aplicación en versiones mantenidas de Drupal 10, minimizando colisiones con otros parches. Además, se dispone de un conjunto de recetas de Drupal para la exploración y contribución.

Aplicación de Recetas

Las recetas se aplican usando el script PHP de Drupal del núcleo. CD en tu webroot y ejecuta:

php core/scripts/drupal recipe recipes/contrib/[recipe-name]

Aunque no hay una fecha específica para la versión estable de las recetas Drupal, un equipo está trabajando activamente para su implementación a medio plazo. Es probable que se integren en una actualización menor de Drupal 10 o, como máximo, con la llegada de Drupal 11. Esto implica ajustes en la infraestructura, incluyendo la creación de un nuevo tipo de extensión y su correspondiente buscador en drupal.org.

Las recetas están aún en desarrollo y presentan ciertas limitaciones. Actualmente, no cuentan con un sistema para gestionar actualizaciones una vez aplicadas, lo que dificulta establecer un ciclo de vida claro. Se sugiere aplicarlas una única vez y gestionar cualquier cambio posterior de otra manera.

Inicialmente conocidas como "starter templates" o plantillas de inicio, su propósito principal es proporcionar un punto de partida para nuevos proyectos. Se espera que reemplacen los perfiles de instalación de Drupal, como Standard o Umami, representando una evolución de estos. La mejor forma de aprovechar esta capacidad de Drupal dependerá de la experiencia de uso.

Esperamos que esta nueva propuesta de Drupal. Si desea profundizar en el conocimiento de esta poderosa plataforma de gestión de contenidos, le invitamos a ponerse en contacto con nuestro equipo de expertos en DigitalProjex. Nuestros profesionales estarán encantados de brindarle una consultoría personalizada y guiarle a través de los próximos pasos para integrar Drupal de manera exitosa en su ecosistema digital. No dude en programar una reunión para analizar cómo Drupal puede transformar y potenciar su presencia en línea.

Compartir Blog

¿Necesita servicios de consultoría para crear una receta para su empresa?

Contáctenos
Blue chart
Ver todos los Blogs