Usar o no usar Joomla
En las últimas semanas varias personas me consultaron sobre qué me parecía el uso de Joomla para montar páginas Web. Mi respuesta en todos los casos es "depende". Lo importante a la hora de decidir entre montar un Joomla o hacer un desarrollo de cero es ver cuáles son las ventajas y desventajas de hacer una u otra cosa. Todo varía dependiendo del tipo de página que deseemos, el público al que queremos llegar, la funcionalidad que necesitamos, el grupo que se va a encargar del desarrollo del site, el mantenimiento que le van a dar, el nivel de seguridad, y por supuesto, el presupuesto con el que contamos.
Vale destacar que tomo como base Joomla porque es el CMS (Content Management System) libre más conocido y utilizado, pero que lo dicho se puede utilizar para cualquier otro CMS conocido como drupal, Wordpress, PHP Nuke, etc.
Las recomendaciones que compartiré con ustedes se basan en la experiencia de usar Joomla y de tratar con varios proveedores de software (dolores de cabeza si los hay).
Veamos entonces cuáles son las preguntas que deben hacerse para decidir por un desarrollo de cero o partir de un CMS como Joomla.


Background: qué es un CMS?

Me parece correcto que, antes de ver los puntos mencionados, describa qué es un Content Management System. La mayoría de los que siguen este blog seguramente está recontra familiarizados con este tipo de programas, pero la idea de este artículo es llegar a un público general.

Entonces, qué es un CMS y en qué se diferencia a realizar un desarrollo de cero? un CMS, en la jerga web, es un programa que nos permite montar rápidamente una página a través de una interfaz Web que tiene las herramientas necesarias para administrar contenido (texto, imágenes, multimedia, etc), menús, secciones, usuarios y visualización. Básicamente tenemos una página prearmada y lo único que tenemos que hacer es agregar el contenido, elegir qué deseamos mostrar y cómo. Es un "construir página web for dummies", algo que cualquiera puede hacer.
La diferencia con un desarrollo es que en un CMS no necesitamos programar nada, solamente administrar el contenido desde la sección de administración. Claro que si necesitamos una funcionalidad que el CMS no provee, necesitaremos un programador para que la agregue, pero este trabajo es ínfimo comparado a realizar todo el site desde cero.
En el caso de joomla, es posible extenderlo fácilmente a través de módulos y existen decenas o tal vez cientos de módulos disponibles gracias a los aportes de la comunidad libre.


Con qué presupuesto contamos?

El factor más importante, es el presupuesto. Después de todo, lo que importa es el vil metal. El presupuesto influirá directamente para responder el resto de las preguntas que planteo.
Si el presupuesto es pequeño, deberían decantarse por Joomla casi sin pensarlo. Los beneficios que brinda son muchos frente a un desarrollo hecho a medida con poco dinero.
Si, en cambio, contamos con gran presupuesto, lo mejor es contratar a una empresa con gran experiencia en desarrollo Web y que cree un site desde cero. Esto nos dará ventajas tanto para elegir exactamente qué es lo que queremos, como para mostrar una imagen empresarial importante y asignarle al site la seguridad necesaria. Es decir, si tienen gran presupuesto, no hace falta que sigan leyendo =P
Por otra parte, contando con un presupuesto mediano, revisen el resto de las preguntas y a partir de ellas decidan qué hacer.


Cuál es la imagen que deseamos mostrar?

La segunda pregunta que tenemos que hacernos es "cuál es la apariencia que queremos?". Con esto me refiero al prestigio que quedemos que tenga la página. Es un punto clave para decidir si utilizar un CMS o no.
No es lo mismo mostrar una página que se desarrolló desde cero que mostrar un Joomla. Esto es básico para las empresas, sobre todo empresas medianas para arriba, donde la imagen es muy importante.
Si bien los Joomla son realmente flexibles en cuanto a modificar la visualización de la página, alguien que medianamente conoce del tema se da cuenta que la página está hecha con Joomla. Yo veo una página y casi al instante me doy cuenta de si es un Joomla o no. Y al entrar al site de una empresa hecho con Joomla, lo primero que pienso es "son unos ratas" (i.e. no quisieron gastar mucho, o no les importa el site), lo cual en el mundo de las apariencias (alias marketing), es malo.
Por ello, si necesitamos mostrar una imagen de empresa importante, no lo piensen, realicen un desarrollo de cero.


Joomla es seguro?

Este punto está muy ligado con el anterior. Hoy en día no se puede desestimar la seguridad de un site web publicado a internet, es una locura y falta de sentido común hacerlo. Entonces, siendo tan importante el tema seguridad, pondrían un Joomla?
En este punto Joomla tiene puntos a favor y en contra. El gran punto a favor es que tiene una gran comunidad detrás revisando y corrigiendo errores continuamente y enviando los updates a los usuarios. Tener actualizaciones constantes es algo que casi nunca tenemos con un desarrollo a medida porque en general una empresa de software crea el site, lo pone online, lo cobra y listo, no existe soporte posterior.
El problema grave son los módulos desarrollados por terceros que en general no tienen soporte, abriendo una brecha de seguridad importante. La otra gran desventaja es que donde encuentran un agujero en Joomla o en uno de sus módulos, explotan todos los sites. Esto es, descubren un agujero y se publica en la web, y a partir de allí cualquiera puede explotar nuestro site (en conjunto con los otros cientos de sites hechos en Joomla). Esto nos abre a atacantes no dedicados, es decir, gente que no estuvo intentando hackear nuestro site de forma exclusiva, sino cualquier persona que vea que tenemos un Joomla.
Incluso cuando sale un agujero en Joomla, muchos deportivamente salen a buscar sites hechos con este CMS para hackear tantos como pueda, sin importarle realmente hackear nuestro site por alguna razón. Una búsqueda en google con el parámetro inurl:option=com_content nos traerá todos los sites hechos en Joomla que no cambiaron sus URLs.

Entonces, es seguro usar Joomla? si lo mantenemos actualizado, no usamos módulos de terceros sin soporte y lo configuramos correctamente, si. Incluso diría que es más seguro usar Joomla que un desarrollo a medida sin soporte, o un desarrollo a medida realizado por una empresa que no entiende o no le importa la seguridad (me he topado con tantos...).
A pesar de esto, si la seguridad es muy importante y deseamos que nos hackeen lo menos posible (nunca estaremos libres de la posibilidad de hackeo, eso tenganlo presente), mi recomendación es un site desarrollado de cero teniendo en cuenta las recomendaciones básicas de seguridad.
Si por otra parte deciden utilizar Joomla, lean el checklist de seguridad provisto por la misma comunidad: Security Checklist.


Qué funcionalidad necesitamos?

Otro punto importante es la funcionalidad. Joomla es bastante flexible, amigable y muy extensible, algo que nos permite tener alta funcionalidad. En un desarrollo de cero lograr la funcionalidad que tiene Joomla les costará mucho dinero y probablemente muchas peleas con los desarrolladores por no entender los requerimientos. Obviamente que hay ciertas cosas que están estructuradas de una manera (como la administración de contenidos) que si no les gusta deberán ser modificadas por un desarrollador.
La mayoría de los sites, desarrollados de cero, que contienen una sección de administración, que he visto, son una patada en los huevos. Administrar una página a través de ellos es una tortura, y un Joomla nos habría salvado de tanto sufrimiento.

En resumen, si funcionalidad es lo que buscan, mi recomendación es Joomla, a menos que tengan el tiempo, dinero, dedicación y paciencia necesarias para tratar con un equipo que desarrolle todo de cero.


Qué experiencia tiene la empresa que hará el desarrollo?

Si el presupuesto es mediano o bajo, probablemente deban contratar una empresa de acorde a esto. Es entonces cuando deberían preguntarse: confío lo suficiente en "tal empresa" como para que haga este desarrollo desde cero?
Si están en duda, pongan un Joomla! o bien sigan buscando desarrolladores hasta encontrar uno que parezca cumplir los requerimientos.


Queremos que el site se vea actualizado?

Lo primero que vemos al entrar en un site es su diseño visual, y es lo que importa para mostrar que mantenemos el site actualizado. Es muy importante renovar cada cierto tiempo la visualización para darle frescura y no aburrir.
Joomla, al igual que todos los CMSs importantes, posee un sistema de templates a través del cual es simple renovar la visualización, algo que no he visto en la mayoría de los desarrollos a medida. Además existen muchos templates gratis para descargar de Internet.
Este punto se puede ligar directamente con el de imagen empresarial que plantié anteriormente, pero trato de mostrarlo más abstracto. Tal vez tenga un site que deseo mantener actualizado visualmente, pero que no necesita mostrar una imagen de empresa tan importante. Igualmente este es el punto que menos influirá en la decisión, aunque si es para tener en cuenta. Deben saber que con Joomla será fácil mantener una visualización actualizada, mientras que con un desarrollo a medida deberán pedirlo explícitamente y probablemente aumente el presupuesto.


Conclusión?

Tal vez les dejé más interrogantes que respuestas, pero espero haber cumplido con informarlos lo suficiente como para poder tomar una decisión razonable.
En resumen, si poseen el suficiente dinero, hagan un desarrollo a medida. Lo mismo si esperan que no los hackeen en conjunto con otros 1000 sites, o si desean brindar una cierta imagen. En el resto de los casos, piensenlo bien, probablemente Joomla cumpla perfectamente sus necesidades.

Espero que ustedes puedan darme aportes sobre qué les parece el uso de Joomla en ámbitos empresariales, y tal vez agregar algunas preguntas más a la lista =)