Tengo unos meses implementando en un medio de comunicación un CMS o manejador de contenido llamado Drupal 7, la verdad es que ayuda mucho luego de un largo desgaste, su implementación tiene sus ventajas y desventajas que iré mencionando. Pero como todo, luego de aprender sus trucos podrás vivir con el.
En mi opinión personal, cuando haz tenido la experiencia en desarrollar sistemas desde cero, y enfrentarte con uno prefabricado para ajustarlo completamente a las necesidades del cliente, deja mucho que desear, pero a la final se logra. Descubres que Drupal es como un Framework, con el tiempo te das cuenta que hay cosas que te podían llevar días, y aquí podrás lograrlo en un par de horas, siempre y cuando tengas a mano una buena documentación, de lo contrario te puede llevar días.
Muchas de las cosas que se necesitan de un sistema para manejar contenido, Drupal las tiene de fácil disposición, esto agiliza mucho su implementación, y evitas reinventar la rueda. Pude experimentar que es muy modular y customizable, como es de código abierto te permite estudiar su interior.
Todo lo anterior parece ser bonito hasta que te enfrentas a la realidad, su curva de aprendizaje es muy inclinada, considero que la documentación que la acompaña es pésima, por ende el entorno pasa a ser muy complicado de usar, uno invierte mucho tiempo al principio estudiando como funcionan, el rendimiento es terrible por lo que hay que usar soluciones de terceros, publicar una versión de uno de sus ambientes; desarrollo, pruebas y producción es basicamente un remplazo, no existe la sincronización cuando se toca la Base de Datos, por lo que se requiere ser muy cuidadoso con los cambios, por otro lado puedes utilizar herramientas de terceros para la migración, pero requieren madurar aún más.Tenemos la ventaja de poder programar un nuevo módulo con el fin de ampliar su funcionalidad, e inclusive al de un modulo existente, optar por este camino con Drupal evitará fronteras, por otro lado, en caso contrario podemos recurrir a un amplio repositorio de módulos creados por terceros, un pequeño grupo de ellos es indispensable y actualizado, el otro, hay que tenerle cuidado, existe una gran cantidad que carecen de mantenimiento y correcto desarrollo.
La combinación de ambas soluciones, desarrollar los propios y usar módulos de terceros es una buena opción, todo depende de las necesidades a las que nos enfrentamos. Una cosa es cierta, saber usar muy bien un CMS te permite la implementación de un sitio en tiempo record, pero tambien tiene su precio.