Projet

General

Profil

incompatibilité becpg project avec un autre module

Ajouté par farouk osrani il y a plus de 9 ans

Bonjour,

j'ai installé le module becpg project, avec un autre module qui utilise les mêmes service que becpg '<property name="dictionaryService" ref="dictionaryService" />
<property name="nodeService" ref="nodeService" />'.

et j'ai incompatibilité des deux modules pd dans le context core-context.xml sur la ligne <context:component-scan base-package="becpg" /> il arrive pas à charger les beans.

SVP est ce que vous avez une idée de ce pb.

Cordialement.


Réponses (13)

RE: incompatibilité becpg project avec un autre module - Ajouté par Matthieu Laborie il y a plus de 9 ans

Bonjour,

Pouvez vous me donner plus d'infos ? Logs, module installé, versions becpg alfresco ...

Merci

RE: incompatibilité becpg project avec un autre module - Ajouté par farouk osrani il y a plus de 9 ans

Merci pour votre réponse.

le module est Alvex community version 10.2014.

Alfresco community 4.2.f
becpg 1.6.4
alvex 10.2014

ci joint les logs :
an 09, 2015 5:20:33 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.alfresco.web.app.ContextListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'integrityChecker' defined in URL [jar:file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/lib/alvex-documents-registers-ce-repo-1.33.jar!/alfresco/extension/alvex-documents-registers-context.xml]: Cannot resolve reference to bean 'alvex-master-data-service' while setting bean property 'alvexMasterDataService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AlvexMasterDataService' defined in URL [jar:file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/lib/alvex-documents-registers-ce-repo-1.33.jar!/alfresco/extension/alvex-documents-registers-context.xml]: Cannot resolve reference to bean 'alvexMasterDataService' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'alvexMasterDataService' defined in URL [jar:file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/lib/alvex-documents-registers-ce-repo-1.33.jar!/alfresco/extension/alvex-documents-registers-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanInitializationException: Property 'documentsRegistersExtension' is required for bean 'alvexMasterDataService'
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1073)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AlvexMasterDataService' defined in URL [jar:file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/lib/alvex-documents-registers-ce-repo-1.33.jar!/alfresco/extension/alvex-documents-registers-context.xml]: Cannot resolve reference to bean 'alvexMasterDataService' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'alvexMasterDataService' defined in URL [jar:file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/lib/alvex-documents-registers-ce-repo-1.33.jar!/alfresco/extension/alvex-documents-registers-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanInitializationException: Property 'documentsRegistersExtension' is required for bean 'alvexMasterDataService'
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 30 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'alvexMasterDataService' defined in URL [jar:file:/opt/alfresco-4.2.f/tomcat/webapps/alfresco/WEB-INF/lib/alvex-documents-registers-ce-repo-1.33.jar!/alfresco/extension/alvex-documents-registers-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanInitializationException: Property 'documentsRegistersExtension' is required for bean 'alvexMasterDataService'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
... 40 more
Caused by: org.springframework.beans.factory.BeanInitializationException: Property 'documentsRegistersExtension' is required for bean 'alvexMasterDataService'
at org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor.postProcessPropertyValues(RequiredAnnotationBeanPostProcessor.java:149)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
... 46 more

Alfresco community 4.2.f
becpg 1.6.4
alvex 10.2014

Cordialement.

RE: incompatibilité becpg project avec un autre module - Ajouté par farouk osrani il y a plus de 9 ans

le contenu de fichier alvex-documents-registers-context.xml :

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
    <bean id="webscript.alvex.datalists.datalist-export-xlsx.put" 
            class="com.alvexcore.repo.documents.generation.ExportDataListToXlsx" 
            parent="webscript">
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>

    <bean id="alvex-documents-types-deployer" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <!-- Register resource bundles -->
        <property name="labels">
            <list>
                <value>alfresco.extension.messages.alvex-default-documents-types</value>
            </list>
        </property>
        <!-- Register models -->
        <property name="models">
            <list>
                <value>alfresco/extension/models/alvex-default-documents-types-model.xml</value>
            </list>
        </property>
    </bean>

    <bean id="alvex-documents-registers-deployer" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap, alvex-documents-types-deployer">
        <!-- Register resource bundles -->
        <property name="labels">
            <list>
                <value>alfresco.extension.messages.alvex-documents-registers</value>
                <value>alfresco.extension.messages.alvex-documents-types</value>
            </list>
        </property>
        <!-- Register models -->
        <property name="models">
            <list>
                <value>alfresco/extension/models/alvex-documents-types-model.xml</value>
            </list>
        </property>
    </bean>

    <bean id="alvex-master-data-deployer" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <!-- Register resource bundles -->
        <property name="labels">
            <list>
                <value>alfresco.extension.messages.alvex-master-data</value>
            </list>
        </property>
        <!-- Register models -->
        <property name="models">
            <list>
                <value>alfresco/extension/models/alvex-master-data-model.xml</value>
            </list>
        </property>
    </bean>

    <bean id="formServiceScript" parent="baseJavaScriptExtension" 
          class="org.alfresco.repo.forms.script.MasterDataAwareScriptFormService">
        <property name="extensionName">
            <value>formService</value>
        </property>
        <property name="formService" ref="FormService" />
    </bean>

    <!-- ensures model-compliance of node structures -->
    <bean id="integrityChecker" class="org.alfresco.repo.node.integrity.MasterDataAwareIntegrityChecker" init-method="init">
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
        <property name="policyComponent" ref="policyComponent"/>
        <property name="dictionaryService" ref="dictionaryService" />
        <property name="nodeService" ref="nodeService" />
        <property name="tenantService" ref="tenantService" />
        <property name="enabled" value="${system.integrity.enabled}" />
        <property name="traceOn" value="${system.integrity.trace}" />
        <property name="failOnViolation" value="${system.integrity.failOnViolation}" />
        <property name="maxErrorsPerTransaction" value="5" />
        <property name="storesToIgnore">
            <list>
                <value>${version.store.version2Store}</value>
                <!--  <value>${version.store.deprecated.lightWeightVersionStore}</value> -->
            </list>
        </property>
    </bean>

    <!-- We need this to set static properties for all MasterDataConstraint instances -->
    <bean id="MasterDataConstraintHelper" class="com.alvexcore.repo.masterdata.MasterDataConstraint" depends-on="alvex-documents-registers">
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>

    <bean id="MasterDataNodeFilter" class="com.alvexcore.repo.masterdata.MasterDataFormFilter" parent="baseFormFilter">
        <property name="filterRegistry" ref="nodeFilterRegistry" />
        <property name="nodeService" ref="nodeService" />
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
    </bean>
    <bean id="MasterDataTypeFilter" class="com.alvexcore.repo.masterdata.MasterDataFormFilter" parent="baseFormFilter">
        <property name="filterRegistry" ref="typeFilterRegistry" />
        <property name="nodeService" ref="nodeService" />
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
    </bean>

    <!-- AlvexDictionaryService -->
    <bean id="alvex-dictionary-service-transaction" 
        class="org.alfresco.repo.transaction.RetryingTransactionInterceptor">
        <property name="transactionService" ref="TransactionService" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="*exists">${server.transaction.mode.readOnly}</prop>
                <prop key="*Exists">${server.transaction.mode.readOnly}</prop>
                <prop key="is*">${server.transaction.mode.readOnly}</prop>
                <prop key="resolve*">${server.transaction.mode.readOnly}</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    <bean id="alvexDictionaryService" class="com.alvexcore.repo.AlvexDictionaryServiceImpl">
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>
    <bean id="AlvexDictionaryService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target" ref="alvexDictionaryService" />
        <property name="proxyInterfaces">
            <list>
                <value>com.alvexcore.repo.AlvexDictionaryService</value>
            </list>
        </property>
        <property name="interceptorNames">
            <list>
                <idref bean="alvex-dictionary-service-transaction" />
            </list>
        </property>
    </bean>
    <alias name="AlvexDictionaryService" alias="alvex-dictionary-service" />
    <bean id="alvex-dictionary-service-js" parent="baseJavaScriptExtension" 
        class="com.alvexcore.repo.JsAlvexDictionaryService">
        <property name="extensionName">
            <value>alvexDictionaryService</value>
        </property>
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
        <property name="nodeService" ref="nodeService" />
    </bean>

    <!-- AlvexRegistriesService -->
    <bean id="alvex-registries-service-transaction" 
        class="org.alfresco.repo.transaction.RetryingTransactionInterceptor">
        <property name="transactionService" ref="TransactionService" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="*exists">${server.transaction.mode.readOnly}</prop>
                <prop key="*Exists">${server.transaction.mode.readOnly}</prop>
                <prop key="is*">${server.transaction.mode.readOnly}</prop>
                <prop key="resolve*">${server.transaction.mode.readOnly}</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    <bean id="alvexRegistriesService" class="com.alvexcore.repo.registries.AlvexRegistriesServiceImpl">
        <property name="serviceRegistry" ref="ServiceRegistry" />
        <property name="alvexExtensionRegistry" ref="alvex-repo-extension-registry" />
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
    </bean>
    <bean id="AlvexRegistriesService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target" ref="alvexRegistriesService" />
        <property name="proxyInterfaces">
            <list>
                <value>com.alvexcore.repo.registries.AlvexRegistriesService</value>
            </list>
        </property>
        <property name="interceptorNames">
            <list>
                <idref bean="alvex-registries-service-transaction" />
            </list>
        </property>
    </bean>
    <alias name="AlvexRegistriesService" alias="alvex-registries-service" />
    <bean id="alvex-registries-service-js" parent="baseJavaScriptExtension" 
        class="com.alvexcore.repo.registries.JsAlvexRegistriesService">
        <property name="extensionName">
            <value>alvexRegistriesService</value>
        </property>
        <property name="alvexRegistriesService" ref="alvex-registries-service" />
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
    </bean>

    <!-- AlvexMasterDataService -->
    <bean id="alvex-master-data-service-transaction" 
        class="org.alfresco.repo.transaction.RetryingTransactionInterceptor">
        <property name="transactionService" ref="TransactionService" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="*exists">${server.transaction.mode.readOnly}</prop>
                <prop key="*Exists">${server.transaction.mode.readOnly}</prop>
                <prop key="is*">${server.transaction.mode.readOnly}</prop>
                <prop key="resolve*">${server.transaction.mode.readOnly}</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    <bean id="alvexMasterDataService" class="com.alvexcore.repo.masterdata.AlvexMasterDataServiceImpl">
        <property name="serviceRegistry" ref="ServiceRegistry" />
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
    </bean>
    <bean id="AlvexMasterDataService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target" ref="alvexMasterDataService" />
        <property name="proxyInterfaces">
            <list>
                <value>com.alvexcore.repo.masterdata.AlvexMasterDataService</value>
            </list>
        </property>
        <property name="interceptorNames">
            <list>
                <idref bean="alvex-master-data-service-transaction" />
            </list>
        </property>
    </bean>
    <alias name="AlvexMasterDataService" alias="alvex-master-data-service" />
    <bean id="alvex-master-data-service-js" parent="baseJavaScriptExtension" 
        class="com.alvexcore.repo.masterdata.JsAlvexMasterDataService">
        <property name="extensionName">
            <value>alvexMasterDataService</value>
        </property>
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>

    <bean id="alvex-template-service-transaction" 
        class="org.alfresco.repo.transaction.RetryingTransactionInterceptor">
        <property name="transactionService" ref="TransactionService" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="*exists">${server.transaction.mode.readOnly}</prop>
                <prop key="*Exists">${server.transaction.mode.readOnly}</prop>
                <prop key="is*">${server.transaction.mode.readOnly}</prop>
                <prop key="resolve*">${server.transaction.mode.readOnly}</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    <bean id="alvexTemplateService" class="com.alvexcore.repo.documents.generation.TemplateServiceImpl">
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>
    <bean id="AlvexTemplateService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target" ref="alvexTemplateService" />
        <property name="proxyInterfaces">
            <list>
                <value>com.alvexcore.repo.documents.generation.TemplateService</value>
            </list>
        </property>

        <property name="interceptorNames">
            <list>
                <idref bean="alvex-template-service-transaction" />
            </list>
        </property>
    </bean>
    <alias name="AlvexTemplateService" alias="alvex-template-service" />
    <bean id="alvex-template-js" parent="baseJavaScriptExtension" 
        class="com.alvexcore.repo.documents.generation.JscriptTemplate">
        <property name="extensionName">
            <value>template</value>
        </property>
        <property name="templateService" ref="alvex-template-service" />
    </bean>

    <bean id="alvex-xml-service-transaction" 
        class="org.alfresco.repo.transaction.RetryingTransactionInterceptor">
        <property name="transactionService" ref="TransactionService" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="*exists">${server.transaction.mode.readOnly}</prop>
                <prop key="*Exists">${server.transaction.mode.readOnly}</prop>
                <prop key="is*">${server.transaction.mode.readOnly}</prop>
                <prop key="resolve*">${server.transaction.mode.readOnly}</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    <bean id="alvexXmlService" class="com.alvexcore.repo.documents.XmlServiceImpl">
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>
    <bean id="AlvexXmlService" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target" ref="alvexXmlService" />
        <property name="proxyInterfaces">
            <list>
                <value>com.alvexcore.repo.documents.XmlService</value>
            </list>
        </property>

        <property name="interceptorNames">
            <list>
                <idref bean="alvex-xml-service-transaction" />
            </list>
        </property>
    </bean>
    <alias name="AlvexXmlService" alias="alvex-xml-service" />
    <bean id="alvex-xml-js" parent="baseJavaScriptExtension" 
        class="com.alvexcore.repo.documents.JscriptXmlService">
        <property name="extensionName">
            <value>xmlService</value>
        </property>
        <property name="xmlService" ref="alvex-xml-service" />
    </bean>

    <!-- Version helper -->
    <bean id="alvex-version-helper-transaction" 
        class="org.alfresco.repo.transaction.RetryingTransactionInterceptor">
        <property name="transactionService" ref="TransactionService" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="*exists">${server.transaction.mode.readOnly}</prop>
                <prop key="*Exists">${server.transaction.mode.readOnly}</prop>
                <prop key="is*">${server.transaction.mode.readOnly}</prop>
                <prop key="resolve*">${server.transaction.mode.readOnly}</prop>
                <prop key="get*">${server.transaction.mode.readOnly}</prop>
                <prop key="*">${server.transaction.mode.default}</prop>
            </props>
        </property>
    </bean>
    <bean id="alvexVersionHelper" class="com.alvexcore.repo.tools.VersionHelperImpl">
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>
    <bean id="AlvexVersionHelper" class="org.springframework.aop.framework.ProxyFactoryBean">
        <property name="target" ref="alvexVersionHelper" />
        <property name="proxyInterfaces">
            <list>
                <value>com.alvexcore.repo.tools.VersionHelper</value>
            </list>
        </property>
        <property name="interceptorNames">
            <list>
                <idref bean="alvex-version-helper-transaction" />
            </list>
        </property>
    </bean>
    <alias name="AlvexVersionHelper" alias="alvex-version-helper" />
    <bean id="alvex-version-helper-js" parent="baseJavaScriptExtension" 
        class="com.alvexcore.repo.tools.JscriptVersionHelper">
        <property name="extensionName">
            <value>versionHelper</value>
        </property>
        <property name="versionHelper" ref="alvex-version-helper" />
        <property name="serviceRegistry" ref="ServiceRegistry" />
    </bean>

    <!-- Custom versionable aspect impl -->
    <bean id="versionableAspect" class="com.alvexcore.repo.AlvexVersionableAspect" init-method="init">
        <property name="policyComponent">
            <ref bean="policyComponent" />
        </property>
        <property name="versionService">
            <ref bean="versionService"/>
        </property>
        <property name="nodeService">
            <ref bean="nodeService"/>
        </property>
        <property name="lockService" ref="lockService" />
        <property name="dictionaryDAO">
            <ref bean="dictionaryDAO"/>
        </property>
        <property name="namespacePrefixResolver">
            <ref bean="namespaceService"/>
        </property>
        <property name="excludedOnUpdateProps">
            <list>
                <value>webdav:opaquelocktoken</value>
                <value>webdav:sharedLockTokens</value>
                <value>webdav:lockDepth</value>
                <value>webdav:lockScope</value>
                <value>webdav:deadproperties</value>
                <value>cm:likesRatingSchemeTotal</value>
                <value>cm:likesRatingSchemeCount</value>
                <value>cm:fiveStarRatingSchemeCount</value>
                <value>cm:fiveStarRatingSchemeTotal</value>
                <!-- ALF-12205 - do not version on comments -->
                <value>fm:commentCount</value>
                <value>cm:expiryDate</value>
                <!-- MNT-181 -->
                <value>sys:clientVisibilityMask</value>
                <value>cm:lastThumbnailModification</value>
                <!-- MNT-9688 -->
                <value>cm:storeName</value>
            </list>
        </property>
        <property name="enableAutoVersioning" value="${version.store.enableAutoVersioning}" />
    </bean>

    <!-- Max version policy based on https://github.com/jottley/alfresco-maxversion-policy -->
    <bean id="alvexMaxVersion" class="com.alvexcore.repo.AlvexMaxVersionPolicy" init-method="init">
        <property name="policyComponent">
            <ref bean="policyComponent" />
        </property>
        <property name="versionService">
            <ref bean="VersionService" />
        </property>
        <!-- The max number of versions per versioned node -->
        <property name="maxVersions">
            <value>${alvex.maxVersions}</value>
        </property>
    </bean>

    <bean id="alvex-documents-registers" class="com.alvexcore.repo.DocumentsRegistersExtension" 
                                        depends-on="alvex-custom-workflows" parent="alvex-extension">
        <property name="policyComponent" ref="policyComponent" />
        <property name="alvexDictionaryService" ref="alvex-dictionary-service" />
        <property name="alvexMasterDataService" ref="alvex-master-data-service" />
    </bean>
</beans>

RE: incompatibilité becpg project avec un autre module - Ajouté par farouk osrani il y a plus de 9 ans

ali benali a écrit :
le contenu de fichier alvex-documents-registers-context.xml :

RE: incompatibilité becpg project avec un autre module - Ajouté par Matthieu Laborie il y a plus de 9 ans

Bonjour,

Dans l'erreur que vous m'avez envoyé Spring n'arrive pas a trouver le bean alvex-master-data-service qui en effet n'est pas défini dans le fichier.
Vous pouvez essayer de faire un grep dans votre installation pour voir ou est défini ce bean.

Je n'ai pas eu l'occasion de tester Alvex avec beCPG il est possible que certains fichiers soient écrasés l'un par l'autre.
Il y a un travail d'intégration et de qualification à faire. Si vous trouvez la cause du problème je pourrai éventuellement patché beCPG dans le trunk.

Cordialement

RE: incompatibilité becpg project avec un autre module - Ajouté par Matthieu Laborie il y a plus de 9 ans

Bonjour,

Oups le bean est bien défini comme Alias. A ce niveau je n'ai pas d'idées.

Cordialement

RE: incompatibilité becpg project avec un autre module - Ajouté par Matthieu Laborie il y a plus de 9 ans

Vous pouvez essayez de mettre les logs spring et de joindre le fichier de log.

Avez vous tester cette version d'alvex seul ?

Cordialemnent

RE: incompatibilité becpg project avec un autre module - Ajouté par farouk osrani il y a environ 9 ans

Bonjour,

Merci beaucoup pour votre aide, Oui la version Alvex marche bien seul.
et becpg marche bien avec l'ancien version Alvex 08.2014

pour les log spring je ne sais ou je peux les trouvé.

Cordialement.

RE: incompatibilité becpg project avec un autre module - Ajouté par Oksana Kurysheva il y a environ 9 ans

Dear Farouk and beCPG team,

Sorry that I write in English. I found this thread using Google and I do not speak French, so I used Google Translate to understand what is it about :) I hope you will understand what I want to say.

I only want to share our investigations about beCPG & Alvex compatibility. It has never worked before, so I don't think that using 2014.08 version can solve this issue. There are several issues:

1. beCPG overloads Alfresco API Alfresco to get all forms including task forms. Alvex does the same. Why is it so? Because Alfresco does not have any interfaces to extend this code. The only possible way is to overload Alfresco's implementation. Alvex uses default Alfresco mechanism to overload Alfresco APIs. beCPG overwrites Alfresco's implementation during installation, so it removes Alfresco's implementation and you see beCPG's implementation in the place of Alfresco's one (that is why you have to use -force key during beCPG installation).
As a result Alvex's implementation is used because Alfresco overloading mechanism is designed for overloading default implementation with a custom. And we see beCPG's implementation as "default".

2. beCPG overwrites not only API to get forms, but also controls (again -force). So almost all controls including simple "textfield" depend on beCPG APIs. And on this place we get the error. Because beCPG API are overloaded with Alvex's ones. And new controls don't check that custom beCPG's functions are not available.

How to solve?

1. The most proper way
Force Alfresco to add interfaces to extend API. So beCPG and we can use them :)

2. Another good way (that is possible for beCPG team)
a) Overload APIs (do not overwrite them).
b) Unbind overloaded controls from non-standard API. Alvex is developed in this way. If you use beCPG implementation, then you will lose some nice Alvex features, but everything will work.

3. The simplest way (that is possible for third-party developer)
Develop your own implementation by merging all beCPG and Alvex features. Start with alfresco/site-webscripts/com/alvexcore/components/form/form.lib.ftl from Alvex sources and alfresco/site-webscripts/org/alfresco/components/form/form.lib.ftl from beCPG sources.

I hope it will help,
Best regards,
Oksana
Alvex Team

RE: incompatibilité becpg project avec un autre module - Ajouté par Matthieu Laborie il y a environ 9 ans

Hi Oksana,

Thanks for this analysis wich is correct.

We try our best to override as less as possible Alfresco API but as you said is not always possible.
We are working on new version for Alfresco 5 of beCPG components, I will try to overload Alfresco instead of overwriting it.

Farouk you will have probably to do an integration work to merge both codes (Point 3).

As beCPG modify some Alfresco fonctionnalities, it will always be integration and tests to make it work with other modules.

I will have a look to Alvex code to see if there is some features that we can merged or rewrite to avoid collision.

Right now I lack of time to do it but I will open an issue. #1364

Regards

RE: incompatibilité becpg project avec un autre module - Ajouté par farouk osrani il y a environ 9 ans

Hi Oksana and Becpg Team,

Thank you for the analysis and for your response.

My issue is that Alfresco can't find bean "alvex-master-data-service" in alvex-documents-registers-context.xml. So Alfresco can not start.

I confirm that Alvex 8.2014 jars work fine with Becpg 1.6.4 amps on our test machine (no error, no lost of data). Finally, we plan to downgrade our Alvex version from 10-2014 to 8-2014, and install Becpg 1.6.4.

Thanks.

RE: incompatibilité becpg project avec un autre module - Ajouté par Oksana Kurysheva il y a environ 9 ans

Hi Farouk,

I recommend you to try Alvex 2015.02. There was one more problem caused incompatibility with other extensions - conflicts in @Required annotations in the classes of different extensions (https://github.com/ITDSystems/alvex/commit/b3a1b00aaa31acd258152db4e4234efb97827920). After we fixed it Alvex became compatible with Componize. If Alvex 2014.08 worked for you, then maybe in 2015.02 we solved Becpg compatibility problem too.

Regards,
Oksana

RE: incompatibilité becpg project avec un autre module - Ajouté par farouk osrani il y a environ 9 ans

Dear Oksana,

I just tested the last version of Alvex (2015.02). It works fine with beCPG.

Good job !!!

Thanks a lot for your help ;)

Best regards,
Farouk.

    (1-13/13)