Drupal 8 Generics

June 18, 2021
Drupal

 

 Drupal 8, la nueva versión de Drupal 8 que tanto llevamos esperando, dado que si Drupal 7 permite la elaboración de tan diversos tipos de paginas y aplicaciones Web, Drupal 8 lleva esta escalabilidad y robustez a un nuevo nivel.

 

Pero muchos se preguntaran: ¿Qué tiene de interesante Drupal 8 respecto a Drupal 7 y respecto a otros sistemas? ¿Qué es Symfony y porque se uso para implementar Drupal? Este articulo intentara resolver muchas dudas que respectan a este nuevo CMS/CMF.

 

¿Que tiene de interesante Drupal 8?

 

Lo primero que podemos notar a la hora de probar Drupal 8 es que ahora fue mas pensado inclusive para dispositivos pequeños, y esto aplica para todo entorno, no solo el entorno de usuario o visitante, sino que la interfaz de administración tambien puede ser usada en dispositivos mas pequeños.

 

Otra cosa que notamos es la edición inline, una nueva característica que permite editar artículos y paginas (llámese “nodos”) de una forma mas rápida sin tener que ir a otra pagina. Pero si se necesita ingresar contenido mas intensivamente, se puede usar el famoso editor Web llamado CKEditor, el cual ya viene de antemano al instalar Drupal 8.

 

Drupal

 

 Tambien Drupal 8 ha reforzado la semántica y la accesibilidad Web la cual ayuda a que los sitios puedan ser detectados y su contenido tenga significado para motores de búsqueda Web (buscadores como Google o Bing posicionarían el sitio Web con mayor facilidad), redes sociales (redes como Facebook o Twitter conocerán lo mas importante de una pagina en Drupal a la hora de ser compartido) y lectores de pantalla para discapacitados.

 

Los administradores también cuentan con nuevas herramientas para construir el la estructura visual del sitio. El sistema de bloques ha sido mejorado para que los administradores usen cuantos bloques necesiten en cuantas regiones se necesiten. Ahora los formularios de administración para entidades de contenido (nodos, usuarios, taxonomías, etc. ) pueden ser administrados usando los “view modes” que fueron implementados para Drupal 7.

 

Y una de las mejoras mas importantes en Drupal 8 es el “Configuration Management” o el Administrador de configuraciónn. Esta nueva característica permite que cada funcionalidad implementada como bloques, tipos de contenido, estructuras de campos, modos de vista para formularios o visualización, roles, etc. ahora puedan ser administrados como “entidades de configuración”, y esto permite a Drupal manejar todo esto tras bastidores a través de archivos .yml y así el administrador puede importar, exportar, sincronizar con otros servidores que contienen este sitio o inclusivo que otros módulos importen configuración predeterminada. Esta mejora hace que el modulo de “Features” sea en esencia innecesario para la administración y versionamiento de configuración.

 

Beneficios para desarrolladores

 

Drupal

 

Entonces… ¿Qué es Symfony? Mucho se ha escuchado sobre este framework de PHP, tanto que últimamente este sistema es la opción principal para grandes aplicaciones y sistemas Web en PHP. Este framework es extremadamente flexible sin perder robustez, contiene componentes que permiten ser usados por Symfony o por otros frameworks de PHP. De esto se aprovechó Drupal 8 para funcionar, ya que Symfony funciona en el núcleo de Drupal 8. La ventaja de esto es que permite un mejor diseño de funcionalidades nuevas usando conceptos más modernos de programación y patrones de diseño orientados a objetos que permiten que el código se pueda extender mas fácilmente y por ende mejorar su mantenimiento.

 

Ahora cada modulo nuevo declara sus paginas, formularios, servicios y llamado de eventos en clases. Y muchos de estos elementos usan componentes de Symfony como el componente para enrutamiento, el inyector de dependencias, el asignador de eventos, o el componente HttpFoundation para manejar peticiones y respuestas HTTP.

 

Drupal 8 también maneja un concepto que se lleva desarrollando desde Drupal 7 llamado “Headless Drupal”, el cual busca que Drupal alimente varias capas de presentación que podrían desarrollarse en distintas tecnologías, tanto Web como AngularJS o React, o aplicaciones móviles. Este concepto se lleva a cabo a través del módulo de Services, el cual permite construir un RESTful cuyas respuestas pueden ser manejadas desde la interfaz de administración.

 

Conclusión

 

Ya para concluir con este articulo, es necesario recalcar algo: si bien Drupal 8 no es una reconstrucción total de la versión anterior, existen muchas cosas que necesitan ser re-aprendidas y montarse nuevamente en la curva de aprendizaje. En mi opinión, cuando se interactua con la interfaz de administración de Drupal 8 por primera vez, se siente la mejoría directamente. Sin embargo , si se interactua con Drupal 8 desde código, el desarrollador tendrá ante el una nueva curva de aprendizaje que escalar que consiste en el aprendizaje de patrones de diseño, enrutamiento, nuevos estándares de PHP y sobre todo la forma en como Drupal implemento todo ello y la nueva forma en como Drupal busca que el desarrollador implemente esto. Dicho esto, una vez la curva de aprendizaje haya sido asimilada, las posibilidades serán infinitas para el desarrollo de aplicaciones Web.