Migration from 5.0.4 to 5.1.8
From OpenKM Documentation
Revision as of 01:56, 18 January 2012 by Mseger (talk | contribs) (→OpenKM 5.1 stuff: need to set hibernate.hbm2ddl=create on first startup for OKM_TRANSLATION table to be created)
Changes
com.openkm.extractor.TiffTextExtractor has been deprecated, so you need to edit the repository.xml and repository/workspaces/default/workspace.xml files and change by one of these options:
- com.openkm.extractor.AbbyTextExtractor
- com.openkm.extractor.CuneiformTextExtractor
- com.openkm.extractor.Tesseract2TextExtractor
- com.openkm.extractor.Tesseract3TextExtractor
See also Third-party_software_integration: OCR.
OpenKM 5.0 stuff
- Make a backup!
- Log into OpenKM 5.0 and go to Administration > Database query and execute these sentences in order to export users and roles:
Hypersonic
SELECT 'INSERT INTO OKM_USER (USR_ID, USR_NAME, USR_PASSWORD, USR_EMAIL, USR_ACTIVE) VALUES (''' + USR_ID + ''', ''' + USR_NAME + ''', ''' + USR_PASSWORD + ''', ''' + USR_EMAIL + ''', ''' + CASEWHEN(USR_ACTIVE,'T', 'F') + ''');' from OKM_USER;
SELECT 'INSERT INTO OKM_ROLE (ROL_ID, ROL_ACTIVE) VALUES (''' + ROL_ID + ''', ''' + CASEWHEN(ROL_ACTIVE, 'T', 'F') + ''');' from OKM_ROLE;
SELECT 'INSERT INTO OKM_USER_ROLE (UR_USER, UR_ROLE) VALUES (''' + UR_USER + ''', ''' + UR_ROLE + ''');' FROM OKM_USER_ROLE;
MySQL
SELECT CONCAT('INSERT INTO OKM_USER (USR_ID, USR_NAME, USR_PASSWORD, USR_EMAIL, USR_ACTIVE) VALUES (''', USR_ID, ''', ''', USR_NAME, ''', ''', USR_PASSWORD, ''', ''', USR_EMAIL, ''', ''', IF(USR_ACTIVE IS TRUE,'T', 'F'), ''');') from OKM_USER;
SELECT CONCAT('INSERT INTO OKM_ROLE (ROL_ID, ROL_ACTIVE) VALUES (''', ROL_ID, ''', ''', IF(ROL_ACTIVE IS TRUE, 'T', 'F'), ''');') from OKM_ROLE;
SELECT CONCAT('INSERT INTO OKM_USER_ROLE (UR_USER, UR_ROLE) VALUES (''', UR_USER, ''', ''', UR_ROLE, ''');') from OKM_USER_ROLE;
PostgreSQL
SELECT 'INSERT INTO OKM_USER (USR_ID, USR_NAME, USR_PASSWORD, USR_EMAIL, USR_ACTIVE) VALUES (''' || USR_ID || ''', ''' || USR_NAME || ''', ''' || USR_PASSWORD || ''', ''' || USR_EMAIL || ''', ''' || CASE WHEN USR_ACTIVE=1 THEN 'T' ELSE 'F' END || ''');' from OKM_USER;
SELECT 'INSERT INTO OKM_ROLE (ROL_ID, ROL_ACTIVE) VALUES (''' || ROL_ID || ''', ''' || CASE WHEN ROL_ACTIVE=1 THEN 'T' ELSE 'F' END || ''');' from OKM_ROLE;
SELECT 'INSERT INTO OKM_USER_ROLE (UR_USER, UR_ROLE) VALUES (''' || UR_USER || ''', ''' || UR_ROLE || ''');' from OKM_USER_ROLE;
Oracle
SELECT 'INSERT INTO OKM_USER (USR_ID, USR_NAME, USR_PASSWORD, USR_EMAIL, USR_ACTIVE) VALUES (''' || USR_ID || ''', ''' || USR_NAME || ''', ''' || USR_PASSWORD || ''', ''' || USR_EMAIL || ''', ''' || DECODE(USR_ACTIVE, 1, 'T', 'F') || ''');' from OKM_USER;
SELECT 'INSERT INTO OKM_ROLE (ROL_ID, ROL_ACTIVE) VALUES (''' || ROL_ID || ''', ''' || DECODE(ROL_ACTIVE, 1, 'T', 'F') || ''');' from OKM_ROLE;
SELECT 'INSERT INTO OKM_USER_ROLE (UR_USER, UR_ROLE) VALUES (''' || UR_USER || ''', ''' || UR_ROLE || ''');' from OKM_USER_ROLE;
- Copy the output of these sentences to a secure place.
- Stop JBoss.
OpenKM 5.1 stuff
- Stop JBoss.
- Copy or move the $JBOSS_50_HOME/repository.xml file and $JBOSS_50_HOME/repository directory to $JBOSS_51_HOME
- Change $JBOSS_51_HOME/server/default/conf/login-config.xml according to those changes made at $JBOSS_50_HOME/server/default/conf/login-config.xml, if any. Maybe you don't need to do this because didn't change anything in the OpenKM 5.0.x installation.
- Change hibernate.hbm2ddl=none to hibernate.hbm2ddl=create in OpenKM.cfg; otherwise, the translation table won't be created, which results in an "Error getting translations: English translation is mandatory and can not be deleted" error message.
- Start JBoss.
- Log into OpenKM 5.1 and go to Administration > Database query and execute the output of the previous stored SQL sentences.
- Now your users and roles from the old OpenKM 5.0.4 has been restored in OpenKM 5.1.8
- Change hibernate.hbm2ddl=create to hibernate.hbm2ddl=none in OpenKM.cfg