sábado, 22 de marzo de 2014

Wordpress vs Drupal (2014)


Ayer realice y publiqué mi primera página en Wordpress, no es que sea la primera vez que lo instalo pero sí es la primera vez que publico una página basada en Wordpress en internet.

Debo señalar que llevo años desarrollando webs con Drupal, soy un gran fan de este CMS. Por lo anterior iré comparando mis primeras experiencias que he tenido con Wordpress vs el equivalente que tuve con Drupal.

Compararé mi experiencia usando la versión actual de Wordpress (3.8.x) con la versión actual de Drupal (7.x)

1- La instalacion 

La instalación de Wordpress no fue tema, es simple y más rápida que una instalación de Drupal. Esto se debe principalmente a la arquitectura del CMS, en la Base de datos inicial de una instalación standard de Wordpress hay una cantidad de tablas mucho menor a una instalación standard de Drupal. Además Drupal viene en inglés por defecto(oficial de Drupal.org) pero se puede cambiar el idioma una vez instalado. Wordpress tiene una instalación por idioma y no se cambia, además por alguna razón la versión en Ingles es más estable y que la versión en español.

Obviamente instalé la versión en ingles. 

No hay mayor ni menor dificultad en comparación a una instalación de Drupal 7

2. Primer uso

El primer uso de Wordpress y Drupal es una experiencia totalmente distinta. Wordpress después de instalarlo viene preparado para publicar en el Blog y tener páginas básicas (Ej: Acerca de nosotros), trae instalado por defecto el editor WYSIWYG TinyMCE, por lo que es básicamente llegar y publicar contenido. Además la interfaz es bastante intuitiva, no hay muchas opciones y las que sirven están claramente presentes en el Dashboard inicial que esta en el backend(AKA pantalla administración). 

Por otra parte Drupal es más tosco en un comienzo. Drupal también viene preparado para hacer publicaciones tipo Artículo y Página básica en un comienzo, sin embargo no tiene un editor WYSIWYG integrado, por lo que si voy a publicar contenido con la instalación base tendría que escribir <strong>palabra en negrita</strong> para destacar algo por ejemplo. 

3. Comienzo de curva de aprendizaje

En Wordpress con la instalación base tengo toda la funcionalidad básica lista para que el usuario simplemente llegue y publique contenido. No necesito hacer nada más(en términos generales).

En Drupal aquí comienza la curva de aprendizaje, debo instalar algunos módulos para activar el WYSIWYG, bajar un zip descomprimirlo y subir los archivos dentro de sites/all/ adentro de una carpeta de nombre libraries que debo crear y los archivos van en una carpeta con un nombre específico o no reconoce el WYSIWYG. La primera vez es bastante complicado, no me cabe duda que por esto Wordpress tiene más adeptos.

4. Interfaz de usuario

Wordpress al loguearte(AKA iniciar sesión) te envía directo a su Dashboard inicial donde ya te dice: Haz click aquí para publicar en el Blog y hace click acá para publicar una página básica. Ok, solo hay que hacer click escribir y publicar.

El dashboard de Wordpress tiene un menú izquierdo que muestra todas las opciones de configuración que tienes, las actuales y las que se agregarán con los plugin.

Drupal no tiene un dashboard inicial(Ok, si hay pero el comportamiento no es igual). Cuando te loqueas en Drupal te envía básicamente a la misma página que estabas pero te muestra las opciones de administración en un menú en la parte superior, este menu se llama Toolbar y ahí están los enlaces a las páginas de administración y creación de contenido. 

La Toolbar tiene en la parte inferior los accesos directos predefinidos, agregar contenido. Este enlace te envía a la página para seleccionar que tipo de contenido quieres agregar, página básica o artículo, no te envía directo a la página para escribir y publicar. Esto básicamente porque en la instalación base ya puedo tener más tipos de contenido(interesante), y no solo publicaciones de blog y páginas básicas.

5. Agregando Módulos/Plugins

Los plugins y módulos son 'mini aplicaciones' que funcionan adentro de Wordpress y Drupal respectivamente. Éstos agregan funciones o comportamientos que nos hagan falta.

Wordpress usa un sistema de Plugins, para instalar un plugin vas al menú izquierdo del dashboard y haces click en plugin y los buscas/instalas/activas desde esa misma pantalla. Cuando agregas un plugin te agrega un menú a la izquierda para configurarlo(no todos). 

Debo destacar que no todos los plugins son compatibles con la última versión(les pasa a todos) sin embargo no señala claramente si es compatible o no, algunos te dices no ha sido probada con esta versión de Wordpress por lo que vas a tu suerte y puedes bloquear tu sitio en el peor de los casos (tuve el peor de los casos y reinstalé). Por lo tanto hay que ser algo cuidadoso e investigar los plugins antes de llegar e instalar, algunos lo aprendimos por las malas. Los plugins raramente se complementan.

Drupal usa un sistema basado en Módulos y la mayoría son interdependientes(como las dependencias de Linux), es decir necesitan que algún módulo del core u otro esté presente y activo para funcionar, si lo activas automáticamente activa los que necesita.

En Drupal para instalar el módulo, haces click en la Toolbar > Modules, luego en install module. En esta pantalla te pedira la url del archivo para descargar el módulo (Avance con respecto a D6), por lo que tienes que ir a la página drupal.org, buscar el módulo y copiar el enlace de descarga que luego pegas en la página 'Install Module', engorroso. Sin embargo, en la página del módulo te dice claramente para Drupal 6.x o Drupal 7.x, también puedes diferenciar la rama de desarrollo y la estable. Siempre se instala la rama estable (señalada claramente con verde), salvo casos puntuales que necesites la rama dev. Una vez copiado el módulo necesitas activarlo y listo.

6. Configurando el Módulo/Plugin

Esto es algo bastante desagradable en Wordpress ya que no todos los módulos tienen una interfaz para configurar el plugin, los que tienen lo muestra en la misma pantalla de Plugins, algunos agregan un acceso directo al menú de la izquierda y a veces hay que hacerlo directo en el código. Si tienes que intervenir código y no eres un programador experimentado es bastante probable que muevas algo que no debas, generes un error o en el peor de los casos lo que agregas provoca una falla de seguridad del sitio. El 'para adelante programming' nunca ha sido una buena práctica.

En Drupal eso es generalmente simple, desde la pantalla de lista de módulos hay un enlace para configurar el módulo si este lo permite, algunos solo agregan funciones que no necesitan ser configuradas. En el caso que lo permita, este puede estar centralizado en una sola o varias pantallas (interdependientes). Si algo no está en las opciones de configuración es que no lo hace, no necesitas ir al código para activar o modificar una opción a mano.

En Drupal, recién después de este punto puedo escribir una publicación con un editor WYSIWYG, con Wordpress ya lo publiqué en el punto 2 de esta publicación.

7. Instalando y cambiando plantilla

Wordpress al igual que para los Plugins, tiene una acceso en el Menú izquierdo de dashboard para cambiar/instalar/activar plantillas, en general son de buenos diseños(gráficamente) preparadas en su mayoría para la publicación de páginas básicas y blog, que es lo que la gran mayoría de los usuarios de Wordpress usa. Las ubicaciones de los widgets en las sidebars se mantienen al cambiar de una plantilla a otra.

Drupal al igual que para los módulos te da una pantalla para que insertes la url del archivo de descarga del theme, después lo activas y dejas como predeterminado en otra pantalla. En Wordpress se usa la plantilla para Frontend(AKA presentación de contenido) solamente, en Drupal puedo tener la misma plantilla o plantillas distintas para Frontend y Backend. 

Los bloques, que pueden ser o no widgets, mantienen las posiciones al cambiar de theme pero solo si el área de ubicación(en Wordpress hay sidebard) tiene el mismo nombre. En Drupal puedo tener mucho más que 2 sidebars, por eso si cambio de una plantilla a otra puede que el área donde presentaba algo no exista en la nueva plantilla.

En el próximo post compararé características no tan generales de estos CMS.