<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Workflow Assigne Search in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202523#M155653</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Bonjour,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;La discussion sur Stackoverflow porte sur la sélection dans un groupe particulier. Et la modification du people picker est une bonne solution dans ce cas.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ton besoin est de pouvoir disposer des &lt;/SPAN&gt;&lt;STRONG&gt;membres du site&lt;/STRONG&gt;&lt;SPAN&gt;, ce qui complique beaucoup les choses.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;En effet, il est possible de démarrer un workflow dans le contexte d'un site, aussi bien que dans le contexte "global" de l'application (entrepôt ou liste des tâches). Et dans cette seconde situation, il n'est plus question de site.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Il va donc falloir que tu ajustes transmette une information supplémentaire au people picker pour indiquer dans quel contexte tu te situes (site / pas site) et faire la recherche sur les personnes en fonction de cette information.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Un peu de travail en prévision !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cordialement,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Charles Le Seac'h&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jun 2012 08:18:39 GMT</pubDate>
    <dc:creator>cleseach</dc:creator>
    <dc:date>2012-06-26T08:18:39Z</dc:date>
    <item>
      <title>Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202522#M155652</link>
      <description>Bonjour, Lors de l'assignation d'un workflow à un ou des utilisateurs, je voudrais que seul les membres du site soit renvoyés quand on utilise le terme "*". J'ai trouvé cette explication de Jeff Potts http://stackoverflow.com/questions/9413881/filter-user-in-select-bpmassignee-control-alfrescoJe cro</description>
      <pubDate>Tue, 26 Jun 2012 08:02:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202522#M155652</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-06-26T08:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202523#M155653</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Bonjour,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;La discussion sur Stackoverflow porte sur la sélection dans un groupe particulier. Et la modification du people picker est une bonne solution dans ce cas.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ton besoin est de pouvoir disposer des &lt;/SPAN&gt;&lt;STRONG&gt;membres du site&lt;/STRONG&gt;&lt;SPAN&gt;, ce qui complique beaucoup les choses.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;En effet, il est possible de démarrer un workflow dans le contexte d'un site, aussi bien que dans le contexte "global" de l'application (entrepôt ou liste des tâches). Et dans cette seconde situation, il n'est plus question de site.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Il va donc falloir que tu ajustes transmette une information supplémentaire au people picker pour indiquer dans quel contexte tu te situes (site / pas site) et faire la recherche sur les personnes en fonction de cette information.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Un peu de travail en prévision !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cordialement,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Charles Le Seac'h&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2012 08:18:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202523#M155653</guid>
      <dc:creator>cleseach</dc:creator>
      <dc:date>2012-06-26T08:18:39Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202524#M155654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello Charles, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Merci pour ta réponse je vais voir alors comme prévu le script people picker. Exactement il y'a les 2 cas de figures d'une part le contexte site et d'autre part le contexte pas site ==&amp;gt; Concernant ce dernier cas de figure j’essaierai juste de récupérer la liste des utilisateurs qui sont membres du ou des sites dont l'utilisateur courant (l'initiateur du workflow) est aussi membre. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ça ne va pas être facile mais je vais essayer ka même. Je te tiens au courant n'hésite pas si tu as des idées supplémentaires. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Merci&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2012 08:42:03 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202524#M155654</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-06-26T08:42:03Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202525#M155655</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Finalement comme prévu j'ai modifié le script people picker en utilisant le service siteService, ça ressemble à peut près aux lignes ci dessous&amp;nbsp; : &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt; var sites = siteService.listUserSites(authorityName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each(var site in sites)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(site.shortName != null || authorityName != null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(site.isMember(authorityName))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.log("nodeUser ==&amp;gt; " + user.person.properties.userName);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// add to results&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;results.push(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;item: createPersonResult(user.person),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selectable: true &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Déjà avec ça j'arrive à récupérer que les users qui sont membre d'au moins un site. J'ai juste pour l'instant un problème de doublons dans certains cas le script me retourne le même plus d'une fois (car l'user concerné est membre d'au moins un site). Exemple si l'utilisateur est membre de 2 sites le script retourne 2 fois le&amp;nbsp; même utilisateur. Je vais essayé de supprimer ces doublons.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Jun 2012 07:41:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202525#M155655</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-06-27T07:41:00Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202526#M155656</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Re bonjour, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Merci Charles pour le topo, par contre comment je peux faire pour retourner un utilisateur une seule fois(éviter de retourner le même noderef plusieurs fois) : Je ne sais pas comment faire dans la boucle de mon script suivant :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;if(site.isMember(authorityName))&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;logger.log("nodeUser ==&amp;gt; " + user.person.properties.userName);&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;La variable user.person.properties.userName retourne dès fois des utilisateurs identiques si ces derniers sont membres de plusieurs sites l'déal serait de retourner un utilisateur une seule fois pas plus. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Merci&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2012 07:36:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202526#M155656</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-04T07:36:28Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202527#M155657</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Je viens de prendre connaissance de tes derniers messages.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;La voie que tu explore me parait un peu compliquée, mais peut-être ai-je mal compris ton besoin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ma compréhension : lorsque tu démarres un workflow depuis un site, tu veux que le choix des acteurs de ce workflow ne puisse se faire que parmi les membres du site.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Si je suis dans le vrai, je travaillerais plutôt à partir de l'information sur le site : si je dispose du nom du site je peux faire un &amp;lt;site&amp;gt;.listMembers(…) pour récupérer la liste des membres, pas besoin de boucle compliquée.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Tout l'enjeu est donc de véhiculer le nom du site jusqu'au composant effectuant la recherche puis de le modifier pour réaliser l'appel ci-dessus à bon escient (ne pas oublier le cas où nous ne sommes pas dans le contexte d'un site).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cordialement,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Charles&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2012 08:26:43 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202527#M155657</guid>
      <dc:creator>cleseach</dc:creator>
      <dc:date>2012-07-04T08:26:43Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202528#M155658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Merci Charles pour ta réponse, si j'utilise la méthode listMembers comme décrit sur mon code ci dessous : &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var memberships = site.listMembers("", "", 0, false);&lt;BR /&gt;for (userName in memberships)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (userName.match("^GROUP_")) &lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; logger.log("Member is Group Type");&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt; else&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; authorities['_' + userName] = people.getPerson(userName);&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Donc la variable authorities['_' + userName].properties.userName retourne l'ensemble des utilisateurs membre de site. Mais il y'a forcément de doublons si un utilisateur est membre sur plusieurs sites ==&amp;gt; c'est à dire si l'utilisateur X est par exemple membre sur 3 sites il sera affiché 3 fois.ça me retourne au problème précédent.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2012 16:02:58 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202528#M155658</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-04T16:02:58Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202529#M155659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dans ton cas, il me semble préférable de positionner à &lt;/SPAN&gt;&lt;EM&gt;true&lt;/EM&gt;&lt;SPAN&gt; le dernier argument de &lt;/SPAN&gt;&lt;EM&gt;listMembers&lt;/EM&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;var memberships = site.listMembers("", "", 0, true);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Ceci te permettra de récupérer tous les utilisateurs membres du site, y compris ceux dans des groupes.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;La syntaxe &lt;/SPAN&gt;&lt;EM&gt;authorities['_' + userName]&lt;/EM&gt;&lt;SPAN&gt; est un peu curieuse. L'objectif est-il de disposer d'une hashmap dont la clé serait le userName ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Quoiqu'il en soit, la liste retournée par &lt;/SPAN&gt;&lt;EM&gt;site.listMembers&lt;/EM&gt;&lt;SPAN&gt; ne contient pas de doublons, tu ne devrais donc pas en avoir a l'issue de ta boucle for. Pas de problème dans le cas où l'utilisateur est membre de plusieurs sites, puisque seules les membres d'un site sont listés.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cordialement,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Charles&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jul 2012 16:17:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202529#M155659</guid>
      <dc:creator>cleseach</dc:creator>
      <dc:date>2012-07-04T16:17:42Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202530#M155660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Je suis d'accord avec toi Charles sur l'utilisation de listMembers qui retourne les membres d'un site, je pense que je me suis mal exprimé en fait au départ je récupère la liste des users via le service groups.searchUsers, ensuite j'utilise siteService pour récupérer d'abord les sites associés aux utilisateurs précédement identifiés via siteService.listUserSites(userName):&amp;nbsp; une fois que je récupére la liste des sites je parcours les membres de chaque site )==&amp;gt; donc forcément je récupère les users par site. voir le code dessous :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;//Liste des users enregistres dans le repository&lt;BR /&gt;var searchResults = groups.searchUsers(searchTerm, paging, "lastName");&lt;BR /&gt; for each(var user in searchResults)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; //userName&lt;BR /&gt;&amp;nbsp; var authorityName = user.userName;&lt;BR /&gt;//liste des sites associés aux users&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var sites = siteService.listUserSites(authorityName); &lt;BR /&gt;for each(var site in sites)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt; if(site.shortName != null || authorityName != null)&lt;BR /&gt; {&lt;BR /&gt;//recupere la liste des membres par site&lt;BR /&gt;var memberships = site.listMembers("", "", 0, true);&lt;BR /&gt;for (userName in memberships)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR /&gt;var memberName = people.getPerson(userName).properties.userName;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Bon je vais voir si je peux supprimer quelques boucles. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2012 10:03:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202530#M155660</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-05T10:03:54Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202531#M155661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Bonjour,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Il me semble que le plus simple est de disposer en entrée de ton script le nom du site que tu considères.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ainsi, plus de problèmes de doublons et plus d'efficacité !&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cordialement,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Charles&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2012 08:08:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202531#M155661</guid>
      <dc:creator>cleseach</dc:creator>
      <dc:date>2012-07-06T08:08:33Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202532#M155662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Exactement c'est ce que j'ai constaté aussi,&amp;nbsp; mais là en entrée je n'ai que des utilisateurs à ma portée, donc finalement je recupère pas un site mais un tableau de site via &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt; var sites = siteService.listUserSites(authorityName);&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Ce que je pensais faire aussi, c'est d'ajouter la liste des membres de sites récupérés dans un objet de type Tableau, mais as tu une idée plus light. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Merci&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2012 09:45:44 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202532#M155662</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-06T09:45:44Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202533#M155663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tout le but du jeu est de passer l'identifiant du site comme paramètre à ton webscript &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ca demande quelques ajustements, bien entendu !&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2012 10:56:23 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202533#M155663</guid>
      <dc:creator>cleseach</dc:creator>
      <dc:date>2012-07-06T10:56:23Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202534#M155664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Une bonne idée mais ça ne règle pas le problème car en ajoutant l'identitiant du site dans l'url on récupère aussi bien les membres associés mais au final on se retrouve dans le même cas de figure pour les utilsateurs présents dans beacoup de sites. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tu ne crois pas que l'on peut retravailler sur le résultat obtenu c'est à dire la variable userResults afin d'utiliser des tableaux ? &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;var sites = siteService.listUserSites(authorityName); &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for each(var site in sites)&lt;BR /&gt;{&lt;BR /&gt; var userResults =&amp;nbsp; user.person.properties.userName);&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2012 14:51:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202534#M155664</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-06T14:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202535#M155665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Aller hop, c'est la fin de semaine, je vais illustrer mon propos d'un petit exemple.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Lorsque tu fais une recherche pour choisir un acteur du workflow, l'url suivante est appelé : &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;A href="http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000&lt;/A&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Comme tu pourras le voir, j'ai joué une requête très egocentrique &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cette url va faire appel au webscript Alfresco &lt;/SPAN&gt;&lt;EM&gt;pickerchildren.get&lt;/EM&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ce webscript va traiter différents cas de recherche en fonction des paramètres de l'url. Ici, on recherche un utilisateur (cf. &lt;/SPAN&gt;&lt;EM&gt;authority&lt;/EM&gt;&lt;SPAN&gt; + &lt;/SPAN&gt;&lt;EM&gt;selectableType=cm&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;erson&lt;/EM&gt;&lt;SPAN&gt;) dont le nom contient "charles".&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;La recherche a proprement parlé est réalisée par la méthode &lt;/SPAN&gt;&lt;EM&gt;findUsers(searchTerm, maxResults, results)&lt;/EM&gt;&lt;SPAN&gt; :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function findUsers(searchTerm, maxResults, results)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var paging = utils.createPaging(maxResults, -1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var searchResults = groups.searchUsers(searchTerm, paging, "lastName");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; // create person object for each result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for each(var user in searchResults)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (logger.isLoggingEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.log("found user = " + user.userName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add to results&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item: createPersonResult(user.person),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectable: true &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Voila pour la situation de départ.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pour ton besoin, il faut passer une information sur le site. L'URL peut donc devenir quelque chose du genre :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;A href="http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000&amp;amp;site=monsite" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000&amp;amp;site=monsite&lt;/A&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Le webscript devra ensuite passer l'information sur le site à la fonction &lt;/SPAN&gt;&lt;EM&gt;findUsers&lt;/EM&gt;&lt;SPAN&gt; :&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function findUsers(searchTerm, maxResults, results, siteName)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; var searchResults = Array();&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; if (site == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pas dans un site, recherche complète&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var paging = utils.createPaging(maxResults, -1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchResults = groups.searchUsers(searchTerm, paging, "lastName");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var site = siteService.getSite(siteName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var members = site.listMembers(searchTerm, "", maxResults, true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0; i&amp;lt;members.size(); i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchResults[i] = groups.getUser(userName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // create person object for each result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for each(var user in searchResults)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (logger.isLoggingEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.log("found user = " + user.userName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add to results&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item: createPersonResult(user.person),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectable: true &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Bien entendu, il reste plein de choses à faire :&lt;/SPAN&gt;&lt;BR /&gt;&lt;UL&gt;&lt;LI&gt;Tester que ça fonctionne (!)&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Faire la modification dans Share pour passer le site en paramètre&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Vérifier que l'absence de paging n'est pas un frein trop gros&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Mettre en place le tri des résultats si on le souhaite&lt;/LI&gt;&lt;/UL&gt;&lt;SPAN&gt;Voila donc tout ce que je peux avoir en tête pour couvrir ton besoin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cordialement,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Charles&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2012 15:39:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202535#M155665</guid>
      <dc:creator>cleseach</dc:creator>
      <dc:date>2012-07-06T15:39:35Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202536#M155666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Merci Charles pour cette belle description, je vais essayer de l'exécuter pour voir si ça change quelques choses.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank je te tiens au courant.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 07 Jul 2012 12:57:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202536#M155666</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-07T12:57:31Z</dc:date>
    </item>
    <item>
      <title>Re: Workflow Assigne Search</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202537#M155667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Aller hop, c'est la fin de semaine, je vais illustrer mon propos d'un petit exemple.&lt;BR /&gt;&lt;BR /&gt;Lorsque tu fais une recherche pour choisir un acteur du workflow, l'url suivante est appelé : &lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;A href="http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000&lt;/A&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;Comme tu pourras le voir, j'ai joué une requête très egocentrique &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Cette url va faire appel au webscript Alfresco &lt;EM&gt;pickerchildren.get&lt;/EM&gt;.&lt;BR /&gt;Ce webscript va traiter différents cas de recherche en fonction des paramètres de l'url. Ici, on recherche un utilisateur (cf. &lt;EM&gt;authority&lt;/EM&gt; + &lt;EM&gt;selectableType=cm&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;erson&lt;/EM&gt;) dont le nom contient "charles".&lt;BR /&gt;&lt;BR /&gt;La recherche a proprement parlé est réalisée par la méthode &lt;EM&gt;findUsers(searchTerm, maxResults, results)&lt;/EM&gt; :&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function findUsers(searchTerm, maxResults, results)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var paging = utils.createPaging(maxResults, -1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; var searchResults = groups.searchUsers(searchTerm, paging, "lastName");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; // create person object for each result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for each(var user in searchResults)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (logger.isLoggingEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.log("found user = " + user.userName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add to results&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item: createPersonResult(user.person),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectable: true &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;Voila pour la situation de départ. &lt;BR /&gt;&lt;BR /&gt;jusque là çava. &lt;BR /&gt;Pour ton besoin, il faut passer une information sur le site. L'URL peut donc devenir quelque chose du genre :&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;A href="http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000&amp;amp;site=monsite" rel="nofollow noopener noreferrer"&gt;http://localhost:8080/share/proxy/alfresco/api/forms/picker/authority/children?selectableType=cm:person&amp;amp;searchTerm=charles&amp;amp;size=1000&amp;amp;site=monsite&lt;/A&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;Salut Charles,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Le webscript devra ensuite passer l'information sur le site à la fonction &lt;EM&gt;findUsers&lt;/EM&gt; :&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function findUsers(searchTerm, maxResults, results, siteName)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; var searchResults = Array();&lt;BR /&gt;&amp;nbsp; &lt;BR /&gt;La variable site est-elle celle passée via l'url du webscript si oui j'ai bien ajouté la ligne suivante pour la déclaration de site&lt;BR /&gt;[code]&lt;BR /&gt;var argsSiteName = args['site'];&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&amp;nbsp;&amp;nbsp; if (site == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pas dans un site, recherche complète&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var paging = utils.createPaging(maxResults, -1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchResults = groups.searchUsers(searchTerm, paging, "lastName");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&lt;BR /&gt;Cette deuxième partie est la plus importante. &lt;BR /&gt;1er question : La variable userName vient d'où ? &lt;BR /&gt;2ème question le pagging est aparemment obligatoire dans les 2 cas de figure ?&lt;BR /&gt;&lt;BR /&gt;Je ne rentre jamais dans ce boucle même en spécifiant un site.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var site = siteService.getSite(siteName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var members = site.listMembers(searchTerm, "", maxResults, true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var i=0; i&amp;lt;members.size(); i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; searchResults&lt;EM&gt; = groups.getUser(userName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // create person object for each result&lt;BR /&gt;&amp;nbsp;&amp;nbsp; for each(var user in searchResults)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (logger.isLoggingEnabled())&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.log("found user = " + user.userName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // add to results&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.push(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item: createPersonResult(user.person),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; selectable: true &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Bien entendu, il reste plein de choses à faire :&lt;BR /&gt;&lt;/EM&gt;&lt;UL&gt;&lt;LI&gt;&lt;EM&gt;Tester que ça fonctionne (!)&lt;/EM&gt;&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Faire la modification dans Share pour passer le site en paramètre ==&amp;gt; OKI&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Vérifier que l'absence de paging n'est pas un frein trop gros ==&amp;gt;un peu&lt;/LI&gt;&lt;BR /&gt;&lt;LI&gt;Mettre en place le tri des résultats si on le souhaite&lt;/LI&gt;&lt;/UL&gt; ==&amp;gt; OKI&lt;BR /&gt;&lt;BR /&gt;Voila donc tout ce que je peux avoir en tête pour couvrir ton besoin. &lt;BR /&gt;===&amp;gt;Thank en tout cas pour ta disponibilité&lt;BR /&gt;&lt;BR /&gt;Cordialement,&lt;BR /&gt;Charles&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Jul 2012 20:44:26 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/workflow-assigne-search/m-p/202537#M155667</guid>
      <dc:creator>sibe</dc:creator>
      <dc:date>2012-07-09T20:44:26Z</dc:date>
    </item>
  </channel>
</rss>

