Migrating from 6.2.6 to 6.3.0
Preliminars
Section titled “Preliminars”- Make a backup!!!
Migration
Section titled “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:
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
Section titled “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:
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.