BP My Home 1.2 !important

Publié le

par

Les mises en ligne successives de WordPress 3.1 et BuddyPress 1.2.8 ont quelque peu bousculé le développement de la version 1.2 de BP My Home.

En effet lorsque j’ai testĂ© le plugin sur cette configuration, je me suis aperçu qu’en apparence il fonctionnait toujours comme auparavant. Cependant lorsque je suis passĂ© en mode multisite, je me suis rendu compte qu’avec l’arrivĂ©e de l’environnement « network_admin », l’accĂšs au menu d’administration BPMH Manager n’Ă©tait plus disponible.

J’ai immĂ©diatement patchĂ©, et sur ma lancĂ©e, je me suis dit autant terminer ce que j’Ă©tais en train d’amĂ©liorer pour le mettre Ă  disposition quitte Ă  remettre Ă  plus tard d’autres fonctionnalitĂ©s (comme par exemple la possibilitĂ© d’enregistrer des activitĂ©s suite Ă  la mise en favori – en passant @tom_plays : merci pour la classe, ça sera dans la prochaine version) .

Ainsi, cette nouvelle version de BP My Home fonctionnera Ă  la fois sur WP 3.0 & BP 1.2.5+ et WP 3.1 & BP 1.2.8

!important : le changement majeur.

Avant d’upgrader, veiller Ă  faire un backup des widgets persos que vous avez Ă©ventuellement dĂ©veloppĂ©s et qui de fait ne seront pas inclus dans cette version. Lorsqu’on upgrade le plugin, WordPress utilise une classe pour unzipper le package et du coup ça supprime le contenu du rĂ©pertoire widgets pour le recrĂ©er avec les Ă©lĂ©ments du plugin.

Or ça fait un moment que je me dis que cette situation n’est pas top.. Aussi pour y remĂ©dier, le grand changement introduit par cette version est que les widgets ne seront plus dans un sous rĂ©pertoire du plugin. Ils seront dĂ©sormais dans le dossier /wp-content/uploads/bpmh-widgets.

Je suis donc heureux de vous annoncer, que c’est la derniĂšre fois que vous aurez Ă  faire ce backup pour vos widgets persos !!

Voyons désormais les différents cas de figure qui vont se présenter suite à cette mise en ligne sur le WordPress repository

Cas de l’upgrade d’une prĂ©cĂ©dente version de BP My Home

BPMH Manager Upgrade

Une fois upgradĂ©, il s’agira de se prĂ©cipiter sur l’environnement BPMH Manager de l’administration WordPress (sous-menu de BuddyPress) afin d’installer les widgets ou autrement dit de les dĂ©zipper dans le rĂ©pertoire /wp-content/uploads/bpmh-widgets que le plugin aura automatiquement crĂ©Ă©.

Pour cela, il suffit de cliquer sur les liens Installer ce widget. Pour ne pas oublier d’installer ceux que vous aviez activĂ©, une mention en gras vous indique que prĂ©cisĂ©mment ils Ă©taients actifs avant l’upgrade. Une fois que vous aurez cliquĂ© sur les liens, vous dĂ©couvrirez que ceux qui Ă©taient actifs le sont restĂ©s, il n’y a donc plus qu’Ă  uploader vos Ă©ventuels widgets persos 😉

Widget uploader

Pour cela, juste en dessous de la liste des widgets et comme illustré ci-dessus, vous pouvez simplement envoyer un zip contenant votre widget perso (donc un zip par widget). Vous pouvez aussi directement copier vos répertoires (donc non zippés) dans le dossier /wp-content/uploads/bpmh-widgets.

Cas d’une premiĂšre installation

PremiĂšre installation

La liste des widgets est sensiblement identique Ă  celle de l’upgrade sauf qu’Ă©videmment, comme il s’agit d’une premiĂšre installation, il n’y a pas le message qui vous indique que le widget Ă©tait activĂ©.

Il s’agit donc de cliquer sur les liens Installer ce widget des widgets que vous souhaitez intĂ©grer.

Activation des widgets

Ensuite, il s’agira de cliquer sur les liens Activer ce widget pour les rendre disponibles pour vos membres.

Pour les futures versions de BP My Home

Pour les prochaines mises Ă  jour

Lorsqu’une nouvelle version de BP My Home sera de nouveau disponible, suite Ă  son installation, comme les widgets seront toujours prĂ©sents dans le rĂ©pertoire /wp-content/uploads/bpmh-widgets, une mention vous indiquera qu’il est possible de les mettre Ă  jour.

What’s new ?

IntĂ©gration d’un nouveau widget : « Derniers articles ».

Widget latest posts

J’embarque donc le widget dĂ©veloppĂ© par @Georglob (merci Ă  lui pour ce petit bijou), tout en l’enrichissant d’une fonctionnalitĂ© multisite pour ceux qui jouent avec un rĂ©seau de blogs. Comme expliquĂ© sur son site, ce widget permet d’afficher les derniers articles postĂ©s sur le blog ou le rĂ©seau de blogs.

PossibilitĂ© d’intĂ©grer des traductions aux widgets.

Vous vous apercevrez que les language files sont dĂ©sormais dans les dossiers des widgets. J’ai donc rajoutĂ© un hook Ă  BP My Home pour charger les traductions Ă©ventuelles de widgets :

add_action( 'load_widget_language_files' , 'votre_fonction_get_locale' );

Pour les concepteurs de widgets qui souhaitent découvrir comment ça marche, je vous invite à osculter le widget exemple fourni avec le plugin

PossibilitĂ© d’utiliser un tag pour l’ajout du lien « Ajouter aux favoris » plutĂŽt que le filtre automatique

Les tags BPMH

Par dĂ©faut, j’utilise un add_filter(‘the_content’) afin d’ajouter ce lien au dessus du contenu de l’article ou de la page, dĂ©sormais depuis le BPMH Manager, vous pourrez choisir d’utiliser le tag suivant dans vos templates single.php et page.php afin de mieux maĂźtriser son positionnement.

<?php if ( function_exists( ‘the_bpmh_bkmks_tag’ ) ) the_bpmh_bkmks_tag() ; ?>

PossibilitĂ© d’ajouter du contenu aux templates my-home et my-settings

J’ai ajoutĂ© des hooks pour vous permettre depuis le fichier functions.php de votre thĂšme actif de plus facilement ajouter du contenu au dessus et en dessous de la page des widgets des membres et au dessus et en dessous de leur page de rĂ©glages :

//Au dessus des widgets
add_action( 'bp_my_home_before_widgets' , 'votre_fonction_au_dessus');
//Au dessous des widgets
add_action( 'bp_my_home_after_widgets' , 'votre_fonction_dessous');
//Au dessus des réglages utilisateur
add_action( 'bp_my_home_before_widgets_setting' , 'votre_fonction_au_dessus_settings');
//Au dessous des réglages utilisateur
add_action( 'bp_my_home_after_widgets_setting' , 'votre_fonction_dessous_settings');

VoilĂ , il ne vous reste plus qu’Ă ..

5 rĂ©ponses Ă  “BP My Home 1.2 !important”

  1. Avatar de Forge

    Bonjour
    JE suis entrain d’installer un buddypress pour mon employeur et je souhaitais donner une certaine libertĂ© sur le profil des utilisateurs grĂące Ă  BP My Home.

    L’installation s’est bien dĂ©roulĂ©, mais le dĂ©blocage des widget, grĂące Ă  cet outil qui parait effectivement trĂšs simple, ne se fait pas. Un message d’erreur fait son apparition :
    « Warning: unlink(/home/monblog/site/www/sourepertoire/wp-content/plugins/bp-my-home/zip-widgets/) [function.unlink]: Is a directory in /home/monblog/site/www/sourepertoire/wp-content/plugins/bp-my-home/includes/bp-my-home-admin.php on line 83 »

    Y voyez-vous une raison particuliĂšre qui pourrait ĂȘtre rĂ©solue ?

    Merci de votre travail et de votre temps.

    1. Avatar de imath

      Bonjour,

      effectivement y a un souci.. Ça fait plusieurs fois qu’on me remonte cette erreur que je n’arrive pas Ă  reproduire, peut ĂȘtre pourrez vous m’aider 😉 Les archives des widgets sont dans bp-my-home/zip-widgets et l’installation dezippe le widget dans le dossier bpmh-widgets de wp_uploads dir (uploads ou blogs.dir/1/files)
      Ensuite, l’archive zip est supprimĂ© de zip-widgets.. apparemment, dans votre cas le nom du widget ne passe pas, vĂ©rifiez qu’apache a le droit de crĂ©er des rĂ©pertoires et Ă©crire dans wp_uploads, Ă  priori je ne vois que cette explication.
      Sinon vous pouvez directement déposer les répertoires dezippé des widgets dans bpmh-widgets de wp_uploads dir.
      A+

  2. Avatar de Laurent

    Super extension, ce BP My home ! J’espĂšre qu’elle fonctionne bien avec WP 3.2 et BuddyPress 1.9 ? Je n’ose pas encore faire la mise Ă  jour…

    1. Avatar de imath

      Merci Laurent pour ton commentaire.
      J’ai fait des tests avec les beta, y a juste le widget rss qui a un javascript qui plante, voir ce post pour le patch : http://buddypress.org/community/groups/bp-my-home/forum/topic/bp-my-home-wordpress-3-2/