Affichage incorrect sur le Dashlet 'Membres du site'

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

Affichage incorrect sur le Dashlet 'Membres du site'

Bonjour,

Sur mes sites Share (Alfresco Community v4.0.0 - (4003) schema 5025), j'ai une erreur à l'affichage.

Le profil des lecteurs est (parfois) erroné.

En fait, chaque membre d'un site obtient son rôle au travers des groupes auxquels il appartient et qui sont invités sur le site.
Or, quand l'utilisateur appartient à plusieurs groupes ayant des droits différents, le système se mord les pieds.

J'ai parcouru un peu les différents fichiers, notamment :
…\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\dashlets\colleagues.get.js
…\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\repository\site\membership\memberships.get.js


et je me demande si l'erreur ne vient pas de
   var role = site.getMembersRole(userName);
dans
…\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\repository\site\membership\memberships.get.js


Comme j'avais déjà dû réécrire ces fichiers dans la version 3.4 (le dashlet ne reconnaissais carrément pas les membres issus d'un groupe), je finis par me lasser un peu …

Est-ce que par hasard quelqu'un aurait la solution ?
1 Reply
roxy
Member II

Re: Affichage incorrect sur le Dashlet 'Membres du site'

J'avoue que je suis très surpris que personne n'ait détecté ce problème.
Peut-être suis-je le seul à utiliser les groupes (coté Alfresco) pour les invitations sous Share …

Toujours est-il que :
La correction ne peut se faire sur
…\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\repository\site\membership\memberships.get.js
Qui en fait n'existe pas !!!
J'ai confondu avec
…\webapps\alfresco\WEB-INF\classes\alfresco\templates\webscripts\org\alfresco\repository\site\membership\membership.get.js
:-(

Mais coté "Share"dans
…\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\dashlets\colleagues.get.js
où un l'appel suivant est fait
remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships?size=" + size  + "&authorityType=USER");
et marche mal car il ne retourne pas forcément le bon "rôle" pour chaque utilisateur.
Il faut donc lancer l'appel, rôle par rôle, par exemple comme ceci
var json1 = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships?size=" + size + "&rf=SiteManager" + "&authorityType=USER");
var json2 = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships?size=" + size + "&rf=SiteCollaborator" + "&authorityType=USER");
var json3 = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships?size=" + size + "&rf=SiteContributor" + "&authorityType=USER");
var json4 = remote.call("/api/sites/" + page.url.templateArgs.site + "/memberships?size=" + size + "&rf=SiteConsumer" + "&authorityType=USER");
puis travailler sur les listes pour supprimer les doublons, en prenant garde de bien conserver le rôle réel (ie : le plus "élevé")

Voilou - j'espère être utile, mais j'aimerai bien un retour sur ce problème