Desarrollo de módulos Drupal personalizados para lo que ningún contrib resuelve
¿Cuándo tiene sentido desarrollar un módulo Drupal a medida?
No siempre hace falta un módulo custom. Pero hay situaciones donde es la mejor solución:
El módulo contrib existe pero no hace exactamente lo que necesitas y hacer un fork introduce más problemas que soluciones.
Necesitas integrar Drupal con un sistema externo que no tiene módulo oficial: ERP, CRM, API interna, plataforma de mensajería.
Tienes un proceso de negocio único que ningún módulo genérico cubre sin mucha configuración y workarounds.
El módulo contrib disponible tiene demasiada complejidad, peso o dependencias para lo que realmente necesitas.
Quieres código que puedas mantener internamente sin depender de que un tercero mantenga activo su módulo.
Necesitas que el módulo sobreviva la próxima actualización mayor de Drupal sin tener que reescribirlo.
Qué tipo de módulos Drupal desarrollamos
Módulos de integración
Módulos de contenido
Módulos de proceso
Módulos de interfaz
Módulos de acceso
Módulos de reporting
Módulos que no rompen en la próxima actualización
El problema más frecuente con módulos custom heredados de terceros:
Código acoplado directamente al core de Drupal que falla con cada actualización menor.
Hooks mal implementados que generan conflictos con otros módulos.
Funciones deprecadas que Google empieza a marcar en los logs.
Cero tests: nadie sabe si el módulo sigue funcionando hasta que falla en producción.
Sin documentación: cuando el desarrollador original se va, nadie sabe qué hace el módulo.
Lo que hacemos diferente:
Usamos la API de Drupal correctamente: plugins, services, eventos, dependency injection.
Código testeable con unit tests y kernel tests donde la criticidad del módulo lo justifica.
Documentación interna del módulo: qué hace, cómo se configura, qué hooks usa.
Compatibilidad declarada con la versión de Drupal objetivo y el roadmap de actualización.
Todo el código va a vuestro repositorio Git con historial limpio y mensajes de commit descriptivos.
Cómo desarrollamos tu módulo Drupal
Análisis de requisitos
Diseño técnico
Desarrollo iterativo
Tests
Documentación
Entrega y soporte
Ejemplos de módulos que desarrollamos
Sincronización con ERP
Formulario de pedido complejo
Panel de cliente personalizado
Dashboard de administración con métricas
Preguntas frecuentes sobre desarrollo de módulos Drupal
Depende completamente de la complejidad. Un módulo sencillo de integración con una API puede requerir 8-16 horas. Un módulo de proceso complejo con tests puede requerir 40-80 horas o más. Para darte un número necesitamos entender qué tiene que hacer el módulo. Cuéntanos el caso y te hacemos un presupuesto detallado.
Un módulo sencillo puede estar listo en 1-2 semanas. Módulos más complejos con múltiples integraciones pueden requerir 4-8 semanas. El tiempo depende de la complejidad, la disponibilidad de un entorno de desarrollo y la velocidad del feedback en las iteraciones.
Si lo desarrollamos correctamente usando la API de Drupal (y no hackeando el core), las actualizaciones menores dentro de la misma versión mayor no deberían afectar al módulo. Para actualizaciones de versión mayor (ej. D10 a D11) puede haber trabajo de adaptación, pero si el módulo está bien construido ese trabajo es previsible y acotado. Por eso documentamos la compatibilidad declarada desde el principio.
No, en ningún caso podemos modificar un módulo contrib. La solución más limpia es crear un módulo personalizado que extienda del módulo contrib para modificar el comportamiento original sin tocar su código. Siempre seguimos las buenas prácticas de desarrollo en Drupal facilitando el mantenimiento y las futuras actualizaciones.
Sí. El código que desarrollamos para ti es vuestro. Va a vuestro repositorio Git y podéis hacer con él lo que queráis: modificarlo, entregárselo a otro equipo, publicarlo en Drupal.org si queréis contribuir a la comunidad. No hay cláusula de exclusividad sobre el código.
Es uno de los casos más frecuentes que resolvemos. Necesitamos que vuestro sistema tenga una API (REST, SOAP, o cualquier protocolo) o un método de exportación de datos. Si no tienes documentación de la API, podemos analizarla conjuntamente antes de presupuestar.
Un módulo añade funcionalidad a Drupal: lógica de negocio, integraciones, tipos de contenido, permisos. Un tema (theme) controla cómo se ve esa funcionalidad: plantillas HTML, CSS, comportamiento visual. Desarrollamos módulos (funcionalidad) y también temas, pero son proyectos distintos con tecnologías distintas.
¿Tienes una funcionalidad en mente que ningún módulo cubre?