Drupal vs Joomla

Imagen de Gustavo Cardona Ramirez
Gustavo Cardona Ramirez
Software Architect

Drupal es un administrador de contenido “CMS” y un Framework de administración de contenido, robusto, escalable, extensible, empleado por grandes organizaciones a nivel mundial. Que permite desarrollar sitios web, complejos de cualquier tamaño. Sin embargo, es importante mencionar que no hay un CMS único para todas las situaciones; todo depende de las metas, experiencia técnica, el presupuesto y  de los requerimientos del sitio web. Para un simple blog o  un sitio web tipo catálogo de productos, Wordpress podría ser una buena opción (es amigable para personas que no son desarrolladores). Para un sitio complejo, altamente personalizado que requiera escalabilidad y una organización compleja de contenidos, Drupal es la mejor opción y para sitios medianos, no muy complejos Joomla es una buena alternativa.   

En nuestra experiencia, otros administradores de contenido tienen limitaciones que dificultan el desarrollo y la administración de las características por parte de los usuarios finales.

Existen muchas razones para escoger Drupal para desarrollar proyectos robustos que puedan escalar en el tiempo y no estén limitados por la tecnología. Por esta razón, hemos escogido las siguientes razones que consideramos son las más relevantes para escoger Drupal como plataforma para nuestros proyectos web desde portales editoriales, blogs, tiendas en línea, sitios web empresariales, portales de entretenimiento entre otros.

Razón 1: Flexibilidad

La característica número 1 que llamo nuestra atención hace varios años es la flexibilidad.

Cuando usábamos Joomla , era usual que los proyectos estuviesen limitados por la tecnología del CMS,  en ese entonces teníamos comprar componentes comerciales o desarrollar extensiones propias para crear diferentes tipos de vistas sobre la información, tarea que es habitual en cualquier tipo de sitio web.  Por ejemplo, cuando un cliente preguntaba si podía adicionar un nuevo campo al sitio web, no era posible hacerlo de forma natural y era necesario implementar componentes externos como K2, JReviews o Simple Image Gallery.

Estas simples tareas no siempre fueron fáciles de implementar porque en algunos casos estos requerimientos eran urgentes y el sitio web estaba online, así que no era sencillo alterar la estructura y tener un tiempo de respuesta eficaz.

La otra cara de la moneda, para este tipo de requerimientos es Drupal, que desde versiones antiguas integra un Kit de Construcción de Contenidoque permite elaborar tipos de contenido propietarios con diferentes tipos de campos. Los Tipos de Contenido son conjuntos de campos para almacenar, clasificar y administrar  información de manera fácil. Por ejemplo, Joomla solo tiene un tipo de contenido, el tipo de contenido “Article” (Solo en versiones recientes ha implementado nuevos tipos de contenido), desde donde se puede ingresar el título del artículo, el contenido, la fecha de publicación y otros detalles. En Drupal, es posible construir tipos de contenido propios con muchos campos, tantos como se necesiten y es posible hacerlo en sitios que están en producción. Por ejemplo, si necesita construir una tienda en línea usando Drupal en algún punto será necesario calcular las tarifas de envió basado en el peso de los productos, es muy fácil adicionar un nuevo campo llamado “peso” al tipo de contenido “producto” para ingresar el peso de los productos (Aunque en la práctica se usarían los módulos contribuidos Ubert Cart o Drupal Commerce que permiten tener un e-commerce casi al “instante”).

La mayoría de los sitios en Drupal usan un módulo externo llamado “Views”.  Este es uno de los módulos más populares en el mundo de Drupal porque permite configurar de diferente forma la presentación de la información almacenada en cada tipo de contenido. Sin importar, si son tipos de contenido propietarios o nativos de Drupal. Puedo no verse con facilidad el beneficio de este módulo pero con “Views” se puede seleccionar campos, diferentes criterios para los filtros, organizarlos y construir  diferentes visualizaciones  de las páginas para los visitantes de su sitio web.  “Views”  es esencialmente un constructor de  consultas SQL que una persona sin conocimientos de programación puede usar para obtener información de la base de datos de Drupal y al mismo tiempo mostrar los datos de diferente formas a los visitantes del sitio web.

Otra característica interesante en Drupal es la posibilidad tener grupos de usuarios en el que cada usuario tiene un rol y cada rol puede tener sus propios permisos. Es posible configurar muchos roles, tantos como necesiten para el sitio web, esto permite controlar lo que hacen los usuarios y se les puede conceder privilegios de acuerdo a las necesidades del negocio. Por ejemplo: se puede implementar una tienda en línea y conceder a los usuarios mayoristas acceso a precios especiales. Esta configuración se realiza desde la interfaz gráfica, sin conocimientos de programación.

La flexibilidad avanzada de Drupal permite configurar flujos de trabajo ”workflow”  empleado el modulo “Rules” que permite configurar reglas personalizadas para procesos específicos. Por ejemplo, es posible configurar en Drupal que envié mensajes de texto a los dispositivos móviles de los clientes cada vez que ellos compren un producto. De nuevo, esto se configura desde la interfaz de usuario, es posible construir reglas y habilitarlas para personalizarlas de acuerdo a las necesidades de cada sitio web. Esta característica es avanzada y necesita más investigación, para implementarla apropiadamente, nosotros recomendamos que lo haga directamente la agencia especializada en Drupal de su preferencia. Después que este implementado, es fácil de personalizar y ajustar para hacer que funcione de la forma en que usted desea.

Razón 2: Amigable a los motores de búsqueda

La razón número 2 por la que creemos que Drupal es buen CMS, es que Drupal es amigable a los motores de búsqueda. Esta es una característica, muy importante de los sitios que desarrollamos para nuestros clientes porque en las estrategias digitales el SEO es una de las tácticas principales que implementamos para generar tráfico.  La comunidad de Drupal ha desarrollado una gran cantidad de módulos que abordan cada aspecto y que hace amigable un sitio a los buscadores.

Hay muchos módulos que ayudaran a que su sitio se posicione bien, Podríamos extendernos mucho acerca  de este tema pero solo mencionaremos el módulo  “Pathauto”, que permite implementar estructuras de direcciones web “URL” que se necesiten para cada página de su sitio web. Por ejemplo, cuando se configura un sitio se publican contenidos, cada contenido puede ser categorizado para facilitar la administración y las URLs del sitio web pueden ser generadas incluyendo la categoría “/ecologia/como-reciclar.html”.  Esto es muy importante para los buscadores y para la usabilidad del sitio por parte de los visitantes porque los usuarios ven la URL “dirección” de su website y se orientan acerca de la ubicación en la que se encuentran con las partes que conforman la URL. Encontramos después de migrar sitios de Joomla a Drupal y de migrar sistemas propietarios a Drupal que estos se posicionaban mejor en Google. Por ejemplo, un  sitio que migramos a Drupal tuvo casi un 40% de incremento en el posicionamiento y en las visitas orgánicas.  

Razón 3: Participación en el mercado y crecimiento a nivel mundial

Drupal es confiable y algunos de los sitios más grandes del mundo lo usan. Por ejemplo,  The New Republic, Boston Herald, La Casa Blanca, MTV UK, France24.com, The Louvre Museum, The Economist,  The Grammy Awards site, ING US,  Examiner, entre muchos otros. Sitios que usan Drupal.

Ahora sabemos que Drupal ,es un sistema muy robusto y qué, si estas organizaciones lo emplean también podríamos confiar en Drupal para nuestros clientes. Al analizar la cuota de mercado de los CMS observamos como la participación de Joomla se reduce en un periodo de 12 meses.

Es importante mencionar que Drupal es como una navaja Suiza, es posible que solo necesitemos emplear la navaja para cortar, pero si las condiciones cambian, es necesario usar otros servicios que este provee sin necesidad de cambiar de navaja.  Cuando se analiza la información de la página de la URL anterior se puede ver que Wordpress es muy popular pero esto se debe a que es empleado por casi cualquier persona para solucionar necesidades no tan complejas como las que deben resolverse en el mundo empresarial. Wordpres empezó como un sistema de blogs y ha sido empleado para sitios grandes con altos costos de desarrollo para poder construir funcionalidades que en Drupal se encuentra en la comunidad o en el Core del sistema. Otro dato interesante, es que detrás de Drupal esta Drupal.org y Acquia la compañía que originalmente creo Drupal. Estas dos organizaciones garantizan la continuidad del CMS y de la tecnología en el largo plazo. Acquia se encuentra entre las empresas de software de mayor crecimiento.

Razón 4: Seguridad

Drupal es seguro, los vendedores de sistemas comerciales argumentan  que Drupal es de código abierto, cualquiera puede ver el código, escanearlo y encontrar vulnerabilidades. Esto es cierto, para otros CMS pero no para Drupal. Porque Drupal , toma la seguridad de forma seria y ha formado un equipo de profesionales especialistas en seguridad que trabajan activamente buscando vulnerabilidades en el sistema. Este grupo sabe que grandes empresas usan Drupal  y que la seguridad no puede ser tomada a la ligera. Para ser honestos, he visto sitios hackeados en Drupal que han sido desentendidos al no aplicar las actualizaciones reportadas por el equipo de seguridad. También, he visto mucho más sitios hackeados en Wordpress y Joomla. Un punto que Drupal debe mejorar en el futuro son las actualizaciones desentendidas y automáticas de seguridad. En la actualidad estas se pueden hacer implementando técnicas con controladores de versiones, cron, workflow, pruebas automáticas entre otras. Que abordaremos en otro artículo.

Razón 5: Comunidad

Drupal cuenta con una comunidad activa, Por qué esto es importante para usted? Porque más de un millón de personas trabajan para hacer el CMS mejor y ellos están ahí para ayudarlo gratis en canales de IRC, foros o pagando por sus honorarios. Así que, es muy fácil para cualquier empresa encontrar buenos desarrolladores o buenas agencias de desarrollo. Así que, usted es libre de trabajar con cualquier persona que desee y cambiar de agencia o desarrollador cuando le plazca. En la actualidad, también puede encontrar miles de módulos gratis para extender las funcionalidades de su sitio web.

Durante todo el año  Drupal celebra conferencias, Camps y Meetups  en todo el mundo. En los que cualquier persona, puede inscribirse para aprender de Drupal y para conocer cómo se contagia el espíritu de participación entre todos los miembros de la comunidad.

Razón 6: Desarrollo tecnológico activo y avanzado

La comunidad de Drupal trabaja activamente en incorporar nueva tecnología a la plataforma. Por ejemplo, Drupal 8 tiene una característica que permiten fácilmente mover la configuración desde el ambiente de desarrollo al ambiente de producción, sin necesidad de importar la base de datos completa.  En temas de edición de contenido es posible usar la edición en línea una característica que permite modificar el código desde la vista del usuario final, sin necesidad de trabajar con el editor completo desde el panel de administración. Las vistas “Views” en Drupal 8 hacen parte del Core, ahora no es necesario instalar módulos contribuidos para tener esta característica. Intensamente Drupal trabaja en mecanismos anti Spam como Mollom, recomendamos revisar esta característica porque es muy avanzada y no es molesta para los usuarios finales.  La Incorporación de Symfony2 en Drupal 8, es la siguiente gran apuesta del framework desarrollado en PHP.

Razón 7: Drupal es de código abierto y cuenta con distribuciones

Finalmente, Drupal es gratis y de código abierto, es posible descargarlo y probarlo para entender el alcance del sistema. Cualquier desarrollador que escoja puede trabajar en su sitio web, no tiene que pagar ninguna licencia, honorarios de instalación, solo debe pagar por el tiempo invertido en el desarrollo y en el diseño.  Como empresa hemos trabajado con una gran cantidad de clientes y creemos que de acuerdo a la experiencia recopilada con otras tecnologías Drupal es la mejor plataforma para desarrollar proyectos que crezcan tecnológicamente y no se limiten por la tecnología.

Drupal cuenta con distribuciones completamente gratis, disponibles para múltiples  propósitos que permiten desplegar un sitio web y tenerlo listo en cuestión de minutos. Algunos ejemplos son: Commerce Kickstart “tienda online”, Open Atrium “Intranet”,  Panopoly, OpenPublish, OpenFolio, OpenPublic entre muchos otros.