Los beneficios de actualizar un sitio de Drupal 5 a 6

ipwa's picture

El comentario de Fernando en la encuesta de que versión de Drupal usas, me animo ha escribir acerca de mi experiencia actualizando una pagina de Drupal 5 a 6. La pagina es Mulpo.com y fue una de las primeras paginas Drupal que hize cuando estaba estudiando acerca de comunidades en línea para mi tesis. Como cualquier principiante en Drupal empeze a instalar todos los módulos que sonaban útiles y muy pronto mi pagina sufría de modulítis, jeje. Varios ya estarán familiarizados con esta pantalla cuando estas en un ambiente de hosting compartido ;)

memore_limi_error

A medida que la página fue creciendo los errores de memoria parecían más frecuentemente, y era claro que tenía que moverme a un host virtual. Antes de migrar la página decidí actualizarla de Drupal 5 a 6, y aunque hubieron algunos problemas en el camino, valió la pena el esfuerzo y trabajo por todos los beneficios que me trajo hacer la actualización. Según mi punto de vista estos fueron los beneficios de actualizar a Drupal 6:

  • Siempre es bueno tener copias de tu base de datos, si pierdes tu información por alguna razón es fácil recuperarla. Para actualizar es *muy* recomendado hacer una copia de tu base de datos y si lo haces con la línea de comando es bastante fácil y rápido.
  • Drupal 6 tiene bastante mejoras en performance y caché. Mulpo es mucho mas liviano y rápido desde que corre con Drupal 6, pero eso se debe también a la menor cantidad de módulos que termine necesitando después de la actualización. Alrededor de +80% del tiempo de carga de una pagina viene desde el front-end, ósea JS, CSS, imágenes y videos. Drupal 6 tiene un agregador de JS en el núcleo así que tu página puede terminar con un solo archivo JS y un solo archivo CSS, y si usas sprites una solo imagen de css =)
  • Las mejoras en usabilidad son evidentes en Drupal 6, poder ordenar bloques, campos cck, menús, etc. arrastrándolos (drag & drop) es bastante cómodo. Los encabezados de las tablas se mueven contigo cuando estas bajando por la tabla, lo cual es muy útil en la pagina de permisos.
  • Actualizar de una versión de Drupal a otra te hace perder el miedo a actualizar los módulos frecuentemente, es bueno que siempre estén actualizados por seguridad. Drupal 6 viene con un módulo que chequea si tus módulos están actualizados y si no lo están te da el enlace para la ultima versión, y si ha habido una actualización de seguridad, te alerta.
  • Desarrollar temas en Drupal 6 es mucho mas avanzado y no es difícil actualizar un tema a Drupal 6. En Drupal 6 por ejemplo tienes $body_classes en núcleo y ya no tienes que hacer una función en template.php para tener algo así.
  • Al igual que hay varios módulos que no han sido actualizados a Drupal todavía, hay bastantes módulo inovadores que solo están disponibles para Drupal 6. Dos módulos que se me vienen a la mente: admin y vertical tabs.
  • Con el code freeze de Drupal 7 anunciado para el primero de Setiembre, Drupal 7 ya estará saliendo el próximo año, y Drupal 5 ya no estará oficialmente soportado. Actualizar ahora te hace estar preparado para el futuro.
  • Tener que actualizar te hace darle una mirada seria a la lista de módulos que tienes en tu pagina. Si hay módulos (funcionalidades) que los usuarios no están usando en tu pagina, es una buena idea dejar de usar esos módulos. Si tienes módulos que ni siquiera están activados, lo mejor es borrarlos de inmediato, todos los módulos van a ser cargados en tu pagina aunque no los estés usando. Yo tenia 119 módulos, y resulto que después de actualizar a Drupal 6, termine usando alrededor de un tercio.

En general las empresas que usan Drupal solo deberían actualizar si alguno de los beneficios de usar Drupal 6 (son muchos mas, yo solo hize un pequeño resumen de los que se me vinieron a la mente), les dan a un valor agregado a su pagina desde el punto de vista de los usuarios, sean administrativos o end-users. Por ejemplo si tú página es más fácil de usar, incrementara la productividad de los administradores y hará que los end-users vengan más frecuentemente. Si incrementar la productividad y tener más visitas incrementa el retorno sobre la inversión que se hizo en la página entonces recomendaría actualizarte. Si la página es una página mayormente estática y que solo es actualizada por una persona, entonces los beneficios tal vez no justifiquen el tiempo que pases actualizándola, en todo caso, puedes esperar hasta el próximo año, aunque se que hay una compañía que va a portar todos los parches de actualizaciones de seguridad de Drupal 6 a Drupal 5.

Cuando hice una presentación acerca del proceso de actualización de esta pagina hize un esquema de que módulos estaba usando en mi pagina anterior, y como fueron tratados durante el proceso de actualización. La traducí al español, pueden verla en grande apretando el enlace.

mulpo-modulos

Login to post comments

Quita necesidad de memoria?

ywarnier's picture
ywarnier - Sáb, 2009-06-20 16:34

ipwa, me gustaría saber si tienes una evaluación del uso de memoria entre un D5 y un D6 equivalente (no en número de módulos, sino en funcionalidad total). Tengo varios portales corriendo en D5, que obviamente son super pesados (según devel, usan 40MB de memoria en el servidor en una sola carga de página) y es difícil para mi de evaluar si, pasando a D6, voy a tener una gananza considerable de memoria. Por esto, si tienes algunos datos al respecto...


Eso depende que módulos vas a utilizar

rcechang - Sáb, 2009-06-20 17:27

Eso depende que módulos vas a utilizar.
El core de Drupal de por si ahorra consumo de memoria, porque se han reestructurado algunas cosas como por ejemplo (una de las más importantes para el tema de consumo de recursos) el sistema de menús. Sin embargo dependiendo los módulos que utilices uno de ellos podría consumir más memoria que su predecesor o equivalente en la versión anterior.


Drupal 5 es más rápido

ipwa's picture
ipwa - Sáb, 2009-06-20 17:58

La verdad es que haciendo un poco de investigación resulta que Drupal 5 es más rapido que Drupal 6. Lo que a mi me mejoro definitivamente entonces el performance fue la reducción de modulos que fui obligado hacer para actualizarme, y no actualizar de Drupal 5 a 6. Me hizo pensar seriamente en las necesidades de mis usuarios y en averiguar si ciertas funcionalidades eran utilizadas, y sino porque tenerlas, mejor hacer el sistema lo más simple posible para el usuario. Tambien bastantes funcionalidades en Drupal 5 que requerian varios pequeños módulos fueron reemplazados por un solo módulo en Drupal 6. Lo que a mi si me redujo seriamente el numero de queries que se hacían en la página fue usando Block caché en Drupal 6, especialmente las drupal_lookup_path de los menús. Y en general el numero de queries se redujo despes de la actualización incluso antes de activar block caché, pero no encuentro los pantallazos que le tomé a la página principal con devel activado antes y despues de actualizar :/

http://2bits.com/articles/benchmarking-drupal-5x-vs-6x-which-one-faster....
http://vision-media.ca/resources/drupal/drupal-performance-benchmarks-58...
http://2bits.com/articles/measuring-memory-consumption-by-drupal-bootstr...


comparación de capacidad de lenguajes multiples

ipwa's picture
ipwa - Sáb, 2009-06-20 18:06

Encontre esta comparación de capacidad de lenguajes multiples entre Drupal 5 y 6:

http://www.developmentseed.org/blog/internationalization/comparison_chart


Más funcionalidades = más carga

develCuy's picture
develCuy - Sáb, 2009-06-20 21:20

Gracias @ipwa por estos comentarios, he promovido tu post a otros grupos de habla hispana para que también se beneficien de tu aporte y las subsecuentes discusiones.

Drupal 6 tiene muchas ventajas no solo en cuanto al core y facilidades para hacer desarrollo, sino también en cuanto a módulos contribuidos. Los clásicos cck y views, son un ejemplo, pero @ipwa cita admin y vertical_tabs, los cuales mejoran de forma espectacular la usabilidad de Drupal.

En mi experiencia conozco que el core en D6 soporta muchas más funcionalidades, por lo tanto, aunque no todas estén activas, el simple hecho de soportarlas lo hace más lento. Pero esa velocidad es en cuanto a ejecución de código, respecto del manejo de memoria es definitivamente mejor. Y resalto la palabra manejo, que implica usar menos memoria donde D5 usaba demasiada. El otro punto es que Drupal abusa del uso de cache, de tal forma que se hagan menos consultas a bases de datos. Pero esto no implica necesariamente mejoras en cuando a la eficiencia del código.

Otro aporte importante de @ipwa es que un trabajo de migración ayuda a mejorar el rendimiento. Esto tiene varias condiciones:
- La migración es en todo o en parte el desarrollo de una nueva versión del sitio en sí mismo.
- Varios módulos de D6 permiten "ahorrar" muchos otros.
- Las mejoras en cuando a flexibilidad permiten personalizar con menos hacks, en el caso de views 2 uno se ahorra mucho código php en cuanto a theming y más bien se va por el lado CSS.
- La versión JQuery en D6 permite hacer mucho más con menos hacks. Incluso mejora en performance, porque JQuery Update trae problemas de rendimiento.

Finalmente, respecto de rendimiento se puede mejorar mucho con Boost, context, spaces y features. Los dos últimos permiten apagar y prender funcionalidades (features) de acuerdo al contexto (context) y espacio (spaces). Creo que debemos empezar a desarrollar por ese camino, no tengo un método definido todavía, pero si se quieren mejoras sustanciales, lo mejor es enseñarle a los módulos a que se carguen cuando realmente es necesario, y que el core "no les de bola"(tines algún hook?) cuando no es necesario.

--
more stuff...
(3 John 1:2) Dear friend, I pray that you may enjoy good health and that all may go well with you, even as your soul is getting along well.