El formulario requiere de un apartado de datos de contacto y otro con varios campos para la subida de ficheros, uno de los campos es de tipo archivo de texto y los otros son del tipo archivo de imagen. Por supuesto los formularios deben ir acompañados del correspondiente Captcha para evitar el spam, además de validaciones varias como: campos obligatorios, validación del tipo de dato, confirmación de cuenta de correo, y limitación tanto del tipo como del tamaño del archivo a subir, estas últimas de gran importancia de cara a preservar el sitio y su funcionamiento.
He probado tres componentes, y cada uno tiene sus particularidades. Dos de ellos tienen versiones gratuitas pero ello supone que al pie del formulario aparece un enlace al desarrollador, cuestión que no queda muy bien. Para eliminar el enlace hay que realizar una suscripción, que además nos proporciona la posibilidad de tener soporte, y descargarnos el componente con sus funcionalidades al 100%. El tercero de ello es totalmente gratuito, pero no da la talla para el formulario que requerimos, este en concreto se llama Aicontactsafe, que como su nombre nos hace intuir es más apropiado para formularios de contacto.
Los otros dos que he barajado son Breezingforms y Chronoforms. Me he decantado por Breezingforms. Ahora explico lo que me he encontrado en cada uno de ellos:
Breezing Form
Tiene una versión gratuita que se llama Lite. Esta versión tiene además del enlace en el pie del formulario, ciertas limitaciones en sus funcionalidades como el hecho de que la subida de archivos no se puede realizar con métodos llamados HTML5 o Flash upload. Tampoco se puede ajustar para el caso de usar plantillas adaptadas a móviles.
Dispone de todo lo necesario para realizar nuestro formulario, y de muchísimas más funciones. Presenta tres formas para construir el formulario: Quickmode, Easy Mode y Clasicc mode. El último es el más flexible y potente, requieriendo conocimientos técnicos, pero para aquellos que ya usarán FacsileForms (el antepasado de Breezing) no supondrá problemas.
Otra ventaja que presenta es que tiene una serie de diseños que hacen muy atractivos los formularios y es fácilmente adaptable a nuestra plantilla con hojas de estilo fácilmente identificables.
El problema que se me ha presentado con esta extensión es que no encuentro la forma de limitar el tamaño del archivo subido, ni en la forma Quickmode, ni en Classic mode pese a la inclusión de scripts tal y como se indica en los foros. No sólo no funciona, sino que afecta al funcionamiento de los botones creados: siguiente y anterior, para moverse por la páginas del formulario, y lo que es más importante, Enviar el formulario. Según el desarrollador la forma más simple de habilitar este control es seleccionando la opción de subida mediante el método HTML5 para lo que es necesario disponer de la suscripción. Otra cuestión para un artículo aparte es el hecho de que los navegadores soporten o no este método, aunque cada vez carece de más importancia y más teniendo en cuenta la necesidad de actualizar el sistema operativo más extendido a Windows 7 / 8.
Por todo lo demás, el modo Quickmode es intuitivo y sencillo, y permite implementar todas las funcionalidades necesarias para un formulario algo más que sencillo.
En lo que respecta a la documentación existe bastante y de forma ordenada, además en mi opinión tanto su uso, como los resultados son óptimos.
Por último indicar que es la extensión que a fecha de hoy recibe mejor puntuación de los usuarios en el JED (Joomla Extensión Download).
Chronoforms
Existe una única versión, lo que significa que no reduce sus funcionalidades por ser gratuita, si bien, si es inevitable la firma en el pie del formulario del desarrollador.
Se trata de una gran extensión, es intuitiva en parte, pero requiere de mayores conocimientos técnicos para realizar determinadas funciones que podemos decir son, a día de hoy, básicas como por ejemplo la inclusión de un campo para la confirmación del correo electrónico o la inclusión de R-captcha.
Por otra parte la documentación del sitio oficial está dispersa y es necesario repasar FAQ´s y Foros para localizar funcionalidades básicas.
El principal problema que he encontrado es relativo a la validación de los campos, si bien, es más completa que en el caso de BreezingForms, resulta que un campo de texto es validado de forma estricta sin la posiblidad de incluir carácteres acentuados, y aunque existe una mención en la FAQ al respecto, no he logrado hacer que la validación funcione.
Por otra parte, teniendo en cuenta la dispersión de la documentación y la necesidad de buscarla de forma separada (ni siquiera existe un tutorial básico), y si bien la suscripción conlleva el soporte (y es más barata que la Brezingforms), si queremos disponer de algún tipo de manual hay que comprarlo por separado, con lo que finalmente la puesta en marcha de esta extensión es más cara que en el caso de Breezingforms.
Otro inconveniente que he encontrado es el hecho del diseño del formulario. La estética se adapta a la plantilla, pero el resultado no es tan vistoso ni tan profesional como en el caso de BreezingForms.
Tiene una puntuación en el JED algo más baja que Breezingforms, pero no mucho, no obstante el problema de la dispersión de la documentación, la inexistencia de al menos un manual de inicio, y la necesidad de conocimientos de programación para lagunas tareas, me hacen decantarme por Breezingforms.