Oh, les endormis… Réveillez vous ! Autrement #BuddyPress Wake Up Sleepers s’en chargera ;)

Crédits Photo : reveillez-vous ! de Môsieur J. [version 7.1.2], sur Flickr

En fin d’année, c’est la période des bilans ! En tant qu’admin de votre communauté BuddyPress, vous allez compter le nombre de membres, le nombre de forums, de mises en relation, d’activités voire d’activités repartagées, de nombre de checkins, de nombre d’idées ;), vous allez ausculter dans le moindre détail les statistiques de fréquentation de votre site, quelle page a été la plus affichée, vous allez pleurer sur le pourcentage qu’occupe internet explorer dans la répartition des utilisateurs par navigateur…

Bref, la totale!

Et puis, il se pourrait que vous vous demandiez…

Sur le nombre de personnes qui se sont enregistrées, combien ont effectivement activé leur compte ?
Combien de personnes qui ont activé leur compte se sont connectées au moins une fois ?
Sur un délai de 30 jours, combien d’utilisateurs ne sont pas revenus participer aux échanges de votre communauté ?

En tout cas, il y a là une des questions que s’est posée @pollyplummer lorsque « back in september » elle a lancé ce tweet, un peu comme quand on lance une bouteille à la mer..

Si vous scrollez jusqu’à la fin de la conversation, vous vous apercevrez que j’avais promis d’écrire un « script » sur le sujet.. C’est ce que j’ai fait d’ailleurs.. Voici à quoi, son interface d’administration ressemblait :

Il s’agissait donc de lister les emails des utilisateurs qui ne se sont jamais loggés. De cette idée d’origine, j’avais déjà élargi le périmètre en incluant les emails des personnes qui n’avaient même pas activé leur compte ou qui étaient restées inactives plus de 30 jours. Ensuite, comme l’adresse email sert généralement à être utilisée pour un envoi, j’avais également intégré la possibilité de déclencher un emailing basic depuis cette interface..

Mais ce week-end, après avoir traficoté avec les usermeta et le formulaire d’inscription de BuddyPress et mis sur orbite la version 1.0-beta4 de BP Reshare, j’ai repensé à ce morceau de script inachevé que j’avais transmis à Sarah (@pollyplummer)..

Après avoir relu l’oeuvre, je me suis décidé à tout réécrire et à l’enrichir de nouvelles fonctionnalités.

Autrefois répartis sur plusieurs onglets, désormais les catégories d’endormis sont arrivées dans une liste déroulante qui sur changement charge automatiquement les bons endormis. Ensuite, les onglets servent désormais aux actions du plugin. On peut sélectionner une liste, composer un email puis envoyer ces emails. Le 4e onglet est arrivé en fin de développement pour ne pas oublier de gérer les éventuelles désinscriptions aux envois de mails.

Ainsi, après avoir sélectionné nos endormis, on passe à la deuxième étape en vue de personnaliser le mail qui leur sera envoyé. Avec cette nouvelle version, on dispose d’un superbe wp_editor qui vous l’aurez compris nous dirigera vers la conception d’html emails, gagnant ainsi en possibilités de créativité par rapport à du texte brut. A côté du bouton d’insertion média, je me suis permis d’ajouter 3 boutons : un pour enregistrer nos travaux de conception, un autre pour lancer un aperçu de l’email et un troisième pour « ajouter des favoris » ??!? WTF is that ??

Ici, je me suis dit qu’il serait intéressant de précisément intéresser les endormis à se réveiller 😉 Un envoi simple qui dit « ého ça serait bien si vous veniez faire un tour » a à mon avis moins de chance d’enclencher l’acte qu’un email qui contient des exemples de contenus échangés dans la communauté. Et pour ce faire, j’ai pensé qu’un petit shortcode pour insérer des activités BuddyPress serait du plus bel effet. Mais pas n’importe quelles activités, celle que l’admin a mise en « favoris » au gré de sa navigation au sein de sa superbe communauté. Ainsi ce bouton ouvre une fenêtre nous permettant de sélectionner les activités afin de les insérer dans notre email. Sous l’éditeur, vous retrouverez des pseudos tags qui permettent d’ajouter des éléments de personnalisation qui sont variables selon l’utilisateur comme son login, son display_name, son url d’activation ou l’url de sa page de profil.

Une fois l’email sauvegardé, on peut passer à la phase délicate de l’envoi des emails ! Pour le coup rien de transcendant, mais je n’ai pas oublié de prévoir un bouton pour s’envoyer l’email avant de balancer la sauce !! Suite au clic sur le bouton « tout envoyer », un iframe est peuplé par les mails avec un état et en fin de parcours un message vous indique que tous les mails ont été envoyés. Pour éviter tout harcèlement des endormis, j’ai ajouté un blocage qui ne permet pas d’enchaîner 2 envois à une même catégorie sous 24h. Je garde également la trace des résultats du dernier envoi pour la catégorie. Ainsi quand l’admin revient x jours après son envoi sur le plugin, il sait quelle est la date et le résultat du dernier emailing qu’il avait réalisé.

Cap sur le 4e onglet : la gestion des désinscriptions

Pour permettre à l’utilisateur de ne plus recevoir de mails, un lien est automatiquement ajouté dans le footer dans le cas de l’utilisation du template par défaut. Ce lien dirige vers une page du blog (Unsubscribe) qui récupèrera un hash du mail de l’utilisateur afin de stocker son adresse dans un tableau au sein de la table [table_prefix]options. Dorénavant, avant de lister les endormis, ma classe vérifiera que la liste ne comprend pas un des emails qui serait dans ce tableau.

Le 4e onglet affiche donc ces emails et permet de supprimer un utilisateur de la liste des désinscrits (il faut toujours prévoir le fameux garsKaCliquéAlokiVoulépô), mais aussi de carrément supprimer des endormis. En effet, un admin peut raisonnablement avoir envie de supprimer un inscrit qui n’a jamais activé son compte depuis 3 mois et qui en plus ne souhaite pas recevoir d’email ;).

Une démo, une démo, une démo 😉

Beta-testez le plugin !!!

D’avance merci pour vos éventuels retour d’infos en commentaires ou directement depuis github. J’en profite pour vous souhaitez d’agréables fêtes de fin d’année 🙂

10 commentaires sur “Oh, les endormis… Réveillez vous ! Autrement #BuddyPress Wake Up Sleepers s’en chargera ;)

  1. Hey, I am your huge fan. I love your plugins. You are awesome.
    I want to suggest you can you please create a plugin something like …
    I want to add a service for group member & group admin to write a quick post for group. That post will be shown in that’s group activity stream. remember that will be a post, please do not understand it an activity update.
    by default it is not featured in buddypress.
    I know that it is possible but i dont know how to do it ?
    I am a beginner level programmer.

    Can you plesae please please create something like this…

    Please reply me.

    1. Hello Kapil,

      I need to finish some work around BuddyPress, then i’ll look in your direction. Thanks for your intersest in my plugins. I’ll get back soon.

  2. Hello Imath, j ‘ aurai plein de choses à te dire, déjà bonne année 🙂
    Comme tu peux voir dans mon adresse je me suis installé un buddypress mais en multisite et c’est là où çà coince, pas grand monde pour m’ aider sur ce type de projet et en français encore moins.
    Bref j’ai suivis pas mal de ton boulot et je te félicite d’abord pour tout ce travail fournit.
    Ce plugin’s je le bookmark au cas où les membres commenceraient à se reposer sur leurs lauriers.
    Au plaisir de pouvoir échanger avec toi et bonne continuation.

      1. Salut Imath le problème est que l’admin m’ a banni parce que je l’ ai contacté en privé et je lui ai dit que je viens de Clamart comme lui. Faut se détendre un peu mdr 🙂

  3. Je m’disais bien que le style de ce graff m’disait quelque chose 😉 bon choix cette illustration, d’ailleurs certains d’entre nous étaient proches d’eux à la « bonne époque », traverser 2 ou 3 champs, suivre la Seine, pas si loin mais attention ce n’est pas trop Versailles là-bas

    Bref… je retourne à BuddyDrive 😉 je ne vais pas non plus me mettre à poluer tous ces articles, avant même de les lire

Les commentaires sont fermés.