3.8. Upgrading from 3.1.4 to 3.2.0

One of the major topics of the 3.2 release is full UTF-8 support, therefore it's necessary while upgrading from 3.1.4 to 3.2.0 to convert all courses and the dump of the database. Likewise there are added some files to the ContentPackages, so that they are offline readable.

3.8.1. Conversion of the existing Filesystem

To convert the existing filesystem you need to start a shell and run the main method of the java class "Convert314To32" with several parameters and the -Djava.ext.dirs option.

cd OLAT_HOME/webapp/WEB-INF/classes

java -Djava.ext.dirs=../lib org.olat.migration.Convert314To32 \
OLAT_HOME/webapp/static/cp_offline_menu_mat \
OLAT_DATA/bcroot/repository \
OLAT_DATA/bcroot/course

In order to make it clear below an example with OLAT_HOME=/usr/local/opt/olat/olatlive and OLAT_DATA=/usr/local/opt/olat/olatdata

cd /usr/local/opt/olat/olatlive/webapp/WEB-INF/classes

java -Djava.ext.dirs=../lib org.olat.migration.Convert314To32 \
/usr/local/opt/olat/olatlive/webapp/static/cp_offline_menu_mat \
/usr/local/opt/olat/olatdata/bcroot/repository \
/usr/local/opt/olat/olatdata/bcroot/course
'/usr/local/opt/olat/olatlive/webapp/static/cp_offline_menu_mat'
'/usr/local/opt/olat/olatdata/bcroot/repository'
'/usr/local/opt/olat/olatdata/bcroot/course'

is this ok (type 'yes')
yes
Adding offline files to content packaging
> >> >>>
imsmanifest.xml found in:
/usr/local/opt/olat/olatdata/bcroot/repository/70997909950872/_unzipped_
zip-file found in: /usr/local/opt/olat/olatdata/bcroot/repository/70997909950872/cp-demo.zip
...
...
...
Adding header to internal course xml files
converting /usr/local/opt/olat/olatdata/bcroot/course/70997909950887/editortreemodel.xml
converting /usr/local/opt/olat/olatdata/bcroot/course/70997909950887/runstructure.xml
...
... 
...

3.8.2. Converting and Altering of the database

  1. Dump the olat database after you stopped the tomcat server.

    mysqldump -u [olat_db_user] -p olat > olat.sql
  2. Insert the lines below at the begin of the dump olat.sql

    CREATE DATABASE olat;
    USE olat; SET AUTOCOMMIT=0;
    SET FOREIGN_KEY_CHECKS=0;

    and at the end of olat.sql:

    COMMIT;
  3. Start the conversion from iso-8859-1 to utf8 using iconv.

    iconv -f iso-8859-1 -t utf8 olat.sql > olat-iconv.sql
  4. Drop the olat database and insert the converted dump.

    mysql -u [olat_db_user] -p < olat-iconv.sql
  5. And finally execute the sql-statements in alter_3_1_4_to_3_2_0.sql.

    mysql -u [olat_db_user] -p < OLAT_HOME/database/alter_3_1_4_to_3_2_0.sql