Mise à niveau de 3,2
Ce document fournit les étapes de la mise à niveau de TAO 3.2 à 3.3.
Pour TAO 3.3, vous devrez mettre votre système à niveau vers PHP 7.2. Cette mise à niveau de la version PHP peut être effectuée avant ou après la mise à niveau vers TAO 3.3.
Préparez votre système
Pour effectuer la mise à niveau, vous devrez télécharger _TAO_3.3.0_composersupdate.zip et _configtemplates.zip sur votre serveur :
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
Note : Vous devez effectuer une sauvegarde complète de votre TAO après avoir activé le mode de maintenance.
Avant de commencer, extrayez le paquet TAO_3.3.0_composers_update.zip dans un dossier temporaire auquel il sera fait référence dans ce document. Ces fichiers compositeurs seront utilisés pendant le processus de mise à niveau en 2 étapes vers TAO 3.3.
Vous devrez vous rendre dans le répertoire où vous avez installé TAO, que nous appellerons . Dans ce guide, nous avons utilisé /var/www/html/tao mais il se peut que vous soyez dans un sous-répertoire différent sous /var/www/html/ :
cd <tao_root>
Le chemin actuel '.' fera désormais référence à '.' .
Avant de commencer la mise à niveau, vous devez mettre votre installation TAO en mode maintenance :
sudo -u www-data php index.php 'oat\tao\scripts\tools\maintenance\Disable'
Commencez la mise à niveau
La première étape de la mise à niveau exige que vous écrasiez les fichiers du compositeur (composer.json et composer.lock) situés à la racine de TAO avec les fichiers du compositeur dans le dossier temporaire /TAO_3.3.0_sprint-80_transition :
cp <tmp>/TAO_3.3.0_sprint-80_transition/composer.{json,lock} .
Exécutez maintenant une installation de compositeur afin que toutes les extensions puissent être mises à jour en conséquence :
composer install
Remarque : Lors de l'exécution de cette commande, il peut y avoir un problème lié aux fichiers générés dans les sous-dossiers /taoQtiItem, /taoQtiTest ou /tao. Si cela se produit, supprimez le sous-dossier et réexécutez la commande.
Lorsque la commande est terminée, réinitialisez les autorisations :
sudo chown -R www-data:www-data . && sudo chmod -R ug+rwX .
Pour poursuivre la mise à niveau, vous devrez effectuer quelques changements de configuration en utilisant le contenu du paquet config_templates.zip.
Créez le dossier taoTestTaker dans le répertoire config :
sudo -u www-data mkdir config/taoTestTaker
Si l'extension taoDacSimple était déjà installée, vous devrez copier les modèles de fichiers de configuration de cette extension :
cp -r config_templates/config/taoDacSimple/ config/ -v
Si vous aviez précédemment installé l'extension taoEventLog, vous devrez copier les modèles de fichiers de configuration pour cette extension :
cp -r config_templates/config/taoEventLog/ config/ -v
Si l'extension taoDacSimple est installée, veuillez supprimer cette référence à cette étape en supprimant le bloc correspondant de config/generis/installation.conf.php:
nano config/generis/installation.conf.php
et supprimer cette section:
'taoDacSimple' => array(
'installed' => '2.0.3',
'enabled' => true
)
Remarque : si vous conservez cette référence, la tentative de mise à jour échouera, mais vous pourrez la réinstaller ultérieurement.
Pour surveiller la mise à niveau, vous pouvez utiliser le fichier config_templates/config/generis/log.conf.php fourni afin que le logger UDP soit actif si vous ne vous êtes pas déjà connecté. Pour exécuter l'écouteur UDP, vous devrez ouvrir une autre session et exécuter ce qui suit :
php UDPListener.php
Note : Vous pouvez obtenir le fichier UDPListener.php ici si vous n'avez pas installé extension-tao-devtools.
Vous êtes maintenant prêt à exécuter le script de mise à jour du TAO :
sudo -u www-data php tao/scripts/taoUpdate.php
Une fois terminé, votre installation TAO devrait être mise à jour vers une version transitoire à mi-chemin entre TAO 3.2 et TAO 3.3.
Poursuivre la mise à niveau
Pour procéder à la deuxième partie de la mise à niveau, vous devrez écraser les fichiers du compositeur situés à la racine du TAO avec les fichiers du compositeur situés dans le dossier temporaire /TAO_3.3.0_sprint-96-97_final :
cp <tmp>/TAO_3.3.0_sprint-96-97_final/composer.{json,lock} .
Vous allez maintenant exécuter composer install afin que toutes les extensions puissent être mises à jour :
composer install
Une fois terminé, réinitialisez les permissions :
sudo chown -R www-data:www-data . && sudo chmod -R ug+rwX .
Vous pouvez maintenant avoir besoin de supprimer les références aux extensions taoOpenWebItem et taoTestLinear qui sont dépréciées à partir de TAO 3.3.0 :
nano config/generis/installation.conf.php
et retirer ces sections :
'taoOpenWebItem' => array(
'installed' => '3.0.0',
'enabled' => true
),
[...]
'taoTestLinear' => array(
'installed' => '3.0.0',
'enabled' => true
)
Remarque : il est nécessaire de supprimer ces références et de ne pas mettre le paramètre "enabled" à false.
Vous êtes maintenant prêt à exécuter à nouveau le script de mise à jour du TAO :
sudo -u www-data php tao/scripts/taoUpdate.php
Votre TAO devrait maintenant être mis à jour vers la version finale TAO 3.3.0.
Dernières étapes
Vous pouvez maintenant désactiver le mode de maintenance en procédant comme suit :
sudo -u www-data php index.php 'oat\tao\scripts\tools\maintenance\Enable'
Si taoDacSimple a été installé avant cette mise à jour, réinstallez-le en utilisant la commande suivante :
sudo -u www-data php tao/scripts/taoExtensions.php -a install -u <user> -p <password> -e taoDacSimple -vvv
Installation facultative des locales
Pour migrer complètement TAO afin qu'il corresponde à une version fraîchement installée, vous pouvez installer les 21 locales manquantes ajoutées avec TAO 3.3 en exécutant le script suivant :
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
Note : N'exécutez pas ce script plus d'une fois ou vous risquez d'obtenir des locales en double.