Drupal vs. Wordpress vs. Tikiwiki
Uno de los últimos comentarios pedía alguna referencia sobre que es mejor para administrar un sitio como este, si Wordpress o Drupal.
Hacer una comparativa punto a punto va más allá de mis intenciones, así que trataré de hacer una síntesis de lo más importante, según mi punto de vista. Agregaré a la comparativa a Tikiwiki, ya que mi sitio de psicología, Apsique, corre en esa plataforma.

Drupal
Objetivo: Es una plataforma de manejo de contenidos genérica, de arquitectura modular. Esta diseñado de tal manera de poder agregar, con relativa facilidad, nuevas funcionalidades sin romper la estructura base.
Distribución básica: Bastante reducida. El núcleo básico contiene los módulos de usuarios, páginas, vocabulario, comentarios y sindicación. Al castellano, no se puede hacer mucho con ella tal como viene. Eso si, pesa muy poco (menos de 500kb)
Curva de aprendizaje: Un tanto alta. Si bien echar a andar el sistema no cuesta mucho, entender como el sistema basa todo su funcionamiento en los "ladrillos básicos" (páginas, taxonomías y todo eso) puede ser un tanto complejo. Ahora, si quieren modificar plantillas o agregar funcionalidades, preparense sus buenos litros de café y vayan buscando un sillón cómodo para pasarse una tarde entera entendiendo como funciona la API. Una vez que lo logren, el sistema entero está en sus manos!
Calidad del código: Bastante buena. El código de los módulos está estrictamente separado del núcleo del sistema, así que es muy difícil echar todo abajo con una modificación. Además, como existe una API bien documentada basada en callbacks, con un poco de paciencia es posible modificar casi toda la funcionalidad de los módulos ya existentes o, si se prefiere, se puede armar uno nuevo que altere a los otros.
Extensibilidad: Muy alta. El sistema fue diseñado desde el principio con una arquitectura modular. De esta manera, se le pueden agregar funciones a módulos ya existentes (por ejemplo, agregar fotografías a las páginas), crear nuevos módulos sin tocar los antiguos (un sistema de foros), mantener múltiples temas o formas de visualizar el sitio coexistiendo al mismo tiempo, etc.
Cohesividad: Muy alta. Todo el sistema está basado en los módulos básicos página, usuarios, bloques y taxonomía; muchas de las funcionalidades típicas, como las bitácoras, foros y artículos, en el fondo son páginas modificadas, así que siempre tenemos los mismos controles, el mismo sistema de vocabulario y de comentarios, por ejemplo. Es muy difícil "salirse de los tarros", porque cada módulo pasa por la API del sistema.
Funcionalidades extras: Muchísimas. La idea del sistema es, precisamente, agregar las características necesarias una vez instalada la base. Echen una miradita a la página de módulos para Drupal, para darse cuenta de la cantidad de opciones disponibles. Si la memoria no me falla, en el sitio ocupo Atom, Attachment, Comment RSS, Locale, Menus....
Temas: El sistema de temas de Drupal, si bien privilegia el clásico enfoque de dos columnas, es tan modular como el de funcionalidades, por lo que puede dejar un diseño con menú superior, de tres columnas (como este), sin columnas o como se le antoje. Los temas están basados en plantillas, las cuales pueden ser de expresión regular (lentas, pero seguras), compiladas (más rápidas, pero complejas), o incluso PHP directo, como es el caso de este sitio

Wordpress
Objetivo: Según sus palabras, es un sistema de publicación personal, que privilegia la estética, la usabilidad y la compatibilidad con estándares. En palabras sencillas, un sistema de bitácora fácil de usar, bonito y compatible con la nueva generación de navegadores.
Distribución básica: Llegar y usar. Una vez instalado, tenemos un sistema completo de bitácora, con comentarios, sindicación, usuarios, categorías, pingback, trackback e incluso, en la última versión, control de spam. El tamaño del zip o tar.gz es moderado, del orden del mega y medio
Curva de aprendizaje: Rapídisima. Instalar es una brisa, como dicen los gringos, y postear con trackbacks y todo el resto no cuesta nada. Los menús de opciones están bien documentados y como el sistema no es muy grande, es un par de horas se le puede sacar todo lo que da. Ideal para principiantes! Ahora, tratar de entender como funciona la aplicación es tarea de locos: no lo recomiendo.
Calidad del código: Vale fungi. Código espagueti por doquier. No meterse sin máscara ni guantes.
Extensibilidad: Pobre. El tema o apariencia no está separado de la lógica del programa, así que cualquier error al cambiarlo puede hacer caer todo el sistema. Si bien se pueden agregar nuevas funcionalidad a través de la carpeta de 'hacks', estos son precisamente esto, alteraciones al núcleo del programa, de naturaleza más bien monolítica. Es bastante común que un plug-in de wordpress choque con otro o que con una nueva versión deje completamente de funcionar.
Cohesividad: Alta. Wordpress es una aplicación de fin único, así que no se tiene el problema de integrar los foros a los artículos, por ejemplo. De todos modos, los desarrolladores han tratado de mantener un estilo de trabajo y una interfaz parecida en todas partes, así que tampoco hay problemas por ese lado.
Funcionalidades extras: Mhhh... en el sitio es difícil pillarlas. Andan dando vueltas bastantes plugins en la red, pero nada tan ordenado como Drupal
Temas:. En las versiones antiguas de Wordpress, el tema está escrito en 'vanilla php', o sea, el index.php contiene directamente el formato de la página. Si bien acelera mucho el sistema, hace también que los cambios al tema sean inamovibles y que sea bastante complicado cambiar el tema rápidamente. Claro, puede haber un plugin para cambiar de Css, pero en Tikiwiki movemos tanto módulos como css, y en drupal todo el sistema de plantillas en tiempo real.
Desde Wordpress 2.0 existe un sistema de temas que permite manejar la apariencia del sitio de manera similar a como lo hacen tikiwiki y Drupal.

Tikiwiki
Objetivo: Tikiwiki es un sistema de manejo de contenidos y groupware. Su objetivo principal es servir de soporte a portales y sitios grandes, al estilo de PHP Nuke y Post Nuke.
Distribución básica: GIGANTE. Hace poco sacaron una versión 'ligth', que posee las funcionalidades más utilizadas y los temas más conocidos. Si eligen la versión completa, tienen casi todo lo que se puedan imaginar de un sistema de manejo de contenidos; aparte de los clásicos usuarios, páginas y sistemas de categorías, tienen foros, bitácoras, galerías de fotos y archivos, sindicación, shoutbox,etc,etc,etc. Aparte, también tiene todo un conjunto de funcionalidades de Groupware, como sistema de proyectos, mensajería interna, calendario y varias otras cosas que ya ni me acuerdo. El peso del zip de la versión completa es de unos 8Mb, o sea, unos 30Mb expandidos!
Curva de aprendizaje: Mhhh.... menos que Drupal, más que Wordpress. Más que complejidad, es la gran cantidad de módulos. Cada uno de ellos funciona bastante separado del resto, así que el tiempo de aprendizaje es directamente proporcional a la cantidad de funcionalidades que uno ocupará del sistema final. En cuanto al desarrollo, no es nada muy difícil: aprendiendo los includes, la API básica y el sistema de plantillas, es fácil armar un módulo nuevo. Ahora, tratar de modificar uno ya existente no lo recomiendo....
Calidad de código: Mhhh.... No puedo decir que es mala, pero no es muy modular. En el fondo, las clases se ocupan como namespaces de determinado grupo de funciones, como el acceso a los datos de usuario o de comentarios. Por lo menos, todo es ordenado y no cuesta seguirle la pista a las funcionalidades. Lo que caracteriza al sistema es la independencia de los módulos entre si, definitivamente.
Extensibilidad: Muy alta para cosas nuevas, baja para lo ya existente. El sistema de permisos es común a todo el sistema, así como las funciones básicas. Es muy fácil crear un nuevo módulo que llame al sistema de plantillas y saque cosas de la base de datos, pero tratar de alterar de forma 'dinámica' otro módulo es difícil, ya que como decía con entidades completamente separadas. Aquí salta a la vista la diferencia con Drupal: como todo en éste en el fondo es una página y todo responde a una API común, es fácil meter mano a otros módulos y agregarles cosas extras.
Cohesividad: Baja. Como cada módulo "se manda solo", cada cosa en el sistema tiene su propia forma de manejarse. El sistema de artículos se trabaja diferente al wiki, y este, a su vez, distinto al de foros. Si bien ciertos elementos de la GUI son comunes, como el cuadro de edición, hay distintos enfoques para tratar el tema, por ejemplo, de la asignación de muchos a muchos en la base de datos.
Funcionalidades extras: No hay. Es el paquete completo, o nada. Claro, se pueden desarrollar plugins y módulos nuevos, pero la idea del Tiki es tener todo desde el comienzo.
Temas: Muchos de base. El único y GRAN problema es que están basados en Smarty, el invento más imbécil desde Bob para Windows. No sé como hay gente que reemplaza la sencillez de ocupar un sistema de plantillas basado en Php, a uno que es una mezcla horrenda entre Perl, XML y que más encima ni siquiera deja trabajar tranquilo con el javascript. Un desperdicio!
EN RESUMEN: Si quieren hacer una bitácora, cambiarle la apariencia y no matarse la psique, ocupen Wordpress. Si quieren tener TODO y tampoco le interesa mucho cambiar la funcionalidad de base, ocupen Tiki. Si quieren tener una plataforma de trabajo flexible, con altas posibilidades de modificación pero que exige alto tiempo de aprendizaje, vayan con Drupal.
Bueno, creo que estamos completos. Espero que les sirva para hacer una opción informada :)
- 24924 lecturas

Interesante, tengo un par de preguntas:
A) Qué es "vanilla php"?
B) Por qué tildas a Smarty de "invento imbécil"? Estoy pensando usarlo, y me gustaría saber la opinión del la gente.
Je, vale.
a) Vanilla php: los gringos le suelen llamar así a los programas escritos sin un sistema de plantillas, con php mezclado con html en las páginas. Lo bueno: php nació para ese trabajo, así que es enfermo de rápido. Lo malo: olvídate de la separación forma - contenido (lo que le pasa a Wordpress).
b) Invento imbécil: bueno, de repente me acaloro. Lo que pasa es que no me explico como pudieron hacer algo tan mal! O sea, date el trabajo de revisar Template_It, Xipe, Flexy, Savant y vuelve a Smarty.... Es un complicarse la vida por complicarsela. No puedes usar arrays asociativos de una forma normal, no puedes meter tu propia lógica de presentación si te place.... En realidad, mientras más pasa el tiempo más me gusta la idea de incluir los trozos de php donde corresponda, a través de una capa que me facilite un poco la tarea (no usar puros include). En estos momentos uso Xipe, porque tiene el bonito truco de manejar los bucles a través de la indentación; así evitamos perdernos buscando los inicios y finales de nuestros bloques con las llaves.
"No meterse sin máscara ni guantes.", jajaja eso es cierto y lo màs incómodo es que al tener un error estúpido en un tag de los templates todo a la basura...
Pero yo sigo fiel a mi genial wordpress, simplemente mencanta, es que cualuqier idea que tengo o cualquier proyecto que planeo es viable y fàcil en wp :)
No tengo nada contra Wordpress, la verdad.
A mi me funcionaba de lo más bien. Lo único fue que me quedó chico para las necesidades del sitio. Su manejo de uploads es bastante engorroso y cualquier tipo de modificación implica un trabajo de cirugía gerontológica.
En resumen, si lo único que se quiere hacer es un weblog, lo mejor es wordpress, lejos.
creo que vale la pena pegarle una mirada a este articulo sobre un excelente gestor de contenidos como es SPIP.
http://www.nqnwebs.com.ar/article.php3?id_article=37
Tambien podria ser otro criterio de comparacion la flexibilidad del sistema de permisos. Creo que wordpress tiene unos 10 niveles fijos de usuarios, globales al sistema, mientras que Tiki te permite definir tus propios grupos de usuarios y asignarles permisos a esos grupos de forma muy flexible (p/ej un grupo puede ver comentarios, otro puede ver la historia de cambios de una pagina o editarla, y otro distinto puede ser quien suba archivos a las galerias de imágenes. Incluso puede decirse que grupo de usuarios puede ver y/o editar determinado grupo o categoria de paginas wiki. Si se quiere un ambiente estilo wiki, donde mucha gente accede y tal vez cambia los contenidos, tener un esquema de permisos como el de tiki (puede mejorar mucho aun) es bastante util.
Como en todo, depende como se quiera usar el sistema. Si se quiere un wiki con permisos muy flexibles, supongo que eligiria Tiki. Si quisiera algo personal, para publicar mi propio blog, donde yo seria quien agregue la mayoria de contenido probablemente iria a Wordpress. Y aun no se como se comporta Drupal (o Xoops, o alguna de las otras alternativas populares en la vuelta) a ese respecto.
Drupal es bastante flexible en el tema de los permisos. Puedes hacer lo mismo del tiki, de crear grupos que cuenten con un determinado set de permisos. A mi parecer, es mucho más claro es sistema drupaliano que el de Tiki, que es un verdadero caos a veces.
Hola,
Me pareciió excelente este artículo. ¿Qué me puedes recomendar para un sitio tipo farmacia on line (sólo catálogo, sin carro de compras)?
Tengo algunos ejemplos:
http://www.rxcarecanada.com/
http://www.buylowdrugs.com
http://www.speedyhealth.com/
http://www.medisave.ca/
Necesito que además de poder subir noticias, se pueda administrar un catálogo de productos y que tenga un buen sistema de newsletter.
Gracias por su ayuda
Hola:
me pareció muy útil tu comparativa.
Sin embargo creo que faltó un punto vital:
Cual de los 3 sistemas es más eficiente desde el punto de vista de la carga del servidor.
Te lo digo porque tengo Drupal en mi sitio y ya pasé de las 20.000 visitas diarias, y la verdad es que a esta altura Drupal se ha convertido en un "zapato chino". Ocupa demasiado recurso del servidor, crea un log de cada evento que se registra en el sitio, etc, etc.
Me han dicho que Wordpress es mucho más eficiente en ese sentido pero no me consta. Si alquien tiene información se la agradeceré.
Atte.
R.
Buenas, estimado Rodoc.
La verdad, con 20.000 visitas diarias cualquier sitio puede empezar a tener problemas.
Lo primero que tomaría en cuenta es la necesidad de utilizar Drupal. Wordpress es un sistema de blog, con "php vanilla" en su núcleo, por lo que claramente es más rápido. Si sólo quieres escribir tus artículos y no hacer nada más, creo que debería bastarte.
Ahora, sí requieres las funcionalidades Drupalianas, hay varias cosas que puedes hacer para mejorar su rendimiento. Lo primero sería desactivar el módulo de watchdog. Si tu versión no lo permite, es cosa que vayas a modules/watchdog.module y comentes todas las líneas que hacen algún insert. Bruto, pero funcional. Lo segundo es crear un índice en locales_source, en el campo BLOB, de unos 100 caracteres, por lo menos. Como la tabla de locales se actualiza raramente, es muy eficiente el poner el índice para que la búsqueda de las traducciones se haga más rápido, lo que disminuye bastante la carga de la DB.
Hola:efectivamente, ya había deshabilitado el watchdog, a la manera "bruta".
Sobre lo segundo, te refieres a colocar 100 caracteres de cualquier cosa en la tabla "locales_source".
saludos y gracias.
R.
Excelente articulo! Gracias, me has ahorrado tiempo buscando el mejor CMS para mi proyecto. Voy a optar por Drupal, porque me gusta su funcionalidad de libros en linea.
Por otro lado, estoy de acuerdo contigo acerca de Smarty; he tenido que trabajar con eso en mi empleo y la verdad me parece de lo mas engorroso. Realmente es un codigo basura!!
Con PHP puedes separar la logica de la presentación facilmente. PHP es el mejor lenguaje para plantillas. La clave es crear las clases convenientes para esto... he hecho una clase para plantillas basada en PHP con mi proyecto datapture (http://datapture.sourceforge.net): funciona mas rapido y mejor que Smarty... realmente no entiendo como hay gente que insiste en usar codigo inutil como Smarty.
No, la idea es agregar un indice a "source" de 255 caracteres, para que quede algo así
CREATE TABLE `apsique_musica_2`.`locales_source` (
`lid` int(11) NOT NULL auto_increment,
`location` varchar(255) NOT NULL default '',
`source` blob NOT NULL,
PRIMARY KEY (`lid`),
KEY `source_i` (`source`(255))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Muy bueno el artículo.
me ha sido de gran utiliad para el trabajo que estoy realizando, así que muchas gracias.
Muchas gracias por tu articulo. Tan solo necesito repetir una consulta que al parecer no haz respondido aun. ¿Que sistema recomiendas usar para crear un catalogo sencillo sin carro de compras?
¿ Conoces algún pluggin de Wordpress para agregar un catalogo?
Saludos de Chile.
Daniel Arce
Hola a todos.
Muy interesante el post y los posteriores comentarios.
Voy a plantearos una pregunta porque necesito ayuda.
Cual creeis que es el mejor software libre para crear una web parecida a Trip Advisor, en la que tengo, por ejemplo, una base de datos con restaurantes, una base con usuarios, y cada usuario puede decir en que restaurantes ha comido, darles puntuación y mantener un listado de todos los que ha puntuado. Mientras que cada restaurante guardará las críticas y una puntuación media según lo que le hayan valorado.
TikiWiki es interesante, pero quizás demasiado rígido.
No se si sabré adaptar Drupal.
Se puede hacer lo que pido en estos programas?
Hay algún otro más indicado?
Muchas gracias.
No sé que opine el resto, pero creo que lo que tú pides sería algo relativamente sencillo de lograr en Drupal, para alguien que conozca la plataforma. Habría que crear algunas extensiones al módulo de usuario, crear un nodo de tipo "restaurant", la asociación de usuarios con restaurant (para que los dueños puedan ver sus calificaciones) y usar el módulo Voting Api para controlar los votos.
Con respecto a lo que hablan de las plantillas y Smarty.
Que es lo que opinan que está malo, usar Smarty o separar el código del diseño.
Porque yo intenté usar Smarty una vez porque me parecia buena la idea, ya que trabajo con diseñadores y es un ida y vuelta con los archivos.
Smarty no me gustó como codificaba y los diseñadores usan mucho dreanweaver y no servia como quedaba despues de meterle el código.
así que tuve que crear una clase que hace algo parecido a Smarty y me facilita el trabajo enormemente, los diseñadores siguen viendo casi lo mismo y pueden tocar el diseño tranquilamente sin tener que molestarme.
Por eso me llama la atención, en este momento estaba buscando si había alguna otra alternativa así como Smarty para comparar con el que yo hice, por ahí había algo mejor.
Estoy de acuerdo con que es una porqueria Smarty, pero la idea no es mala.
Tu mismo diste la respuesta :)
Es recomendable separar el código de la presentación del resto, tanto por una cosa de orden, como para permitir el trabajo de los diseñadores.
Y sí, Smarty no sirve
tiki no lo conosco... pero me parece interesante...
Wordpress es muy sencillo la verdad lo recomiendo para un blog...
pero prefiero a Drupal si quieres hacerlo mas complejo e interesante...
si quieren algo al nivel de wordpress aun que con menos plugins... pueden usar Frog es una version interesante...
si quieren algo superior a Drupal.. en el sentido que muchas funciones que encuentras en modulos ya estan instaladas...
usa Jomla o MiaCSM (ingles)...
prefiero Miacsm...
pero su desventaja es que son muy pesados y su aprendisaje la verdad me fue mas dificil... por que trae mas opciones...
Enviar un comentario nuevo