Guía para estimar una migración a Drupal 8 (desde Drupal 6 ó 7)

Posted by Luke Pekrul on 1 de Mayo de 2018
Migration & Upgrades

Si está pensando en la posibilidad de actualizar a Drupal 8, pero no están seguros de qué tipo de presupuesto puede esperar, vamos a desglosar el proceso de actualización (migración). En el camino, vamos a destacar los factores que agregarían horas a su proyecto. Esta guía es especialmente para las personas sin conocimientos técnicos (y escrita por uno). Sin embargo, todos los públicos deberían aprender algo. Vamos a detallar las preguntas que debería hacer a su desarrollador antes de cotizar la migración. También discutiremos algunas de las mejores prácticas y "trampas" comunes.

Al final de esta guía, usted debe tener confianza en la estimación (o cotización) de una actualización. Usted sabrá sobre algunos errores comunes y poder evitar dolores de cabeza. Empecemos pues.

Migraciones típicas

Migraciones simples incluyen generalmente dos o cuatro pasos. La migración más básica incluirá una migración de la configuración seguido por la migración de contenido. Si es necesario agregar nuevos campos, consolidar o dividir tipos de contenido (content types), o migrar campos personalizados, que se haría antes de la migración de contenido.

Migración de configuración

Configuración de sitio incluye cosas como tipos de contenido, campos y ajustes del sitio––en esencia todo lo que no es el contenido. Migración de la configuración significa copiar el marco estructural de su sitio anterior a Drupal 8.

Estimado de tiempo base: 15-20 horas

Campos nuevos o personalizados

Si tiene campos nuevos o personalizados que desee en el nuevo sitio, hay que agregarlos  antes de que migra el contenido a ellos. Así que eso es a menudo el segundo paso. (Ojo: También puede empezar a recrear Views (vistas) y temas después de la migración de configuración. Aunque recrear temas y Views será necesarios para lanzar su nuevo Drupal 8 sitio, hay demasiada variabilidad para sugerir una estimación general. A continuación hablaremos más específicamente acerca de recrear Views.)

Si usted se pregunta si su sitio necesitará nuevos campos, hay dos escenarios comunes.

Paragraphs está reemplazando Field Collections en Drupal 8. Si su sitio Drupal 7 ha utilizado Field Collections, necesitará añadir algunos nuevos campos utilizando Paragraphs. Me han dicho que hay trabajo en curso para automatizar esto en la cola de cuestiones de Paragraphs, pero debe esperar que siempre va a requerir un poco de trabajo manual.

Estimado de tiempo adicional (incluyendo el tiempo de migración de contenido adicional):10-15 horas

Media ha sido añadido como un tipo de entidad (Entity Type) para Drupal 8. Si su sitio Drupal 6 o 7 antiguo tiene archivos pesados de multimedia, debería pensar en manejar estos archivos como Media entities (en lugar de Node entity o File entity), lo que supondrá la creación de nuevos campos para sus imágenes, vídeos, y audio.

Estimado de tiempo adicional (incluyendo el tiempo de migración de contenido adicional): 15-20 horas

Campos personalizados incluirá toda lógica especial del sitio antiguo. Ejemplos comunes serían campos CCK (Drupal 6) para manejar tipos especiales de datos; los archivos de vídeo antes de que YouTube era tan omnipresente. O aquellos campos más o menos Field Collection que se hicieron porque el verdadero campo Field Collection no sirvió. Dependiendo de la complejidad de la lógica incluida en estos campos personalizados, el tiempo para añadir campos personalizados variará ampliamente. Asegúrese de resaltar campos personalizados cuando coticen la migración.

En algunos casos podrá utilizar campos de módulos contribuidos (contrib modules) para reemplazar los campos personalizados, archivos de vídeo, por ejemplo. En otros casos, tendrá que reconstruir la lógica de los campos personalizados. En cualquiera de los casos, tendrá que migrar los datos.

Dividir o consolidar tipos de contenido

Con el tiempo, es común que un tipo de contenido se utiliza con demasiadas clases de contenido no relacionadas. En estos casos, el tipo de contenido a menudo termina incluyendo una variedad de campos difícil de manejar y debe ser dividido. Por ejemplo, un vendedor de vehículos usados decide utilizar el “Ofertas de carro” tipo de contenido para publicidad del barcos. Con el tiempo, se añaden una gran cantidad de nuevos campos para las especificaciones de barcos que nunca se utiliza en la publicidad de carros, y suele confundir cuales campos utilizar. La migración sería un buen momento para dividir el “Ofertas de carro” tipo de contenido en dos tipos de contenido separados, con sólo los campos relevantes para cada tipo de publicidad.

Por otro lado, también es fácil de agregar tipos de contenido redundantes. Por ejemplo, el vendedor de vehículos usados tiene el “Oferta de carros” tipo de contenido y un “Ofertas de camioneta” tipo de contenido con exactamente los mismos campos. Antes de la migración de contenido, estos podrían ser consolidados en un solo “Oferta de automóviles” tipo de contenido, limpiando la arquitectura de datos y dejando a un menor número de tipos de contenido para administrar, agregando un campo de tipo taxonomía para diferenciar Automóviles de camionetas.

Migraciones de sitio son una buena oportunidad para limpiar la organización del contenido en su sitio. Los administradores del sitio a menudo se dan cuenta que quieren dividir o consolidar tipos de contenido después de la migración de contenido ya está en marcha. Recomendamos hacer un inventario de tipos de contenido antes de empezar.

Tiempo estimado adicional: 2-5 horas por factura o consolidación

Migración de contenido

Migración de contenido es obviamente el centro del proceso. Es donde se mueve todo texto, multimedia, títulos, etiquetas de categoría, términos de la taxonomía, archivos, etc.

Estimado de tiempo base: 30-40 horas

Cuatro factores pueden agregar horas a la migración de contenido: la complejidad del sitio antiguo, tamaño del sitio, traducciones, y la adición de nuevos campos.

“Complejo” es un término relativo, pero se podría decir que su sitio es complejo si se tiene 5-10 tipos de contenido o más de 20 campos de cualquier tipo, especialmente si un porcentaje significativo son campos personalizados o poco utilizados. Incluso si hay relativamente poco contenido, las migraciones complejas requieren más tiempo de mapeo y resolución de problemas.

Tiempo estimado adicional: 40-60 horas

Si usted tiene una migración sencilla con una gran cantidad de archivos de gran tamaño, multimedia, por ejemplo, se tarda más en ejecutarse cada migración. Mucho de esto será monitoreo ocasional mientras la migración este en proceso, ya que es probable que se carga al cliente un par de horas adicionales para este tiempo de revisión. Tenga en cuenta que las migraciones por lo general necesitan ser probados varias veces antes de tener éxito.

Estimado de tiempo adicional: 1 hora por cada 8 horas de tiempo de migración, todas las pruebas de migración

Esperamos que mucha gente vaya a estar interesado en las nuevas capacidades multilingües de Drupal 8. Desafortunadamente, si usted tiene traducciones de contenido para migrar, esto va a aumentar el tiempo de migración hasta que la migración de traducciónes sea totalmente compatible con Drupal 8. Existen todas las herramientas necesarias para hacer una traducción multilingüe. Hemos hecho varios de ellos para los clientes. Pero todavía requiere mucho trabajo manual. Dependiendo del número de idiomas, asegúrese de resaltar cualquier sitio con múltiples idiomas cuando cotiza la migración.

Estimado de tiempo adicional: 50-70 horas

Nota sobre lanzar a tiempo

Es común que exista desfase entre una exitosa migración de contenido y el lanzamiento del sitio Drupal 8 para el público. Inmediatamente antes del lanzamiento de Drupal 8 debería haber una congelación de la adición de nuevo contenido al sitio antiguo y una migración de contenido final. Sin embargo, si espera más de 2-4 semanas antes de lanzar, a menudo es necesario volver a hacer algunas partes de la migración de contenido. Las razones son abundantes: una nueva versión menor de un módulo se libera o un nuevo campo o campos se añadieron en Drupal 8, por ejemplo. Todos estos son cambios que pueden influir en la estabilidad de la migración. Un cliente pasado esperó un año entero antes de lanzar! La migración de contenido original era simple y tomó 35 horas. Pero debido a que esperan tanto tiempo, les costó 30 horas más para actualizar todo para su lanzamiento.

Otros factores de costo a considerar

Rutas de actualización de módulos inestables

Hay una vibrante ecosistema de contributed modules en Drupal 8. Muchos contrib modules son estables. Sin embargo, sólo porque el módulo es estable, no significa que tiene una ruta de actualización estable. Puede ser que sea necesario aplicar parches antes de que su sitio Drupal 8 este listo para migrar los datos del contrib module. Muchos módulos populares tienen rutas de actualización, pero mira este artículo (o mándalo al mantenedor de tu sitio) para ver si alguno de sus módulos se enumeran. Si se trata de una ruta de actualización fácil, probablemente no es un problema crítico. Pero si un módulo importante necesita mucho trabajo, es posible que sea recomendable aplazar su migración hasta que la comunidad puede trabajar en él. O considerar asociarse con un experto como MTech. Tenemos mucha experiencia mejorando actualizaciones de contrib modules.

Tiempo estimado adicional: 10-100 + horas

Recreando Views

Si su sitio Drupal 7 tiene Views que estará en el sitio de Drupal 8, tendrán que recrearse. Drupal 8 core no admite la migración de Views, aunque hay un módulo en marcha para migrar las más simples. Si desea entender por qué no se migran Views, los mantenedores de core explican en este hilo. Si su sitio tiene muchas Views, este será un punto importante para considerar al conseguir su cotización.

Tiempo estimado adicional: 10-100 + horas

Resumen

La actualización a Drupal 8 es una inversión(uno que vale la pena!), pero la buena noticia es que, con un poco de planificación de antemano, los costos son fáciles de estimar .

Una configuración simple y migración de contenido deben tomar menos de setenta horas. Si necesita limpiar su organización de contenidos o añadir nuevos campos, se tendrá que aumentar las horas por cincuenta por ciento. Si necesita migrar traducciones también, o si su sitio es especialmente complejo, podría tomar el doble de tiempo como la migración básica.

Dos cuestiones que son más difíciles de estimar y que puede agregar una gran cantidad de horas a la migración son módulos inestables y recrear Views.

Por lo tanto, hacer un inventario exhaustivo de sus campos y tipos de contenido (que también le ayudará a medir la complejidad de su sitio). Obtener una lista de los módulos esenciales. Saber qué traducciones tienen que migrar. Tener a mano el número de Views que necesitan ser recreados, y listo. Para la gente no técnicos, aquí está la lista de preguntas para su desarrollador o sitio mantenedor:

  1. ¿Cuál es el tamaño y complejidad del sitio de memoria - número de tipos de contenido y diferentes campos? ¿Qué porcentaje son archivos multimedia?

  2. ¿Hay muchas Views que necesitarán ser recreada?

  3. ¿Alguno de sus módulos actuales sin soporte en Drupal 8?

  4. ¿Hay campos personalizados?

  5. Va a crear nuevos campos? En particular para Media entity o Paragraphs. Y es necesario migrar traducciones de estos nuevos campos?

A continuación hemos incluido algunos escenarios con estimaciones por hora. Se calcularon sumando el tiempo base al tiempo adicional para los pasos adicionales en cada escenario, y luego agregando un 10-20% del tiempo adicional para el aseguramiento de la calidad. Estos se basan en escenarios reales para los sitios reales que hemos migrado.

En este punto, también hay que incluir la advertencia de que estas estimaciones se basan totalmente en la experiencia de MTech. Hemos hecho una gran cantidad de migraciones y tenemos un buen control sobre el tiempo que tardan. Cada sitio es único y hay muchas complejidades involucradas en la estimación de tiempo para las migraciones. Sin embargo, esta guía le ayudará a evitar común "trampas" de subestimación.

Escenarios

Por último, aquí hay algunos escenarios donde calculamos algunos tipos de migraciones más comunes. Tal vez se puede ver su sitio en esta lista? Si usted tiene otras preguntas, por favor comentar. Usaremos sus comentarios para mejorar esta guía.

Horas estimadas

Complejidad del sitio heredado, Tamaño

Pasos extras

50-70

Promedio

Básico, migración en 2 pasos

80-110

Promedio

Nuevos campos de Paragraphs, Nuevos campos de Media

110-155

Complejo, Tamaño promedio

Nuevos campos de Paragraphs

115-155

Promedio

Dividir tres tipos de contenido, Traducciones

185-250

Complejo, Muchos datos

Nuevos campos de Media, Traducciones

¿Está buscando ayuda para una migración o actualización de Drupal? Independientemente de la complejidad del sitio o de los datos, MTech puede ayudarle a pasar de un CMS privado o actualizarlo a la última versión: Drupal 8.

Escríbanos sobre su proyecto y nos pondremos en contacto con usted dentro de 48 horas.


Guía para estimar una migración a Drupal 8 (desde Drupal 6 ó 7)