none
Récupérer l'adresse mail d'une personne liée indirectement à un workflow RRS feed

  • Question

  • Bonjour à tous,

    Je travaille actuellement sur un projet de portail Sharepoint à destination des lycées/école supérieure. Actuellement, je réalise un petit workflow (déclenché par un ajout dans une webpart de liste) permettant d’envoyer un mail à l’étudiant en cas d’absence, puis un mail à ses parents/responsables en cas de non justification de l’absence.

    Le problème qui se pose est de récupérer l’adresse mail du Parent. Je pense à 2 solutions, mais qui ont chacune un inconvénient :

    -Créer un champ supplémentaire dans le profil de l’étudiant avec l’adresse mail d’un parent, mais il faudrait trouver un moyen de récupérer ce champ dans le workflow crée avec sharepoint designer.
    -Associer un utilisateur à l’étudiant, qui serait en quelque sorte le supérieur hiérarchique de ce dernier, à ce moment là aussi il faudrait trouver comment faire apparaître ce supérieur dans la liste des utilisateurs à mettre en destinataire du mail.

    Quelqu'un aurait-il une piste pour orienter mes recherches, ou a t-il une solution plus simple à me proposer ?

    Merci
    mardi 22 avril 2008 15:55

Toutes les réponses

  • Etes vous sous WSS ou sous MOSS ? Le terme "Profil" désigne un élément de MOSS, mais peut être parlez vous simplement des donnés du compte utilisateur ?

     

    Si vous disposez de MOSS, les profils SharePoint contiennent un champ "Manager" synchronise par défaut avec le champ "Manager" d'Active Directory. Si vous avez votre propre fournisseur d'authentification, vous pouvez gérer le champs "Parent" de la même façon. Dans tous les cas, le SPUser de votre workflow vous permettra de retrouver le profil utilisateur correspondant, et donc la propriété "Parent" dont vous avez besoin.

     

    Si vous vous basez sur WSS, vous pouvez enrichir les données utilisateur en ajoutant ce champ "Parent" (dans ce cas vous serez limité à une seule collection de site). Dans ce cas, vous n'aurez quà lire la propriété "Parent" de votre utilisateur depuis le Workflow. Pour plus de détail sur cette solution, je vous invite à consulter mon blog : http://blogs.developpeur.org/gribouillon/archive/2008/04/10/comment-tendre-les-donn-es-utilisateur-sharepoint.aspx

     

    Enfin, il vous est également possible de gérer ces données en dehors de SharePoint. J'ai déjà rencontré le cas d'une entreprise gérant son annuaire d'entreprise dans une base externe, et l'exposant via un WebService. Dans ce cas, j'ai simplement créé une nouvelle activité pour mon Workflow chargée d'appeler le WebService et de retrouver le supérieur hierarchique d'une personne (le parent pour vous).

     

    Bons workflows :-)

    samedi 3 mai 2008 13:51
    Modérateur
  • Bonjour, et merci de votre réponse.

    Je suis sous MOSS.
    Au début, je pensais, comme vous le proposez dans la 1ere solution, récupérer le champ "Manager" synchronisé directement avec l'AD. Mais on me fait remarquer que dans les specs du projet, les Parents ne possèdent pas leur propre compte.
    Je vais donc plutôt utiliser la 2eme solution pour récupérer un champ "Mail parent", votre lien va m'être bien utile Smile.

    Mais j'aurais une question à ce sujet:
    Est il possible de récupérer ce champ "Mail Parent" depuis Sharepoint designer? En effet, je ne vois pas comment récupérer facilement autre chose que les données de champs de la liste sur laquelle je déclenche mon workflow. Pour l'instant, je m'oriente vers un workflow C# avec VS2008 pour récupérer ce champ.
    Vous parlez également de "limitation à une seule collection de site", je ne saisis pas exactement cette portée. Cela signifie t'il que le champ "Mail Parent" doit etre recrée à la main sur chaque collection de site?
    dimanche 4 mai 2008 10:37
  • Bonjour,

     

    La liste des propriétés des profils utilisateurs MOSS n'est pas fixe. En d'autres termes, vous pouvez ajouter votre prorpre champs "Parent" au profil utilisateur.

     

    Dans un second temps, il vous faudra renseigner les valeurs de cette propriété pour chacun de vos profils. Celà peut être fait manuellement par l'administrateur, ou bien celà peut être fait par un Job SharePoint (SPJobDefinition) chargé de lire la source de données contenant les parents et de mettre à jour ces propriétés. Ce job pourrait très bien tourner la nut.

     

    Voilà donc deux solutions : l'une manuelle, l'autre automatisée.

     

    N'oubliez pas la possibilité d'interroger un WebService (ou une autre source de données) directement depuis votre Workflow.

     

    Bons développements.

    dimanche 4 mai 2008 16:05
    Modérateur