Comment exporter la structure d'un repository au format ACP?

cancel
Showing results for 
Search instead for 
Did you mean: 
lil
Member II

Comment exporter la structure d'un repository au format ACP?

Salut,

Je suis sur un projet sur Alfresco. Comme pour tout projet, j'ai besoin de faire des changements, de les tester puis de les déployer. Mon repository est divisé en espaces, avec des règles, des permissions, des données etc.

Si je veux ajouter ou modifier un espace, je dois pouvoir le faire sans que ça perturbe les utilisateurs. C'est pourquoi je dois faire les modifications sur ma machine et les déployer ensuite sur le serveur.

J'ai cru comprendre que je pouvais utiliser les ACP pour ça. Mais il me semble que dans la documentation ça parle surtout des données et j'aimerais donc savoir si il est possible d'ignorer les données pour n'exporter que la "structure" (utilisateurs, roles, espaces, templates, permissions, règles, workflows etc etc) puisque les données de test et les données de production ne sont pas les mêmes.

Pour essayer, je voulais exporter en acp le space "companyHome" pour voir si il contenait tout ce que je voulais. Mais la méthode par le web client ne fonctionne pas (j'ai fais un rapport de bug pour ça). La méthode en ligne de commande me donne une erreur :
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 workspace://SpacesStore/2d741c76-2cc0-11dd-bc45-710a646c41c6 -verbose companyHome.acp
Alfresco Repository Exporter
9 juil. 2008 14:02:35 org.springframework.core.CollectionFactory <clinit>
INFO: JDK 1.4+ collections available
9 juil. 2008 14:02:36 org.springframework.core.CollectionFactory <clinit>
INFO: Commons Collections 3.x available
9 juil. 2008 14:02:36 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [alfresco/application-context.xml]

The following error has occurred:
Error loading class [org.alfresco.repo.template.HasAspectMethod] for bean with name 'hasAspectTemplateExtension' defined in class path resource [alfresco/template-services-context.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: freemarker/template/TemplateMethodModelEx
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.alfresco.repo.template.HasAspectMethod] for bean with name 'hasAspectTemplateExtension' defined in class path resource [alfresco/template-services-context.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: freemarker/template/TemplateMethodModelEx
Caused by: java.lang.NoClassDefFoundError: freemarker/template/TemplateMethodModelEx
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:183)
        at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:317)
        at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1044)
        at org.springframework.beans.factory.support.AbstractBeanFactory.isBeanClassMatch(AbstractBeanFactory.java:1072)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:165)
        at org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:691)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:395)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:328)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:92)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
        at org.alfresco.util.ApplicationContextHelper.getApplicationContext(ApplicationContextHelper.java:55)
        at org.alfresco.tools.Tool.initialiseRepository(Tool.java:246)
        at org.alfresco.tools.Tool.start(Tool.java:212)
        at org.alfresco.tools.Export.main(Export.java:65)

Pouvez-vous m'éclairer ?

Merci d'avance
1 Reply
jm_pascal
Active Member

Re: Comment exporter la structure d'un repository au format ACP?

Bonjour,

En effet un export ACP semble une bonne solution dans votre cas.

Il faut savoir que l'export ACP effectue la copie conforme sous format XML de l'ensemble des propriétés, aspects, règles, fichiers, sous-espaces… de l'espace que vous voulez exporter.

Néanmoins, il s'agit d'une copie! Donc lors de l'import, il se peut que certains fichiers possèdent déjà les mêmes attributs (UUID : identifiant unique d'un noeud- notamment). Donc il faut faire attention! La copie n'écrase pas l'original et il en suffit d'un seul pour que l'import capote.

Une idée serait de créer un modèle d'espace dans vote environnement de production (dans des espaces vous étant uniquement réservé) et ensuite de les copier dans les espaces pour vos utilisateurs.

Cdlt.

PS : En ce qui concerne l'erreur… J'ai l'impression qu'il manque des fichiers de configuration dans votre instance Alfresco au niveau des templates… A confirmer…