Establecer el ciclo de vida de los modulos de Drupal siempre ha sido un problema y se ha tratado de solucionar indicándola en la versión. Pero ya ha venido la comunidad a solucionar este problema de una manera muy sencilla.
Se trata de los nuevos ciclos de vida de los modulos y themes de Drupal, que ahora tendrán varios estados, cada uno además limitara los modulos o themes de alguna manera, ya sea advirtiendo de su instalación hasta llegar a impedirla por completo.
Nuevos estados de Drupal
Pues bien, estos son los nuevos estados que tendremos disponibles desde la versión 9.3.0 en adelante:
Experimental: Este estado indica que es un módulo que todavía no es estable y puede que nunca llegue a serlo, de modo que debemos extremar las precauciones al instalarlos y estar atentos a problemas. Deberemos instalarlo bajo nuestra responsabilidad.
Estable: Esta es la opción por defecto si no indicamos nuestro propio estado, he indica que el modulo es perfectamente usable y lo podemos instalar sin problemas.
Deprecado: Indica que el módulo se dejará de utilizar y desaparecerá en algún momento ya que se ha abandonado, si lo intentamos instalar, Drupal nos advertirá de que esta deprecado.
Obsoleto: Los modulos con este estado, deberían desinstalarse cuanto antes. Si tenemos un modulo instalado en este estado, Drupal nos advertirá de ello y recomendará su desinstalación; además, si intentamos instalarlo Drupal nos lo impedirá.
Como utilizar los nuevos ciclos de vida:
Utilizarlos en nuestros propios modulos es muy sencillo, únicamente debemos añadir una línea mas a nuestro archivo info.yml del módulo, indicando uno de los cuatro estados disponibles.
name: Some core module
type: module
description: '...'
package: Core
version: VERSION
core: 9.x.x
hidden: true
lifecycle: [experimental|stable|deprecated|obsolete]
Tenéis más información en el anuncio oficial de Drupal.
Me metí en la aventura de Drupal con la versión 6, y aquí estoy, 10 años después, escribiendo articulos y haciendo videos sobre Drupal, quien me lo iba a decir. Aunque he probado otros framworks y cms, me quedo con Drupal de lejos, pero Symfony y Django estan entre mis favoritos. Aficionado a la montaña, la bicicleta, y el comer, de eso que no falte.