Bonjour à tous! :DJe crois que tout est dans le...

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

Re: Bonjour à tous! :DJe crois que tout est dans le...

ça marche c'est trop fort!
huberd
Member II

Re: Bonjour à tous! :DJe crois que tout est dans le...

Bonjour,

Je viens de réaliser mon premier évaluateur avec succès  Smiley Very Happy, par contre je cherche à créer une action qui doit executer une classe. Comment dois-je proceder ?

         <action id="check_out_document">
            <evaluator>
               org.alfresco.community.delegation.evaluator.DirAccessEvaluator
            </evaluator>
            <label-id>access_dir</label-id>
            <image>/images/extension/icons/create_user.gif</image>
            <!–action>dialog:manageDelegInvitedUsers</action>
            <action-listener>#{BrowseBean.setupSpaceAction}</action-listener–>
            <action>…</action>
            <action-listener>…</action-listener>
            <params>
               <param name="id">#{actionContext.id}</param>
            </params>
         </action>

         <!– Actions Menu for a document in the Browse screen –>
         <action-group id="document_browse_menu">
            <action idref="check_out_document" />
         </action-group>
      </actions>
   </config>

Que dois-je mettre dans la portion de code suivant si ma classe s'appelle org.alfresco.repo.checkout

<action>…</action>
<action-listener>…</action-listener>

Qu'est ce que le tag action et action-listener. A quoi servent-il exactement ? Leur différence ?

Merci pour votre aide.
milona
Member II

Re: Bonjour à tous! :DJe crois que tout est dans le...

Je ne sais pas exactement sur quels critères tu veux brider cette action mais tu peux changer dans browse.jsp le paramétrage du <rSmiley TongueermissionEvaluator> ou alors mettre autour un tag <r:actionInstanceEvaluator> qui pourra afficher/masquer l'entrée de menu selon des critères custom. Il suffit alors de définir une classe implémentant l'interface ActionEvaluator dont tu spécifie le nom (paquetage inclus) dans le tag <r:actionInstanceEvaluator>.
Attention, bien penser à ajouter la classe custom d'evaluator dans le classpath Alfresco (JAR dans WEB-INF/lib par exemple).

Bonjour,

Voici le code :
<r:permissionEvaluator value="#{NavigationBean.currentNode}" allow="CreateChildren" id="eval2">
<r:actionInstanceEvaluator evaluatorClassName="org.alfresco.web.config.MonNodeTypeActionEvaluator" value="#{NavigationBean.currentNode}">
<a:actionLink value="#{msg.add_content}" image="/images/icons/add.gif" padding="2" action="addContent" actionListener="#{AddContentDialog.start}" style="white-space:nowrap" id="link3" />
</r:actionInstanceEvaluator>
</r:permissionEvaluator>

Aurais-je fais une erreur dans l'ordre d'appel des balises ? Car quand je fais F5 j'ai souvent une exception :
 javax.faces.FacesException: Client-id : _idJsp16 is duplicated in the faces tree. Component : browse:_idJsp16, path: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /jsp/browse/browse.jsp][Class: javax.faces.component.html.HtmlForm,Id: browse][Class: org.alfresco.web.ui.common.component.UIPanel,Id: spaces-panel][Class: org.alfresco.web.ui.common.component.data.UIRichList,Id: spacesList][Class: org.alfresco.web.ui.common.component.data.UIColumn,Id: col1][Class: org.alfresco.web.ui.common.component.UIActionLink,Id: col1-act1][Class: javax.faces.component.UIParameter,Id: _idJsp16]}
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:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.JasperException: Client-id : _idJsp16 is duplicated in the faces tree. Component : browse:_idJsp16, path: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /jsp/browse/browse.jsp][Class: javax.faces.component.html.HtmlForm,Id: browse][Class: org.alfresco.web.ui.common.component.UIPanel,Id: spaces-panel][Class: org.alfresco.web.ui.common.component.data.UIRichList,Id: spacesList][Class: org.alfresco.web.ui.common.component.data.UIColumn,Id: col1][Class: org.alfresco.web.ui.common.component.UIActionLink,Id: col1-act1][Class: javax.faces.component.UIParameter,Id: _idJsp16]}
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:383)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
etc.

Je vous remercie de votre réponse

bien cordialement
rivarola
Active Member

Re: Bonjour à tous! :DJe crois que tout est dans le...

D'une manière générale JSF n'est pas très copain avec les refresh mais je pense que dans ton cas il manque juste l'id de ton tag. Tout tag JSF doit spécifier une valeur pour l'attribut id si on veut éviter les doublons avec les id générés automatiquement.
milona
Member II

Re: Bonjour à tous! :DJe crois que tout est dans le...

Merci beaucoup du renseignement !
Je change ça de suite. Smiley Very Happy
milona
Member II

Re: Bonjour à tous! :DJe crois que tout est dans le...

<r:permissionEvaluator value="#{NavigationBean.currentNode}" allow="CreateChildren" id="eval2">
<r:actionInstanceEvaluator id="monid1" evaluatorClassName="org.atosorigin.web.config.CanCreateContentActionEvaluator" value="#{NavigationBean.currentNode}">
<a:actionLink value="#{msg.add_content}" image="/images/icons/add.gif" padding="2" action="addContent" actionListener="#{AddContentDialog.start}" style="white-space:nowrap" id="link3" />
</r:actionInstanceEvaluator>
</r:permissionEvaluator>

Bonjour,

J'ai ajouté le id du actionInstanceEvaluator mais j'ai toujours un soucis.

Quand je fais F5 il n'y a plus l'exception précédente, mais par contre toutes les actions (copier, coller, etc.) relatives aux documents et dossiers affichés en dessous disparaissent.
Je ne comprends pas pourquoi.

Avez vous une idée ? Est-ce que les deux balises actionInstanceEvaluator et permissionEvaluator peuvent bien s'imbriquer ?

Je vous remercie de votre réponse.

Bien cordialement
zomurn
Member II

Re: Bonjour à tous! :DJe crois que tout est dans le...

Bonjour,

J'ai un souci avec les nouvelles actions perso. Elle ne s'affiche pas dans le menu deroulant, pourquoi ? (ex. avec "deverouiller_tout_action_id")

<config>
      <actions>
         <!– Manage Space Rules –>
         <action id="manage_space_rules">
            <permissions>
               <permission allow="true">ChangePermissions
               </permission>
            </permissions>
            <evaluator>
               org.alfresco.module.msc.action.evaluator.MscAdminEvaluator
            </evaluator>
            <label-id>manage_rules</label-id>
            <image>/images/icons/rule.gif</image>
            <action>dialog:manageRules</action>
            <action-listener>#{BrowseBean.setupSpaceAction}
            </action-listener>
            <params>
               <param name="id">#{actionContext.id}</param>
            </params>
         </action>
         <!– Forcer le deverouillage de tous les documents –>
         <action id="deverouiller_tout_action_id">
            <permissions>
               <permission allow="true">Write</permission>
            </permissions>
            <evaluator>
               org.alfresco.module.msc.action.evaluator.MscAdminEvaluator
            </evaluator>
            <label-id>deverouiller_tout_action_label_id
            </label-id>
            <image>/images/icons/unlock.gif
            </image>
            <action>browse</action>
            <action-listener>#{MscAction.forceUnlockAll}
            </action-listener>
         </action>
         <!– Actions Menu for More Actions in Browse screen –>
         <action-group id="browse_actions_menu">
            <!– Disponible –>
            <action idref="add_adm_content" />
            <action idref="run_action" />
            <action idref="manage_space_rules" />
            <action idref="delete_space" />
            <action idref="deverouiller_tout_action_id" />
            <!– Masquer –>
            <action idref="details_space" hide="true" />
            <action idref="cut_node" hide="true" />
            <action idref="copy_node" hide="true" />
            <action idref="paste_all" hide="true" />
            <action idref="import_space" hide="true" />
            <action idref="manage_space_users" hide="true" />
            <action idref="regenerate_renditions" hide="true" />
         </action-group>


      </actions>
   </config>
cleseach
Active Member II

Re: Bonjour à tous! :DJe crois que tout est dans le...

Bonjour,

C'est beau, une discussion qui reprend vie 1 an après !!
Pour obtenir des réponses à vos questions, le mieux est de commencer par lire ceci : http://forums.alfresco.com/fr/viewtopic.php?f=11&t=86 et d'appliquer les bonnes pratiques qui y sont répertoriées.

Cordialement,
Charles Le Seac'h