Difference between revisions of "Migrating from 6.2.5 to 6.3"
From OpenKM Documentation
m (Jllort moved page Migrating from 6.2.6 to 6.3 to Migrating from 6.2.5 to 6.3: 6.2.6 was never released) |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 12: | Line 12: | ||
* Run from your preferred SQL client these queries: | * Run from your preferred SQL client these queries: | ||
+ | |||
+ | {{Warning|Some users reported problems when updating to version 6.3 and got mime-type issue ( see top warning box ) when going to admistration view. If you got it, verify the table OKM_MIME_TYPE is correct after being executed the sql comands.}} | ||
'''MySQL''' | '''MySQL''' | ||
Line 36: | Line 38: | ||
UPDATE OKM_MIME_TYPE SET MT_SEARCH='T'; | UPDATE OKM_MIME_TYPE SET MT_SEARCH='T'; | ||
ALTER TABLE OKM_MIME_TYPE ALTER COLUMN MT_SEARCH SET NOT NULL; | ALTER TABLE OKM_MIME_TYPE ALTER COLUMN MT_SEARCH SET NOT NULL; | ||
+ | </source> | ||
+ | |||
+ | * The ExecuteScription action SQL insert has changed between version 6.2.x to 6.X please take a look at [[Enable automation]] 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. | ||
+ | <source lang="java"> | ||
+ | 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); | ||
+ | } | ||
</source> | </source> | ||
Latest revision as of 15:43, 28 October 2016
- Make a backup!!!
- Stop Tomcat
- Edit OpenKM.cfg 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.X please take a look at Enable automation 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!
If you have any weird problem try to stop Tomcat, delete these folders:
- $TOMCAT_HOME/webapps/OpenKM
- $TOMCAT_HOME/work/Catalina/localhost
And start Tomcat again.
Recommended to clear browser cache and Java Plugin cache |