Aspect Multilingue

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

Aspect Multilingue

Bonjour,

j'aimerais créer une règle qui ajoute l'aspect Multilingue (avec une langue associée) à tout document entrant.
L'ajout de règle de contenu ne permet pas d'affecter cet aspect à un document, y'a t'il un moyen de l'activer ? (la seule possibilité offerte est de catégoriser le document comme Francais, Anglais, etc mais ceci n'active pas l'aspect multilingue du document)
Par le biais d'un script peut être ?

Merci
Olivier
3 Replies
rivarola
Active Member

Re: Aspect Multilingue

Bonjour,

S'il s'agit juste d'ajouter l'aspect cm:mlDocument on peut le faire par règle depuis l'interface graphique en ayant reconfiguré les aspects exposés dans le Wizard avec un bloc de config dans web-client-config-custom.xml :
   <config evaluator="string-compare" condition="Action Wizards">
      <aspects>
         <aspect name="cm:mlDocument" />
      </aspects>
   </config>

Mais je ne suis pas sûr que ça suffise pour pleinement considérer un document comme multilingue au sens Alfresco.
oliver68
Member II

Re: Aspect Multilingue

Très bien,

Lorsque je crée cette règle et que je l'applique a tout élément entrant, puis que j'importe ensuite un document je ne peux plus accéder à l'espace contenant mon document fraichement inséré j'obtiens les erreures suivantes :

javax.faces.FacesException: javax.faces.el.EvaluationException: Cannot get value for expression '#{r.lang != null}'
caused by:
org.apache.jasper.JasperException: javax.faces.el.EvaluationException: Cannot get value for expression '#{r.lang != null}'
caused by:
javax.faces.el.EvaluationException: Cannot get value for expression '#{r.lang != null}'
caused by:
javax.faces.el.EvaluationException: Exception getting value of property lang of base of type : org.alfresco.web.bean.repository.MapNode
caused by:
java.lang.NullPointerException

Avec les détails suivants :
javax.faces.FacesException: javax.faces.el.EvaluationException: Cannot get value for expression '#{r.lang != null}' 
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.JasperException: javax.faces.el.EvaluationException: Cannot get value for expression '#{r.lang != null}'
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
… 19 more
Caused by: javax.faces.el.EvaluationException: Cannot get value for expression '#{r.lang != null}'
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:405)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1078)
at org.alfresco.web.ui.common.Utils.encodeRecursive(Utils.java:153)
at org.alfresco.web.ui.common.Utils.encodeRecursive(Utils.java:168)
at org.alfresco.web.ui.common.renderer.data.RichListRenderer$IconViewRenderer.renderListRow(RichListRenderer.java:620)
at org.alfresco.web.ui.common.renderer.data.RichListRenderer.encodeChildren(RichListRenderer.java:118)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527)
at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:483)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:364)
at org.apache.jsp.jsp.browse.browse_jsp._jspx_meth_a_005frichList_005f1(browse_jsp.java:4664)
at org.apache.jsp.jsp.browse.browse_jsp._jspx_meth_a_005fpanel_005f7(browse_jsp.java:4552)
at org.apache.jsp.jsp.browse.browse_jsp._jspService(browse_jsp.java:883)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
… 29 more
Caused by: javax.faces.el.EvaluationException: Exception getting value of property lang of base of type : org.alfresco.web.bean.repository.MapNode
at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:99)
at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:535)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
at org.apache.commons.el.BinaryOperatorExpression.evaluate(BinaryOperatorExpression.java:154)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:386)
… 43 more
Caused by: java.lang.NullPointerException
at org.alfresco.web.bean.BrowseBean$18.get(BrowseBean.java:1442)
at org.alfresco.web.bean.repository.QNameNodeMap.get(QNameNodeMap.java:117)
at org.alfresco.web.bean.repository.MapNode.get(MapNode.java:157)
at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:81)
… 47 more

J'ai pensé que en fait on affecte l'aspect multilingue au document mais on ne lui attribue pas de langue d'où peut être le problème qui précède lorsque'il cherche à l'afficher…
rivarola
Active Member

Re: Aspect Multilingue

C'est bien ce que je craignais : cet aspect fait partie de la mécanique multilingue d'Alfresco mais n'est absolument pas auto-suffisant. Peut-être que l'ajouter par javascript en donnant une valeur à la propriété de langue résoudra le problème, mais peut-être aussi que ça plantera plus loin car Alfresco s'attendra à trouver un vrai document multilingue (dans un container multilingue, etc.) et que ce n'est absolument pas le cas.
Selon le besoin initial il sera peut-être plus simple de créer un aspect custom…