La documentanción es una parte crucial del desarrollo del software, ya que habilita planificar, detallar y describir todas las particulares del proyecto. Esquemas relacionales, pasando por Análisis de control de flujo (con su correspondiente Grafo de control de flujo), Análisis de flujo de Datos, etc. Aunque los CMS facilitan la parte desarrollo, eso no quiere decir que no se tenga que hacer un análisis y su correspondiente documentación de cada proyecto. En el caso de Drupal, estos documentos pueden llegar a ser a mayor o menor nivel, dependiendo de la complejidad del proyecto. En este post se va a intentar dar una pequeña idea de como funcionaría una documentación básica de Drupal.
Documentando los diferentes componentes del proyecto
Lo primero sería identificar los diferentes componentes del proyecto. Normalmente podemos dividir los componentes que forman un proyecto de drupal en los siguientes:
- Tipos de contenido
- Taxonomías
- Paragraphs
- Módulos (no todos los módulos)
- Vistas
- Bloques
- Roles de usuario
Tipos de contenido, paragraphs y taxonomías
Los tipos de contenido, los paragraphs y las taxonomías se definen de una manera similar, aunque no tengan la misma funcionalidad, ya que hay que definir todos sus campos con una estructura similar a la siguiente: Nombre del campo, nombre máquina, tipo de campo, si es requerido, si es traducible, y si el campo es Múltiple.
Módulos
En este caso no hace falta listar todos los módulos; simplemente los módulos custom, detallando su funcionalidad, y algunos módulos con una funcionalidad extraña, o más complicada y que haya detallar para clarificar lo mejor posible.
Vistas
Listar las vistas y su funcionalidad: Listado (tipo de contenido, taxonomías), mapa, etc.
Bloques
Definir los bloques que habrá en la página (encabezado, footer, etc.)
Roles de usuario
Listar los diferentes roles de usuarios y los permisos (en general, no todos los permisos del listado de drupal) por cada rol de usuario.
Estos análisis nos ayudarán a afrontar el proyecto con menor dificultad y mayor claridad.