1. Aplicacin de parches al OJ S ...................................................................................... 3 2. Actualizacin de versin del OJ S ............................................................................... 12 2.1 Recomendaciones previas a la actualizacin ....................................................... 12 2.2 Proceso de actualizacin del OJ S ........................................................................ 12 2.2.1 Actualizar el cdigo fuente del OJ S ............................................................... 13 2.2.1.1 Actualizacin del cdigo descargando el Paquete Completo ..................... 14 2.2.2 Actualizar la base de datos del OJ S .............................................................. 20 2.2.2.1 Pasos previos a la actualizacin de la base de datos ................................. 21 2.2.2.2 Actualizacin de la base de datos mediante el navegador Web ................. 27 2.2.2.3 Actualizacin de la base de datos mediante lnea de comando ................. 31
1. Aplicacin de parches al OJS Los parches son cambios que se aplican al cdigo de un programa para corregir bugs, los cuales son errores de programacin que hacen que el programa funcione incorrectamente. Los parches tambin permiten agregarle funcionalidad al software o actualizarlo. En este captulo se mostrar cmo acceder a los parches que otorga el Public knowledge Project y cmo aplicarlos mediante un ejemplo con la versin 2.3.8 del OJS. Para ello es necesario que descargue e instale esta versin de la pgina oficial del PKP: http://pkp.sfu.ca/ojs/ojs_download
Para el proceso de instalacin del OJS 2.3.8, debe tener en cuenta que s ya existe un OJS previamente instalado en su computador, tanto el nombre del directorio de instalacin (OJS), como el nombre del directorio para guardar archivos (files) y el nombre de la base de datos deben ser distintos al que ya se encuentra instalado en el computador. Recuerde que el termino directorio hace referencia a la carpeta que contiene archivos y subcarpetas.
3
Al finalizar el proceso de instalacin del OJS 2.3.8 ingrese a la plataforma y cree nuevas revistas.
Una vez creadas las revistas, al dar clic en el enlace Gestor/a de revistas para personalizar la revista le aparecer el siguiente error:
Lo mismo le ocurrir si trata de cerrar la sesin.
Tenga en cuenta que la ruta del mensaje de error vara dependiendo del sistema operativo, en este caso se est utilizando un sistema operativo Windows. 4
El mensaje de error indica que el archivo Session.inc.php ubicado en la ruta C:\xampp\htdocs\ojs- 2.3.8\lib\pkp\classes\session est llamando en la lnea 64 a un mtodo que no existe. Para conocer ms sobre el error se debe acceder a la pgina oficial del Public knowledge Project (http://pkp.sfu.ca/ojs/ojs_download) para buscar un parche que pueda corregir este error, en parches recomendados:
Posteriormente se re-direccionar a la pgina de parches recomendados del Open Journal Systems http://pkp.sfu.ca/wiki/index.php/OJS_Recommended_Patches en la cual se encuentra publicada una lista de parches para el OJS desde la versin 2.3.3-2 hasta la versin actual. Debe hacer clic en la versin de inters, en este caso la 2.3.8.
5
Luego aparecer un listado con los parches disponibles para la version 2.3.8, en l se debe buscar un parche que est relacionado con el error que se quiere solucionar, en este caso se debe ingresar al parche #7544 que se refiere al llamado de la funcin session_is_registered() la cual gener el error al gestionar las revistas y cerrar sesin.
6
En la siguiente pgina se indica que la funcin session_is_registered()es removida a partir de la versin 5.4 de PHP, razn por la cual se obtiene el error, puesto que el XAMPP 1.8.3 con el cual se est trabajando cuenta con una versin de PHP superior a 5.5
7
Puede ver la correccin al problema al hacer clic en el enlace Diff
El Diff expone la diferencia entre el actual archivo y los cambios realizados al mismo (parche), indicando qu lneas de cdigo deben ser eliminadas o incorporadas en el archivo original para corregir las fallas del OJS. 8
El cdigo que se visualiza a la izquierda representa al archivo original y el de la derecha representa el parche, lo cual quiere decir que el error se corregir al eliminar 4 lneas de cdigo (lneas 60 a la 63) del archivo Session.inc.php ubicado dentro del directorio de instalacin del OJS. Tenga en cuenta que el archivo original representado en el diff no se corresponde totalmente con el archivo original de su ordenador, dado que el mensaje de error que arroj su OJS indic que el problema est en la lnea 64 donde se est haciendo un llamado a la funcin session_is_registered(). Al abrir el archivo Session.inc.php podr observar que efectivamente el problema es en la lnea 64 y por lo tanto en este caso el bloque de cdigo a eliminar se encuentra entre las lneas 64 y 66.
9
Para aplicar el parche hay que abrir el archivo Session.inc.php que se encuentra ubicado dentro de la ruta de instalacin del Open Journal Systems (\lib\pkp\classes\session\Session.inc.php), es recomendable abrir el archivo con un editor de texto (como Sublime Text, Notepad++, Dreamweaver, entre otros), luego ubique la lnea 64 o el cdigo: if (session_is_registered($key)) { session_unregister($key); }
Posteriormente elimine o comente ese bloque de codigo con doble slash al inicio de cada lnea como se muestra en la siguiente imagen:
Luego guarde los cambios (haciendo clic en Archivo ubicado en la barra superior y luego clic en Guardar) y dirjase al navegador web y recargue la pgina.
10
Los cambios se visualizaran de inmediato al acceder a la Gestin de la revista y permitir cerrar la sesin.
11
2. Actualizacin de versin del OJS
2.1 Recomendaciones previas a la actualizacin Antes de realizar una actualizacin se recomienda hacer copia de seguridad del directorio de instalacin del Open Journal Systems, asimismo, realizar copias de seguridad al directorio donde se alojan los archivos y de la base de datos, esto con el fin de poder restaurar todo el sistema en el caso de que ocurra algn error. Para mayor informacin de cmo hacer copias de seguridad, consulte el manual Proceso de Respaldo.
2.2 Proceso de actualizacin del OJS El proceso de actualizacin de versin del OJS 2.0 en adelante consta de dos pasos: Actualizar el cdigo fuente del OJS. Actualizar la base de datos del OJS.
La documentacin oficial que indica como actualizar el OJS a la version ms reciente la puede encontrar a travs de http://pkp.sfu.ca/ojs/UPGRADE o en el directorio docs/UPGRADE que se encuentra alojado dentro de la carpeta de instalacion del OJS, en dicho archivo encontrar las recomendaciones y los pasos para la actualizacin del OJS.
12
2.2.1 Actualizar el cdigo fuente del OJS Este paso consiste en actualizar el cdigo fuente del OJS a la ltima versin estable del OJS, para ello existe dos alternativas las cuales son: Actualizar el cdigo descargando el paquete completo. Actualizar el cdigo mediante parches.
La primera alternativa consiste en sustituir todo el cdigo fuente del OJS a actualizar por el cdigo de la ltima versin estable. Este medio de actualizacin del cdigo fuente del OJS es recomendable nicamente cuando el OJS a actualizar no se le ha realizado personalizaciones avanzada para modificar su apariencia o funcionalidad, es decir, es recomendable usarlo cuando al OJS no se le ha manipulado el cdigo fuente. La segunda alternativa es la recomendada puesto que los parches no reemplazan todo el cdigo fuente, sino que nicamente adiciona los cambios existentes entre la ltima versin estable y la versin a actualizar, permitiendo as que se conserve las personalizaciones hechas al cdigo fuente del OJS. En este manual se explicar nicamente el proceso de actualizacin descargando el paquete completo. Tenga en cuenta que la actualizacin por paquete no conserva los aspectos de personalizacin o modificacin realizada al cdigo del OJS.
13
2.2.1.1 Actualizacin del cdigo descargando el Paquete Completo Como se mencion anteriormente, la actualizacin del cdigo fuente del OJS por medio del paquete completo se puede emplear en plataformas OJS que no se les haya hecho personalizacin en el cdigo fuente. Esta actualizacin consiste en descargar el paquete completo de la ltima versin estable del OJS a travs sitio oficial de PKP, para ello haga clic en el enlace Download OJS 2.4.4-1 (.tar.gz).
14
Una vez descargado el archivo, realice los siguientes pasos:
Descomprimir el archivo ojs-2.4.4-1.tar.gz que acaba de descargar y ubquelo dentro de la carpeta htdocs del XAMPP.
15
Mover o copiar el archivo config.inc.php y el directorio public que se encuentra ubicados dentro del OJS que se desea actualizar (versin 2.3.8) al directorio del OJS recin descargado (versin 2.4.4-1), reemplazando los archivos.
16
Mueva el directorio del OJS que se desea actualizar a un lugar seguro como una copia de seguridad y cambie el nombre del nuevo directorio del OJS (versin 2.4.4-1) por el nombre del OJS a actualizar.
17
Verifique que el archivo config.inc.php y las siguientes carpetas conserven permisos de escritura: public cache cache/t_cache cache/t_config cache/t_compile cache/_db
18
Para verificar los permisos en el sistema operativo Windows, se debe hacer clic derecho sobre el archivo o la carpeta, luego clic en la opcin Propiedades y posteriormente clic en la pestaa Seguridad.
Para verificar los permisos en sistemas Mac, se debe seleccionar el archivo o la carpeta y presionar las teclas cmd + I, posteriormente en la ventana que aparece se debe verificar que el archivo tenga permisos de Leer y escribir para todos los usuarios (propietario, grupo y otros). Para verificar los permisos en sistemas Linux, se debe hacer clic derecho sobre el archivo o carpeta, luego hacer clic en Propiedades y en la ventana emergente hacer clic en la pestaa Permisos. 19
2.2.2 Actualizar la base de datos del OJS
Despus de obtener el cdigo del OJS, un script adicional se debe ejecutar para completar el proceso de actualizacin mediante la actualizacin de la base de datos del OJS. Un script es un archivo en texto plano que contiene instrucciones para la automatizacin de tareas. Dicho script se puede ejecutar para la actualizacin de la base de datos de dos maneras:
Mediante la interfaz web del OJS. Mediante la interfaz de lnea de comandos.
Ambas actualizaciones se pueden emplear tanto para repositorios OJS que tienen modificaciones en su cdigo fuente como para aquellos que no las tienen. El proceso de actualizacin de versin del OJS culmina cuando finaliza la actualizacin de la base de datos.
20
2.2.2.1 Pasos previos a la actualizacin de la base de datos
2.2.2.1.1 Aplicacin de parche al cdigo fuente
La aplicacin de este paso previo a la actualizacin de la base de datos es de gran importancia pues consiste en aplicar un parche al cdigo fuente del OJS, porque a partir de la versin 2.4.4 en adelante el cdigo del OJS posee un bug que ocasiona inconvenientes a la hora de realizar la actualizacin de la base de datos para actualizar el sistema a dichas versiones (2.4.4 en adelante), los errores que se presentan durante la actualizacin de la base de datos son los siguientes: ojs2 has produced an error Message: WARNING: Missing argument 9 for UsageStatsTemporaryRecordDAO::insert(), called in /var/www/html line 1125 and defined In file: /var/www/html/ojs/plugins/generic/usageStats/UsageStatsTemporaryRecordDA At line: 48
NOTICE: Undefined variable: loadId (/var/www/html/ojs/plugins/generic/usageStats/Us <h1>DB Error: Column 'load_id' cannot be null</h1>ojs2: DB Error: Column 'load_id' cannot be null
Estos errores son producidos porque durante el proceso de actualizacin de la base de datos la funcin migrateTimedViewsUsageStatistics() del archivo /clases/install/Upgrade.inc.php hace un llamado a la funcin insert() localizada en el archivo /plugins/generic/usageStats/UsageStats/UsageStatsTemporaryRecordDAO.inc.php envindole nicamente ocho parmetros, por su parte esta funcin espera que le enven nueve parmetros razn por la cual se ocasionan los anteriores dos errores.
21
Para corregir estos errores o evitar que sucedan se debe de editar las lneas 1124 y 1125 del archivo /clases/install/Upgrade.inc.php que hace el llamado a la funcion insert().
22
El cambio consiste en aadir al llamado de la funcin insert() el noveno parmetro requerido por dicha funcin, para ello primero se debe de crear la variable $time que es el parmetro faltante de la funcin y se le debe de asignar la fecha actual, esto se har en la lnea 1123 y debe de quedar de la siguiente manera: $time = strtotime($row['date']);
Posteriormente se editar la lnea 1124 cambiando el segundo parmetro de la funcin date() por la variable $time, quedando el cambio de la siguiente manera: $day = date('Ymd', $time);
Para finalizar el cambio, se editar la lnea 1125 incorporando al llamado de la funcin insert() el parmetro faltante, este parmetro faltante es la variable $time que se cre anteriormente y esta debe adicionarse como cuarto parmetro en el llamado de la funcin insert(), quedando de la siguiente manera:
A continuacin se muestra como debe de quedar los cambios en el cdigo fuente del archivo Upgrade.inc.php:
Recuerde guardar los cambios realizados en el archivo para que estos sean aplicados al sistema y de esta manera evitar inconvenientes con el proceso de actualizacin de la base de datos.
24
2.2.2.1.2 Migracin de datos estadsticos del OJS Este paso previo a la actualizacin de la base de datos es opcional, y se emplea para que durante la actualizacin del OJS se migren correctamente los datos histricos de las estadsticas, para ello se requiere descargar e instalar la base de datos GeoLiteCity en la carpeta usageStats contenida en los directorios de instalacin del OJS. Siga las siguientes instrucciones:
Descargar el archivo GeoLiteCity.dat.gz de la pgina: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
Descomprimir el archivo una vez este se haya descargado.
Copiar el archivo GeoLiteCity.dat en la ruta plugins/generic/usageStats ubicada dentro de la carpeta de instalacin del OJS, de tal manera que la ruta de instalacin del archivo quede as: plugins/generic/usageStats/GeoLiteCity.dat 25
Para mayor informacin consulte la pgina http://pkp.sfu.ca/ojs/UPGRADE en la seccin Stats Migration.
NOTA: Si el OJS tiene un conjunto muy grande de datos estadsticos, el proceso de migracin y actualizacin puede tardar ms tiempo de lo permitido mediante la actualizacin a travs del navegador web, pudiendo ocasionar que la actualizacin quede incompleta. Por tal razn para evitar un proceso de actualizacin incompleto es recomendable realizar la actualizacin de la base de datos mediante lnea de comando.
26
2.2.2.2 Actualizacin de la base de datos mediante el navegador Web
Este mtodo consiste en ejecutar un script basado en la web, para lo cual se deber realizar los siguientes pasos: Editar el archivo config.inc.php que se encuentra ubicado dentro del directorio de instalacin del OJS, cambiando la lnea "installed = On" por "installed = Off". Recuerde guardar los cambios.
Abrir un navegador web e ingresar en l la URL correspondiente al OJS e inmediatamente este se re-dirigir a la pgina de instalacin y actualizacin del OJS. Posteriormente, dirjase a la seccin Actualizacin y haga clic en el enlace.
27
En la pgina de actualizacin del OJS lea cuidadosamente las indicaciones y recomendaciones dadas para que el proceso de actualizacin del OJS a travs del navegador web no sea interrumpido, cuando el proceso de actualizacin por medio de la interfaz web es interrumpido, la actualizacin debe llevarse a cabo manualmente por lnea de comandos. Una vez se est listo para realizar la actualizacin haga clic en el botn Actualizar Open Journal Systems y espere a que finalice el proceso de actualizacin.
28
El proceso de actualizacin de la base de datos puede tardar varios minutos dependiendo del tamao de la base de datos. Cuando finalice la actualizacin aparecer un mensaje indicando que el OJS se ha actualizado correctamente a la versin 2.4.4-1.
29
Para finalizar, abra de nuevo el archivo config.inc.php y deje nuevamente la variable installed en On, posteriormente guarde los cambios para que estos sean aplicados.
As culmina la actualizacin de versin del OJS. A travs de la sesin del Administrador del sitio, en el enlace Informacin del sistema podr observar el historial de versiones y la versin actual que posee la plataforma OJS:
30
2.2.2.3 Actualizacin de la base de datos mediante lnea de comando
Para actualizar la base de datos mediante lnea de comando se requiere tener instalada la versin de interfaz de lnea de comando de PHP y realizar los siguientes pasos: Editar el archivo config.inc.php que se encuentra ubicado dentro del directorio de instalacin del OJS, cambiando la lnea "installed = On" por "installed = Off". Recuerde guardar los cambios.
Este paso es realizado para garantizar la integridad de los datos, evitando que durante el proceso de actualizacin de la base de datos usuarios ingresen al repositorio OJS y realicen cambios o acciones que no quedaran registradas en la base de datos. Posteriormente, abra la interfaz de lnea de comando y ejecute el siguiente comando desde el directorio de instalacin del OJS que se va a actualizar: php tools/upgrade.php upgrade
31
Una vez introducido el comando, espere a que se actualicen los archivos contenidos dentro del directorio. Cuando la actualizacin finalice, aparecer un mensaje indicando que se ha actualizado exitosamente a la versin 2.4.4-1:
Para finalizar, abra de nuevo el archivo config.inc.php y deje nuevamente la variable installed en On, posteriormente guarde los cambios.
De esta manera finaliza la actualizacin de versin del OJS.
32
A travs de la sesin del Administrado del sitio, en el enlace Informacin del sistema podr observar el historial de versiones y la versin actual de la plataforma OJS.
33
Esta obra est bajo una licencia de: Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.