Actualización de la versión 3.2

Este documento proporciona los pasos para actualizar de TAO 3.2 a 3.3.

Para TAO 3.3 tendrá que actualizar su sistema a PHP 7.2. Esta actualización de la versión de PHP se puede hacer antes de la actualización a TAO 3.3 o después.

Prepare su sistema

Para realizar la actualización, deberá descargar _TAO_3.3.0_composersupdate.zip y _configtemplates.zip a su servidor:

sudo wget https://adminguide.taotesting.com/3.3/resources/installation/TAO_3.3.0_composers_update.zip
sudo wget https://adminguide.taotesting.com/3.3/resources/installation/config_templates.zip

Nota: Debe realizar una copia de seguridad completa de su TAO después de activar el modo de mantenimiento.

Antes de comenzar, extraiga el paquete TAO_3.3.0_composers_update.zip en una carpeta temporal a la que se hará referencia en este documento. Estos archivos del compositor se utilizarán durante el proceso de actualización en dos pasos a TAO 3.3.

Tendrá que cambiar al directorio donde haya instalado TAO, al que nos referiremos como . En esta guía hemos utilizado /var/www/html/tao, pero es posible que usted se encuentre en un subdirectorio diferente dentro de /var/www/html/:

cd <tao_root>

La ruta actual '.' se referirá ahora a '.' .

Antes de comenzar la actualización, querrá poner su instalación de TAO en modo de mantenimiento:

sudo -u www-data php index.php 'oat\tao\scripts\tools\maintenance\Disable'

Comenzar la actualización

El primer paso de la actualización requiere sobrescribir los archivos composer (composer.json y composer.lock) ubicados en la raíz de TAO con los archivos composer de la carpeta temporal /TAO_3.3.0_sprint-80_transition:

cp <tmp>/TAO_3.3.0_sprint-80_transition/composer.{json,lock} .

Ahora ejecute una instalación de Composer para que todas las extensiones puedan ser actualizadas en consecuencia:

composer install

Nota: Al ejecutar este comando, puede haber un problema relacionado con los archivos generados en las subcarpetas /taoQtiItem, /taoQtiTest o /tao. Si esto ocurre, elimine la subcarpeta y vuelva a ejecutar el comando.

Cuando el comando haya terminado, restablece los permisos:

sudo chown -R www-data:www-data . && sudo chmod -R ug+rwX .

Para continuar con la actualización, deberá realizar algunos cambios de configuración utilizando el contenido del paquete config_templates.zip.

Cree la carpeta taoTestTaker en el directorio de configuración:

sudo -u www-data mkdir config/taoTestTaker

Si ya tenía instalada la extensión taoDacSimple, tendrá que copiar las plantillas de los archivos de configuración de esa extensión:

cp -r config_templates/config/taoDacSimple/ config/ -v

Si ya tenía instalada la extensión taoEventLog, tendrá que copiar las plantillas de los archivos de configuración de dicha extensión:

cp -r config_templates/config/taoEventLog/ config/ -v

Si la extensión taoDacSimple está instalada, por favor, elimine esta referencia en este paso eliminando el bloque correspondiente de config/generis/installation.conf.php:

nano config/generis/installation.conf.php

y eliminar esta sección:

'taoDacSimple' => array(
    'installed' => '2.0.3',
    'enabled' => true
)

Nota: Mantener esta referencia haría que el intento de actualización fracasara, aunque podrá reinstalarlo más tarde.

Para supervisar la actualización, puede utilizar el archivo config_templates/config/generis/log.conf.php proporcionado para que el registrador UDP esté activo si no ha iniciado la sesión. Para ejecutar el escuchador UDP deberá abrir otra sesión y ejecutar lo siguiente:

php UDPListener.php

Nota: Puede obtener el archivo UDPListener.php desde aquí si no tiene instalada la extensión-tao-devtools.

Ahora está listo para ejecutar el script de actualización de TAO:

sudo -u www-data php tao/scripts/taoUpdate.php

Una vez completada, su instalación de TAO debería actualizarse a una versión de transición a medio camino entre TAO 3.2 y TAO 3.3.

Continuar con la actualización

Para proceder a la segunda parte de la actualización, tendrá que sobrescribir los archivos del compositor ubicados en la raíz de TAO con los archivos del compositor en la carpeta temporal /TAO_3.3.0_sprint-96-97_final:

cp <tmp>/TAO_3.3.0_sprint-96-97_final/composer.{json,lock} .

Ahora ejecutará la instalación de Composer para que todas las extensiones puedan ser actualizadas:

composer install

Una vez completado restablece los permisos:

sudo chown -R www-data:www-data . && sudo chmod -R ug+rwX .

Es posible que ahora tenga que eliminar las referencias a las extensiones taoOpenWebItem y taoTestLinear que están obsoletas a partir de TAO 3.3.0:

nano config/generis/installation.conf.php

y eliminar estas secciones:

'taoOpenWebItem' => array(
       'installed' => '3.0.0',
       'enabled' => true
   ),
   [...]
   'taoTestLinear' => array(
       'installed' => '3.0.0',
       'enabled' => true
   )

*Nota: Es necesario eliminar estas referencias y no poner el parámetro 'enabled' en falso.

Ahora está listo para ejecutar el script de actualización de TAO de nuevo:

sudo -u www-data php tao/scripts/taoUpdate.php

Su TAO debería estar ahora actualizado a la versión final de TAO 3.3.0.

Pasos finales

Ahora puede desactivar el modo de mantenimiento con lo siguiente:

sudo -u www-data php index.php 'oat\tao\scripts\tools\maintenance\Enable'

Si taoDacSimple estaba instalado antes de esta actualización, vuelva a instalarlo con el siguiente comando:

sudo -u www-data php tao/scripts/taoExtensions.php -a install -u <user> -p <password> -e taoDacSimple -vvv

Instalación opcional de locales

Para migrar completamente TAO de manera que coincida con una versión recién instalada, es posible que desee instalar las 21 localizaciones que faltan añadidas con TAO 3.3 ejecutando el siguiente script:

locales=("ar-arb" "ca-ES-valencia" "ca" "cs-CZ" "el-GR" "fa-IR" "fi-FI" "fr-CA" "gl" "hu-HU" "id-ID" "lb-LU" "lt-LT" "mn-MN" "nb-NO" "nl-BE" "pl-PL" "pt-BR" "ru-RU" "sk-SK" "th-TH" "vi-VN")
TAO_LOGIN=<user>
TAO_PWD=[<password>
for i in ${!locales[*]}; do
    sudo -u www-data php tao/scripts/taoRDFImport.php -v -n -u=${TAO_LOGIN} -p=${TAO_PWD} http://www.tao.lu/Ontologies/TAO.rdf# -i tao/locales/${locales[$i]}/lang.rdf
    done

Nota: No ejecute este script más de una vez o puede obtener locales duplicados.