Talented minds - Mentes talentosas
Enero 24, 2016 - Fernando Parede...

Hace poco tuve la oportunidad de participar en el Drupodcast, una videollamada donde el tema principal fue: Todo lo que no te has atrevido a preguntar sobre la Drupal Console. A continuación el extracto de lo aprendido y vivido.

Qué és la Drupal Console y el por qué de su importancia

Drupal Console es una herramienta de línea de comandos (CLI) para generar código repetitivo, depurar e interactuar con Drupal 8. La nueva versión de Drupal impone el desarrollo orientado a objetos, con un agradable sabor a Symfony. Cambiar de esquemas en cada nueva versión de Drupal y hacerlo de manera disruptiva es la costumbre, trayendo consigo el reto de aprender lo nuevo, re-aprender algunas cosas y adaptarse rápidamente. ¿Nada fácil verdad? ¡Pues Drupal nunca fue fácil! Felizmente, encontramos en Drupal Console a un aliado que nos permite ahorrar tiempo y aprender mejor. Esto la convierte en una herramienta indispensable para desarrollar con Drupal 8.

Para más información hay un screencast de introducción a Drupal Console.

Preguntas y respuestas durante el Drupodcast

  1. ¿Hay algún comando para generar themes?
    El comando generate:theme sirve para generar un theme base sencillo sobre el cual poder comenzar a trabajar. En este momento tiene soporte para los temas classy y seven del core. Además permite definir el breadcrumb y las regiones, entre otras opciones.

  2. ¿Se puede especificar los archivos css y js del theme en el generador?
    Hay un issue que propone agregar las dependencias js y css del theme al generador: [generate:theme] Generate a library while generating a theme.

  3. ¿Qué puntos tienen pensado desarrollar en 2016 que requieren más apoyo de la comunidad?
    El soporte multi-idiomas es lo que necesita mucha participación de la comunidad. Por ejemplo ahora se está desarrollando el soporte para Japonés, que permitirá acercarse más al mercado asiático.

    En general los issues se dividen en dos categorías:

    • diseño (arquitectura, concepto)
    • desarrollo (bugs, nuevas funcionalidades, portar comandos drush)
  4. ¿Para que sirve la opción --learning?
    La opción --learning es un modo verbose que agrega más detalles a la salida estándar y al código generado, incluso esta información tiene traducción a otros idiomas.

  5. ¿Es posible crear nuevos comandos y subcomandos desde un theme o módulo?
    El comando generate:command permite generar comandos personalizados desde un módulo. Todavía no existe soporte para esta funcionalidad en los themes pero está en desarrollo: [console] Improve command discovery, disable custom commands.

  6. ¿Qué pasa si quiero agregar más código generado al que ya existe?
    Drupal Console evita la intervención del usuario para evitar errores, por esa razón se comporta en modo append, es decir, que permite agregar código procurando no reescribir lo que ya es ha generado. Sin embargo es muy importante utilizar un versionador de código (p.e: git) para evitar perder código, porque no siempre se puede garantizar el modo append.

  7. ¿Se puede interactuar con una instalación remota de Drupal?
    Absolutamente sí, hay opciones avanzadas para exportar la configuración y la base de datos a un servidor remoto via ftp o ssh. Sin olvidar que Drupal Console sirve para Drupal post-instalación (una vez ya instalado), en el caso de instalar un sitio Drupal nuevo, se recomienda usar composer, que incluso se puede configurar para instalar Drupal Console automáticamente.

  8. ¿Con qué comandos se cuenta para hacer migraciones?
    Por ejemplo el comando migrate:setup abre una consola interactiva para configurar las opciones de una migración, tales como especificar el target, el source, límites, entre otras cosas. Quedó pendiente desarrollar el tema por falta de tiempo pero que se desarrollará en un futuro Drupodcast.

Un granito de arena para la Drupal Console

Hubo una idea de mejora que contribuí durante el Drupodcast. Materializada en la issue queue: [console] Learning mode: New global option in config file. Me sorprendió la velocidad con que se implementó el cambio solicitado y la buena disposición de los maintainers de Drupal Console para que se incluya en el próximo release.

Conectándose con la comunidad de Drupal Console

Para aprender más acerca de la consola, para contribuir con ideas y también para contribuir al desarrollo, existen los siguientes recursos:

Todavía hay mucho más que compartir, en un próximo artículo incluiré los demos que se realizaron durante el Drupodcast (con algunas adiciones a mi estilo).

¡ Que viva la Drupal Console !

Añadir nuevo comentario