Cómo desarrollar mi habilidad en Drupal

Escribo cosas en Valuebound – Ideas e ideas relacionadas con Enterprise CMS que podrían ayudarlo con esta pregunta. La respuesta a continuación ha sido escrita a partir de muchos recursos que reuní con el tiempo.

Con la creciente comunidad de Drupal, un principiante muchas veces se pierde en la gran cantidad de recursos, con un número creciente de desarrolladores en Valuebound, hablé con algunos de los desarrolladores experimentados sobre su opinión sobre las habilidades que un desarrollador de Drupal debería tener y También examinó toneladas de materiales de Stackoverflow y algunos lugares más.

El conjunto de habilidades que estamos discutiendo aquí dará una idea clara sobre su posición, lo que sabe, lo que no sabe y, por supuesto, me llenará con lo que me he perdido, y rápidamente agregaré las sugerencias. Antes de esto, tengo 6 cosas que el desarrollador de drupal debería saber.

Pila de tecnología

Por lo que he entendido, las cosas muy básicas que se esperaría que Drupal Developer supiera en términos de lenguajes son muy similares al desarrollo web en general, ya que Drupal está construido con PHP, es bueno tener un control para comenzar con Drupal. Y SQL bien, una base de datos para manejar el resto.

  • PHP
  • MySQL
  • JQuery

Control de versiones – Git

Para colaborar en un proyecto, los desarrolladores de Drupal usan el software de control de versiones Git. Aprender los conceptos básicos de Git ayudará a mantenerse organizado y habilitar habilidades esenciales para trabajar con un equipo. Incluso si es la única persona en el proyecto, todavía hay muchas ventajas de usar un sistema de control de versiones como parte de su flujo de trabajo diario.

  • Una visión para el control de versiones: ¿qué es el control de versiones y por qué debería usarlo para todos sus proyectos?
  • Git para principiantes: todo lo que necesita saber para comenzar a usar Git.
  • Aplicar y crear parches: cómo aplicar un parche a un módulo proporcionado por otro desarrollador y cómo crear uno propio para que pueda aportar sus soluciones a la comunidad.

Habilidades Drupal

  • Investigue e instale módulos de acuerdo con los requisitos del proyecto.
  • Configure los módulos básicos y la configuración básica para que un sitio funcione
  • Herramienta de línea de comando Drush
  • Haga un tema personalizado desde cero que valide con buen HTML / CSS.
  • Capaz de personalizar y ajustar formularios, núcleos, temas sin alterar los archivos principales, pero utilizando template.php o módulos personalizados.
  • Puede crear formularios desde cero utilizando la API, con validación y publicación en la base de datos / correo electrónico
  • Conocimiento de API clave de Drupal como API de cola, API de nodo, API de entidad, API de Drupal.

El formulario API no es el único. Debe comprender el sistema de menús (devoluciones de llamada de página, acceso, título y entrega, cómo pasarles parámetros, etc.), la API de cola para operaciones asincrónicas, la API de lote para operaciones de larga ejecución, las entidades y las API de campo para datos estructurados editables por el usuario , API de temas y matrices de renderizado para cualquier presentación, API de caché, API de esquemas y bases de datos, API de archivos, API de caché y API de localización.

  • Puede crear módulos personalizados desde cero utilizando ganchos de núcleo y ganchos de módulo.
  • PHP, es un marco PHP, por lo que para comprenderlo y usarlo realmente, necesita comprender PHP.
  • SQL, la lista de servicios SQL que Drupal puede usar está creciendo, pero necesitará comprender * SQL, la base de datos relacional y cómo configurar una arquitectura básica.
  • Javascript (y jQuery). Drupal usa la biblioteca jQuery js, por lo que será mucho más fácil si no solo sabe cómo usar javascript, sino que también comprende cómo usar jQuery y algunos de sus conceptos.
  • OOPs – OOPs – OOPs
  • Servicios web: la API de servicios web RESTful es nueva en Drupal 8.

Módulos No hay una lista de módulos que debe conocer, ya que todo dependerá del sitio y de cómo los use, pero los siguientes son ampliamente utilizados:

Puntos de vista

  • Sepa cómo hacer vistas y bloques básicos.
  • Sepa cómo hacer vistas más complejas con relaciones y términos.
  • Sepa cómo usar hook_views_query_alter para realizar consultas complejas.
  • Sepa cómo usar hook_views_default_views, para crear vistas específicas.

Paneles

El módulo Paneles permite al administrador del sitio crear diseños personalizados para múltiples usos.

En esencia, es un administrador de contenido de arrastrar y soltar que le permite diseñar visualmente un diseño y colocar contenido dentro de ese diseño.

Otras habilidades

  • Participe con la comunidad y las contribuciones, comprenda las convenciones de nomenclatura, el sistema CVS e idealmente haya enviado algún código o revisiones, un módulo a Drupal – CMS de código abierto (por simple que sea) o haya enviado un parche (el proceso de obtener una cuenta CVS y obtener su primer código es instructivo para la comunidad y para los estándares
  • Posibilidad de usar Drush para actualizar o configurar un sitio
  • Poder editar la funcionalidad existente (núcleo o módulo) sin tocar el núcleo o módulo y saber si se debe colocar en una plantilla o un módulo personalizado.
  • Buen conocimiento de la arquitectura cliente-servidor, cómo funcionan los servidores y navegadores. Y conocimiento de php y mysql, motores de plantillas. Y, por supuesto, también deberías leer las documentaciones de Drupal.

Para cualquier tipo de configuración de desarrollo, incluso en Drupal hay una variedad de roles que se agrupan para construir y soportar aplicaciones de Drupal que incluyen:

Los administradores del sistema o Devops que ejecutan la pila en vivo y trabajan en el proceso de implementación de sitios Drupal de dev a live, se ocupan de problemas de rendimiento, configuran una red de entrega de contenido, barniz, Memcache, básicamente todo lo relacionado con las cosas después y durante la implementación . Estos facilitadores también ayudan a ejecutar simulacros para evitar problemas como el que sucedió recientemente con Gitlab.

QA: prueba para garantizar la adherencia de calidad y los requisitos correspondientes. Configure entornos de prueba automatizados, programe automáticamente y ejecute pruebas.

Project Manager / Scrum Master: dirija el equipo, elimine los obstáculos para el progreso, garantice la entrega a tiempo del proyecto dentro del presupuesto.

Propietario del producto: facilita los requisitos trabajando en estrecha colaboración con el gerente del proyecto para priorizar el trabajo atrasado. Normalmente tiene la firma final de todos los cambios.

Diseño / UX: crea con el diseño y la experiencia del usuario. Ayudan a construir prototipos que luego se pueden convertir en un tema de Drupal.

Un equipo completo consta de todas las cosas anteriores y eventualmente puede elegir seleccionar un perfil para evolucionar.

En algunas de las próximas publicaciones discutiremos sobre las cosas que debe saber que le darán una ventaja como desarrollador de Drupal.

Inspiraciones