Ajouter des rôles dans l'interface

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

Ajouter des rôles dans l'interface

Bonjour à tous,

En fait j'aimerais savoir le moyen de pouvoir rajouter à l'affichage un ou plusieurs rôle dans l'interface.
J'ai fouillé sur le forum et je ne parviens pas à trouver le moyen …

Donc le but est de voir affiché dans la fenêtre de modification des rôles une nouvelle permission (ou rôle) que j'ai créé dans le fichier pemission.xml. En effet, je sais bien qu'il y a moyen de l'utiliser dans un script (et en effet ca marche). Mais j'aimerais pouvoir utiliser cette permission dans l'interface directement, sans devoir utiliser un script pour donner un rôle à un utilisateur sur un espace.

En fouinant un peu dans l'arborescence des jsp, j'ai constaté que c'était la jsp "edit-user-roles.jsp" qui était concernée … et qu'apparemment ct l'objet "InviteSpaceUsersWizard.roles" qui affichais ce qu'il fallait … mais comment ajouter un nouveau rôle dans la liste?

Merci d'avance et si vous avez des questions n'hésitez pas à me les poser ;-)

Michaël
6 Replies
rivarola
Active Member

Re: Ajouter des rôles dans l'interface

Bonjour,

A priori l'attribut "expose=true" présent sur les éléments PermissionGroup dans le fichier permissionDefinitions.xml a un impact sur l'affichage des rôles dans l'interface graphique mais il faut aussi définir le label internationalisé associé dans un fichier webclient.properties sous alfresco/extension, avec une clé exactement égale au nom du PermissionGroup. Mais comme je n'ai jamais testé ce mécanisme, je ne garantis rien…
flash31186_8291
Member II

Re: Ajouter des rôles dans l'interface

Bonjour et merci pour la réponse,

Cependant, le fait d'avoir setter les paramètres de la manière dont vous avez spécifié ne change rien.
Mais j'avais déjà effectué cette petite manipulation et effectivement, en ayant initialisé les rôles sur un espace par un script, j'obtenais bien ma nouvelle permission dans les rôles sélectionnés.
Mais j'aimerais l'obtenir dans la liste du dessus comme les rôles de bases en fait … à tout hasard, j'ai même augmenté le taille de la list, mais ca n'affiche pas plus les autres permission …

Si vous avez d'autres idée, je suis preneur ;-)
rivarola
Active Member

Re: Ajouter des rôles dans l'interface

Bonjour,

Peux-tu poster ton fichier pemissionDefinitions.xml pour être sûr que tu as bien déclaré tes permissions au bon endroit (en particulier elles doivent être listées dans le <permissionSet type="cm:folder" ou le <permissionSet type="cm:content" pour être visibles) ?
flash31186_8291
Member II

Re: Ajouter des rôles dans l'interface

Ah effectivement je n'avais pas fait attention à cette section … Nickel ca fonctionne maintenant Smiley Very Happy

Donc après avoir créé son propre rôle, il ne faut pas oublier de l'intégrer dans le <permissionSet type="cm:content"> et/ou <permissionSet type="cm:folder"> pour qu'il s'affiche dans l'interface d'alfresco…

Encore merci de votre aide ;-)

Michaël
flash31186_8291
Member II

Re: Ajouter des rôles dans l'interface

J'ai relancer ce topic, parce que j'estime que ma question suivante pourra être utile suite à la première question ;-)

Voilà, en fait, étant en train de déployer mon application en tant qu'amp, j'ai naturellement intégré la nouvelle permission que j'avais défini dans un fichier (permissionDefinitionsGest.xml) contenant :

<?xml version='1.0' encoding='UTF-8'?>
<permissions>
  
   <namespaces>
      <namespace uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
      <namespace uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
      <namespace uri="http://www.alfresco.org/model/wcmmodel/1.0" prefix="wcm"/>
      <namespace uri="http://www.alfresco.org/model/wcmappmodel/1.0" prefix="wca"/>
   </namespaces>

   <permissionSet type="cm:cmobject" expose="selected">
          <permissionGroup name="EditFormer"  type="cm:object" expose="true" allowFullControl="false" >
          <includePermissionGroup type="cm:cmobject" permissionGroup="Consumer"/>
          <includePermissionGroup type="sys:base" permissionGroup="Write"/>
          <includePermissionGroup type="sys:base" permissionGroup="ReadPermissions"/>
          <includePermissionGroup type="sys:base" permissionGroup="ChangePermissions"/>
      </permissionGroup>
   </permissionSet>

   <permissionSet type="cm:content" expose="selected">
      <permissionGroup name="EditFormer" extends="true" expose="true"/>
   </permissionSet>

   <permissionSet type="cm:folder" expose="selected">
      <permissionGroup name="EditFormer" extends="true" expose="true"/>
   </permissionSet>

</permissions>
alors j'ai fouillé dans le wiki et j'ai vu qu'on pouvait intégrer une nouvelle permission en déclarant ce tag dans le fichier module-context.xml :
     <!– Importation des nouvelles permissions –>
     <bean id="moduleGest_permissionBootstrap" parent="permissionModelBootstrap">
          <property name="model" value="alfresco/module/moduleGest/permissionDefinitionsGest.xml"/>
     </bean>
L'intégration dans le war se fait sans problème, mais quand je lance alfresco, il m'affiche cette erreur :

on is org.alfresco.repo.security.permissions.impl.model.PermissionModelException: There is no parent for permission group :{http://www.alfresco.org/model/content/1.0}content EditFormer
Caused by: org.alfresco.repo.security.permissions.impl.model.PermissionModelException: There is no parent for permission group :{http://www.alfresco.org/model/content/1.0}content EditFormer
        at org.alfresco.repo.security.permissions.impl.model.PermissionModel.getBasePermissionGroup(PermissionModel.java:787)
        at org.alfresco.repo.security.permissions.impl.model.PermissionModel.buildUniquePermissionMap(PermissionModel.java:1201)
        at org.alfresco.repo.security.permissions.impl.model.PermissionModel.addPermissionModel(PermissionModel.java:239)
        at org.alfresco.repo.security.permissions.impl.model.PermissionModelBootstrap.init(PermissionModelBootstrap.java:66)
        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.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1240)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1205)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        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.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

Aurais-je oublié de déclarer qqchose ?

Toutes les réponses que vous pourriez m'apporter me seraient utile …

Michaël
flash31186_8291
Member II

Re: Ajouter des rôles dans l'interface

Personne n'aurait déjà eu ce genre d'erreur lors du déploiement d'une application ?  :shock: