Formidable participation : mailsubscriber

Le plugin Formidable participation : mailsubscriber étend le plugin Formulaire de participation Formidable.

Il permet d’ajouter automatiquement une personne qui s’inscrit à un événement (géré par le plugin Agenda) à une liste de diffusion regroupant les participantes à cet évènement.

Idée générale

Grâce au plugin Formulaire de participation Formidable, les personnes qui remplissent un formulaire Formidable peuvent être inscrites à un évènement. Il est probable que les responsables de l’organisation de l’évènement souhaitent envoyer des courriels aux participantes.

Ce plugin permet alors de les ajouter automatiquement à une liste de diffusion gérée par le plugin Mailsubscribers. Plus précisément, le plugin permet de les ajouter à une liste regroupant plusieurs évènements, puis, au sein de cette liste, au segment de liste correspondant à l’évènement auquel elles se sont inscrites.

Exemple

L’association d’éducation populaire pour laquelle a été développé ce plugin organise différentes activités :

Nous avons créé :

  • un évènement par session de BAFA ;
  • un formulaire pour s’inscrire aux différentes sessions du BAFA général et un autre formulaire pour les inscriptions aux sessions du BAFA approfondissement ;
  • une liste de diffusion pour les stagiaires BAFA généraux, et une pour les stagiaires BAFA approfondissement.

Lorsque la personne s’inscrit à un BAFA :

  • elle est automatiquement ajoutée à la liste de diffusion correspondante ;
  • si besoin (s’il n’y a pas déjà été créé), un segment de liste est créé au sein de cette liste, correspondant à la session à laquelle elle s’inscrit, c’est-à-dire, en terme technique, à l’évènement correspondant ;
  • la personne est ajoutée au segment de liste correspondant à cette session ;
  • quelques semaines avant la session, les responsables peuvent envoyer une newsletter aux participantes.

Installation du plugin

Le plugin s’installe comme n’importe quel plugin. Lors de son installation, les dépendances nécessaires à son fonctionnement sont installées.

Toutefois, comme le plugin s’occupe uniquement de la mise en lien entre inscriptions à un évènement via Formidable et inscriptions à une liste via Mailsubscriber, il n’intègre pas les dépendances pour la rédaction et l’envoi des lettres. Il vous faut donc installer (et configurer) :

Par ailleurs, l’utilisation de ce plugin implique la création de nombreux segments de liste. Il peut donc être utile, pour faciliter la recherche du segment au moment de l’envoi de l’infolettre, d’installer le plugin Select2. Il faut alors ajouter la règle suivante dans la configuration du sélecteur :

.formulaire_newsletter_send #liste, .formulaire_programmer_newsletter #liste

Pas à pas

À lire avant

Ce plugin permettant de mieux travailler avec d’autres plugins, je vous conseille d’en lire les documentations ou tutoriels si vous ne l’avez pas déjà fait :

Étape 1 : créer la liste

Préambule sur le modèle de données

Le principe de base pour ce plugin est le suivant :

  • un formulaire formidable d’inscription à des évènements est lié à une liste de diffusion et une seule ;
  • une liste de diffusion regroupant les inscrits à un évènement est liée à un formulaire et un seul ;
  • il n’est pas possible de lier un formulaire à une liste de diffusion comportant déjà des inscriptions ;
  • si des inscriptions sont ajoutées manuellement à une liste liée à un formulaire, ces inscriptions manuelles sont supprimées à intervalle régulier, de sorte qu’il ne reste que les inscription venant du formulaire.

Ceci nous assure que la liste de diffusion ne contienne que des personnes inscrites aux évènements gérés par le formulaire.

Indépendamment de cela, il est possible de proposer au sein du formulaire d’inscription aux évènements l’inscription à une ou plusieurs listes de diffusion « non évènementielle ». Pour cela voir l’article « Formidable : abonnements à des listes de diffusion ».

En pratique

Se rendre dans le menu « Activités » -> « Liste de diffusion ». Puis cliquer sur « Ajouter une liste ». Créer la liste en remplissant les différents champs.

Création d’une liste

Étape 2 : configurer le formulaire d’inscription aux évènements pour le relier à une liste

Nous supposons que vous avez déjà configuré le formulaire pour qu’il s’occupe de l’inscription aux évènements.

Si tel est le cas, vous pourrez alors activer le traitement « Inscrire à un segment de liste pour l’évènement » et choisir la liste concernée.

Configuration du traitement

Étape 3 : patienter

Les réponses déjà associées au formulaire sont ajoutées en tâche de fond à la liste de diffusion. (Au besoin, une webmestre peut accélérer ces tâches de fond en se rendant dans « Maintenance » -> « Tâches de fond »).

Que ce soit sur la page de la liste (qui renvoie vers le formulaire) ou sur la page du formulaire (qui mentionne les traitements actifs), un petit pictogramme indique l’état de remplissage.

Ce pictogramme indique que toutes les réponses ont été importées dans la liste de diffusion
Ce pictogramme indique que qu’il reste des réponses à importer dans la liste

Les réponses ajoutées après avoir configuré le traitement sont ajoutées au fur et à mesure à la liste.

Étape 4 : profiter

En se rendant sur la page de la liste dans l’espace privé, on voit que des segments de liste ont été créés.

Segments de liste correspondant à des évènements

Il existe deux types de segments de liste :

  • les segments correspondants aux inscriptions aux évènements, dont le titre sont sous la forme <date de début> -> <date de fin> (<Titre de l'évènement> <code>numéro de l'évènement) :
    • la date est au format SQL (année-mois-jour) pour permettre de la retrouver plus facilement dans une liste triée par ordre alphabétique ;
    • le numéro d’évènement est indiqué pour les rares cas où l’on aurait deux évènements homonymes à la même date (mais dans des lieux différents).
  • un segment « Sans inscription à un évènement », qui est vidé régulièrement ; il est là pour recevoir les inscriptions :
    • faites manuellement alors qu’il ne faudrait pas (cf. plus haut) ;
    • des personnes qui ont changé d’adresse email (conservation très temporaire de l’ancien email [1]) ou se sont désinscrites (idem).

On peut donc composer une infolettre (Menu « Édition » -> « Infolettres »), puis l’envoyer au segment de liste concernée.

Choix du segment auquel envoyer une infolettre

Appendices techniques : remarques sur la synchronisation

L’enjeu du plugin est de permettre la synchronisation entre les inscriptions à un évènement et les inscriptions à un segment de liste.

Le plugin Mailsubscriber propose de faire la synchronisation en arrière plan, par une tâche de fond. Dans le cas présent, toutefois, le lien est facile à faire dès l’inscription à l’évènement (c’est-à-dire le remplissage du formulaire) ; donc nous le faisons immédiatement.

Certaines actions d’administration des inscriptions impliquent cependant des comportements différents. Voici donc un résumé de ce qui se passe à chaque étape de la gestion des inscriptions d’une personne.

Une personne s’inscrit à un évènement

Si l’inscription est validée immédiatement, le segment de liste est créé (si besoin) dans la foulée, et la personne est inscrite à la liste et au segment. Si l’inscription est validée après coup, la création éventuelle du segment et l’inscription à ce segment à lieu au moment de la validation.

Ceci permet de s’assurer que seules les personnes dont l’inscription est validée recevront les informations.

On change la date d’inscription d’une personne

Si l’on modifie la réponse d’une personne pour changer sa date d’inscription, elle est automatiquement désinscrite de l’ancien segment, et ajoutée au nouveau segment.

On change l’adresse email d’une personne

-  La nouvelle adresse est inscrite au segment de liste de l’évènement ;
-  l’ancienne adresse est désinscrite du segment de liste de l’évènement et ajoutée, si elle ne correspond à aucune inscription à un autre évènement du même formulaire, à un segment « Sans inscription à un évènement », puis immédiatement supprimée de la liste ;
-  normalement ce n’est pas utile, mais, par sécurité, les gens inscrits à ce segment sont désinscrits de la liste à intervalle régulier : toutes les 24 heures, les désinscriptions se font pour une liste, en faisant une liste à la fois ;
-  à intervalle régulier, Mailsubscriber s’occupe d’offusquer les adresses qui ne sont plus associées à aucune liste.

On modifie le statut de la réponse d’une personne

Si la modification implique une désinscription de l’évènement, il y a désinscription immédiate de la liste, et, par conséquent, du segment.

On lie un formulaire avec des inscriptions existantes à des évènements à une liste

Dans ce cas précis, les inscriptions existantes aux évènements sont synchronisées plus tard avec les inscriptions existantes à la liste. Le processus est lancé en tâche de fond. À chaque itération 10 inscriptions à un évènement sont ajoutées comme inscriptions à une liste. Plus le site est fréquenté, plus ça se finira vite.

On change la liste associée à un formulaire

Dans ce cas, l’ancienne liste est passée en statut « poubelle », et la nouvelle est remplie avec les courriels des personnes inscrites (cf. paragraphe ci-dessus).

Notes

[1En théorie, suppression immédiate, mais je ne suis pas à l’abri d’un cas non traité dans mon code.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom