Bonjour,
On réfléchit à mettre en place un système d'abonnement sur une appli Domino dont les documents contiennent des restrictions en lecture et/ou en écriture très variables.
Le problème qui se pose est le suivant : comment connaître, pour un utilisateur de l'appli donné, les documents auxquels il a accès ? L'idée étant de boucler sur tous les utilisateurs de l'appli (un ou 2 groupes clairement identifiés) et de leur envoyer un mail personnalisé avec des liens vers les documents auxquels ils ont accès.
La difficulté est que dans les champs lecteur, il peut y avoir des noms, mais aussi des groupes, ou des groupes imbriqués.
Alors il y a bien la méthode bête et méchante qui consisterait à s'assurer que le nom de l'utilisateur est présent dans ces champs et, s'il s'agit de groupes, de le recherche dedans récursivement, mais ça me semble un peu violent pour un besoin qui finalement est assez commun et que beaudoup ont du rencontrer.
Une autre solution (que je préfèrerait) serait de créer une session en tant que l'utilisateur (en Java, par DIIOP, avec NotesFactory.createSession()), malheureusement cela requiert de connaitre son mot de passe internet (ou d'avoir un token LTPA, mais la problématique reste la même)).
Enfin, une troisième piste est le "Run agent on behalf of", le seul soucis est que cette valeur n'est pas - que je sache - "programmatiquement" modifiable ; en cas de changement par programmation, à l'exécution un msg d'erreur est retourné comme quoi cette valeur a été altérée, etc.. Je n'ai pas essayé de le faire via DXL (je vais m'y mettre de ce pas), mais je doute que ça marche mieux.
Bref, je ne sais pas trop quoi penser de tout ça.
Si vous avez des pistes et/ou des conseils, je suis preneur !
Merci d'avance.