Redirector, la última locura, modulo, para D8

Si hace unos días hablaba de ACB, un módulo que estoy dando las puntadas finales para D7, y que me parece una buena idea, a ver la acogida del público XD, ahora quiero comentar otro módulo que estoy rumiando.

La idea detrás de redirector es doble, por un lado una mejora en el rendimiento de las redirecciones de Drupal, y por otro quitarles trabajo a los administradores de Sistemas.

Pero vamos por partes, primero ¿Qué hace/debería hacer Redirector?

Redirector lo que busca es ser capaz de generar un archivo de texto plano con las redirecciones que tiene configuradas en Drupal con módulos como Redirect (existen más módulos, pero he empezado por este), en función de las opciones escogidas en el módulo el archivo de texto plano lo puede "interpretar" Nginx, Apache, u otro proxy que pueda gestionar redirecciones.

Al generar este archivo "interpretable" lo que conseguimos es por un lado que sean los creadores de contenidos de Drupal quienes puedan seguir haciendo las redirecciones, manteniendo la usabilidad que nos da el módulo Redirect. Además, estas redirecciones, como no se ejecutan en Drupal, sino en el servidor/proxy se gana en rendimiento, ya que cando es Drupal (php) quien gestiona las redireciones lo que ocurre es que la petición llega hasta la base de datos, para devolver al servidor la nueva página que tiene que cargar, es más lento y consume más recursos del sistema que hacerlo directamente en el servidor/proxy.

En caso de que tengamos alguna otra forma de hacer redirecciones (yo he recibido excells llenos de redireciones que se tienen que subir al servidor, reiniciar sevidor, etc...) Redirector (en realidad un comando de drush) se encargará de actualizar el archivo que contiene las redireciones (si fuese necesario), y reiniciar el servidor/proxy

A diferencia de ACB que es un módulo que le falta muy poco para ser finalizado, Redirector esta en un estado muy conceptual, voy añadiendo código que se que voy a necesitar, pero estoy rumiando si el proceso que ejecuta el cron debe ser un proceso en Batch, o por el contrario usa la cola de procesos de Drupal 8.

Como siempre los comentarios, críticas, y sugerencias son bienvenidos.

Un saludo.

Oskar