Migration OJS 2.4.5 to 2.4.8-1

Good morning, I would like to give me some guidelines on how to perform migration from OJS 2.4.5 to .2.4.8-1 on a ubuntu 14 server.
I have taken backup of the BD, directory and repository and installed linux locally.
I will thank you very much

Hi @ltenorio

The best place is to start with our official documentation: Managing the Server Environment

Cheers,
Jason

Hola Jnugent:
Gracia por tu respuesta, el enlace https://pkp.sfu.ca/ojs/UPGRADE ya no esta visible, nuestro OJS se ha personalizado de acuerdo a nuestras necesidades. Segun: https://pkp.sfu.ca/ojs/docs/userguide/2.3.3/es/systemAdministrationUpgradingMigrating.html debo generar un parche con diff, nose si habrá otra manera de hacerlo.

Saludos y gracias

La etiqueta pide que usemos el inglés (que es la lengua franca de la comunidad y permite a muchas más personas entender y responder a tu duda) pero si prefieres usar el español, para algunos de nosotros es lengua nativa.

Dicho esto, yo te propondría atacar el problema en 2 fases:

  1. Hacer el upgrade a la nueva versión (2.4.8)
  2. Aplicar, una a una, las modificaciones que hicisteis a vuestro 2.4.5.

Has comentado que tienes copia de seguridad de todo (base de datos, scripts y archivos cargados en el OJS). Por favor, confirma que eso es así, incluso haciendo una recuperación de prueba en, por ejemplo, tu ordenador portátil.

Una vez tengas esta réplica funcionando vas a tener la tranquilidad de que “si todo falla, podemos volver atrás” y a su vez, te va a servir de “entorno de pruebas”.

Sobre el entorno de pruebas, sigue las instrucciones de este manual:

El documento explica varias maneras de actualizar tu código fuente, pero la más fácil y rápida consiste en:

  1. Descargar el siguiente comprimido: http://pkp.sfu.ca/ojs/download/ojs-2.4.8-4.tar.gz
  2. Descomprimir sobre tu instalación actual
  3. Realizar la actualización por web o línea de comandos como se explica en “Upgrading the OJS database”. En web seria:
    3.1 Editar el “config.inc.php” que puedes encontrar en tu raíz y cambiar la variable “installed = On” a “installed = Off”.
    3.2. Abrir tu revista con un navegador y cuando te redireccionen, pulsar en el enlace “Upgrade” y seguir las instrucciones de la pantalla.
    3.3 Volver a editar el “config.inc.php” y devolver la variable “installed” a su estado incial con: “installed = On”

Una vez actualizado el código y la BD, confirma que el OJS funciona como cabe esperar y luego, mediante “diff”, busca los cambios entre tu código fuente y el 2.4.5 original, para luego aplicarlos, uno por uno, a tu nueva versión 2.4.8.

Cuando todo funcione, será el momento de realizar, exactamente los mismos pasos, en tu revista en real.

Si encuentras algún problema, reporta en este hilo las tareas realizadas y los errores que se muestran.

Un saludo,
m.

2 Likes

Thanks for jumping in, @marc!

1 Like

Thank you very much.

ltenorio

Buenas tardes,
Entiendo que de una versión a otra de OJS las tablas de la Base de Datos (MySQL) pueden variar, es decir pueden aumentar en campos y/o tablas. En este caso como le comente tengo un backup de la BD que es un archivo con extension .sql como haría para actualizarla a 2.4.8?, ya que segun la pagina de pkp dice:
“Hay que actualizar la base de datos; para ello, puede usarse el script tools/upgrade.php (en esta parte nose como realizarlo).”
Primera vez que estoy migrando el OJS, y quisiera que por favor me tengan paciencia.

Saludos cordiales,

Tranquilo @ltenorio. Todxs hemos pasado por esto y nadie nace aprendido.

Te respondo por partes:

Entiendo que de una versión a otra de OJS las tablas de la Base de Datos (MySQL) pueden variar, es decir pueden aumentar en campos y/o tablas.

Exacto. Entre la versión 2.4.5 y la 2.4.8-1 se han podido realizar cambios en el modelo de la base de datos y para ello es necesario correr un programa que revisa las estructuras y realiza los cambios pertinentes. Ahora lo detallamos.

En este caso como le comente tengo un backup de la BD que es un archivo con extension .sql

Guarda este .sql como oro en paño. Guarda también copia de seguridad de los archivos subidos (pq la nueva versión de ojs puede intentar moverlos de lugar o renombrarlos y luego no hay marcha atrás) y de los php de tu ojs actual (pues por lo que comentas, se han realizado cambios sobre el código original de pkp). En resumen, guárdalo todo antes de empezar, pues más vale prevenir que curar.

como haría para actualizarla (la BD) a 2.4.8?

Para actualizar la BD hay que cargarla en un mysql y correr el script de actualización… pero déjame que asegure antes que estamos en la misma página.

  • Entiendo que tienes un OJS 2.4.5 funcionando ¿si?
  • Tienes también copia de seguridad de TODO (volcado de la BD en .sql, pdf y docs subidos, etc) ¿si?

Si la respuesta a las 2 anteriores preguntas es SI, el siguiente paso es actualizar el código fuente de 2.4.5 a 2.4.8-1…

Para actualizar el código, debes realizar el paso 1 y 2 que te comenté antes, que son:

  1. Descargar el siguiente comprimido: http://pkp.sfu.ca/ojs/download/ojs-2.4.8-4.tar.gz
  2. Descomprimir sobre tu instalación actual

Una vez actualizado el código, le toca a la BD y como te comentaba en el anterior post, existen 2 métodos: mediante web y por línea de comandos.

Método “línea de comandos”

Si tienes acceso a línea de comandos y te sientes cómodo con ello, es la mejor opción y es tan fácil como entrar por terminal (ssh?) y desde la raiz de tu ojs, ejecutar el comando:

$ php tools/upgrade.php check
$ php tools/upgrade.php upgrade

El primer comando solo “chequea” versiones y te explica los cambios que necesita realizar (pe, te va a decir “la BD actual no corresponde con el código fuente”).

El segundo comando, va a realizar los cambios pertinentes para que código y BD estén en la misma versión.

Método “web”

Si no tienes experiencia en línea de comandos, te recomiendo que hagas la actualización des de la web.

Para ello, solo tienes que realizar los pasos del punto 3 del mini-manual que te hice en el post anterior y que te engancho aquí de nuevo:

3.1 Editar el “config.inc.php” que puedes encontrar en tu raíz y cambiar la variable “installed = On” a “installed = Off”.
3.2. Abrir tu revista con un navegador y cuando te redireccionen, pulsar en el enlace “Upgrade” y seguir las instrucciones de la pantalla.
3.3 Volver a editar el “config.inc.php” y devolver la variable “installed” a su estado incial con: “installed = On”

Al completar este proceso, deberías tener tu OJS migrado a la versión 2.4.8-1 y sería el momento de testear que todo funciona correctamente.

Cuando me confirmes que todo va bien, hablamos de cómo volver a aplicar los parches que se le hizo al código fuente (si es que valoráis que todavía son necesarios).

Te esperamos aquí…

Saludos,
m.

1 Like

muchas gracias por su respuesta, pero tengo una duda antes de descomprimir la version 2.4.8 a la version actual (2.4.5), déjeme que le explique.
Se han realizado modificaciones en el OJS de producción, como cambios en los correos de la parte de la gestión, colores, texto que se visualiza al momento que un usuario se inscribe, etc, en la medida de lo posible. al momento de descomprimir la nueva versión no perdere todos estos cambios?, que se puede hacer?.
De antemano muchas gracias por su respuesta

El problema que describes es un problema clásico.

Existen 2 maneras de trabajar:
a) Nunca hagas cambios en el código fuente de OJS. En su lugar, aplica CSS, crea themes o módulos.
b) Si quieres hacer cambios, usa control de versiones (git) para saber que se ha modificado. Así cuando instales una nueva versión, podrás aplicarle encima tus modificaciones.

Soy consciente de que ahora mismo esto te ayuda más bien poco así que vamos con la tercera via… que no es otra que "localizar todos los cambios ralizados y volverlos a aplicar sobre el nuevo código fuente.

Hacerlo “a mano” es un proceso lento y tedioso, así que te recomiendo que uses diff y patch.
El manual de OJS2 describe como hacerlo:

El proceso sigue siendo tedioso, pero es mucho más ágil y fiable que “a mano”.
Como es evidente, esta tarea debe hacerse en un espacio de pruebas (duplicando tu ojs) y una vez aplicados los cambios pertinentes y testeado en profundidad… hacer backup de producción, poner el ojs en modo offline y replicar los cambios que se hicieron en pruebas.

Sobre el proceso de instalación y upgrade (no el rebase del código) hice un pequeño howto para unos colegas. Te lo añado por si te resultase de utilidad:

Un saludo,
m.

Te he vuelto a leer y ahora veo que no te entendí.

Voy por partes:

Los correos de gestión se recogen de los archivos de los “emailTemplates” y guardan en la BD. Si haces cambios sobre ellos, OJS va a mantener esos cambios en la BD y (sospecho) que OJS3 los va a sobreescribir.

Los colores… pues depende como se haya hecho. Si se ha tocado directamente en el código de OJS, se va a sobreescribir con el nuevo código. Si se ha desarrollado un theme, hay que adaptar el código ojs2 a ojs3, pero van a funcionar. Si se han cargado a la plataforma como hojas de estilo (CSS), pues entonces va a funcionar sin problema.

Los textos (cadenas de traducción) no se mantienen de ojs2 a ojs3. Si se han modificado los xml de traducción, se van a borrar con los nuevos xml de traducción (aquí diff&patch puede ayudar, pero poco). Si se ha usado la herramienta de traducción que incluye el mismo OJS, se van a perder pq ojs3 va a cargar sus propias cadenas de traducción y se perderán las que tengas. Aquí solo puedo proponerte 2 soluciones:
a) Activar el módulo translation, Descargar las traducciones es_ES actuales, Hacer un diff para ver que se ha cambiado y aplicar en OJS3.
b) Olvidarse de los cambios y volverlos a aplicar pero usar el módulo “custom translation” que permite mantener una capa sobre cualquier traducción con la personalización que se desee.

Por cierto, la traducción española (que hacemos desde la UAB) está incompleta. Ya hemos traducido las cadenas más visibles y esta semana las subiré a algún lado.

No se si hay más cosas que desees conservar. Mi recomendación es (como te comentaba en el mensaje previo) que hagas una instalación de pruebas y mires allí que sucede, pues es inevitable olvidarse alguna cosa.

Espero te resulte de utilidad.

PD: Te dejo la anterior respuesta por si te resulta de utilidad para actualizar el código fuente (diff&patch).

Buenos días,
Tengo un problema después de la migración con el envío de correo “Registro en la Revista”, no envia correo cuando se inscribe, pero si envía cuando subo el articulo como autor.
Que tengas un buen día y gracias por tu respuesta

Hola Itenorio,

Podes enscribir este mensaje como nuevo topic? Asi podemos mantener el foro mas organizado.

Gracias,
Alec Smecher
Public Knowledge Project Team