## 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