Skip to:
Content
Pages
Categories
Search
Top
Bottom

Default Activity Streams Are Backwards IMHO


  • modemlooper
    Moderator

    @modemlooper

    What I mean is when you click the activity stream, group, forums etc. It shows you a list of sitewide activity. I suggest this not be the default BP method and only show your stream by default.

    Scenario: if you logged into facebook and it showed you the activity stream of 400 million people. Would you care about all this information? NO. So why does BP act this way.

    Solution: Have BP users own activity stream as default and if you are new and have no activity or do not belong to groups then show a prompt to join groups or create activity.

Viewing 16 replies - 1 through 16 (of 16 total)

  • gregfielding
    Participant

    @gregfielding

    Great idea…think of the customization options that this could bring…

    Logged in users could see activity from their friends, groups, blogs they “follow”, and even sitewide posts by certain category or tag.

    Maybe there would be defaults where certain “top news” posts are displayed to everyone. (which would be incredible for my real estate site)

    It could be like an igoogle page…


    modemlooper
    Moderator

    @modemlooper

    I’m noticing so much noise in the default streams to the point of it being a turn off to log into a site. If people want you in their stream they will add you. Just like on twitter.


    gregfielding
    Participant

    @gregfielding

    As simple solution that would work for my site would be to have an administrator (or editor) select which activities show up on the stream.

    This tweak would basically turn any community into a magazine/news site and it would turn down the “noise” in big communities.


    @mercime
    Participant

    @mercime

    Haven’t tried changing it yet, but I would start with adding some filters/changing parameters

    https://codex.buddypress.org/developer-docs/custom-buddypress-loops/the-activity-stream-loop/


    modemlooper
    Moderator

    @modemlooper

    define( 'BP_DEFAULT_COMPONENT', 'profile' );

    I was thinking maybe there was a function like above that could switch them


    MrMaz
    Participant

    @mrmaz

    @Modemlooper

    It sounds like what you are wanting people to see by default is their profile activity tab. Why not just hook into the routing somewhere and redirect the home link to the user’s profile home?

    You would have to do something like:

    1. Create a dummy page that is set to home in settings->reading so that blog and activity have their own tabs.

    2. Intercept loading of the home page and load the user’s profile instead.

    This is just a direction to go in, it may not be possible.


    John James Jacoby
    Keymaster

    @johnjamesjacoby

    /* Bounce user to their profile when logging in */
    function custom_login_redirect_to_profile( $url, $isset, $user ) {
    return bp_core_get_user_domain( $user->ID );
    }
    add_filter( 'login_redirect', 'custom_login_redirect_to_profile', 11, 3 );

    You could also make a child theme of your own, and use home.php as members/single/activity.php. Or instead of using home.php, make a custom page template and assign that page as your front page.


    modemlooper
    Moderator

    @modemlooper

    It’s not about the front page after login. It’s about the default views of landing pages being overloaded with noise. People do not like this.

    Instead of showing the all members activity as the landing when you click the activity tab it would make more sense to show your friends only first. This is the default way that FB and twitter works.

    so the sub nav would be some thing like this instead. So that the major noise is not the focus. If you are new to site and you click activity the prompt should say. “You don’t have any friends why not add some or ‘link’ view the site wide activity”

    My Friends (1)

    My Groups (5)

    My Favorites (1)

    My Links (4)


    @admin
    Mentions

    All Members (3)


    Nick Watson
    Participant

    @nickbwatson

    in bp-activity-templatetags.php within the buddypress plugin folder, I found the following ‘scopes’:

    if ( 'just-me' == $scope || 'friends' == $scope || 'groups' == $scope || 'favorites' == $scope || 'mentions' == $scope ) {

    Each of these has a case and it discribes which scope needs to grab each activity feed.

    So now all we need to know is how to set a scope within lets say the “activity-loop.php” in your theme folder and then it will grab the “friends” scope and the “friends” activity feed.

    I don’t know how or where to call the scope but I’m going to take a wild guess and say that it’s here:

    <?php if ( bp_has_activities( bp_ajax_querystring( 'activity' ) ) ) : ?>

    Within activity-loop.php.

    Let me know if this helped, or just confused everyone.

    Thanks


    paulhastings0
    Participant

    @paulhastings0

    Sorry about bumping an ancient thread but @modemlooper , did you ever find a solution?


    modemlooper
    Moderator

    @modemlooper

    Moving the ‘All Members’ tab to end?


    paulhastings0
    Participant

    @paulhastings0

    Did moving the “All Members” tab to the end of the list then make “My Friends” the default display?


    modemlooper
    Moderator

    @modemlooper

    how to do it was mentioned on here. I just ended up canning the main activity stream on the site I was building.


    calvinhsu
    Participant

    @calvinhsu

    Hi guys, I just searched and followed the links here.

    I tried moving the code for the “All activity” tab in a child theme, and managed to move the tab to the right of “@mentions” tab.

    The problem is although “My friends” tab is now the first tab and appears to be active by default (I added class=”selected” for it), but the rss feed area still displays sitewide activties.

    In my understanding, buddypress loads “all activities” when the activity page is opened, and by clicking tabs or setting filter in the dropdown menu, it filters the loaded activites.

    So I guess if there is code for filtering and displaying only “my friends” activities, so we could add the code right after bp loads all activities.

    Does this sounds reasonable? Anyone has any idea?

    In /activity/activity-loop.php replace:

    with this:

    `<?php
    $ajax = bp_ajax_querystring( ‘activity’);
    $qs = !empty($ajax)? $ajax : ‘activity&scope=groups&object=groups’;
    if ( bp_has_activities( $qs ) ) :
    ?>
    `
    This also works for other loops like groups-loop.php.
    Info about the parameters that can be used in $qs are described in the bp_has_activities() documentation

Viewing 16 replies - 1 through 16 (of 16 total)
  • The topic ‘Default Activity Streams Are Backwards IMHO’ is closed to new replies.
Skip to toolbar