cancel
Showing results for 
Search instead for 
Did you mean: 

Migrating Users from 2.1 to 3.4

thedramatic
Champ in-the-making
Champ in-the-making
Hi folks,

I'm trying to migrate my users from my old 2.1 version to my new 3.4 installation.

I export my users by issuing:

java -classpath classes/alfresco/module:../../../shared/classes:classes:lib/acegi-security-0.8.2_patched.jar:lib/activation.jar:lib/addressing-1.0.jar:lib/alfresco-core.jar:lib/alfresco-deployment.jar:lib/alfresco-linkvalidation.jar:lib/alfresco-mbeans.jar:lib/alfresco-remote-api.jar:lib/alfresco-repository.jar:lib/alfresco-web-client.jar:lib/ant.jar:lib/antlr-2.7.5H3.jar:lib/aopalliance.jar:lib/avalon-framework-4.2.0.jar:lib/bcel.jar:lib/bcprov-jdk15-137.jar:lib/bsf-2.4.0.jar:lib/bsh-1.3.0.jar:lib/catalina.jar:lib/cglib-nodep-2.2_beta1.jar:lib/chiba-1.3.0.jar:lib/commons-beanutils-1.7.0.jar:lib/commons-codec-1.3.jar:lib/commons-collections-3.1.jar:lib/commons-dbcp-1.2.1.jar:lib/commons-digester-1.6.jar:lib/commons-discovery-0.2.jar:lib/commons-el.jar:lib/commons-fileupload-1.1.1.jar:lib/commons-httpclient-3.0.jar:lib/commons-io-1.1.jar:lib/commons-jxpath-1.2.jar:lib/commons-lang-2.1.jar:lib/commons-logging-1.0.4.jar:lib/commons-modeler.jar:lib/commons-pool-1.3.jar:lib/commons-validator.jar:lib/cpool.jar:lib/cryptix-jce-provider.jar:lib/dom4j-1.6.1.jar:lib/ehcache-1.3.0.jar:lib/fontbox-0.1.0.jar:lib/fop-0.92beta.jar:lib/freemarker.jar:lib/guessencoding-1.0.jar:lib/hibernate-3.2.1.jar:lib/hrtlib.jar:lib/hsqldb.jar:lib/htmlparser-1.6.jar:lib/icu4j_3_6_1.jar:lib/jakarta-oro-2.0.8.jar:lib/jaxen-1.1-beta-8.jar:lib/jaxrpc.jar:lib/jbpm-identity-3.2.jar:lib/jbpm-jpdl-3.2-patched.jar:lib/jcr-1.0.jar:lib/jgroups-2.2.8.jar:lib/jibx-bind.jar:lib/jibx-run.jar:lib/jid3lib-0.5.jar:lib/JMagick.jar:lib/joda-time-1.2.1.jar:lib/jooconverter-2.1.0.jar:lib/json.jar:lib/jstl-1.1.0.jar:lib/jta.jar:lib/jug.jar:lib/jut.jar:lib/log4j-1.2.8.jar:lib/lucene-analyzers-2.1.0.jar:lib/lucene-core-2.1.0.jar:lib/lucene-snowball-2.1.0.jar:lib/mail.jar:lib/myfaces-api-1.1.5.jar:lib/myfaces-impl-1.1.5.jar:lib/naming-factory.jar:lib/naming-resources.jar:lib/odf_utils.jar:lib/odmg-3.0.jar:lib/openoffice-juh-2.0.3.jar:lib/openoffice-jurt-2.0.3.jar:lib/openoffice-ridl-2.0.3.jar:lib/openoffice-sandbox-2.0.3.jar:lib/openoffice-unoil-2.0.3.jar:lib/opensaml-1.0.1.jar:lib/pdfbox-0.7.3.jar:lib/poi-2.5.1_patched.jar:lib/portlet-api-lib.jar:lib/quartz-1.6.0.jar:lib/resolver.jar:lib/rhino-js-1.6R4.jar:lib/saaj.jar:lib/saxpath.jar:lib/spring-2.0.2.jar:lib/springmodules-jbpm31.jar:lib/standard.jar:lib/tlc124.jar:lib/tm-extractors-0.4_patched.jar:lib/tomcat-coyote.jar:lib/tomcat-util.jar:lib/truezip.jar:lib/wsdl4j-1.5.1.jar:lib/wss4j.jar:lib/xercesImpl-2.8.0.jar:lib/xml-apis.jar:lib/xmlgraphics-commons-1.0.jar:lib/xmlsec-1.4.0.jar:lib/xpp3-1.1.3_8.jar:lib/xstream-1.1.3.jar:../../../common/lib/mysql-connector-java-5.0.3-bin.jar:../../../common/endorsed/serializer.jar:../../../common/endorsed/xalan.jar:lib/axis-1.4.jar org.alfresco.tools.Export -user admin -pwd admin -store user://alfrescoUserStore -verbose users.acp

This works great.

When trying to import the users on my 3.4 installation the following command fails with: "could not find main class org.alfresco.tools.Import"

java -classpath classes/alfresco/module:../../../shared/classes:classes:lib/acegi-security-0.8.2_patched.jar:lib/activation.jar:lib/addressing-1.0.jar:lib/alfresco-core.jar:lib/alfresco-deployment.jar:lib/alfresco-linkvalidation.jar:lib/alfresco-mbeans.jar:lib/alfresco-remote-api.jar:lib/alfresco-repository.jar:lib/alfresco-web-client.jar:lib/ant.jar:lib/antlr-2.7.5H3.jar:lib/aopalliance.jar:lib/avalon-framework-4.2.0.jar:lib/bcel.jar:lib/bcprov-jdk15-137.jar:lib/bsf-2.4.0.jar:lib/bsh-1.3.0.jar:lib/catalina.jar:lib/cglib-nodep-2.2_beta1.jar:lib/chiba-1.3.0.jar:lib/commons-beanutils-1.7.0.jar:lib/commons-codec-1.3.jar:lib/commons-collections-3.1.jar:lib/commons-dbcp-1.2.1.jar:lib/commons-digester-1.6.jar:lib/commons-discovery-0.2.jar:lib/commons-el.jar:lib/commons-fileupload-1.1.1.jar:lib/commons-httpclient-3.0.jar:lib/commons-io-1.1.jar:lib/commons-jxpath-1.2.jar:lib/commons-lang-2.1.jar:lib/commons-logging-1.0.4.jar:lib/commons-modeler.jar:lib/commons-pool-1.3.jar:lib/commons-validator.jar:lib/cpool.jar:lib/cryptix-jce-provider.jar:lib/dom4j-1.6.1.jar:lib/ehcache-1.3.0.jar:lib/fontbox-0.1.0.jar:lib/fop-0.92beta.jar:lib/freemarker.jar:lib/guessencoding-1.0.jar:lib/hibernate-3.2.1.jar:lib/hrtlib.jar:lib/hsqldb.jar:lib/htmlparser-1.6.jar:lib/icu4j_3_6_1.jar:lib/jakarta-oro-2.0.8.jar:lib/jaxen-1.1-beta-8.jar:lib/jaxrpc.jar:lib/jbpm-identity-3.2.jar:lib/jbpm-jpdl-3.2-patched.jar:lib/jcr-1.0.jar:lib/jgroups-2.2.8.jar:lib/jibx-bind.jar:lib/jibx-run.jar:lib/jid3lib-0.5.jar:lib/JMagick.jar:lib/joda-time-1.2.1.jar:lib/jooconverter-2.1.0.jar:lib/json.jar:lib/jstl-1.1.0.jar:lib/jta.jar:lib/jug.jar:lib/jut.jar:lib/log4j-1.2.8.jar:lib/lucene-analyzers-2.1.0.jar:lib/lucene-core-2.1.0.jar:lib/lucene-snowball-2.1.0.jar:lib/mail.jar:lib/myfaces-api-1.1.5.jar:lib/myfaces-impl-1.1.5.jar:lib/naming-factory.jar:lib/naming-resources.jar:lib/odf_utils.jar:lib/odmg-3.0.jar:lib/openoffice-juh-2.0.3.jar:lib/openoffice-jurt-2.0.3.jar:lib/openoffice-ridl-2.0.3.jar:lib/openoffice-sandbox-2.0.3.jar:lib/openoffice-unoil-2.0.3.jar:lib/opensaml-1.0.1.jar:lib/pdfbox-0.7.3.jar:lib/poi-2.5.1_patched.jar:lib/portlet-api-lib.jar:lib/quartz-1.6.0.jar:lib/resolver.jar:lib/rhino-js-1.6R4.jar:lib/saaj.jar:lib/saxpath.jar:lib/spring-2.0.2.jar:lib/springmodules-jbpm31.jar:lib/standard.jar:lib/tlc124.jar:lib/tm-extractors-0.4_patched.jar:lib/tomcat-coyote.jar:lib/tomcat-util.jar:lib/truezip.jar:lib/wsdl4j-1.5.1.jar:lib/wss4j.jar:lib/xercesImpl-2.8.0.jar:lib/xml-apis.jar:lib/xmlgraphics-commons-1.0.jar:lib/xmlsec-1.4.0.jar:lib/xpp3-1.1.3_8.jar:lib/xstream-1.1.3.jar:../../../common/lib/mysql-connector-java-5.0.3-bin.jar:../../../common/endorsed/serializer.jar:../../../common/endorsed/xalan.jar:lib/axis-1.4.jar org.alfresco.tools.Import -user admin -pwd admin -store user://alfrescoUserStore -verbose users.acp

What is the correct command for the 3.4 version. I cant keep up with all the changing class paths with every release.

Thanks for your advice.
6 REPLIES 6

_sax
Champ in-the-making
Champ in-the-making
Is it possible to import your acp inside Alfresco's Administration Console?
Did you copy the lines from http://wiki.alfresco.com/wiki/Export_and_Import?

thedramatic
Champ in-the-making
Champ in-the-making
Thanks for your reply.

I theoretically could import the users.acp via webexpolorer. But would it work the same way as the Import command and produce the same result?

When calling import I can specify where to import the content to. e.g. import users.acp to user://alfrescoUserStore
When importing via WebExporer I can only specify Spaces of the Type workspace:// not user://.
Am I wrong with this?

By the way: I've seen that there is People-type data in alfresco. What does it contain? Do I have to migrate it as well?
In the end I want to have the same usernames, passwords, Names, and email-addresses on my 3.4 installation.

Yes I copied the commands from the wikipage but the import command is for version 3.1 and there is none listed for 3.4

_sax
Champ in-the-making
Champ in-the-making
The command line process was a little flaky back then:
http://forums.alfresco.com/en/viewtopic.php?p=32982
I don't know of its actual state.
Do you shutdown Alfresco before attempting to import (the wiki page and another forum thread ask for that)?
Could you try to import your user data in 2.1? Maybe you'll even find the appropriate command line (maybe in the history of the wiki's page).
If that also fails, you're problem may originate in the export process.

I thought about the Admin console, because as described in the linked thread, a full export does contain your users.acp and a full import imports this file. But a partial import of this system data is not possible, as far as I know.
That would only work for folder structures and its contents and rules.

Could a full import be an option (if it works)? You could delete everything data in your 3.4.
Besides this, the upgrade from 2.1 to 3.4 is a huge step, maybe impossible technically (scheme-wise).
If you can go this way, I'd recommend to go from 2.1 to 2.9b to 3.2 to 3.4c.

mrogers
Star Contributor
Star Contributor
You shouldn't be using acp to transfer data between versions.

thedramatic
Champ in-the-making
Champ in-the-making
Hi folks, thanks for your replies,

@_sax: The commandline process works. The problem is that classpaths change with every release.
but thanks for your hint to import via webexplorer.
It works. I can export authorities, and people via command line from 2.1 and import the XML(!) into 3.4b via webexplorer.
First it seemed like it did not work but everything is fine after a reboot.

A full would be overkill on my system because of the datasize. During the export process alfresco is chacheing everything into the temp folder.
After that is seems to create an acp file for download. what means that you will need 3xRepositorySize of harddiskspace on your exporting machine.
I tried mount the tomcat/temp to a NFS drive but the export took about 5 hours and then the server crashed.

@mrogers:
Yes I know. But the described upgrade procedure only work to 80%. I already tried upgrading using the path described by _sax.
Every single step threw errors. (email-notification scripts failed to migrate, some scheme patches could not be applied because of missing tables or columns)
After working around the errors I managed to get the migrated 3.4b up and running. But some content was (randomly) crippled and the search function
became nearly useless (finding nearly nothing. yes, i did a full lucene rebuild).

The MasterPlan is to migrate the users by exporting and reimporting to 3.4 and then migrate the content Space by Space.
It seems to work quite well If I first import users and groups and then the content. Even all permissions stay functional.
I do not have any custom scripts so chances aren't bad.

_sax
Champ in-the-making
Champ in-the-making
Wow, didn't think of such a way - could you explain, how you imported the xml (foremost - where to)?
Thanks a lot, seems like a great possibility for the circumvention of some upgrading hindrances.