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 anteriormente tenía instalada la extensión taoDacSimple, deberá copiar las plantillas de archivos de configuración de dicha 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: Si mantiene esta referencia, el intento de actualización fracasará, aunque podrá volver a instalarlo 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.