Introducing Facebook Like User Activity Stream(Home activity feed) for BuddyPress Based Social Network
We all love BuddyPress. It's an awesome plugin which brought a new era in social network development(partially because of the popularity of the WordPress platform and mostly because of the awesome core developers/community). Since the philosophy of BuddyPress is centred around openness, It does not limit the activity to your personal preferences(like showing all the relevant activity on a single page(friends/ user's /user's groups activity). It does show them, but they do not give a feel of stream you see on most of the social networks(like Facebook home page, or your orkut home page etc).
In past, many of the members here(as well as I got some mail with suggestions) to streamline all the relevant activity content for a user on a single page.
Today, I am introducing the plugin Facebook Like User Activity Stream for BuddyPress. It is a step towards the right direction. You can use it with a few other plugins to make a social network just like the famous ones. It simply aggregates all the relevant activity for the users on a single page. Right, you can see your updates/your friends update/Your groups update on the same page(as is the case of facebook feed for user).
- Aggregating and Providing a familiar page to users where all the relevant activity are aggregated
- Clicking on Username automatically redirects to His/Her stream
- And yes, It limits the view to logged in user for their own network, just like the other social networks do
Here are a couple of screenshots to demonstrate its use:-
Visiting Own Profile:-
You can see the stream link as well as the activity of a private group being shown on his/her profile
Here is what you see if you visit other user's profile(This is just normal, I am trying to show the difference of the visibility of private activity)
and another screenshot where the updates from groups are shown on the same page even if the users(whose updates are visible) are not friends of the logged in user.
It is most useful if your users are coming from one of the existing social network. they will find it much more intuitive.
My screen shots may not give you the feel of actual potential of this plugin, Installing and using it yourself will give a much better idea of what it can do.
Looking forward to hear your feedback and help you further.
P.S.: Currently this plugin is available to the BuddyDev premium members only. Thank you all for your generous support.
I've always converted the Activity Directory stream to be the feed…can this plugin be worked where this custom stream can be added to /activity template and not the user profile? I think this plugin is great but I don't like loading up on plugins, it's too bad this basic behavior isn't included in BP.
very good point.
Currently, I was trying to emulate the fb feed on profile but it can certainly be extended to do so on directory page. Will add that next week.
So, where is the update ? 😉
sorry I was too busy with the 1.5 updates of our plugin. Will have an update in 1-2 days.
Just added this, is support there yet for having this on the Activity stream directory page?
I'd love a FB feed on directory page too !
nice one @brajesh… looking forward to the one next week too… like you commented above… so that this can come on on the directory page too… but nonetheless, very nice!
@sbrajesh just using it and observed a couple things: if there is an activity that reflects on each users "personal" stream… then, that would get repeated TWICE with this new plugin… for eg, lets say user and user 2 become friends… then user 1 can see user2's activity… and user 2 too can see user 1's activity… until there its good. But after friendship… user 1 and user 2 are notified individually… so, with this new plugin.. it comes out twice. but yeah.. i like it. good stuff!
it comes twice to the user who accepts the friendship request
Just installed this and immediately get an error?
Fatal error: Call to undefined function friends_get_friend_user_ids() in /wp-content/plugins/fb-like-user-activity-stream/bp-fblike-activity-stream.php on line 98
Have to enable BP friend module…
That is correct for the current version. Another version which is in update will remove this dependency.
I installed this plugin, but it not work in my site: http://www.milpages.com/members/adammulholland/ 🙁
sorry for delayed reply. Please check if your theme's activity page has bp_ajax_querystring( 'activity' ) in the loop. Also, are you using any plugin to manipulate the activity and the last one, make sure you are testing it with buddypress 1.2.9
Is there a way to make "your stream" as the landing page when a person goes to his or her own profile. Right now I have the "all activity" as the landing page as per your code added to bp-custom.php
I hope, you resolved it as you posted in forum.
The testing version for BuddyPress 1.5 makes it default tab.
How would you display this inside a page ?
currently I have not put anything to make it embed in a page. Will look if that would be possible using shortcode.
Two questions about that smart plugin:
1) "Your stream" seems to be a collection of all activity of a certain user, so why it is available when viewing my profile only, and not when wiewing other profiles? Is there any way to enable that kind of functionality with Facebook Like User Activity Stream?
2) Is it possible to make "Your stream" a default stream for logged in users? I just want to use it on the default Activity page. Or this is something that can be achieved with modification of BuddyPress activity stream loop in the theme?
Thank you for the comment.
1. Since in future the privacy may change the way it is shown. Also, It shows you your all activity(including the private one and the activities from your groups which may not be yours activity)
2. That is part of the current download. If you have no updated, please update.
Hope that helps.
I'm dying to use your plugin, but for some reason it won't appear in my widget page. I've uploaded both ways (through add plugin, manual upload) and deactivated all plugins, but it still won't appear.
I'm stuck – Any ideas?
this is not a widget. I guess you were commenting on some other posts. Please let me know if I am mistaken.
Hi Brajesh, it is working on my site however there is the old (activity) button (or /activity) where user can still see all members activity. I am also using nipponmonkey's "buddypress private community" plugin and landing the logged in user to (/activity) and that is where i want "user stream" to be.
Just discovered a major privacy problem with this, Brajesh. When the plug-in is enabled any activity by your friends in their private and hidden groups gets shown in the public stream. Loved the idea of the plug-in, but this has gotten me in a lot of trouble. Buddypress itself once had the same problem, but it was apparently fixed in v1.3. Any emergency advice?
Sorry for publishing this comment late.
the problem was fixed in the latest update of this plugin.
Thanks to @slips111 for all the help and feedback on the forum.
Hi Brajesh, great plugin but I'm facing a problem. I'm using RS Buddypress Activity Refresh and after installing FB Like User Activity, it works fine with all of activity subnav items except "Your Stream". I guess there's some code to add to resolve this problem, but I am trying to understand what to add and where to add it, but I can't get any clue. Can you please help me? Thanks!
Brajesh, please ignore my previous comment, now everything seems fine (server issues, maybe?)
Thanks you. Glad you fixed it 🙂
Two things. 1. I'm using the Follower plugin instead of having the core Friend component active. It looks like the plugin doesn't work without the Friend component active, is that correct? I had hoped that even if the plugin didn't aggregate followers, it might still provide group and forum activity. 2. Not sure if anyone else is seeing this, but on my profile page (and another subscriber level user I tested on) the new wordpress toolbar disappears if you have the buddybar disabled and are using the WP bar exclusively. The toolbar appears in other views (Activity, Groups, Members, etc) but on your own profile, the bar vanishes.
I had this same issue with using followers instead of friends and I got it to work by changing a few lines of code in the plugin. You need to change this line: $my_friends=(array)friends_get_friend_user_ids($bp->loggedin_user->id); to this: $defaults=(array)bp_get_following_ids($bp->loggedin_user->id);
Then the following line from: $my_friends=$bp->loggedin_user->id; to: $defaults=$bp->loggedin_user->id;
Lastly change the arguments from: $args['filter']['user_ids']=join(',',$my_friends); to: $args['filter']['user_ids']=join(',',$defaults);
Everything should work fine with the followers plugin now. Hope this helps 🙂
Thank you Dario.
I will include it in next update. Hoping that your comment helps others for now 🙂
That seemed to work for the most recent 20 items, although when I hit the Load More button at the bottom, all I get is my own content again, and not the content from "my stream". The other question I have is when I download the plugin, that second change you suggest seems commented out (//). I've included a screenshot using Coda, which turns comments green: http://screencast.com/t/xodCmiBFf0Ow Note line 99.
I think I see the cause of the "Load More" issue. When you visit your profile, whether through virtue of the Redirect to profile plugin, or by clicking on a profile link, you are taken to domain.com/members/username which when this plugin is active displays the My Stream content by default, but when you click on Load More, Personal content is displayed. You can fix this by clicking on the My Stream submenu, which takes you to a different URL domain.com/members/username/activity/my-stream-activity/. From this URL the Load More script works without issue. Is there a way to change the default page that appears when you visit your profile to the second option? I thought perhaps the define( 'BP_DEFAULT_COMPONENT', 'whatever' ); from the buddypress codex might work, but think that this might create a conflict as it's trying to control the default component you would see when you visit any profile, not just your own.
The problem will arise if you are using any redirect plugin. Otherwise this plugin does contain the way to redirect to my stream page by default.
That makes sense. I'm actually using your redirect to profile plugin. Is there a way to have my cake and eat it too: redirecting everyone to their profile and defaulting to the my-stream page? Probably asking too much here eh? Thanks.
Just updated to BP 1.5.5, and the plug-in immediately broke my site: Fatal error: Call to undefined function bp_is_my_profile() in /home/me123/mysite.com/wordpress/wp-content/plugins/fb-like-user-activity-stream/bp-fblike-activity-stream.php on line 140
The problem is not with this plugin(Though In future, I will improve it to not cause error when BP is disabled), The problem will appear if you have upgraded BuddyPress from dashboard. The upgrade process may deactivate/activate BuddyPress for a monet causing the errors. I suggest to upgrade BuddyPress using FTP which is much better and convenient.
Does this work with the activity directory yet?
I just downloaded your plugin and it works perfectly! Very nice.
But when i visit a 'friend' user, i cant see 'your stream' tab only his 'persona' tab and the normal buddypress tabs? Is this not featured (yet?) or maybe a bug in my setup?
Is there i way i can let people view each others streams if friends profile's? Cause now i can only view 'friends' personal things instead of all their activity in 1.
Thanks in advance!
When I click to my username it goes straight to Personal activity as default and not the "My Stream" tab. Any chance to make My Stream as the default one to be loaded upon clicking?
That behavior has changed with BuddyPress 1.6.
We may need to wait for a fix on bp_core_new_nav_default.
I will be putting a ticket on trac today and hoping to get a fix in the next minor update of BP.
So it means there is no workaround for this at the moment?
There is a work around but that disables personal activity. will that work for you at the moment? if yes, please do let me know.
That would be fine for me. I wanted to hide personal activity anyway since my users are getting confused with these two =)
Just updated to version 1.0.7 and it will work as we discussed. Please download and let me know if that works for you.
Hi Brajesh, It's working just as I wanted. Thanks for the quick update =)
I found after activating the plugin, I would get a 404 error when going to my member profile.
I commented out the following line in the plugin:
Which fixed the error, but the stream page was not the default, so I then added an extra hook, based on this code snippet: http://codex.buddypress.org/developer-docs/functions/core/bp_core_new_nav_default/, with the correct hook Priority value.
I downloaded the plugin and installed it. Looks great except the fact that delete link appears on the stream page. It means that the user can delete everything that appears on the stream. I cannot get the delete link to be filtered and not appear. Any thoughts?
I just tested it. The delete link only appear if you are the site administrator or the creator of that activity item. Otherwise, It will not appear.
I really like this plugin. Good work!
Thank you Kevin 🙂
I would like showing your fb-like stream in another page, either using a shortcode, or a dedicate page template. Do you have an idea of a neat way to do so ?
I am sorry but it has certain dependencies on the profile component, so It is not feasible at the moment.
For some time ago you had this plugin (Twitter Like User Activity Stream For BuddyPress) on your site. Where can I find it?
I am sorry but I don't remember having a post like that. It seems like a nice idea though 🙂 My be i can look into it next week 🙂
Could you please clarify this, Brajesh? I was a premium member for several months and only use this plugin for yours. Now I can't get updates (the plugin no longer works), and I see in your FAQ that you can't get updates unless you're a premium member. So do I have to pay $120 per year just to keep this plugin working? Is that how this works? Thanks a lot.
Last try: is there any way to get updates for this plugin? Thanks.
Someone at last night's WordPress meetup asked if anyone knew of a plugin that would allow site visitors to "like" AND rate (5 stars) entries streaming in the Activity feed. Is there such a plugin? Thanks!
Does this work with BuddyPress Activity as Wire?
I don't see any conflict with that plugin. can you please be more specific. If you mean showing that a user was mentioned by another user in user's friend's activity stream, then no.
I really like BuddyPress Activity as Wire. What I was trying to do was use that plugin to have the "activities wall" while aslo using this plugin. Would that make the functions of BuddyPress Activity as Wire not work the same? Thanks.
Great plugin! But I am wondering if you ever plan on implementing the same "Your Stream" layout for when viewing other users profiles like it is on Facebook? It would be much easier and better looking if the stream was on everyone's profile rather than just your own since it confuses users that other peoples activities are different from their own. Please let me know if there is anyway to implement the stream site-wide.
Also, is it true that you can only upload the plugin if you are a current member? It seems really crazy that I would buy a plugin and then have to re-purchase it every time an update comes out, if that's the case then this is going to be the most expensive plugin on the market! I hope this isn't the case…
Should the people's streams that you are following when using BuddyPress Follower plugin appear in the main activity? This is not happening for me when using Facebook Like User Activity Stream for BuddyPress
Apologies for the delayed reply. Yes, They will appear if you have friends component disabled and only Followers enabled. If both are enabled and you still want the activity of the people you follow to be included, in that case, please take a look at the code here.
PS: Please use forums in future to allow me or others help you quickly.
Is there a way I can easily remove 'profile updates', 'joined group', and 'new friendship' activities? I've tried just about everything and I can't seem to accomplish it.
Thank you for the comment.
I posted a tutorial on how to do it. Please see here
Hope that helps.