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