Desarrollo Joomla a medida: componentes, integraciones y funcionalidad a la carta
Las extensiones estándar cubren los casos habituales. Tu negocio no siempre es un caso habitual. Cuando el flujo de trabajo, el modelo de datos o la integración que necesitas no existe en el ecosistema Joomla —o solo existe como una reliquia abandonada de 2014— la diseñamos y la construimos: componentes, módulos, plugins e integraciones de API a medida, desarrollados con los estándares modernos de Joomla 5 y 6 por un equipo que vive dentro de esta plataforma.
También rescatamos lo que ya existe. Miles de empresas europeas dependen de componentes Joomla a medida creados por desarrolladores que hace tiempo que desaparecieron: funcionalidad crítica que nadie se atreve a tocar. Modernizar código a medida huérfano es una de nuestras especialidades y, con frecuencia, la pieza que faltaba para desbloquear toda una actualización de versión.
Qué desarrollamos
Componentes a medida
Aplicaciones completas dentro de tu sitio Joomla: directorios y catálogos, sistemas de reservas y consultas, áreas de socios, portales documentales, configuradores de producto, publicación de datos estructurados para cualquier sector. Un componente es dueño de su propio modelo de datos, de su interfaz de administración y de sus vistas en el frontend; cuando tu lógica de negocio no encaja en artículos y campos personalizados, esta es la herramienta adecuada.
Módulos y plugins
Piezas más pequeñas y quirúrgicas: módulos de visualización que presentan tus datos exactamente como se diseñaron, plugins de sistema que cambian el comportamiento de Joomla, plugins de contenido que enriquecen los artículos de forma automática, ganchos de autenticación y de flujo de trabajo. A menudo, unas pocas líneas bien colocadas sustituyen a toda una extensión sobrecargada que de otro modo licenciarías para siempre.
Integraciones de API y de sistemas
Conectar Joomla con los sistemas sobre los que realmente funciona tu negocio: CRM, ERP, pasarelas de pago, plataformas de reservas, sistemas de newsletters, bases de datos sectoriales. En ambos sentidos: trayendo datos externos a tu sitio y exponiendo tu contenido de Joomla a través de su API REST hacia otras aplicaciones. Hecho con la autenticación adecuada, gestión de errores y flujos de datos conscientes del RGPD, porque una integración es una actividad de tratamiento de datos, no un simple conector.
Ingeniería a nivel de plantilla
Overrides, plantillas hijas y trabajo de maquetación que adaptan una plantilla a tus necesidades sin modificar el núcleo ni los archivos del proveedor, de modo que cada cambio sobreviva a cada futura actualización. Aquí es también donde encaja la corrección de accesibilidad cuando la solución está en el marcado.
Rescate de código a medida heredado
El componente que tu desarrollador construyó en 2013 sigue moviendo tu negocio —sobre Joomla 3, en un código que nadie entiende—. Lo auditamos, lo documentamos y lo reconstruimos como una extensión Joomla 5/6 limpia y con espacios de nombres: la misma funcionalidad, los mismos datos (migrados), unos cimientos modernos. Este suele ser precisamente el bloqueo que ha mantenido a un sitio atrapado en una versión sin soporte, y eliminarlo es lo que hace posible la actualización.
Estándares de ingeniería
El código a medida solo es un activo si sigue siendo mantenible una vez pagada la factura. Todo lo que entregamos se construye con los estándares que lo hacen posible:
- Arquitectura Joomla moderna y nativa: código con espacios de nombres, proveedores de servicios, el Web Asset Manager, los patrones MVC del núcleo. Construido para Joomla 5 y 6 tal como están pensados para usarse, no patrones heredados arrastrados hacia delante, de modo que las futuras versiones de Joomla sean un escalón y no un muro.
- La seguridad como requisito de diseño: filtrado de entradas, consultas preparadas a la base de datos, integración con la ACL, protección CSRF y mentalidad de mínimo privilegio desde la primera línea. Nuestro trabajo de recuperación nos demuestra cada semana lo que cuestan las extensiones mal escritas; nosotros construimos lo contrario.
- Disciplina de rendimiento: consultas eficientes, caché con criterio, recursos cargados solo donde hacen falta, sin jQuery arrastrado por inercia. El código a medida debería hacer tu sitio más rápido que la alternativa genérica, no más lento.
- Cumplimiento desde el diseño: todo lo que toca datos personales se entrega pensando en el RGPD: minimización de datos, ganchos de retención, integración con las herramientas de privacidad de Joomla. La salida en el frontend se construye con estándares de marcado conscientes de la WCAG.
- Documentación y traspaso: documentación escrita de qué hace el código y cómo, comentarios en línea donde importan y un traspaso estructurado. Nunca quedas rehén de nosotros.
El código es tuyo
Sin rodeos: el código que construimos para ti es tuyo. Código fuente completo, entregado de forma abierta, licenciado bajo la GPL como corresponde a las extensiones de Joomla, y con todo lo necesario en tus manos para que cualquier desarrollador competente lo mantenga o lo amplíe en el futuro. Sin archivos cifrados, sin servidores de licencias llamando a casa, sin un rescate anual para que tu propia funcionalidad siga funcionando. El modelo de negocio del cautiverio que impregna el mercado de extensiones es exactamente aquello de lo que te libera el desarrollo a medida bien hecho.
Cómo se desarrolla un proyecto
- Análisis. Profundizamos en lo que realmente necesitas, con frecuencia más sencillo que la primera descripción, en ocasiones más profundo. Recibes una especificación escrita en lenguaje claro: pantallas, comportamientos, datos, integraciones y qué queda explícitamente fuera del alcance.
- Presupuesto cerrado. Frente a esa especificación, un precio y un plazo cerrados. Los cambios de alcance se presupuestan como cambios, de forma transparente, no se descubren en la factura final.
- Desarrollo en staging. El desarrollo ocurre en un entorno de staging que puedes seguir. Hitos para los proyectos más grandes, con software funcionando en cada uno, para que el feedback llegue cuando aún es barato actuar sobre él.
- Pruebas y revisión. Primero nuestras pruebas —funcionalidad, seguridad, rendimiento, los casos límite más incómodos— y después las tuyas, con tareas reales contra la especificación.
- Despliegue y garantía. Despliegue controlado a producción, monitorización posterior al lanzamiento y una garantía de defectos: si no se comporta según lo especificado, corregirlo corre de nuestra cuenta, no es objeto de debate.
- La vida después. El código a medida necesita el mismo cuidado que todo lo demás cuando PHP y Joomla avanzan. Nuestros planes de mantenimiento cubren las extensiones que construimos con el mismo estándar que el resto de tu sitio: un solo proveedor, toda la pila.
Cuándo te diremos que no desarrolles a medida
A veces la respuesta correcta a «¿podéis construir esto?» es «no deberías pagar por eso». Si una extensión mantenida y bien construida ya hace lo que necesitas, te la señalaremos: configurar es más barato que construir, y hemos auditado suficiente ecosistema como para saber en qué extensiones se puede confiar. Si el núcleo de Joomla más los campos personalizados pueden modelar tus datos, te lo mostraremos primero. El desarrollo a medida es la herramienta adecuada cuando el requisito es genuinamente específico de tu negocio, cuando toda opción existente está abandonada o mal hecha, o cuando los costes de licencia a lo largo del tiempo superan el coste de poseer la solución por completo. Parte de lo que pagas en la fase de análisis es una respuesta honesta a exactamente esta pregunta.
El tipo de proyectos que construimos
Anonimizados, pero representativos de lo que pasa por nuestro banco de trabajo:
- Componentes de contenido estructurado para sectores nicho: carteras inmobiliarias, catálogos de cursos, listados de flotas y equipos, escaparates de proyectos: cualquier cosa en la que los datos clave del negocio merezcan algo mejor que ser comprimidos en artículos. Administración a medida para el personal, vistas filtradas y rápidas para los visitantes, datos estructurados para los buscadores.
- Áreas de socios y de clientes: bibliotecas de documentos con acceso restringido, portales de clientes, áreas de formación: la ACL de Joomla encargándose del control de acceso, los componentes a medida encargándose de la lógica de dominio, con las implicaciones del tratamiento de datos bajo el RGPD definidas desde el principio.
- Flujos de consultas y reservas: generadores de presupuestos en varios pasos, solicitudes de cita, formularios de solicitud con adjuntos y reglas de enrutamiento: la maquinaria de conversión que las extensiones de formularios genéricas aproximan pero nunca terminan de encajar.
- Canales de datos: importaciones programadas desde ERP, proveedores o feeds sectoriales hacia el contenido de Joomla y tablas personalizadas; exportaciones y endpoints de API que alimentan tus otros sistemas con los datos del sitio web. Construidos con colas, informes de errores y ejecuciones idempotentes, porque las integraciones fallan a las 3 de la madrugada y deberían limpiar lo suyo.
- Herramientas editoriales: operaciones masivas, controles de calidad de contenido, asistentes de flujo multilingüe: pequeñas herramientas internas que ahorran horas cada semana a un equipo de contenidos y que nunca aparecen en el frontend.
Si tu necesidad rima con alguna de estas, la conversación sobre la especificación será corta. Si no rima con ninguna, ese suele ser el tipo de proyecto más interesante.
Configurar, comprar o construir: el marco que aplicamos
Todo análisis termina con una de tres recomendaciones, alcanzada siempre del mismo modo. Primero nos preguntamos si el núcleo de Joomla ya puede modelarlo: los campos personalizados, las categorías, la ACL y los overrides cubren mucho más de lo que la mayoría de los propietarios espera, y el coste de ese camino son horas de configuración, no software. Después, si una extensión mantenida encaja de verdad, valorando el historial y la cadencia de actualizaciones del desarrollador tanto como la lista de funciones, porque una opción perfecta pero abandonada es peor que una opción mantenida que casi encaja. Solo entonces entra en juego construir, y se evalúa sobre el coste total a tres años: licencias evitadas, trabajo manual de apaños eliminado y el perfil de riesgo de depender de un tercero frente a poseer la solución. El marco está deliberadamente sesgado en contra de nuestro propio servicio más caro, que es precisamente por lo que los clientes confían en la respuesta cuando esta resulta ser «construir».
Herramientas modernas, responsabilidad de ingeniería
Desarrollamos con herramientas actuales —incluidos flujos de trabajo asistidos por IA donde aceleran las partes inequívocas—, una de las razones por las que nuestros presupuestos cerrados quedan por debajo de la aritmética por días que los clientes se temen. Lo que nunca se delega es la ingeniería: las decisiones de arquitectura, la revisión de seguridad, las pruebas contra datos reales y la responsabilidad por el resultado son humanas, sénior y nuestras. La distinción importa porque el modo de fallo del código generado barato es exactamente el modo de fallo que los sitios Joomla no se pueden permitir: extensiones de aspecto plausible con fallos de inyección y casos límite rotos. Velocidad gracias a las herramientas, corrección gracias a los ingenieros: obtienes el beneficio de coste sin heredar el riesgo.
Por qué Joomla es una plataforma sólida sobre la que construir
Algún cliente llega de vez en cuando dando por hecho que la funcionalidad a medida implica abandonar Joomla por una aplicación a medida. Normalmente ocurre lo contrario: Joomla es una de las plataformas con mejor relación valor-coste que existen para construir sobre ella, porque buena parte de lo que una aplicación a medida tendría que construir desde cero ya está ahí, endurecido por dos décadas de uso en producción. Gestión de usuarios y autenticación, incluidos MFA y passkeys. Un sistema de control de acceso genuinamente potente que los componentes a medida heredan en lugar de reinventar. Arquitectura multilingüe nativa. Un sistema de plantillas y overrides que separa tu lógica de tu presentación. Un framework de API REST para exponer lo que construyes. Tareas programadas, registro de eventos, caché, un mecanismo de actualización y un ecosistema de seguridad vigilando el núcleo sobre el que te apoyas.
Construir un componente a medida significa, por tanto, escribir solo la parte que es genuinamente tuya —la lógica de dominio— mientras heredas ese aburrido 80% que hunde los proyectos a medida. El resultado cuesta una fracción de una aplicación independiente, llega antes y lo puede mantener el amplio grupo de desarrolladores que conocen la plataforma, no solo quien lo escribió. Para un negocio que ya usa Joomla, también significa una sola administración, un solo inicio de sesión, un solo régimen de copias de seguridad y una sola relación de mantenimiento que lo abarca todo.
Revisión de seguridad: qué comprobamos antes de entregar nada
Cada entregable pasa una revisión de seguridad contra una lista de comprobación escrita antes de llegar a tu sitio de staging: las mismas categorías de fallo que nuestro trabajo de recuperación, explotadas a la inversa, nos enseña a anticipar:
- Tratamiento de la entrada: cada parámetro filtrado y validado en el servidor; expectativas de tipo aplicadas; subidas de archivos restringidas por tipo, tamaño y ubicación de almacenamiento fuera del web root cuando proceda.
- Acceso a la base de datos: sentencias preparadas en todo momento; las consultas construidas con cadenas no pasan la revisión, punto.
- Salida: escapado apropiado al contexto, para que el contenido almacenado no pueda convertirse en cross-site scripting almacenado.
- Control de acceso: cada punto de entrada comprueba los permisos a través de la ACL de Joomla; nada de seguridad por «URL oculta»; las funciones de administración verifican los tokens contra la falsificación de peticiones.
- Protección de datos: los campos de datos personales inventariados, el comportamiento de retención definido e integración con las herramientas de privacidad de Joomla cuando el componente almacena cualquier dato sobre personas.
- Comportamiento ante fallos: los errores se registran de forma útil sin filtrar detalles internos a los visitantes; las integraciones se degradan con elegancia cuando el lado remoto se comporta mal.
Nada de esto aparece en una lista de funciones, que es exactamente por lo que tanto código de extensiones comerciales se lo salta. También es por lo que «vamos a comprar algo barato y ya está» se convierte a veces en un encargo de recuperación dieciocho meses después.
Cómo empieza en realidad el proyecto más habitual
El encargo de desarrollo a medida arquetípico no empieza con una especificación: empieza con una hoja de cálculo. En algún lugar del negocio hay un archivo de Excel (a veces una base de datos de Access, a veces un heroico documento compartido) que en silencio se ha convertido en infraestructura operativa: el listado de inmuebles, el calendario de cursos, el registro de equipos, el directorio de socios. Una persona lo mantiene, una segunda escribe pidiéndolo y la web muestra una copia desactualizada del mismo, vuelta a teclear.
El proyecto, bien entendido, consiste en llevar esa hoja de cálculo a la web como datos estructurados con una administración cómoda para el propietario: las columnas se convierten en campos, las filas en registros, el correo de «por favor, actualiza el sitio» en un botón de guardar, y las páginas públicas se generan en vivo desde la única fuente de verdad: filtradas, con búsqueda y marcadas para los buscadores. El análisis de estos proyectos es rápido porque la hoja de cálculo es el modelo de datos, ligeramente ordenado. Si reconoces tu negocio en este párrafo, ya tienes el primer borrador de la especificación; trae la hoja de cálculo a la primera llamada.
Hitos, visibilidad y mantener el control
En desarrollos de más de un par de semanas, el proyecto avanza por hitos que puedes ver y dirigir. Cada hito entrega software funcionando en staging —no informes de estado sobre software—, de modo que el feedback llega frente a lo real mientras cambiar de rumbo aún es barato. Siempre conoces tres hechos: qué está terminado y se puede probar ya, qué se está construyendo a continuación y si ha surgido algo que afecte al presupuesto (queda por escrito el mismo día que lo sabemos, nunca en la factura final). Entre hitos, la comunicación es asíncrona y ligera —una breve actualización escrita supera a una reunión periódica para la mayoría de los clientes—, aunque asistiremos encantados a la tuya si la gobernanza de tu proyecto quiere una cara. La intención es sencilla: un desarrollo a medida debería sentirse como ver tu software ensamblarse a su debido tiempo, no como esperar junto a la puerta cerrada de un taller confiando en que el presupuesto aguante.
Traspaso: qué recibes en realidad
El día de la entrega incluye, de serie: el código fuente completo en un paquete instalable; documentación escrita que cubre qué hace la extensión, cómo encajan sus partes y cómo se realizan las tareas habituales; una guía de administración que tu equipo puede seguir sin nosotros; el modelo de datos documentado para quien lo consulte o lo amplíe a continuación; y las notas de seguridad y configuración que querría tener un futuro desarrollador o auditor. También ofrecemos una sesión de recorrido grabada para tu equipo. La prueba a la que nos sometemos es contundente: un desarrollador Joomla competente que nunca nos haya conocido debería poder tomar el relevo solo con la documentación. Eso es lo que significa poseer tu software en la práctica, y es el estándar que los autores originales de los componentes heredados que rescatamos nunca cumplieron.
Cuánto cuesta
El trabajo a medida se presupuesta a precio cerrado a partir de la especificación, nunca con una deriva horaria sin fin. Los factores son el alcance (un módulo de visualización son días; un componente completo con administración, frontend e integraciones son semanas), el número de sistemas externos implicados, la migración de datos desde estructuras heredadas y la profundidad de pruebas que exige el caso de uso. Dos enfoques honestos para presupuestar: compáralo con el coste a varios años de licenciar, pelear y dar rodeos a una solución que encaja mal, y con el coste operativo del proceso manual que el software sustituye. El desarrollo a medida bien dirigido suele ser la opción más barata a tres años, que es la perspectiva correcta para un software que es tuyo.
Preguntas frecuentes
¿De quién es la propiedad intelectual?
Recibes el código fuente completo con plenos derechos para usarlo, modificarlo y encargar a otros su mantenimiento, bajo la licencia GPL que rige las extensiones de Joomla. Nada está ofuscado y nada está atado a nosotros.
¿Podéis haceros cargo de un componente a medida que construyó otra persona?
Sí; es una de las peticiones más habituales que recibimos. Auditamos el código existente, documentamos qué hace en realidad (a menudo la primera documentación que ha tenido nunca) y después lo mantenemos, lo refactorizamos o lo reconstruimos sobre cimientos modernos, según su estado y tus planes. Si actualmente está bloqueando una actualización de versión, la reconstrucción se incluye en el alcance como parte del proyecto de actualización.
¿Sobrevivirá vuestro código a medida a las actualizaciones de Joomla?
Ese es justo el sentido de construir con arquitectura moderna y nativa. Las actualizaciones menores de Joomla nunca deberían romperlo; las transiciones de versión mayor son eventos planificados, y el código escrito según las convenciones de Joomla 5/6 las cruza con un trabajo mínimo. Mantenemos lo que construimos a través de esas transiciones dentro de nuestros planes de mantenimiento.
¿Trabajáis junto a nuestro desarrollador interno o nuestra agencia?
Sin problema. Podemos entregar una extensión terminada a tu equipo, desarrollar según sus convenciones, revisar su trabajo en Joomla o actuar como los especialistas en Joomla dentro de un proyecto mayor. Para las agencias, esto se formaliza en nuestro servicio de colaboración de marca blanca.
¿Podéis firmar un acuerdo de confidencialidad?
Sí. El análisis a menudo implica tus procesos y datos internos; los acuerdos de confidencialidad son rutina para nosotros y, como empresa de la UE, todo ocurre bajo jurisdicción de la UE y con un tratamiento conforme al RGPD.
¿Cuánto dura un proyecto típico?
Módulos y plugins pequeños: de una a dos semanas. Componentes o integraciones de tamaño medio: de tres a seis semanas. Aplicaciones más grandes: presupuestadas por hito. La fase de especificación te lo dice con precisión, antes de que te comprometas.
¿El código a medida nos ata a vuestro alojamiento?
No. Todo lo que construimos funciona en cualquier alojamiento Joomla moderno bien configurado; documentamos los requisitos (versión de PHP, extensiones, configuración de tareas programadas) como parte de la entrega. Los clientes en nuestro alojamiento gestionado simplemente obtienen la comodidad de un entorno que ya encaja, y un único proveedor responsable de toda la pila.
¿Podéis construir una extensión que pensamos vender o distribuir?
Sí; el desarrollo de extensiones como producto es una disciplina distinta (empaquetado del instalador, servidores de actualización, configuración para entornos desconocidos, documentación para terceros) y lo planteamos como tal. Se aplican los mismos estándares de ingeniería; la diferencia es construir para mil sitios desconocidos en lugar de para uno conocido.
¿Y si necesitamos cambios seis meses después de la entrega?
Es lo normal y está previsto: código documentado, una especificación escrita que modificar y los ingenieros originales disponibles. Los cambios pequeños se presupuestan como trabajo pequeño; las evoluciones mayores reciben una especificación revisada. Las extensiones bajo un plan de mantenimiento reciben además actualizaciones de compatibilidad a medida que avanzan Joomla y PHP: la diferencia entre un software que se terminó una vez y un software que sigue terminado.
Cuéntanos qué necesitas desarrollar
Describe el problema, no la solución; la solución es nuestro trabajo. Volveremos con una valoración honesta: configurar, comprar o construir, y lo que cuesta cada camino.