You are on page 1of 34

OJS: Open Journal Systems

Manual de Usuario: Rol Administrador


Aplicacin de parches y Actualizacin de versin









Tabla de contenido

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:

$tempStatsDao->insert($assocType, $assocId, $day, $time, $countryId, $region, $cityName, $fileType, $loadId);








23


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.

You might also like