Gestion

Invitations par courriel

Le module cwemail permet d'envoyer des invitations et des messages de rappel par courriel. Il utilise une question comme gabarit; celle-ci peut inclure des rappels de valeurs enregistrées dans la base de données (probablement par prépeuplement). Ce module offre des outils permettant la sélection de sous-ensembles de dossiers selon n'importe quelle donnée de la base de données ou selon des plages de positions dans la base de données. Il est donc possible, par exemple, d'envoyer une invitation initiale à tous les participants, dans leur langue préférée, en incluant un code d'accès personnalisé, et de faire suite une semaine plus tard auprès des participants qui n'ont pas encore commencé le questionnaire en incluant un message motivationnel qui pourrait être différent de celui qui serait adressé aux personnes qui ont commencé mais non complété le questionnaire.

L'envoi de courriels est basé sur une variable spéciale contenant le titre du message et le texte du message à envoyer. Les règles suivantes s'appliquent :

  • le type de question EMAIL doit être mentionné sur la ligne du nom de la question;
  • les questions EMAIL n'utilisent pas les codes de langues; si des messages doivent être envoyés dans des langues particulières, créez autant de questions EMAIL qu'il y a de langues et sélectionnez les dossiers selon un indicateur prépeuplé de langue;
  • le segment du texte de la question contient le texte du sujet du message;
  • le segment de la note contient le texte du corps du message;
    • un paragraphe est terminé par un code <P> alors que de simples retours à la ligne sont insérés avec le code <BR>;
    • cwemail met le message en forme en créant des lignes d'au plus 65 caractères tout en respectant les paragraphes et les retours à la ligne;
    • une version HTML du message peut être insérée entre deux bornes <HTML> et </HTML>; le codage HTML doit être approprié et complet — CallWeb ne le valide pas. Il est recommandé de toujours inclure une version texte simple du message en sus d'une version HTML (lorsqu'elle est utilisée) pour assurer de se conformer à tous les logiciels de lecture de courriel.
  • le texte du titre ou du corps (simple ou HTML) du message peuvent contenir des rappels de valeurs dans la base de données; ces rappels utilisent la syntaxe de rappel CallWeb. De plus, des variables systèmes comme _telkey (le numéro de dossier permettant d'accéder à un dossier unique) peuvent être rappelées en utilisant la syntaxe suivante : {$nom_de_variable}, p.ex., {$_telkey}.
  • le texte du message peut inclure une instruction d'annexer un fichier au message; pour ce faire :
    • ajouter une instruction comme celle-ci n'importe où dans le texte du message :
      [attach = répertoire/nom_du_fichier] ou [annexer = répertoire/nom_du_fichier]
    • le nom du fichier doit être précédé du nom du répertoire dans lequel il se trouve; par exemple, si le fichier « abc.pdf » est dans le répertoire « cwprojet », la syntaxe appropriée est
      [annexer = cwprojet/abc.pdf]
    • on peut annexer plusieurs fichiers en séparant leur nom par des virgules comme dans
      [annexer = répertoire/fichier1, répertoire/fichier2]
    • lorsqu'un fichier est annexé à un message, le message doit contenir une portion HTML en plus de la portion texte-simple habituelle; une portion HTML est créée à partir de la portion simple si aucune n'existe.
  • le texte du message peut contenir une instruction de suivi de la date et de l'heure d'ouverture du message par le récipiendaire; pour ce faire, ajouter [track = QUELQUE_PARTIE_OUVERTE] au message. La date et l'heure de l'ouverture du message sera enregistrée dans la partie ouverte du _telkey approprié.

Les informations suivantes sont nécessaires à l'envoi de messages par courriel :

  • une partie ouverte contenant l'adresse de courriel de chaque participant;
  • une partie ouverte disponible pour enregistrer la date et l'heure de l'envoi; dans cette partie ouverte, on peut retrouver les codes suivants :
    • -1 + dateheure de la tentative : le message n'a pas pu être envoyé à l'intérieur du délai prescrit;
    • -2 + dateheure de la tentative : le nom de domaine de l'adresse de courriel n'est pas accessible;
    • -8 + dateheure de la tentative : le champ de l'adresse de courriel est vide;
    • -99 : le système est en train d'envoyer un courriel à ce dossier ou la procédure a été interrompue pendant l'envoi à ce dossier.
  • une adresse de courriel pour l'envoyeur du message;
  • le mot de passe en écriture pour le projet puisque la date et l'heure de l'envoi doivent être insérés dans la base de données;
  • une question gabarit pour le message.

Interactivement, il est possible de simuler l'envoi de courriels : les messages sont affichés à l'écran mais ils ne sont ni envoyés, ni enregistrés dans la base de données.

Gestions des messages en rebond

Grâce à l'instruction # Send bounces to, les messages en rebond peuvent être envoyés à une adresse au choix du concepteur ou au module cwbounces.pl qui inscrit ces rebonds dans la base de données CallWeb. Pour activer cwbounces.pl, suivez les instructions suivantes :

  • le format de l'adresse de destination des rebonds doit être « bounces.*@domain.xxx »; CallWeb modifie ensuite cette adresse pour se conformer à ses besoins;
  • l'instruction # Check bounces against est une liste (délimitée par des virgules) de noms de questions qui contiennent des adresses de courriel contre lesquelles vérifier les adresses provoquant des rebonds;
  • l'instruction # Save bounces into est aussi une liste (délimitée par des virgules) de noms de questions qui recevront la date et l'heure du rebond (ce sont des parties ouvertes textes); il doit y avoir autant de noms de questions dans cette liste que dans la liste # Check bounces against;
  • veuilllez noter que ce système ne fonctionne que si le nom du projet n'utilise que des caractères minuscules à cause des limites de la syntaxe des adresses de courriel. Notez aussi qu'aucun des noms de répertoires dans le chemin complet du répertoire de projet ne peut contenir un tiret.
  • le module cwbounces.pl doit être convenablement installé.

Livraison automatique de messages par courriel

Utilisant les paramètres des instructions # Auto email, CallWeb peut balayer les données d'un projet sur une base régulière (par exemple, toutes les heures) pour identifier les dossiers qui correspondent à une certaine condition et pour leur envoyer un message. La mise en page du message lui-même et l'utilisation des rappels suivent les règles présentées plus haut. La syntaxe générale de cette instruction est la suivante (note : les signes d'égalité et les virgules sont des délimiteurs; utilisez-les comme décrit dans l'exemple) :

    # Auto email xxx = (xxx peut être toute chaîne de caractères unique parmi les instructions AUTOEMAIL)
    #>     active = (oui ou non, selon que l'instruction est présentement active ou non; oui par défaut),
    #>     selection = [ (expression MySQL identifiant les dossiers auxquels envoyer un message; elle doit être entre crochets) ],
    #>     email = (nom de la question de type EMAIL dans le questionnaire qui sert de gabarit au message),
    #>     from = (adresse de courriel affichée comme envoyant le message),
    #>     sender = (adresse de courriel envoyant effectivement le message),
    #>     to = (nom de la partie ouverte contenant l'adresse de courriel des destinataires),
    #>     cc = (nom d'une partie ouverte contenant l'adresse de copie conforme [optionnel]),
    #>     reportto = (adresse de courriel qui reçoit les rapports; a priorité sur l'option d'installation administrator_email),
    #>     bounces = (adresse de courriel qui reçoit les rebonds; le type d'adresse permettant l'interception des rebonds par cwbounces.pl (discuté plus haut) peut être utilisé),
    #>     store = (nom de la partie ouverte où la date et l'heure de l'envoi sont placées),
    #>     max = (nombre maximum de messages à envoyer au cours d'une itération; cette valeur peut être utilisée pour éviter la surcharge du serveur d'envoi de messages),
    #>     delay = (secondes de délai avant d'envoyer un second message au même domaine; la valeur par défaut est 120 secondes),
    #>     unsubscribe = (URL pour accéder au système de désinscription du questionnaire; voir la recette)

Voici un exemple réel :

    # Auto email 001 =
    #>     active = oui,
    #>     selection = [ ADATE > 20050101 AND NOT AINVITATION > 0 ],
    #>     email = INVITATION,
    #>     from = info@callweb.ca,
    #>     to = AEMAILADDRESS,
    #>     cc = ACCADDRESS,
    #>     bounces = bounces.*@callweb.ca,
    #>     store = AINVITATION,
    #>     max = 1000,
    #>     delay = 120,
    #>     unsubscribe = http://circum.com/callweb/callweb.cgi?en:{$contexte{projet}}:{$_telkey}:UNSUB

Un projet CallWeb particulier peut contenir plusieurs instructions d'envoi automatique (assurez-vous que chacune vise des dossiers différents) pour envoyer des messages spécifiques visant des situations différentes (qui sont identifiées par l'énoncé de sélection des dossiers).

Des capacités limités de substitution existent dans le cas de la clause « selection » — utilisant essentiellement les données de contexte. Par exemple, pour déclencher un message le 1er janvier 2009, la condition suivante pourrait être utilisée :

    #>     selection = [ {$contexte{date}} > 20090101 ],

Gestion

Invitations par courriel

Le module cwemail permet d'envoyer des invitations et des messages de rappel par courriel. Il utilise une question comme gabarit; celle-ci peut inclure des rappels de valeurs enregistrées dans la base de données (probablement par prépeuplement). Ce module offre des outils permettant la sélection de sous-ensembles de dossiers selon n'importe quelle donnée de la base de données ou selon des plages de positions dans la base de données. Il est donc possible, par exemple, d'envoyer une invitation initiale à tous les participants, dans leur langue préférée, en incluant un code d'accès personnalisé, et de faire suite une semaine plus tard auprès des participants qui n'ont pas encore commencé le questionnaire en incluant un message motivationnel qui pourrait être différent de celui qui serait adressé aux personnes qui ont commencé mais non complété le questionnaire.

L'envoi de courriels est basé sur une variable spéciale contenant le titre du message et le texte du message à envoyer. Les règles suivantes s'appliquent :

  • le type de question EMAIL doit être mentionné sur la ligne du nom de la question;
  • les questions EMAIL n'utilisent pas les codes de langues; si des messages doivent être envoyés dans des langues particulières, créez autant de questions EMAIL qu'il y a de langues et sélectionnez les dossiers selon un indicateur prépeuplé de langue;
  • le segment du texte de la question contient le texte du sujet du message;
  • le segment de la note contient le texte du corps du message;
    • un paragraphe est terminé par un code <P> alors que de simples retours à la ligne sont insérés avec le code <BR>;
    • cwemail met le message en forme en créant des lignes d'au plus 65 caractères tout en respectant les paragraphes et les retours à la ligne;
    • une version HTML du message peut être insérée entre deux bornes <HTML> et </HTML>; le codage HTML doit être approprié et complet — CallWeb ne le valide pas. Il est recommandé de toujours inclure une version texte simple du message en sus d'une version HTML (lorsqu'elle est utilisée) pour assurer de se conformer à tous les logiciels de lecture de courriel.
  • le texte du titre ou du corps (simple ou HTML) du message peuvent contenir des rappels de valeurs dans la base de données; ces rappels utilisent la syntaxe de rappel CallWeb. De plus, des variables systèmes comme _telkey (le numéro de dossier permettant d'accéder à un dossier unique) peuvent être rappelées en utilisant la syntaxe suivante : {$nom_de_variable}, p.ex., {$_telkey}.
  • le texte du message peut inclure une instruction d'annexer un fichier au message; pour ce faire :
    • ajouter une instruction comme celle-ci n'importe où dans le texte du message :
      [attach = répertoire/nom_du_fichier] ou [annexer = répertoire/nom_du_fichier]
    • le nom du fichier doit être précédé du nom du répertoire dans lequel il se trouve; par exemple, si le fichier « abc.pdf » est dans le répertoire « cwprojet », la syntaxe appropriée est
      [annexer = cwprojet/abc.pdf]
    • on peut annexer plusieurs fichiers en séparant leur nom par des virgules comme dans
      [annexer = répertoire/fichier1, répertoire/fichier2]
    • lorsqu'un fichier est annexé à un message, le message doit contenir une portion HTML en plus de la portion texte-simple habituelle; une portion HTML est créée à partir de la portion simple si aucune n'existe.
  • le texte du message peut contenir une instruction de suivi de la date et de l'heure d'ouverture du message par le récipiendaire; pour ce faire, ajouter [track = QUELQUE_PARTIE_OUVERTE] au message. La date et l'heure de l'ouverture du message sera enregistrée dans la partie ouverte du _telkey approprié.

Les informations suivantes sont nécessaires à l'envoi de messages par courriel :

  • une partie ouverte contenant l'adresse de courriel de chaque participant;
  • une partie ouverte disponible pour enregistrer la date et l'heure de l'envoi; dans cette partie ouverte, on peut retrouver les codes suivants :
    • -1 + dateheure de la tentative : le message n'a pas pu être envoyé à l'intérieur du délai prescrit;
    • -2 + dateheure de la tentative : le nom de domaine de l'adresse de courriel n'est pas accessible;
    • -8 + dateheure de la tentative : le champ de l'adresse de courriel est vide;
    • -99 : le système est en train d'envoyer un courriel à ce dossier ou la procédure a été interrompue pendant l'envoi à ce dossier.
  • une adresse de courriel pour l'envoyeur du message;
  • le mot de passe en écriture pour le projet puisque la date et l'heure de l'envoi doivent être insérés dans la base de données;
  • une question gabarit pour le message.

Interactivement, il est possible de simuler l'envoi de courriels : les messages sont affichés à l'écran mais ils ne sont ni envoyés, ni enregistrés dans la base de données.

Gestions des messages en rebond

Grâce à l'instruction # Send bounces to, les messages en rebond peuvent être envoyés à une adresse au choix du concepteur ou au module cwbounces.pl qui inscrit ces rebonds dans la base de données CallWeb. Pour activer cwbounces.pl, suivez les instructions suivantes :

  • le format de l'adresse de destination des rebonds doit être « bounces.*@domain.xxx »; CallWeb modifie ensuite cette adresse pour se conformer à ses besoins;
  • l'instruction # Check bounces against est une liste (délimitée par des virgules) de noms de questions qui contiennent des adresses de courriel contre lesquelles vérifier les adresses provoquant des rebonds;
  • l'instruction # Save bounces into est aussi une liste (délimitée par des virgules) de noms de questions qui recevront la date et l'heure du rebond (ce sont des parties ouvertes textes); il doit y avoir autant de noms de questions dans cette liste que dans la liste # Check bounces against;
  • veuilllez noter que ce système ne fonctionne que si le nom du projet n'utilise que des caractères minuscules à cause des limites de la syntaxe des adresses de courriel. Notez aussi qu'aucun des noms de répertoires dans le chemin complet du répertoire de projet ne peut contenir un tiret.
  • le module cwbounces.pl doit être convenablement installé.

Livraison automatique de messages par courriel

Utilisant les paramètres des instructions # Auto email, CallWeb peut balayer les données d'un projet sur une base régulière (par exemple, toutes les heures) pour identifier les dossiers qui correspondent à une certaine condition et pour leur envoyer un message. La mise en page du message lui-même et l'utilisation des rappels suivent les règles présentées plus haut. La syntaxe générale de cette instruction est la suivante (note : les signes d'égalité et les virgules sont des délimiteurs; utilisez-les comme décrit dans l'exemple) :

    # Auto email xxx = (xxx peut être toute chaîne de caractères unique parmi les instructions AUTOEMAIL)
    #>     active = (oui ou non, selon que l'instruction est présentement active ou non; oui par défaut),
    #>     selection = [ (expression MySQL identifiant les dossiers auxquels envoyer un message; elle doit être entre crochets) ],
    #>     email = (nom de la question de type EMAIL dans le questionnaire qui sert de gabarit au message),
    #>     from = (adresse de courriel affichée comme envoyant le message),
    #>     sender = (adresse de courriel envoyant effectivement le message),
    #>     to = (nom de la partie ouverte contenant l'adresse de courriel des destinataires),
    #>     cc = (nom d'une partie ouverte contenant l'adresse de copie conforme [optionnel]),
    #>     reportto = (adresse de courriel qui reçoit les rapports; a priorité sur l'option d'installation administrator_email),
    #>     bounces = (adresse de courriel qui reçoit les rebonds; le type d'adresse permettant l'interception des rebonds par cwbounces.pl (discuté plus haut) peut être utilisé),
    #>     store = (nom de la partie ouverte où la date et l'heure de l'envoi sont placées),
    #>     max = (nombre maximum de messages à envoyer au cours d'une itération; cette valeur peut être utilisée pour éviter la surcharge du serveur d'envoi de messages),
    #>     delay = (secondes de délai avant d'envoyer un second message au même domaine; la valeur par défaut est 120 secondes),
    #>     unsubscribe = (URL pour accéder au système de désinscription du questionnaire; voir la recette)

Voici un exemple réel :

    # Auto email 001 =
    #>     active = oui,
    #>     selection = [ ADATE > 20050101 AND NOT AINVITATION > 0 ],
    #>     email = INVITATION,
    #>     from = info@callweb.ca,
    #>     to = AEMAILADDRESS,
    #>     cc = ACCADDRESS,
    #>     bounces = bounces.*@callweb.ca,
    #>     store = AINVITATION,
    #>     max = 1000,
    #>     delay = 120,
    #>     unsubscribe = http://circum.com/callweb/callweb.cgi?en:{$contexte{projet}}:{$_telkey}:UNSUB

Un projet CallWeb particulier peut contenir plusieurs instructions d'envoi automatique (assurez-vous que chacune vise des dossiers différents) pour envoyer des messages spécifiques visant des situations différentes (qui sont identifiées par l'énoncé de sélection des dossiers).

Des capacités limités de substitution existent dans le cas de la clause « selection » — utilisant essentiellement les données de contexte. Par exemple, pour déclencher un message le 1er janvier 2009, la condition suivante pourrait être utilisée :

    #>     selection = [ {$contexte{date}} > 20090101 ],