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

Publié le

par

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 réponses à “BP My Home, c’est une révolution !”

  1. Avatar de time again

    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. Avatar de imath

      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. Avatar de imath

      Ok « time againe » Just checked Chrome on my mac.. it seems to work fine !! Can you be more precise on what’s not working ??

  2. […] BP My Home, c’est une révolution ! […]

  3. Avatar de DC
    DC

    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. Avatar de imath

      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 😉

  4. Avatar de lsm

    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

  5. Avatar de imath

    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.

  6. Avatar de Leo Plaw

    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?

  7. Avatar de imath

    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.

  8. Avatar de lsm

    bonjour imath

    à propos de notre discussion sur la mise en favori de posts du blog à stocker sur la page profil, il y a un plugin (un peu trop geek pour moi) qui a l’air adapté pour une intégration dans ton BP my home.
    c’est ici : http://www.kriesi.at/archives/wordpress-plugin-my-favorite-posts
    bien à toi
    lsm

    1. Avatar de imath

      Intéressant. Je vais regarder 😉
      A+

  9. […] plugin, or pour répondre à la suggestion et à l’attente de @association1901 exprimée dans ce commentaire, j’ai bricolé quelques fonctions à insérer dans le functions.php du thème actif. Aussi, […]

  10. […] BP My Home, c’est une révolution ! » Article » imath.. […]

  11. […] un nouveau widget pour mon plugin BuddyPress BP My Home qui permet d’afficher la liste des 5 derniers commentaires qu’un membre a […]

  12. Avatar de lsm

    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. Avatar de imath

      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 😉

  13. Avatar de lsm

    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+

  14. Avatar de imath

    @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+ 😉

  15. Avatar de W. Shaw
    W. Shaw

    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. Avatar de imath

      Well W. Shaw, thanks a lot for your rating 🙂
      and i dont have a tip jar.

  16. […] commentaires de ce blog, il m’a été demandé comment réaliser des adaptations du plugin BP My Home afin de “hacker” son comportement pour répondre à d’autres besoins que ceux qui […]

  17. Avatar de TastyTaste

    Great Plugin! Only question. Anyway can a Super admin set this so that every member is automatically sent to their home page when they log in?

    1. Avatar de imath

      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 🙁

  18. […] BP My Home est un plugin pour BuddyPress permettant à chaque utilisateur de personnaliser sa page d’accueil. […]

  19. Avatar de fro
    fro

    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. Avatar de imath

      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.

  20. Avatar de Leon
    Leon

    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. Avatar de imath

      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.

  21. Avatar de Leon
    Leon

    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. Avatar de imath

      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 😉

  22. Avatar de Ryan
    Ryan

    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. Avatar de imath

      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.

  23. Avatar de John Oke

    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

  24. Avatar de imath

    @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;
    }

  25. Avatar de Jenny Beaumont
    Jenny Beaumont

    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

  26. Avatar de Jenny Beaumont
    Jenny Beaumont

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

    Autant pour moi.

    Fabulous plugin, mille mercis,

    -jennyb

  27. Avatar de imath

    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..

  28. Avatar de Bruno

    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. Avatar de imath

      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 !!

  29. Avatar de ticle united

    Hey there,

    I can´t set bookmarks with Firefox-Browser.

    Could you help me with this problem?

    Thanks and greetings,

    ticle

    1. Avatar de imath

      Hi ticle,

      I’ll try. Can you explain a bit more your problem..
      Thanks.