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 vous aviez précédemment installé l'extension taoDacSimple, 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.