You are not logged in.
Bonjour,
nous sommes en pleine migration V3 vers V4 à l'Université du Mans.
Au niveau de notre annuaire LDAP, nous utilisons des attributs multi-évalué comme telephoneNumber : lorsque les personnes ont 2 bureaux (donc 2 lignes fixes).
De même pour les affectations, par exemple pour un enseignant-chercheur : il est affecté à la composante où il enseigne et au laboratoire où il effectue ses recherches.
Dans la V3, via le service "Recherche dans l'annuaire", avec un override de /mypage/services/search/search_1.3.xsl nous arrivions à gérer les attributs multi-évalués.
Aujourd'hui le système de synchronisation des populations fonctionne très bien et le fait de ne pas sollicité LDAP tout le temps est vraiment le bienvenu, malheureusement je ne peux plus afficher les attributs multiples.
Il ne prend en compte que la première correspondance qu'il rencontre.
Pourriez-vous nous aider s'il vous plaît ?
Offline
Bonjour,
Le champs "telephoneNumber" et celui qui porte les affectations sont-ils bien multivalués (multiple="true") au niveau de la définition du type de contenu dans Ametys ?
Si oui, lors d'une synchro, les valeurs multiples sont normalement bien récupérées et stockées de manière multiple au niveau du contenu. Est-ce bien le cas ?
Si oui, le problème se situe uniquement au niveau de l'affichage, si non c'est un problème de synchro.
Laurence
Laurence Aumeunier
Ametys Expert
Offline
Bonjour, voici le contenu de synchronizable-collections.xml sur la partie utilisateurs de l'annuaire :
<collection id="utilisateurs-annuaire">
<label>Utilisateurs annuaire</label>
<contentType>org.ametys.plugin.agents.Content.uduser</contentType>
<contentPrefix>annuaire</contentPrefix>
<synchronizeExistingContentsOnly>false</synchronizeExistingContentsOnly>
<removalSync>true</removalSync>
<workflowName>user</workflowName>
<initialActionId>11</initialActionId>
<synchronizeActionId>800</synchronizeActionId>
<validateActionId>41</validateActionId>
<validateAfterImport>true</validateAfterImport>
<reportMails>xxxx@univ-lemans.fr</reportMails>
<contentOperator>org.ametys.plugins.userdirectory.synchronize.UDOrgUnitTypeOperator</contentOperator>
<languages>
<value>fr</value>
<value>en</value>
</languages>
<model id="org.ametys.plugins.userdirectory.synchronize.users.ldap">
<param name="datasourceId">LDAP-default-datasource</param>
<param name="peopleDN">ou=people</param>
<param name="baseFilter">(webAffiliation=PERS)</param>
<param name="scope">one</param>
<param name="populationId">utilisateurs</param>
<param name="login">uid</param>
<param name="mapping">[{"metadata-ref":"title","attribute":"cn","synchro":false},{"metadata-ref":"firstname","attribute":"givenName","synchro":false},{"metadata-ref":"lastname","attribute":"sn","synchro":false},{"metadata-ref":"service","attribute":"webAffectation","synchro":false},{"metadata-ref":"role","attribute":"umSpecialite","synchro":false},{"metadata-ref":"phone","attribute":"telephoneNumber","synchro":false},{"metadata-ref":"mail","attribute":"mail","synchro":false}]</param>
</model>
</collection>
Que faut il ajouter s'il vous plaît ? "multiple":"true" ? {"metadata-ref":"phone","attribute":"telephoneNumber","synchro":false,"multiple":"true"} ?
Offline
Bonjour,
Non c'est dans la définition du type de contenu "org.ametys.plugin.agents.Content.uduser" que la métadonnée "phone" doit être multiple.
Ensuite il faut vérifier si la synchro a bien stockée 2 valeurs et non une seule. Pour cela il faut ouvrir en édition une fiche agent qui devrait avoir 2 numéros de téléphone, et regarder si le champ "phone" porte bien ces 2 valeurs.
Si oui, le problème se situe au niveau de l'affichage. Si non, le problème se situe au niveau de la synchro.
Laurence Aumeunier
Ametys Expert
Offline
Bonjour,
Donc dans org.ametys.plugin.agents.Content.uduser.xml, j'ai donc :
<cms:metadata name="phone" type="string" multiple="true">
<label i18n="true">CONTENT_TYPES_UD_USER_PHONE</label>
<description i18n="true">CONTENT_TYPES_UD_USER_PHONE_DESC</description>
</cms:metadata>
Lorsque j'édite le contenu "personne", le champ téléphone m'indique bien "Téléphone (séparés par des virgules)", donc il a prit en compte le champ multiple.
Malheureusement il ne l'a pas peuplé avec les 2 numéros, il ne prend en compte que le premier rencontré.
Auriez-vous une autre piste s'il vous plaît ?
Axel
Offline
Bonjour,
Dans ce cas cela semble un bug dans la synchro. Quelle version d'Ametys et du plugin User Directory avez-vous ?
Laurence Aumeunier
Ametys Expert
Offline
Bonjour,
pour le plugin user-directory : ametys-plugin-user-directory-2.2.3.jar
et pour la version du cms : 4.2.9
Bonne journée
Axel
Offline
Bonjour,
Ce sont des versions récentes.
Vous pouvez ouvrir une issue sur notre JIRA , cela semble être un bug de synchronisation.
Laurence Aumeunier
Ametys Expert
Offline
Bonjour,
je viens de mettre le problème sur le JIRA :
Bonne journée
Axel
Offline