MOBILE

Manufacturas de Internet | eCommerce | Tiendas online | Web | Internet

Switch to desktop

Actualizar Prestashop desde 1.6 a 1.7

Actuallziar a la versión 1.7 de Prestashop

Si tenéis la suerte de comandar una tienda online motorizada por este fantástico script de comercio electrónico que es Prestashop, sabréis ya que la rama 1.6 deja de tener actualizaciones este mismo año. Y que ya está (Mayo de 2018) disponible la novísima versión 1.7.3 que, aun siendo de la rama 1.7, representa un salto adelante increíble respecto a la versión 1.7.2 en lo tocante a facilidad de manejo, mantenimiento y personalización, sobre todo si eres de los que gusta "meter mano" en el código del core y las templates.

Tal como pude ver en el pasado Prestashop Day de Madrid, una de las caracterísiticas más interesantes es la posibilidad de los Child Themes y la potencia y versatilidad del framework Symfony con el que ahora se desarrolla PS.

Pero no es de esto de lo que te hablaré hoy, sino de como actualizar de una rama 1.6 a una rama 1.7

Un dolor de cabeza. ¿Seguro?

Hasta no hace mucho, en concreto hasta Marzo de este 2018, hacer el traspaso de una versión a otra era realmente un dolor de muelas un día de tormenta tras una resaca de fin de semana agravada por una gastroenteritis galopante. O peor, no te digo más.

Ya no valía de nada el fantástico módulo de 1-Click Autoupgrade que nos había venido haciendo la vida fácil desde varias versiones atras, porque simplemente ahora Prestashop era... otra cosa. El cambio al nuevo framework Symfony hace completamente incompatibles los módulos (la mayoría), las templates y a veces hasta los hosting en los que alojas tu tienda (sobre todo, si pretendes dar el salto al superfast PHP7 porque hay muchos módulos con código deprecated que simplemente cascarán el sistema).

Así que la única alternativa era instalar un PS1.7 limpio e ir traspasando contenidos y módulos a mano... si se podía. En Enero de 2018 el propio blog de Prestashop ofrecía un método lento y no siempre válido para hacerlo, pero que con cuidado, ofrecía una posibilidad sencilla y real de hacer el traslado de forma práctica (ese articulo también cita la actualización mediante 1-Click, aunque el módulo se haya publicado un par de meses despues; imagino que actualizarían el texto a posteriori). Los problemas  pueden venir por la parte de incompatibilidades de módulos, pero se suelen resolver fácilmente instalando nuevos o actualizados. 

Pero conscientes del problema que muchos eTenderos tienen, no siendo técnicos ni teniendo uno a mano... el propio equipo de Prestashop ha desarrollado un módulo específico para hacer casi todo el traspaso de forma muy fácil. En realidad, es el eterno módulo 1-Click Upgrade... ligeramente "vitaminado". Lo puedes encontrar aquí: https://www.prestashop.com/es/blog/actualizar-prestashop-1-6-a-1-7

Y ojo, porque la única versión del módulo que a mí me ha funcionado es la 1.6.7. Y digo ojo, porque nada más instalarla en tu PS16 te pedirá que la actualices a la 1.6.8, lo que instalará la versión "oficial" del módulo eliminando la customización que permite actualizar de forma sencilla. La versión 1.6.8 del módulo solo te permitirá actualizar a la última versión de la rama 1.6, en concreto la 1.6.1.18 (a fecha Junio de 2018).

La actualización de la 1.6 a la 1.7, paso a paso

Como te comento, con este módulo la cosa es muy simple, casi como siempre ha sido. Así que prepárate, hazte unas palomitas y pon a punto tu mouse (por cierto, yo ya sólo uso ratones verticales; algo que ha cambiado mi vida y la de mi brazo!!!)

Antes de comenzar siguiera...

Vamos con algunas cosillas que preparan el terreno y nos guardan las espaldas porsiaca!

  1. Copia de seguridad, tanto de archivos como de base de datos
  2. Copia de seguridad de la copia de seguridad. No es broma, nunca está uno seguro de ello.
  3. Actualiza PS16 a la última rama. No es estrictamente necesario, pero ayuda tener una base óptima para actualizar. Para ello, instala (si no lo tienes ya) el módulo oficial 1-Click Upgrade, descargándolo gratuitamente de los Addons de Prestashop4)
  4. Comprueba que tras la actualización a la última versión, todo funciona correctamente.
  5. Vuelve a hacer una copia de seguridad. De todo. Dos veces. O tres!
  6. Desinstala el módulo 1-Click Upgrade borrando incluso su carpeta (asegúrate de ello echando un ojo al directorio donde tienes instalado el PS16

Ahora, hazte las palomintas porque empezamos!

  1. Crea un directorio nuevo en tu server (o en local) llamado por ejemplo, BETA. Ahí meteras una copia exacta de tu tienda online en producción (que no dejaremos cerrada por ahora; yo soy partidario de dejar la tienda online trabajando mientras hacemos estas cosas en otro lado, en otro server o en otra carpeta; otros autores paran la tienda y trabajan en el directorio de producción para no hacer traslados al final del proceso, algo que a mí no me importa y lo prefiero)
  2. Crea una nueva base de datos a la que subirás el dump (volcado) del punto e) anterior. Con este paso y el paso 1 tenemos una copia espejo de nuestra tienda online, instalada en un directorio llamado /BETA/.
  3. Para que funcione, tendrás que editar a mano el archivo config/settings.inc.php para cambiar la base de datos de producción por esta nueva que has creado (lo mejor es cambiar solo el nombre, o la contraseña; necesariamente ha de ser otra base de datos de la de producción, pero no tiene que ser diametralmente distinta!).
  4. Edita la tabla ps_shop_url, en el campo que pone "directorio". Normalmente habrá una slash o barra invertida ( / ) así que tendrás que poner /BETA/. De esta forma le indicamos al sistema que el nuevo PS espejo que estamos creando, está en el directorio /BETA/. Recuerda que si en vez de en una carpeta, lo has puesto en otro hosting o en local... tendrás que cambiar los campos "dominio http" y "domino https" de la misma tabla.
  5. Ahora, deberías poder entrar al administrador de tu nueva tienda espejo (con los mismos datos de usuario, ya que la base de datos beta es una copia exacta a la de producción). Vete al menu de SEO & URLs y verifica que los cambios del punto 4 están correctos. Edítalos y pulsa en guardar: esto crea un .htacces nuevo con estos datos. Como precaución, desactiva los módulos nativos y los overrides en el menú [ rendimiento ]. También, todas las mejoras CCC (minificación JS, HTML y CSS). Desactiva las cachés y pon la tienda en modo mantemiento.
  6. Instala el módulo "autoupgrade.zip" versión 1.6.7 que ya te has descargado del blog de Prestashop. Recuerda que el anterior debes desinstalarlo completamente incluso borrando su carpeta en el directorio de módulos (usa un FTP para visualizarlo, o con la herramienta "documentos" del panel PLESK de tu server, si dispones de él). Asegúrate de que has instalado la versión 1.6.7 del módulo de actualización y no ninguna otra. Eso lo verás en el listado de módulos, bajo el nombre del mismo.
    NOTA: si el módulo no se instala correctamente, dando un mensaje de "controlador no encontrado", reinícialo y/o desactivalo y vuelve a activarlo.
  7. Vé al módulo (que NO DEBES ACTUALIZAR) y pulsa sobre el boton "modo experto". Se despliega una caja en la que has de elegir "Actualización Mayor o Major Release". Por defecto, viene en la segunda opción del desplegable, "minor release (recomended)". Al hacer esto, verás que en el casillero de arriba de todo, donde está tu versión de PS, ya te selecciona "Versión más actual Prestashop 1.7". Es el momento de actuar!
    upgrade module01 minor
  8. Comprueba que tu hosting es válido para la actualización (al menos, PHP 5.6, preferible PHP7), comprueba que esta copia BETA está en modo mantenimiento... y haz click en actualizar. Te saldrá una nueva caja con varias casillas de verificación que tendrás que marcar (realmente es un proceso a prueba de manazas; imposible hacerlo "por descuido") . Verificado todo... adelante!
  9. El proceso de actualización automatico es como el habitual. Dependiendo del tamaño de tu base de datos, llevará más o menos tiempo... pero como ejemplo puedo decirte que una base de datos de 300MB (las tablas estadísticas, que son una losa!) lleva aproximadamente una hora actualizar. Una vez acabado, tu tienda BETA estará ya en la nueva versión 1.7.2.
  10. Comprueba que todo funciona en el BackOffice y haz recuento de los daños: los módulos que ya no funcionan y la template que usabas estarán entre las bajas, seguramente. Es tiempo de instalar la nueva template que has adquirido para la versión 1.7, junto con los nuevos módulos actualizados o comprados exprofeso para la ocasión. A partir de aquí, sólo queda el tipico trabajo de webmaster para poner la tienda bonita de nuevo. Una vez hecho, tan sólo resta trasladar esta BETA al directorio de producción donde aún teníamos la vieja 1.6 (mi recomendación es que no borres la 1.6; dejala en una carpeta llamada OLD porsiaca. Ya habrá tiempo de borrarla dentro de una o dos semanas ;) Recuerda también que tendrás que re-editar la base de datos y el htaccess como habías hecho en los pasos 3 y 4, pero ahora al revés!

Y esto es todo. Puede parecer que es un proceso lento y farragoso, pero en realidad es muy sencillo (aunque lento!). Y lo mejor de todo es que pasará todos los datos de clientes, pedidos, emails, ventas, carritos... a la nueva versión 1.7, dándote una larga vida a tu nueva tienda.

Ah, dado que este proceso te instala la versión 1.7.2, ya puedes actualizarte también a la 1.7.3, con muchos cambios y mejoras en cuanto a estabilidad y versatilidad. Y en verano llega la nueva 1.7.4 todavía mejor!

 

ATRIBUCION: las imágenes son originales del blog de Prestashop

 

 

 

 

Manufacturas de Internet | 902 848 838 | CC BY-NC-SA 3.0

Top Desktop version