Pasar al contenido principal

Presentación "Anatomía de una petición de formulario Drupal" en la Drupal Camp 2013 Cáceres

El Form API de Drupal es un sistema muy potente para crear formularios de todo tipo. Sin embargo, dada su complejidad, es difícil de entender y cuando uno necesita construir formularios complejos es fácil acabar peleando contra los mecanismos del Form API debido a esa falta de comprensión detallada de su funcionamiento interno.

La documentación existente es muy detallada pero siempre eché de menos una foto general pero con detalle de todo el proceso. Por eso decidí presentar una charla en la DrupalCamp 2013 Cáceres, para compartir lo que había aprendido peleando con el Form API hasta que pasó de casi enemigo hasta ser un compañero simpático y solícito. La charla consiste en esa foto general pero detallada del funcionamiento interno del mecanismo de formularios de Drupal, pensada como la documentación que me hubiese gustado encontrar cuando empecé a profundizar en el uso de formularios en Drupal. Pretendo recorrer los procesos involucrados al realizar una petición de formulario de Drupal: generación del formulario, alternaciones del mismo, envío al cliente, reconstrucción al recibir la respuesta, peticiones AJAX, mecanismo de caché, ejecución de hanlders, etc. Este conocimiento debería ayudar a construir formularios complejos con elementos cambiantes sin demasiado sufrimiento ni frustración por entender por que el formulario no se comporta como queremos.

Dado que aún no se han podido publicar las diapositivas en la propia web de la DrupalCamp las subo aquí para quién pueda resultarles útiles.

Adjunto la presentación en PDF y una imagen PNG con el diagrama de flujo del FAPI, que por cierto ya forma parte de la documentación de formularios de drupal.org :)

 

Ficheros adjuntos: 

(PDF) Anatomía de una petición de formulario drupal

(PNG) Diagrama de flujo

RIcardo Sanz Ante

Ricardo Sanz

CTO

Cursos de formación para grupos

Capacitación presencial y online para equipos de desarrollo y producto.