Je n’ai pas ce champ, probablement parceque je suis sur une vieille version (3.0.14)
Une idée de comment je peut faire sur cette version si c’est possible ?
C’est une très vieille version, nous vous conseillons vivement de mettre à jour.
En 3.0, il n’y a pas d’autres solutions que de faire la mise à jour directement dans la base de données.
Réalisez une sauvegarde de la base avant de réaliser ces opération. Un export SQL de la base de données à minima.
La commande suivante permet de mettre à jour l’external ID - dans cette version de BlueMind, la valeur en base n’est pas préfixée par ldap:// ou ad://:
PGPASSWORD=bj psql -U bj -h localhost bj <<EOF
update userbm set ext_id =null where login='<userlogin>' and domain_id=(select domain_id from domain where domain_name='<domainname>');
EOF
Pour le cas de l’utilisateur test@domain.tld, remplacer dans la requête SQL par test et par domain.tld.
J’ai réussi la mise à jour grâce à votre commande merci.
Voici le résultat de SELECT ext_id, login FROM userbm; :
| user1
| user2
| user3
| user4
......
Cependant le lien entre les utilisateurs existants et ceux du ldap ne semble pas correct, j’ai toujours des problèmes de liaison des deux serveurs avec ces erreurs sur les imports :
24 oct. 2019 15:16:02 - ERROR - Erreur Ó la crÚation de l'utilisateur: mon.user. LOGIN_ALREADY_USED: Login already used ! (login: mon.user@mondomaine.fr):
2
3 24 oct. 2019 15:16:02 - ERROR - Une exception est survenue: Login already used ! (login: mon.user@mondomaine.fr) net.bluemind.core.api.fault.ServerFault: Login already used ! (login: mon.user@mondomaine.fr) at net.bluemind.core.user.UserSanityCheckHome.checkUser(UserSanityCheckHome.java:81) at net.bluemind.core.user.UserSanityCheckHome. checkUserCanBeCreated(UserSanityCheckHome.java:157) at net.bluemind.core.user.UserBindingImpl.create(UserBindingImpl.java:158) at net.bluemind.system.ldap.importation. tools.LdapImportListener.createUser(LdapImportListener.java:108) at net.bluemind.system.ldap.importation.scanner.MemberInGroupDescLdapScanner. manageUsersFromCursor(MemberInGroupDescLdapScanner.java:267) at net.bluemind.system.ldap.importation.scanner.MemberInGroupDescLdapScanner. scanUsers(MemberInGroupDescLdapScanner.java:211) at net.bluemind.system.ldap.importation.scanner.MemberInGroupDescLdapScanner.scanLdap(MemberInGroupDescLdapScanner.java: 135) at net.bluemind.system.ldap.importation.hooks.ImportLdapJob.tick(ImportLdapJob.java:124) at net.bluemind.core.jobs.impl.JobTicker.run(JobTicker.java:66) at java. util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java. lang.Thread.run(Thread.java:745)
Est-ce qu’il y aurait un autre champ à modifier ?
Merci de votre support
Il n’y a pas d’autre modifications à faire, par contre ce n’est pas normal que le champs ext_id des utilisateur soit vide.
D’après le message, lors de l’import depuis votre nouvel annuaire, il ne trouve pas via l’external ID l’utilisateur dans BlueMind et tente de le créer sauf que l’identifiant est déjà pris et la création échoue.
Vous devriez avoir dans le champs ext_id la valeur de la’ttribut immuable de votre nouvel annuaire en base de données.
Parfait, merci de votre réponse, j’ai simplement relancé la commande en modifiant le set ext_id =null par set ext_id =‘entryuuid du nouvel ldap’ et ça semble fonctionner