Upgrade von 3.2

Dieses Dokument enthält die Schritte für ein Upgrade von TAO 3.2 auf 3.3.

Für TAO 3.3 müssen Sie Ihr System auf PHP 7.2 aktualisieren. Dieses PHP-Versions-Upgrade kann entweder vor dem Upgrade auf TAO 3.3 oder danach durchgeführt werden.

Bereiten Sie Ihr System vor

Um das Upgrade durchzuführen, müssen Sie _TAO_3.3.0_composersupdate.zip und _configtemplates.zip auf Ihren Server herunterladen:

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

Hinweis: Sie sollten eine vollständige Sicherung Ihres TAOs durchführen, nachdem der Wartungsmodus aktiviert wurde.

Bevor Sie beginnen, entpacken Sie das Paket TAO_3.3.0_composers_update.zip in einen temporären Ordner, auf den in diesem Dokument Bezug genommen wird. Diese Composer-Dateien werden während des 2-stufigen Upgrade-Prozesses auf TAO 3.3 verwendet.

Sie müssen in das Verzeichnis wechseln, in dem Sie TAO installiert haben, das wir als . In dieser Anleitung haben wir /var/www/html/tao verwendet, aber möglicherweise befinden Sie sich in einem anderen Unterverzeichnis unter /var/www/html/:

cd <tao_root>

Der aktuelle Pfad '.' wird nun auf '.' verweisen.

Bevor Sie mit dem Upgrade beginnen, sollten Sie Ihre TAO-Installation in den Wartungsmodus versetzen:

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

Beginnen Sie das Upgrade

Der erste Schritt des Upgrades erfordert, dass Sie die composer-Dateien (composer.json und composer.lock), die sich im TAO-Stammverzeichnis befinden, mit den composer-Dateien im temporären Ordner /TAO_3.3.0_sprint-80_transition überschreiben:

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

Führen Sie nun eine Composer-Installation durch, damit alle Erweiterungen entsprechend aktualisiert werden können:

composer install

*Hinweis: Bei der Ausführung dieses Befehls kann es zu einem Problem im Zusammenhang mit generierten Dateien in den Unterordnern /taoQtiItem, /taoQtiTest oder /tao kommen. Sollte dies der Fall sein, entfernen Sie den Unterordner und führen Sie den Befehl erneut aus.

Wenn der Befehl beendet ist, setzen Sie die Berechtigungen zurück:

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

Um mit dem Upgrade fortzufahren, müssen Sie einige Konfigurationsänderungen vornehmen und dabei den Inhalt des Pakets config_templates.zip verwenden.

Erstellen Sie den Ordner taoTestTaker im Verzeichnis config:

sudo -u www-data mkdir config/taoTestTaker

Wenn Sie zuvor die Erweiterung taoDacSimple installiert hatten, müssen Sie die Vorlagen der Konfigurationsdatei für diese Erweiterung kopieren:

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

Wenn Sie zuvor die taoEventLog-Erweiterung installiert hatten, müssen Sie die Konfigurationsdateivorlagen für diese Erweiterung kopieren:

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

Wenn die Erweiterung taoDacSimple installiert ist, entfernen Sie bitte in diesem Schritt diesen Verweis, indem Sie den entsprechenden Block aus der Datei config/generis/installation.conf.php entfernen:

nano config/generis/installation.conf.php

und entfernen Sie diesen Abschnitt:

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

Hinweis: Wenn Sie diesen Verweis beibehalten, schlägt der Aktualisierungsversuch fehl, obwohl Sie ihn später erneut installieren können.

Um das Upgrade zu überwachen, können Sie die bereitgestellte Datei config_templates/config/generis/log.conf.php verwenden, damit der UDP-Listener aktiv ist, wenn Sie sich nicht bereits angemeldet haben. Um den UDP-Listener zu starten, müssen Sie eine weitere Sitzung öffnen und Folgendes ausführen:

php UDPListener.php

Hinweis: Sie können die Datei UDPListener.php von hier beziehen, wenn Sie die extension-tao-devtools nicht installiert haben.

Sie sind nun bereit, das TAO-Update-Skript auszuführen:

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

Nach der Fertigstellung sollte Ihre TAO-Installation auf eine Übergangsversion auf halbem Weg zwischen TAO 3.2 und TAO 3.3 aktualisiert sein.

Das Upgrade fortsetzen

Um mit dem zweiten Teil des Upgrades fortzufahren, müssen Sie die composer-Dateien, die sich im TAO-Stammverzeichnis befinden, mit den composer-Dateien im temporären Ordner /TAO_3.3.0_sprint-96-97_final überschreiben:

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

Sie werden nun composer install ausführen, damit alle Erweiterungen aktualisiert werden können:

composer install

Nach Abschluss setzen Sie die Berechtigungen zurück:

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

Möglicherweise müssen Sie jetzt Referenzen auf die Erweiterungen taoOpenWebItem und taoTestLinear entfernen, die ab TAO 3.3.0 veraltet sind:

nano config/generis/installation.conf.php

und entfernen Sie diese Abschnitte:

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

*Hinweis: Es ist notwendig, diese Referenzen zu löschen und den Parameter 'enabled' nicht auf false zu setzen.

Sie sind nun bereit, das TAO-Update-Skript erneut auszuführen:

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

Ihr TAO sollte nun auf die endgültige Version TAO 3.3.0 aktualisiert sein.

Letzte Schritte

Sie können nun den Wartungsmodus wie folgt ausschalten:

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

Wenn taoDacSimple vor diesem Update installiert wurde, installieren Sie es mit dem folgenden Befehl neu:

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

Optionale Installation von Sprachumgebungen

Um TAO vollständig zu migrieren, so dass es mit einer frisch installierten Version übereinstimmt, sollten Sie die 21 fehlenden Gebietsschemata, die mit TAO 3.3 hinzugefügt wurden, installieren, indem Sie das folgende Skript ausführen:

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

Hinweis: Führen Sie dieses Skript nicht mehr als einmal aus, sonst erhalten Sie möglicherweise doppelte Gebietsschemata.