cancel
Showing results for 
Search instead for 
Did you mean: 

Migrating content with metadata to Alfresco

viralshah
Champ in-the-making
Champ in-the-making
Was looking out for options to migrate bulk content [custom content type] along with its metadata [It may or maynot have  : properties ( some mandatory), aspects ( inbuilt & custom), associations ( peer & child)] into Alfresco.

Based on  various forums & articles there seem to be multiple options as below:

    -Using SOAP webservice to add content & metadata
    -Adding content via CIFS/FTP & update content metadata via Webscripts
    -Adding content & metadata boith via webscript [is this possible?]
    -Using JCR 170 API to add content
    -Using ACPGenerator ( from Alfresco Forge) to create ACP file to import
    -Using 3rd party tool like Talend
    -Exporting dummy custom content via ACP and then manually updating the XML file & creating ACP file to import the content
Are all these valid options?
So what is the best option out of these ?
What are the pros & cons? How does one select the approach without trying all these options?
4 REPLIES 4

kshah1
Champ in-the-making
Champ in-the-making
Did you get any answer to your post?. I have the same question.

mrogers
Star Contributor
Star Contributor
All are probably valid options.  

The choice of which approach is best rather depends upon your preferences what data needs to be transformed and the type and volumes of data you want to import.

kshah1
Champ in-the-making
Champ in-the-making
Thanks for your response. We will be migrating about 150,000 files with 20+ custom meta-data. The files will be mostly msword, plain text, text/hcsp files and the file size will vary from few KB to 2M. With the given volume and types of files and its size, what would you recommend, in terms of speed?

Also, do you have any sample tutorial for migrating files (with custom model and custom meta-deta) using webservice api? If yes, could you please send me the code or the link to access the code? I was trying to use the CustomAspect sample code that came along with SDK, but I was not successful in executing the code.  The get the following error: 

Appreciate your help. Thanks.

java.lang.ExceptionInInitializerError
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at junit.framework.TestSuite.createTest(TestSuite.java:61)
   at junit.framework.TestSuite.addTestMethod(TestSuite.java:283)
   at junit.framework.TestSuite.<init>(TestSuite.java:146)
   at org.junit.internal.runners.JUnit38ClassRunner.<init>(JUnit38ClassRunner.java:79)
   at org.junit.internal.builders.JUnit3Builder.runnerForClass(JUnit3Builder.java:14)
   at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
   at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
   at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
   at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:29)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)
   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexerComponent' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean '&indexerAndSearcherFactory' while setting bean property 'storeRedirectorProxyFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'indexerAndSearcherFactory' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean 'admLuceneIndexerAndSearcherFactory' while setting bean property 'defaultBinding'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'admLuceneIndexerAndSearcherFactory' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean 'mlAwareNodeService' while setting bean property 'nodeService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mlAwareNodeService' defined in class path resource [alfresco/node-services-context.xml]: ……

mruflin
Champ in-the-making
Champ in-the-making
The fastest is probably
http://blogs.alfresco.com/wp/pmonks/2009/10/22/bulk-import-from-a-filesystem/

The only problem is that you won't be able to import the original creation and modification dates, see the bulk import issues / http://issues.alfresco.com/jira/browse/ENH-427. If you need these dates being set correctly, then your only bet is probably acp files.

Michael

ps: Regarding your error: Are you using the source code projects, e.g. imported into Eclipse? The error you are getting is due to build.xml in the "Repository" project not having been executed (as this would create the binding it is complaining about)