Go Headless! Desacoplamiento de Drupal 9 con el módulo JSON API

     Con la aparición de varias librerías basadas en JavaScript, como Angular, Vue.js, React, etc. y el aumento definitivo del uso de dispositivos móviles, para conectarse a toda clase de servicios basados en plataformas, webs o aplicaciones; ha llegado el momento perfecto, para que todos aquellos que trabajamos con proyectos desarrollados en Drupal, nos planteemos la posibilidad "Descabezar" o "Desacoplar", el Frontend y el Backend, para seguir sacando el mayor partido, a su potente y flexible interfaz de usuario y al mismo tiempo, que nos adentramos poco a poco en el mundo del Frontend usando las nuevas librerías.

     Por lo general, el elemento común, con el cual funcionan la mayoría o todas estas nuevas librerías basadas en JavaScript, es la lectura de datos en formato Json, debido a la flexibilidad estructural basada en arreglos o Arrays.

     Para ayudarnos con esta transformación o adaptación en Drupal, existen varios módulos contribuidos, algunos incorporados directamente en el núcleo de Drupal, a partir de la versión 8, como el caso de Rest y Json Api, y otros como Json Extras, que nos permitirán ampliar nuestras posibilidades con esta clase de implementaciones.

     Hoy vamos a abordar, la implementación de Json Api y Json Extras, para transformar en formato Json, todo el contenido dentro de nuestra web desarrollada con Drupal 9, sin que tengamos que invertir demasiado tiempo ni complicarnos la existencia. 

Go Headless! Desacoplamiento de Drupal 9 con el módulo JSON API

     Como ya mencionamos al principio de este artículo, el módulo Json Api, ha sido incluido en el núcleo de Drupal 9, por lo que para comenzar a utilizarlo, sólo necesitaremos activarlo desde la url "/admin/modules", o si tienes instalado el módulo Admin Toolbar, podrás hacerlo a través del menú superior, tal y como te muestro en la imagen:

modulos - www.drupaladicto.org Formacion especializada en drupal y symfony - roles permisos y usuarios

     Ahora sólo nos faltaría descargar e instalar el módulo JSON:API Extras, para mostrarte lo fácil que será convertir en formato Json, todo el contenido que hayamos creado en nuestro Drupal, para poder aplicarle cualquier alternativa en diseño Frontend con la que te sientas más identificado.

 

json api - www.drupaladicto.org Formacion especializada en drupal y symfony - roles permisos y usuarios

Cómo instalar y configurar el módulo:

Paso 1 Descargar el módulo:

     Lo primero que tendrás que hacer es descargarlo, para ello, a partir de Drupal 8 se recomienda que utilices el gestor de paquetes Composer, ya que te facilitará tanto la instalación como futuras actualizaciones del tus proyectos. No obstante también podrías descargarlo desde la Página oficial del módulo y una vez descargado, tendrás que colocarlo en la carpeta "modules" o "modules/contrib", dependiendo de tu instalación y asegurarte de descargar todas sus dependencias o el módulo no funcionará, esta es una de las ventajas con las que cuentas al hacer la instalación usando Composer.

Paso 2 Activación del módulo :

     Para activar el módulo JSON:API Extras, al igual que todos los demás módulos contribuidos de Drupal, tendrás la posibilidad de hacerlo, mediante el uso de la herramienta Drush, con el comando "drush en jsonapi_extras -y", que sirve para activar cualquier módulos y todas sus dependencias, o desde la interfaz de Drupal.   

     En nuestro ejercicio, antes de activar el módulo Json Api del núcleo de Drupal, vamos a descargar el módulo Json:Api Extras, para ello, como siempre, utilizaremos Composer con el comando que hemos mencionado anteriormente. 

headless drupal - www.drupaladicto.org Formacion especializada en drupal y symfony - roles permisos y usuarios

     Una vez haya concluido la descarga del módulo, nos iremos a nuestro proyecto, en la url "t/admin/modules" y activaremos los siguientes módulos:

headless drupal - www.drupaladicto.org Formacion especializada en drupal y symfony - roles permisos y usuarios

     El módulo Serialización se activa automáticamente, como dependencia de Json Api del núcleo de Drupal 9.

     Tan pronto como termine la activación de los módulos que hemos seleccionado, si refrescamos caché, podremos acceder desde el menú de administración a los Servicios Web.

headless drupal - www.drupaladicto.org Formacion especializada en drupal y symfony - roles permisos y usuarios