Des rustines BuddyPress ??

Crédits Photo : Patched Tube by Morten Liebach, on Flickr

Je profite d’un bricolage maison pour inaugurer un nouveau mot-clé pour mon blog : « rustine ». Il regroupera les plugins ou morceaux de code (à ajouter au fichier bp-custom.php) liés à certaines fonctionnalités BuddyPress faisant l’objet d’une demande d’évolution dans le trac de la Core Team. Ces derniers auront une durée de vie plus ou moins limitée qui sera fonction de la résolution du ticket.

Au programme…

Présentation du nouveau mot-clé : rustine ?

Au sein du trac de BuddyPress, nous trouvons régulièrement des demandes d’évolution qui peuvent parfois nécessiter plus d’un cycle de développement pour être intégrées au coeur de BuddyPress. C’est le cas par exemple du ticket « Group Taxonomy (4017) » qui étudie la faisabilité de profiter des taxonomies WordPress pour proposer une fonctionnalité d’étiquetage par mots-clés des Groupes BuddyPress. D’ailleurs, si vous êtes un(e) fidèle lecteur(rice), vous savez que j’avais déjà expérimenté ce concept de « rustine » pour BP Groups Taxo.

Etant donné les derniers travaux réalisés dans le cadre de la version 2.2 de BuddyPress sur l’introduction de fonctions spécifiques à des « BuddyPress » taxonomies en relation avec la prochaine et très prometteuse « Member Type API« , il y a de fortes probabilités que le coeur de BuddyPress intègre prochainement cette fonctionnalité d’étiquetage des groupes, rendant le plugin BP Groups Taxo obsolète. Il était donc important de le « rustinizer » !

Rustinize BP Groups Taxo !

L’opération de « rustinization » consiste à ajouter une variable « marqueur » de la version à partir de laquelle le ticket ayant donné naissance à la rustine est résolu. Ainsi, lorsque BuddyPress sera mis à jour et si toutefois l’utilisateur a omis de se débarasser de la rustine, une vérification de ce marqueur stoppera l’exécution du plugin devenu obsolète. Inutile en effet de cumuler des fonctionnalités identiques.

Je vois plusieurs intérêts à ce travail personnel supplémentaire. Ces rustines permettent potentiellement :

  • de contenter les utilisateurs impatients et aventuriers
  • d’intéresser ces utilisateurs aux travaux en cours sur BuddyPress
  • d’éventuellement leur donner l’envie de contribuer, ou de tester des patchs *
  • de vérifier qu’une fonctionnalité a un intérêt réellement partagé par le plus grand nombre d’utilisateurs.

* Au sujet des patchs, si ça vous intéresse, faites le moi savoir dans un commentaire et je vous expliquerai comment je procède pour concevoir et appliquer les patchs du trac BuddyPress (ou WordPress d’ailleurs) à l’occasion d’un prochain article 😉

Un nouveau plugin « rustine » : BP Activity Replies

Je me suis intéressé au ticket « Comment notification NOT notified (6057)« . Sebacar nous fait part de ce qu’il a qualifié de bug : lorsqu’une activité BuddyPress est commentée, l’auteur de l’activité reçoit bien une notification email l’alertant de ce commentaire mais aucune notification d’écran n’est affichée dans la zone de la WP Admin Bar réservée à cet effet.

Lorsque j’ai regardé plus en détail la chose, même si à première vue cela me semblait relativement simple, un des aspects se révèle problématique. Je m’explique. Dans BuddyPress, lorsqu’une notification d’écran est créée pour un membre, qu’elle concerne un ou plusieurs éléments de même type, elle contient un lien vers une page listant tous les éléments. Par exemple, lorsqu’un membre mentionne un autre membre, la notification intégrera un lien vers la liste des mentions du second membre, c’est à dire la sous-navigation « mentions » de la page des activités du membre.

Or dans le cas des commentaires d’activité, une telle vue n’existe pas. Si vous allez dans votre profil, vous trouverez vos activités personnelles, vos mentions, vos activités favorites, les activités de vos amis, ou encore celles de vos groupes.. Mais vous ne trouverez pas la liste des commentaires que d’autres membres ont pu faire sur une ou plusieurs de vos activités. En effet, les commentaires sont automatiquement ajoutés dans chaque activité personnelle concernée.

Le « thread » des commentaires d’une activité

Bien entendu, tant que ma notification ne concerne qu’un commentaire d’activité, je peux faire en sorte que le lien de la notification pointe vers la page d’affichage unique de l’activité. Le problème se pose lorsque j’ai 2 activités différentes qui ont fait l’objet d’un commentaire. Dans ce cas une seule notification informe que 2 commentaires ont été postés sur une ou plusieurs de mes activités et le lien associé pointe vers ?? La page de l’ensemble des activités personnelles ?? Oui mais si le commentaire concerne une activité qui a été postée il y a 7 mois, les premières activités affichées ne refléteront pas la notification. Une nouvelle vue qui liste uniquement les commentaires apportés à mes activités semble requise pour résoudre la demande #6057.

Des notifications et une page d’activités particulière pour les membres

Considérons cette fameuse activité d’il y a 7 mois. Elle n’apparaît donc pas dans la première page de mes activités personnelles et nécessite, de ma part, plusieurs clics sur « En afficher davantage » pour la retrouver.

Un commentaire d’activité suivi d’une réponse à un commentaire.

Un premier utilisateur commente mon activité, puis un autre répond au commentaire du premier utilisateur. Je me connecte sur le site, équipé de notre rustine, et découvre une notification m’informant que 2 commentaires ont été apportés à mon activité. Lorsque je clique sur le lien, j’arrive sur une nouvelle page listant tous les commentaires de mes activités par ordre décroissant.

Liste des réponses à mes activités.

Et pour être certain que vous ne manquiez pas les commentaires concernés par la notification, la rustine ajoute un fond jaune! Voilà ma première réponse à #6057 sous la forme d’un plugin « rustine ». Si vous êtes impatients ou aventuriers, vous pouvez l’utiliser en attendant que la Core Team trouve la meilleure solution 🙂

Télécharger BP Activity Replies

1 commentaire sur “Des rustines BuddyPress ??

Les commentaires sont fermés.