• migrating repository from OKM2.0b to 3.0

  • 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.
 #1583  by peter
 
i was wondering how i should go about upgrading from OKM 2.0b to OKM 3.0 without losing any documets AND their version history.

i tried simply copiing the repos folder from a 2.0b install to a new 3.0 install bt this does not seem to work!

thanks for any help.

Peter
 #1586  by pavila
 
There is a migration folder in the zip. It contains the OKMUtils.jar file which is used to manage the migration process. Migration is needed because there is repository-level modifications. For more info:
Code: Select all
$ java -jar OKMUtils.jar
And you have to invoke the es.git.openkm.util.cmd.RepositoryUpgrade tool.

I recommend to make a backup before run the upgrade utility. Also note you haven\'t a final release version and only migration between final versions are supported. You are using OpenKM 2.0b and there is an 2.0 released after that one.
 #1593  by peter
 
thank you for the quick responce. i have found the migration folder.

i don\'t understand what you mean with \"invoke es.git.openkm.util.cmd.RepositoryUpgrade\"

please could you explain what you mean with invoke
 #1599  by pavila
 
The complete sintax is:
Code: Select all
$ java -Djava.security.auth.login.config==jaas.config -Xmx512m -cp OKMUtils.jar es.git.openkm.util.cmd.RepositoryUpgrade
 #1610  by peter
 
I must be doing something wrong or missing something. when i try the upgrade i get the following message:
Code: Select all
Exception in thread \"main\" java.lang.NoClassDefFoundError: /security/auth/login/config==jaas/config
Caused by: java.lang.ClassNotFoundException: .security.auth.login.config==jaas.config
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: .security.auth.login.config==jaas.config.  Program will exit.
this is the command i try to execute:
Code: Select all
PS D:\\OpenKM-2.0_JBoss-4.2.2.GA\\OpenKM-2.0_JBoss-4.2.2.GA\\migration> java -cp OKMUtils.jar es.git.openkm.util.cmd.Reposi
toryUpgrade repository-1.2.xml repository-1.2 repository-2.0.xml repository-2.0


please any suggestions?
 #1611  by pavila
 
This command line can\'t generate this error message because it does not reference the jaas.config file.
 #1631  by blandobardo
 
Hello I issued a
Code: Select all
 java -Djava.security.auth.login.config==jaas.config -Xmx512m -cp OKMUtils.jar es.git.openkm.util.cmd.RepositoryUpgrade /var/www/www/openkm/repository.xml /media/raid_data/repository/ /var/www/openkm/repository.xml /media/raid_data/repository-3.0/
and got a
Code: Select all
Error: new repository already exists
I delete the new empty directory /media/raid_data/repository-3.0/
and issue the same command above and get instead a
Code: Select all
WARN  org.apache.jackrabbit.core.util.RepositoryLock - Existing lock file /media/raid_data/repository/.lock detected. Repository was not shut down properly. 
WARN  org.apache.jackrabbit.core.query.lucene.JackrabbitTextExtractor - Extractor dependency not found: org.apache.jackrabbit.extractor.MsWordTextExtractor 
java.lang.NoClassDefFoundError
	at org.apache.jackrabbit.extractor.MsWordTextExtractor.class$(MsWordTextExtractor.java:37)
	at org.apache.jackrabbit.extractor.MsWordTextExtractor.<clinit>(MsWordTextExtractor.java:43)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at org.apache.jackrabbit.core.query.lucene.JackrabbitTextExtractor.<init>(JackrabbitTextExtractor.java:113)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.createTextExtractor(SearchIndex.java:913)
	at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:420)
	at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:53)
	at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:583)
	at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:265)
	at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1620)
	at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:606)
	at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(RepositoryImpl.java:415)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:305)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.util.cmd.RepositoryUpgrade.main(RepositoryUpgrade.java:80)
Caused by: java.lang.ClassNotFoundException: org.textmining.text.extraction.WordExtractor
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	... 16 more
ERROR org.apache.jackrabbit.core.RepositoryImpl - failed to start Repository: Unable to create or lock file /media/raid_data/repository-3.0/.lock: /media/raid_data/repository-3.0/.lock (No such file or directory) 
javax.jcr.RepositoryException: Unable to create or lock file /media/raid_data/repository-3.0/.lock: /media/raid_data/repository-3.0/.lock (No such file or directory): /media/raid_data/repository-3.0/.lock (No such file or directory)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:138)
	at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:121)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:241)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.util.cmd.RepositoryUpgrade.main(RepositoryUpgrade.java:81)
Caused by: java.io.FileNotFoundException: /media/raid_data/repository-3.0/.lock (No such file or directory)
	at java.io.RandomAccessFile.open(Native Method)
	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:135)
	... 4 more
java.io.FileNotFoundException: /media/raid_data/repository-3.0/.lock (No such file or directory)
	at java.io.RandomAccessFile.open(Native Method)
	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:135)
	at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:121)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:241)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.util.cmd.RepositoryUpgrade.main(RepositoryUpgrade.java:81)
WARN  org.apache.jackrabbit.core.util.RepositoryLock - Unable to delete repository lock file 
Exception in thread \"main\" javax.jcr.RepositoryException: Unable to create or lock file /media/raid_data/repository-3.0/.lock: /media/raid_data/repository-3.0/.lock (No such file or directory): /media/raid_data/repository-3.0/.lock (No such file or directory)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:138)
	at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:121)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:241)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.util.cmd.RepositoryUpgrade.main(RepositoryUpgrade.java:81)
Caused by: java.io.FileNotFoundException: /media/raid_data/repository-3.0/.lock (No such file or directory)
	at java.io.RandomAccessFile.open(Native Method)
	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:135)
	... 4 more
java.io.FileNotFoundException: /media/raid_data/repository-3.0/.lock (No such file or directory)
	at java.io.RandomAccessFile.open(Native Method)
	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
	at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:135)
	at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:121)
	at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:241)
	at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:557)
	at es.git.openkm.util.cmd.RepositoryUpgrade.main(RepositoryUpgrade.java:81)
 #1632  by blandobardo
 
Ok I managed to start the script by editing the new repository.xml so that it points to the new repository directory.. however the script suddenly (after 2 hours) dies at 70%..

any idea? I\'m trying again with some more memory for the script but it\' squite boring after 2 hours of high data churning...
 #1649  by pavila
 
The text extractor classes have changed in thie new OpenKM release. This warning is not very important. The main error seems to be related to path in windows. Perhaps any forbidden char in path name.

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.