• Update OpenKM3.0-Enterprise to OpenKM4.1RC1

  • Problems with installing OpenKM? No problemo, the solution is closer than you think.
Problems with installing OpenKM? No problemo, the solution is closer than you think.
Forum rules: Please, before asking something see the documentation wiki or use the search feature of the forum. And remember we don't have a crystal ball or mental readers, so if you post about an issue tell us which OpenKM are you using and also the browser and operating system version. For more info read How to Report Bugs Effectively.
 #4671  by tobi
 
Hello everyone,

we have an OpenKM 3.0 Enterprise Installation running. Now I am trying to update it to OpenKM 4.1RC1.
On the Wiki I found a migrating tool. But if I running the tool, after 9% it crashed with an error.

Now I have no idea, why this error occurs. And how I can update the 3.0 Installation to the 4.1 Installation.

I start the migrating tool with:
Code: Select all
java -Xmx1024m -jar OKMUtils-4.0.jar /var/www/openkm/OpenKM-3.0-Enterprise-JBoss-4.2.2.GA/repository.xml /var/www/openkm/OpenKM-3.0-Enterprise-JBoss-4.2.2.GA/repository /var/www/openkm4.1/jboss-4.2.3.GA_OpenKM-4.1_RC1/repository.xml /var/www/openkm4.1/jboss-4.2.3.GA_OpenKM-4.1_RC1/repository

Here is the Error, possibly anyone has a idea:
Code: Select all
        at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:310)
        at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:317)
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1247)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:369)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.main(RepositoryUpgrade.java:148)
ERROR org.apache.jackrabbit.core.observation.ObservationDispatcher - Synchronous EventConsumer threw exception.
java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()Lorg/apache/poi/poifs/filesystem/DirectoryEntry;
        at org.textmining.text.extraction.WordExtractor.extractText(WordExtractor.java:51)
        at org.apache.jackrabbit.extractor.MsWordTextExtractor.extractText(MsWordTextExtractor.java:67)
        at org.apache.jackrabbit.extractor.CompositeTextExtractor.extractText(CompositeTextExtractor.java:90)
        at org.apache.jackrabbit.core.query.lucene.JackrabbitTextExtractor.extractText(JackrabbitTextExtractor.java:195)
        at org.apache.jackrabbit.core.query.lucene.NodeIndexer.addBinaryValue(NodeIndexer.java:393)
        at org.apache.jackrabbit.core.query.lucene.NodeIndexer.addValue(NodeIndexer.java:282)
        at org.apache.jackrabbit.core.query.lucene.NodeIndexer.createDoc(NodeIndexer.java:221)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.createDocument(SearchIndex.java:899)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex$2.next(SearchIndex.java:550)
        at org.apache.jackrabbit.core.query.lucene.MultiIndex.update(MultiIndex.java:429)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.updateNodes(SearchIndex.java:534)
        at org.apache.jackrabbit.core.SearchManager.onEvent(SearchManager.java:505)
        at org.apache.jackrabbit.core.observation.EventConsumer.consumeEvents(EventConsumer.java:231)
        at org.apache.jackrabbit.core.observation.ObservationDispatcher.dispatchEvents(ObservationDispatcher.java:201)
        at org.apache.jackrabbit.core.observation.EventStateCollection.dispatch(EventStateCollection.java:421)
        at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:737)
        at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:873)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:334)
        at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:337)
        at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:310)
        at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:317)
        at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1247)
        at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:2978)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:370)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.main(RepositoryUpgrade.java:148)
(9%) DOCUMENT: /okm:root/JPD/Projekte/Jugendmedientage/2006_JMT_Berlin/Konzepte/051207 JMT 2006 - Inhaltskonzept.pdf -> /okm:root/JPD/Projekte/Jugendmedientage/2006_JMT_Berlin/Konzepte
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:330)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.migrationHelper(RepositoryUpgrade.java:402)
        at com.openkm.util.RepositoryUpgrade.main(RepositoryUpgrade.java:148)
 #4676  by jllort
 
No No No,

1- First make sure you've got a backup, before starting migration
2- You must not migrate to OpenKM 4.1-RC ( because it's a release candidate you must be waiting we release a 4.1 Stable ), you must migrate to 4.0 Stable version

Probably the error is because the method exists in OpenKM 4.0 version not in 4.1 ( after migrating to 4.0 version you'll not need to migrate to 4.1 Stable because there're not repository changes between 4.0 and 4.1 version , you'll only neew to upgrade OpenKM.war file , ) BUT please first make the migration from 3.0 to 4.0 not 4.1 !!!!
 #4681  by tobi
 
OK, thanks for the answer! I will try if it works...

But I still have one question: The Migration-Tool is only for the repository, right? What is with the Users an the Roles, is there any way to migrate them into the new version? Or will the Migration-Tool do this too?
 #4683  by jllort
 
MIgration tool is only for repository.

You'll must connect to database to make the rest of migration process manually ( take a look here )

We would like to make all process automatically, but because we've got several types of databases installation it's still not possible ( we're working on 5.0 to include hibernate to make it definetivelly independant and making migration process less tedious )
 #4686  by tobi
 
jllort wrote: You'll must connect to database to make the rest of migration process manually ( take a look here )
This is from wiki: "CREATE TABLE twitter_accounts(ta_id IDENTITY, ta_user VARCHAR(32), ta_tuser VARCHAR(32), ta_active BOOLEAN, PRIMARY KEY(ta_id));"


But how I execute this commands? I don´t use MySQL or anything else in OpenKM3.0. I found a file in which are the Users, Passwords and Rules are standing. So do I have to create the users in OpenKM4 by hand again? This would not be very cool but if this were a possible way to go then I would go this way.
 #4856  by tobi
 
jllort wrote:No No No,

1- First make sure you've got a backup, before starting migration
2- You must not migrate to OpenKM 4.1-RC ( because it's a release candidate you must be waiting we release a 4.1 Stable ), you must migrate to 4.0 Stable version

Probably the error is because the method exists in OpenKM 4.0 version not in 4.1 ( after migrating to 4.0 version you'll not need to migrate to 4.1 Stable because there're not repository changes between 4.0 and 4.1 version , you'll only neew to upgrade OpenKM.war file , ) BUT please first make the migration from 3.0 to 4.0 not 4.1 !!!!

Okay, I tried that. But I get the same error. Do you have any ideas, what I can try? Or is there another way to put the old repos-datas into the new OpenKM?
 #4867  by jllort
 
Sorry but I'm lost.

Which error ( the same error but which, first you're talking about migration repository process error, and then about mysql ), be more specific.
 #4920  by tobi
 
Did you change any syntax for the execution of this jar-file? I got an error, when I try to execute it:

finchen# java -Xmx1024m -jar utilities.jar /var/www/openkm/OpenKM-3.0-Enterprise-JBoss-4.2.2.GA/repository.xml /var/www/openkm/OpenKM-3.0-Enterprise-JBoss-4.2.2.GA/repository /var/www/openkm4.1/jboss-4.2.3.GA_OpenKM-4.1_RC1/repository.xml /var/www/openkm4.1/jboss-4.2.3.GA_OpenKM-4.1_RC1/repository
Usage: java -cp OKMUtils.jar <utility>
Where <utility> may be:
com.openkm.util.RepositoryUpgrade
com.openkm.util.ViewRepository
com.openkm.util.Traverse
com.openkm.util.GenerateUUID
com.openkm.util.CheckExtractors
com.openkm.util.CheckOOExtractor
com.openkm.util.TestZip
com.openkm.util.GenerateLockToken
com.openkm.util.CheckWorkForm
com.openkm.util.GenerateSchema
-----------
In (1) to (3) you need additional parameters like:
-Xmx512m
 #6124  by rmartinez
 
We have the same error migrating from 3.0 to 4.0.:

ERROR org.apache.jackrabbit.core.observation.ObservationDispatcher - Synchronous EventConsumer threw exception.
java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()Lorg/apache/poi/poifs/filesystem/DirectoryEntry;

Any idea?

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.