Migrating from 6.2.6 to 6.3.0

Preliminars

  • Make a backup!!!

Migration

  • Stop Tomcat.
  • Edit OpenKM.cfg file and set hibernate.hbm2ddl to update.
  • Replace the OpenKM.war.
  • Go to Administration > Crontab and delete "User Items Serialize" and "Refresh User Items" tasks.
  • Run from your preferred SQL client these queries:

MySQL

ALTER TABLE OKM_MIME_TYPE ADD COLUMN MT_SEARCH CHAR(1);
UPDATE OKM_MIME_TYPE SET MT_SEARCH='T';
ALTER TABLE OKM_MIME_TYPE MODIFY COLUMN MT_SEARCH CHAR(1) NOT NULL;

PostgreSQL

ALTER TABLE OKM_MIME_TYPE ADD COLUMN MT_SEARCH CHAR(1);
UPDATE OKM_MIME_TYPE SET MT_SEARCH='T';
ALTER TABLE OKM_MIME_TYPE ALTER COLUMN MT_SEARCH SET NOT NULL;
  • Start Tomcat again.
  • Go to Administration > Database Query, and execute:

HSQL

ALTER TABLE OKM_MIME_TYPE ADD COLUMN MT_SEARCH CHAR(1);
UPDATE OKM_MIME_TYPE SET MT_SEARCH='T';
ALTER TABLE OKM_MIME_TYPE ALTER COLUMN MT_SEARCH SET NOT NULL;
  • The ExecuteScription action SQL insert has changed between version 6.2.x to 6.3.x please take a look at Enable Automation actions and Enable Automation validations see how column with older value textarea now must have value code.
  • Due change in way how some special characters like '&' are stored now in repository is necessary execute this script. Go to Administration, Scripting and execute it.
import com.openkm.dao.bean.*;
import com.openkm.dao.*;
import com.openkm.util.*;
import org.hibernate.*;
 
String qs = "from NodeBase nb where nb.name like '%&%' and nb.uuid NOT IN (select nb.uuid from NodeBase nb where nb.name like '%&%')";
Session session = null;
Transaction tx = null;
 
try {
    session = HibernateUtil.getSessionFactory().openSession();
    tx = session.beginTransaction();
    Query q = session.createQuery(qs);
 
    for (NodeBase nBase : q.list()) {
       print(nBase.getUuid() + " -> " + nBase.getName() + "<br>");
       nBase.setName(PathUtils.encodeEntities(nBase.getName()));
       session.update(nBase);
    }
 
    HibernateUtil.commit(tx);
} catch (Exception e) {
    HibernateUtil.rollback(tx);
    e.printStackTrace();
} finally {
    HibernateUtil.close(session);
}
  • Enjoy OpenKM 6.3.0!
  • And start Tomcat again.

If you have any weird problem try to stop Tomcat, delete these folders:

  • $TOMCAT_HOME/webapps/OpenKM
  • $TOMCAT_HOME/work/Catalina/localhost

Recommended to clear browser cache and Java Plugin cache.