27 avril 2009

INFOPATH : Envoi Mail

Une question qui revient souvent : Comment envoyer un mail depuis Infopath.
Cet envoi peut être réalisé de plusieurs façons:
  1. Utilisation d'une classe d'envoi de mail personnalisée,
  2. Utilisation d'une connexion de données permettant d'envoyer un mail,
Mais aussi, utilisation de la fameuse classe SPUtility.SendEmail...
Cette classe est accessible en utilisant du code personnalisé (C# ou VB).
Celle-ci permet d'envoyer un mail classique et prend plusieurs paramètres:
  • Le SPWeb,
  • L'encodage HTML,
  • Le mail de destination,
  • L'objet,
  • Le corps du mail.
Cette classe comporte malheureusement 3 inconvénients majeurs:
  • Impossibilité d'insérer de pièces jointes...
  • Impossibilité de préciser l'envoyeur du mail...Ce sera celui configuré dans les outgoing email de Sharepoint qui sera utilisé.
  • Tronque les mails trop long. Mais il y a vraiment de la marge.
Pour des petits mails d'informations, ou de soumission à approbation, cette classe est largement suffisante et fonctionne sans problème.

14 avril 2009

INFOPATH : Contact selector

Aujourd'hui un tip pouvant être très utile :
"Comment utiliser le contact selector de Sharepoint dans un formulaire Infopath."
Le contact selector est l'un des rares contrôle Activex que l'on peut utiliser dans infopath form services...Et il peut s'avérer fort utile puisqu'il permet d'aller rechercher des utilisateurs ou groupes Sharepoint sur un site précis.
Pour cela, il faut suivre avec attention les étapes suivantes :
  • Utilisation d'un fichier de mappage du serveur nommé context
    (Il permet de préciser sur quel serveur Sharepoint le contact selector va se pluguer)

    Il faut tout d'abord ouvrir un éditeur de texte et y coller le texte suivant Context siteUrl=
    http://servername/  (en précisant le nom de votre serveur sharepoint),
    Puis enregistrer ce document xml avec le nom "Context.xml" sur votre bureau.
    Ajouter dans infopath une nouvelle connexion de données de la forme suivante "Réception de données / Document XML / Inclure ce fichier en fichier de ressource du formulaire " tout en allant chercher le fichier context.xml que vous venez d'enregistrer.
  • Recherche de l'activex dans la galerie de contrôles


    Il faut donc cliquer sur "Ajouter ou supprimer des contrôles personnalisés" puis allez sélectionner le "Contact Selector".Il sera donc disponible dans la section contrôle "Personnalisé" comme ci-dessus.
  • Construction de la source de données.
    La source de données répend à une nomenclature bien spécifique.
    Il est obligatoire d'avoir un groupe comprenant un groupe extensible nommé "Person" :


              Le groupe "Person" et ses fils doivent être nommés de la façon ci-dessus pour que le contact selector fonctionne.Ensuite faire un drag and drop du contrôle et le pluguer sur le groupe contenant 'Person' dans la source de données.
NB : Si vous voulez insérer plusieurs contact selector dans un seul formulaire, faire un clic droit sur le groupe extensible "Person" dans la source de données puis cliquer sur "Référence" et le placer à l'endroit voulu.
Ainsi vous pourrez avoir plusieurs fois dans la structure le groupe person.