J'ai vu qu'il y avait possibilité de faire une règle...

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

J'ai vu qu'il y avait possibilité de faire une règle...

Bonjour,
J'ai vu qu'il y avait possibilité de faire une règle de copie et de transformation de document dans un format spécifié.

Je me suis dit chouette, je vais pouvoir générer automatiquement des vignettes représentant la première page du contenu des documents.
Mais malheureusement, c'était trop beau pour être vrai, ma règle provoque une exception lors de l’ajout de nouveaux documents ("Transaction didn't commit: Transaction has been rolled back because it has been marked as rollback-only").
:/

Es-ce que quelqu'un a réussi à faire marcher une règle de transformation ?
Samuel
3 Replies
michaelh
Active Member

Re: J'ai vu qu'il y avait possibilité de faire une règle...

Bonjour,

Des règles de transformation qui fonctionnent c'est possible en effet.
Par contre trouver la cause d'une erreur en se basant sur "ce que ca devrait faire" c'est totalement impossible Smiley Happy

(cette erreur est un peu trop générique pour être une indication pertinente. Comme toujours, il faut aller lire les logs d'Alfresco, fournir un bout de code, des indices en gros !)
sam
Member II

Re: J'ai vu qu'il y avait possibilité de faire une règle...

Bonjour,
Merci pour votre réponse et désolé pour le manque d'info… En fait, je ne cherchais pas forcément à avoir une solution à cette erreur, car je pensais que cette fonctionnalité n'avait pas été implémenté.
Ca me parait en effet difficile de créer un service de transformation pour tous les types de documents gérés par Alfresco vers tous autres types.

En fait, après quelques tests, pas mal de transformations fonctionnent :
Il est possible de convertir tous les documents gérés par open office (.doc, .opt etc..) vers un autre type de document géré par open office, avec notamment le pdf. Ces transformations sont gérés je suppose par le service open office. Je trouve d’ailleurs cette fonctionnalité assez génial !
Il est également possible de faire des transformations de fichiers images. Ex : un jpeg transformé en gif. Pas mal, mais dommage que l’on ne puisse pas passer des paramètres sur cette transformation (genre changer la taille etc…)
Je pense que ces transformations sont gérées par ImageMagic.

Par contre, lorsque l'on fait une règle de type "Pour tous les documents entrant, les transformer en GIF", cela provoque des exceptions ou des blocages.
Voici la trace de l'exception :
10:29:33,182 ERROR [util.transaction.SpringAwareUserTransaction] Transaction didn't commit
org.springframework.transaction.UnexpectedRollbackException: Transaction has been rolled back because it has been marked as rollback-only
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:465)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java
:266)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
        at $Proxy18.executeAction(Unknown Source)
        at org.alfresco.repo.rule.RuleServiceImpl.executePendingRule(RuleServiceImpl.java:791)
        at org.alfresco.repo.rule.RuleServiceImpl.executePendingRulesImpl(RuleServiceImpl.java:750)
        at org.alfresco.repo.rule.RuleServiceImpl.executePendingRules(RuleServiceImpl.java:714)
        at org.alfresco.repo.rule.RuleTransactionListener.beforeCommit(RuleTransactionListener.java:61)

        at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java
:585)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.ja
va:657)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:482
)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:469)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.doCommitTransactionAfterReturning(TransactionAspectSupport.java
:266)
        at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:397)
        at org.alfresco.web.bean.dialog.BaseDialogBean.finish(BaseDialogBean.java:85)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129)
        at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
        at javax.faces.component.UICommand.broadcast(UICommand.java:106)
        at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
        at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:316)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:105)
        at org.alfresco.web.app.servlet.AlfrescoFacesServlet.service(AlfrescoFacesServlet.java:49)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:73)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
sam
Member II

Re: J'ai vu qu'il y avait possibilité de faire une règle...

Je dois peut-être soulever le problème dans le gestionnaire de bug JIRA d'Alfresco ?
Qu'en pensez-vous ?