BP My Home, c’est une révolution !

J’adore le dashboard de WordPress ! Il y a un petit moment de cela je postais ce billet qui proposait d’ajouter des widgets pour lire des flux RSS ou stocker des favoris. Pour profiter de cette interface dans laquelle on peut déplacer les éléments, les réorganiser : il faut diriger les utilisateurs sur le BackEnd de WordPress.

Aujourd’hui, j’ai le plaisir de vous présenter BP My Home !

Comme dirait un certain Steve : « C’est une révolution ! » – qu’est-ce qu’on peut se marrer avec mon fils en regardant son guignol sur la chaîne à péage. Avec BP My Home (et BuddyPress), vous enrichissez votre blog WordPress d’un espace équivalent au Dashboard et ce du côté FrontEnd.

A la découverte de iHome.. euh.. BP My Home !

Un dashboard côté front

Après installation et paramétrage par l’Admin du blog ou du réseau de blogs, BP My Home s’installe dans la zone membres de BuddyPress, juste avant les activités ssi l’utilisateur est loggé et qu’il est sur son espace à lui 🙂 .

L’interface de personnalisation du dashboard

En cliquant sur le lien « My Settings » ou « Mes Réglages », le membre peut activer/désactiver les widgets et éventuellement faire en sorte que son « My Home » devienne l’accueil du site (s’il est loggé).

Collapsible and movable

Il peut compléter l’organisation de son espace en déplaçant, minimisant les box. Automatiquement, lors de sa prochaine visite il le retrouvera tel qu’il l’a laissé 😉 .

Les Widgets

C’est pas le tout de fabriquer l’enveloppe, faut aussi s’assurer qu’elle fonctionne en d’autres termes qu’elle est prête à transporter des widgets..

    Donc je vous propose inclus dans le plugin

  1. un widget pour stocker vos flux RSS
  2. et un autre pour vos favoris 🙂
Réglages des widgets

En cliquant sur le lien « Configure » ou « Configurer » du header de la box du widget, l’utilisateur peut ajouter ses informations pour profiter des fonctionnalités du widget. Ici le stockage de favoris. Pour le widget « Mes Flux Rss » l’interface est fortement similaire

Zapping des feeds grâce au selectbox

Justement en parlant du Widget pour les Feeds, Il affiche les 5 derniers éléments des sites auxquels on s’est abonné tout en les classant chronologiquement. Il est également possible de filtrer sur un des flux.

Administration – BPMH Manager

Administration des widgets

Tout comme les plugins de WordPress, c’est l’administrateur qui rend disponible les widgets auprès des utilisateurs. Il peut les activer, désactiver à sa convenance !

Pour aller plus loin…

J’ai ajouté un widget exemple qui présente les 3 ou 4 fonctions et entêtes de fichier nécessaire pour son affichage par le composant. Pour l’instant, seules les tables natives de WordPress sont utilisables (sauf à soi même les insérer). Si toutefois, il y a un intérêt pour ce plugin, je rédigerai un nouvel article plus détaillé sur la manière de construire son widget 🙂 .


le 28/02/2011 : Version 1.2.1

Correction bug.


le 27/02/2011 : Version 1.2

Etant donnée l’importance de cette mise à jour, je lui ai consacré cet article.


le 01/08/2011 : la version 1.1.1 en détail

  1. Nouveau widget « Mes commentaires » ajouté, voir cet article pour plus d’info sur ce dernier
  2. Correction du bug générant un message php de type Warning
  3. Correction du bug sur l’apostrophe et les caractères accentués dans le widget Mon bloc notes
  4. Correction du bug concernant le tooltip rss si le membre connecté n’a toujours pas de flux rss sauvegardé dans son widget.

le 21/12/2010 : La version 1.1 est disponible 🙂

Quoi de neuf dans cette version ?

  1. La possibilité d’uploader ses widgets directement depuis l’administration WordPress (sous menu BPMH Manager du menu BuddyPress
  2. Il est désormais possible d’automatiquement ajouter un lien aux posts et pages du blog principal et du réseau de blogs permettant l’ajout du post ou de la page affiché aux widgets Mes Favoris
  3. En ajoutant le tag* bpmh_the_rss_button() dans les templates de votre site, un tooltip permettra de soit ajouter le flux dans le widget Mes Flux, soit utiliser le navigateur pour lire ce flux
  4. Correction d’un bug sur l’enregistrement des flux contenant & dans leur url

* exemple d’utilisation du tag bpmh_the_rss_button() dans archive.php, category.php, index.php, single.php, search.php :

<?php if(function_exists('the_bpmh_rss_button')) the_bpmh_rss_button();?>

Il est également possible d’ajouter des paramètres pour ceux qui souhaite utiliser des feeds différents de ceux générés par WordPress (ex: FeedBurner) :

<?php if(function_exists('the_bpmh_rss_button')) the_bpmh_rss_button('titre du flux', 'url du flux');?>

En passant remerciements à webdeveloperplus.com pour cet article qui m’a permis de me familiariser avec jquery-ui.

44 commentaires sur “BP My Home, c’est une révolution !

  1. Hello!Thanks your Great Plug!

    P My Home very good! but not IE ,But not perfectly in IE, Chrome.

    Chrome will become very long!
    Not compatible with IE, can not be used

    1. hi,
      thank you for this feedback. i’m going to check what’s wrong with chrome. As chrome uses the same javascript engine than Safari : it’s weird ! For IE, as i use a mac it will be more difficult.
      I’ll upgrade the plugin soon in order to fix these javascript problems.

  2. Hiya,

    Wonderful plugin and thanks! Just a quick question and sorry that I don’t speak French…

    What is the purpose of « my example widget »? As an admin or a user, I can’t find where to customize it, other other than turning it off.

    And how can users add more widgets?

    Thanks!

    DC

    1. Hi DC,
      Thank you and no problem your comment is not in french 😉
      The purpose of « my example » widget is to show how to create new widgets, so turning it off is actually the first thing i’ve done too on my website !! I added an explanation in english on how to use « my example » to start coding new widgets on the BP My Home BuddyPress Forum.
      Actually the way i built this plugin makes it impossible for a user to add widgets. The admin must first add the widget into the bp-my-home/widgets directory and then activate it thanks to the BPMH Manager into WordPress backend. Then the user can choose in my-settings page to add or not the widgets.
      On the other hand, the fact adding widget requires admin rights can avoid weird widgets to be added without admin control of its behaviour..
      I also wrote an explanation in french about how to build new widgets which includes a new one i called « bpmh notepad » that i’ll add to the next version of the plugin.
      When i’ll find some time, i will add a widget uploader to the BPMH manager to make things simplier.
      I’m aware that the utility of this plugin « out of the box » is limited and its usability strongly rely on the availability of a real widgets gallery..
      I’ll write some others (if you have any idea of widgets you are welcome !!) but i thought it was important to also explain to people how to create their own which tries to do the « my example » widget.
      Once again, thank you for your feedback and comment 😉

  3. très intéressé par votre démarche dans ce plugin qui rejoint mon objectif consistant à faire de la page « membre » de BP une sorte d’espace personnel pour l’utilisateur.
    Quelques remarques :
    – à partir du moment où l’utilisateur personnalise sa page « membre », il faut lui donner la possibilité d’en interdire l’accès aux visiteurs, logués ou non (fonction bp_is_home)en laissant à l’admin la possibilité de voir les pages de chaque membre.
    – saisir des URL de flux RSS ou de page est tout à fait rebutant et je pense que peu de gens le feront. En plus de la saisie libre, il faudrait donc donner la possibilité de choisir dans une liste pré-établie par l’admin. Pourquoi ne pas proposer les flux des catégories du site ? (voir ici : http://www.tipsandtricks-hq.com/wordpress-plugin-for-category-specific-rss-feed-subscription-menu-325)
    – même chose pour les favoris. Par exemple, mon blog comporte 700 articles. Les visiteurs seraient intéressés lors de leur navigation par enregistrer en favoris les billets qui les intéressent en vue d’une consultation ultérieure.
    Bien cordialement
    ls

  4. Bonjour LSM,

    Concernant la visibilité de la page « Mon accueil » au sein de la zone siteurl/members/user, normalement elle n’est visible que pour l’utilisateur authentifié et ce sur sa zone. L’admin ne voyant pas non plus les infos saisis par les utilisateurs. Votre proposition consiste donc à laisser le choix à l’utilisateur ou avez vous constaté que la page « Mon Accueil » était visible pour tous les utilisateurs ? Pour info, j’ai testé sur ma version de dév et si utilisateur loggés = zone membre affichée ou si utilisateur non loggé alors la page « Mon Accueil » n’est pas visible.

    S’agissant de la saisie des url, je suis d’accord qu’un automatisme serait intéressant. J’avais imaginé un autre moyen que de mettre à disposition des feeds dans l’espace de configuration du widget rss. J’avais pensé à un système se rapprochant de ce que vous décrivez pour la mise en favori. L’idée étant de créer une fonction qui permette effectivement de mettre des éléments du blog en favori et d’automatiser la souscription aux feeds du site à l’aide d’un système se rapprochant d’un tooltip à 2 choix. En gros lorsqu’une personne clique sur un lien vers un feed du blog, ouvrir un tooltip lui proposant soit de l’inclure dans le widget rss soit d’ouvrir le feed grâce au navigateur.

    Merci pour ces suggestions et votre commentaire.

  5. Bonjour Imath

    It is a very interesting plugin. However I would like to customise the template without modifying the plugin code, because any upgrades would overwrite my changes. Is this possible?

  6. hi @leo plaw,

    thanks for your comments. And happy you found the key to your need in the plugin forum.
    I will add this tip on this site and in the readme file as you suggested on the forum.

  7. Salut,
    j’ai installé la dernière version sur un site que je teste actuellement avec wp 3.0.3 et BP 1.2.6 (sous ma signature).
    le widget mise en favori donne une erreur de php Warning: Invalid argument supplied for foreach() in /homepages/44/d169008989/htdocs/test/wp-content/plugins/bp-my-home/bp-my-home.php on line 119

    sur ce site, je voudrais customiser le look de membrer/profil avec des widgets BPMH en fonction du rôle pris par l’utilisateur au moment de son inscription. Selon le user-type, on pourrait activer certains widgets/fonctionnalités, y compris les fonctions autour de la création d’un blog (wpmu). Je me demande si on peut s’appuyer sur le x_profile de BP (à la manière de Cindy) pour faire tout cela.
    je sais po
    a+

    1. No problémo 😉

      Concernant la deuxième partie de ton précédent commentaire, si je comprends bien tu souhaites filtrer les widgets disponibles en fonction de la valeur d’un x_profile et toujours en fonction de cela autoriser la création de blog. Je suis tenter de dire que tout est possible, mais concernant BPMH, il s’agirait de variabiliser le nom du champ car il sera forcément différent d’un network à l’autre et ensuite proposer une interface similaire à celle de la perso des sidebar widget de WordPress avec autant de panel que de « rôle » (ici le terme rôle est différent de celui de WordPress qui intègre une liste de wp_capabilities). Ensuite proposer un drag and drop… C’est assez ambitieux 😉

  8. Disons que je me sers de BPMH (widgetisation de mon accueil) pour distribuer aux utilisateurs des widgets MH à installer sur leur profil.
    Cette distribution est sélective selon le user_type : selon mon user_type, je dispose de la capacité d’installer tel ou tel widget BPMH.
    ca fait sens ?
    a+

  9. @LSM,

    j’ai une idée pour tester un dispositif alternatif. Je rédigerai un article dessus prochainement.

    En tout cas aujourd’hui la manière dont les widgets sont affichés dépend essentiellement de l’admin depuis BPMH Manager. Ensuite, c’est chaque utilisateur qui a la possibilité d’en sélectionner moins pour son espace depuis sa page ‘my-settings’.

    A+ 😉

  10. Just wanted to say thanks for the great plugin. I gave it 5 stars over at wordpress.org. You have a tip jar somewhere?

    1. Thanks @TastyTaste 🙂
      well you can try to edit /wp-content/plugins/bp-my-home/bp-my-home.php at line 144 by replacing the if statement by this one :
      if(!is_super_admin()) wp_redirect( $bp->loggedin_user->domain .’my-home’);
      the only trouble is that the user will always be redirected to his ‘my-home’ page and won’t be able to change that 🙁

  11. Why does My Home disappear from the My Account menu and then the only way to get it back is to go to profile view and then it’s back. Navigate to somewhere else like the Activity page and then it’s no longer in the menu?

    1. Hi Fro,
      I guess you’re talking about the top bar of BuddyPress. BP My Home only loads when the loggedin user == the displayed user. If you check the profile of a different user than the loggedin user, you won’t see his « my home » area. So as it only loads when on siteurl/members/userlogin of the loggedin user, the top bar nav follow this behavior.

  12. Hello!

    I have just discovered this plugin and I love it! I have been using an older version and created a few custom widgets for it.

    However, since I upgraded the plugin, I’m having a few problems…

    Widgets are no longer simple .php files in the widgets dir. There are only zip files now. I managed to install some of my custom widgets, but I’m not sure how to edit these. Are the un-packed versions of the widgets stored elsewhere? Can I modify them directly or do I need to pack/zip and reinstall every widget after making some changes?

    I’m also receiving an error message, if rss feed widget is not activated – the plugin is attempting to unlink the file bpmh-rss.zip, which doesn’t exists. This is not a problem for me, since I intend to use rss widget anyhow.

    One more question: how can I set the default values for the widgets (rss feeds and bookmarks) for newly registered users?

    Cheers,
    Leon

    1. Hi Leon,

      Widgets are actually stored in ‘/wp-content/uploads/bpmh-widgets’ (1) or if you upgraded from wpmu to wp 3.x ‘/wp-content/blogs.dir/1/files/bpmh-widgets’ (2). So depending on your config you can directly add your widgets dir there, then edit them. So you can avoid packing your widgets if you want.
      The error message you’re receiving is weird because, the unlink function is only fired if an upload successfully unzipped its content in (1) or (2) or if after « upgrading » a widget (because a zip file with the same name of the widget is in ‘/wp-content/plugins/bp-my-home/zip-widgets’) the files are correctly unzipped in (1) or (2).

      Finally for the default values
      1/ bpmh-rss.php, you can try to delete lines 104 to 109 and then add this code :
      <script type=’text/javascript’>
      rss_update_items(‘<?php echo BP_MYHOME_RSS_WIDGET_URL;?>’, ‘http://urlofyourfeed’, ‘randomalias’);
      </script>

      2/bpmh-bkmks.php, you can try to delete lines 70 to 75 then add this kind of code :
      <li><h5><a href=’linktoyourbookmak’>alias of your bookmark</a></h5></li>

      Thks for your feedback, i hope my answer will help you to make the plugin work like you want it to.

  13. Thanks a lot! I got it now.

    The ‘unlink’ error message is gone. Maybe it was an issue with caching or something like that after I upgraded…

    About the default values: I’m not trying to disable customizing the URLs, just fill the widgets with some initial suggestions, for newly registered users. I would still like both widgets to work the way they do (allowing users to add and remove URLs, including default ones). I think I’ll be able to do that by checking the source of both widgets and calling the necessary functions at registration process.

    1. Ok great !

      For the default values, if the user hover the box title he still can configure his links and bkmks. if you want you can add to the codes a small javascript that show the configure link do that people wont have to hover the title bar of the widget.

      anyway, as you will see, everthing is done into the lines i told you to delete. You’ll find the best way for you there 😉

  14. I Love this concept, but my plugins won’t unzip on my server. A permissions thing perhaps?

    ///
    Warning: unlink(/home/xxxxxxx/public_html/mywebsite.com/wp-content/plugins/bp-my-home/zip-widgets/) [function.unlink]: Is a directory in /home/xxxxxxx/public_html/mywebsite.com/wp-content/plugins/bp-my-home/includes/bp-my-home-admin.php on line 83
    /////

    Can I manually add them onto my server, and which directory to upload them into? Sorry for using you blogpost for commenting…. 😉

    1. Hi,
      Yes you can add the widgets manually. depending on from what wordpress you upgraded (wpmu or regular wp) the directory to add them is different. You should look for a dir called bpmh-widgets in uploads dir then add the unzipped folder of each widget. If wpmu, the upload dir can be blogs.dir/1/files.
      If bpmh-widgets folder doesnt exist then create it in uploads or blogs.dir/1/files.
      Hope it will help you to solve your trouble.

  15. Hi

    Great plug in.

    I just have a simple issue really – Where can I change the font colour of the text body. as the background is thesame colour – Please file name and line number.

    Thanks

  16. @John Oke

    To change the font color of the body, you just need to edit /wp-content/plugins/bp-my-home/styles.css.

    for example, you can add at the end of this file :

    body{
    color:red;
    }

  17. Hi!

    I love the idea of this plugin! Couple things:

    1) The « configure » link doesn’t seem to work on my install (running wp 3.2.1 and bp 1.2.9). When I click, nothing happens. Jquery conflict?

    2) I would love to see the bookmarks widget – and the RSS one for that matter – work only within the blog community. That is, instead of hand-typing each link, there could be buttons on blog home pages and individual articles that would add those pages/items to the bookmark list.

    What d’ya think?? That would be awesome, no!?

    merci,
    -jennyb

  18. Nevermind! Silly me! I hadn’t seen that that option is already there *doh*

    Autant pour moi.

    Fabulous plugin, mille mercis,

    -jennyb

  19. Hi @jennyb,

    Thanks for your comment.

    I’m currently working on a new version of the plugin as i found a bug in the rss widget when running on WP 3.2.

    To correct this bug before my upgrade you can apply this fix :
    http://buddypress.org/community/groups/bp-my-home/forum/topic/bp-my-home-wordpress-3-2/

    The configure link should appear when hovering the dragbox header (safari, ff and chrome ok). I know that with IE, it’s not : you need to move a little the dragbox to make it appear with this browser..

  20. Hello imath !!

    Tout d’abord je viens de découvrir ton plugin après déjà quelques bonnes semaines d’utilisation de buddypress. Je trouve abérrant quelle ne soit pas mise plus en avant par la communauté buddypress !

    Bref tu es juste un visionnaire, ce que tu as réalisé est somptueux, il est 5h du mat je suis sur le cul ahah 😀

    J’ai juste un souci, je pense que c’est un conflit Jquery, la fonction « drag » fonctionne pas :/

    Tu sais éventuellement d’où ça pourrait venir ? et quelles solutions ? 🙁

    1. Salut Bruno,

      Merci pour ton commentaire. Je suis un peu surpris que la fonction drag ne fonctionne pas. Je l’ai testé sur Firefox / Chrome et Safari… Seul Internet Explorer manque car je suis équipé d’un MacBook 😉
      Je vais enquêter !!

Les commentaires sont fermés.