Skip to:
Content
Pages
Categories
Search
Top
Bottom

Forum Replies Created

Viewing 25 replies - 1 through 25 (of 152 total)

  • Renato Alves
    Participant

    @espellcaste

    Before diving into technical or feature suggestions since as a developer I’m automatically wired to go via that route, I thought about asking non-technical people about the product, BuddyPress, itself.

    I recently participated in the WordCamp US and had the chance of talking to a few people, besides conversations I had online (Slack, etc). I think the overall feedback I gathered is that BuddyPress needs to find its product-market fit.

    ## Product-market Fit

    The overall argument is that BuddyPress made sense when it was created because organizations needed a unique social network. Nowadays this is easily solvable with other tools that weren’t available at the time like Slack, Discord, Telegram, Facebook Groups, etc.

    It’s much easier now to create social communities/networks using those tools than using BuddyPress. So as a project, we are not only competing against other open source projects but also with big companies which provide a solution to this problem in a much better way.

    So far, all the conversation I’ve read about this issue sort of understands this new reality but the solutions presented miss this important point. So finding a new “place” for BuddyPress in this new scenario might actually be the most important thing we can do and that will define how we spend our resources going forward.

    ## BuddyPress’ problems

    ### Complexity

    Before I became a BuddyPress contributor, I used to build small communities for clients. One of the first things I noticed about this niche was that all communities were the same but different. There was always a small tweak or a small feature on top of an existing component needed. BuddyPress was perfect for business. Clients didn’t know how to do it, so they hired me to build or extend it for them.

    Even to this day, I still think BuddyPress suffers from this “problem”. If you are not a developer, BP is too hard to change. In BuddyPress’ marketing, it sells itself as flexible software, which is, but only if you are a developer extending or building something on top of it. Not to the regular users that install or try to use it.

    I think this is an area where other tools thrive in comparison. People don’t usually build social networks with BuddyPress because it is open source. That also includes WordPress. They use WordPress because it is easy, a good solution for a problem at hand: “how do I make my own dam website?”.

    Quoting feedback I got recently:

    Every good product is a tool that helps people execute their creative vision, saves them time on boring tasks, or entertains in some way.

    On top of that, BuddyPress is still considered expensive to many, be that due to the need to hire developers, to buy themes and plugins to accomplish their creative vision.

    ### Feature Set

    I think BuddyPress has a strong foundation of features to create a social community. But as mentioned before, users are trying to execute this creative vision, so there is always something more needed.

    This is an area where BuddyPress lacks as a project and in extensions (plugins that add features to BuddyPress) as well.

    The most emblematic examples are the Follow Feature and the Media component. The first one because it is so basic in the land of social networks. And the latter in the lands of Instagram and photo apps. But the core BuddyPress plugin lacks both.

    On top of that, features/components are pretty hard to integrate or extend as mentioned. Whereas other tools, provide an almost seamless experience, a rich set of features in a Jetpack-like style where you only need the click of a button to get something working and showing in the default theme.

    ### Conservatism

    Here speaking as a contributor and observer of both WordPress and BuddyPress.

    BuddyPress is still too conservative when it comes to changes or new features, however small they are. There seems to be a philosophy or approach that it’s practiced not against change but I’d argue that it is an almost “orthodoxical” concern to changes and new features which in my opinion is impeding the project to evolve.

    A recent example was the introduction of PHPCS support which to me it would be considered a no-brainer but that it took more time to convince than I anticipated or expected.

    And this is also an overall theme with BuddyPress. I see a willingness of the project to experiment and a desire to evolve but we still move at a very slow pace (even in the heyday of the project).

    There is a “desire” to change and evolve but over years I also see a hesitation which “drags” the project a little bit.

    ### Low number of contributors

    BuddyPress has been suffering from a low number of contributors in recent years. The reasons for that could be varied. It is also not clear if that’s actually a big problem for the project. I’d argue that it is not that big.

    But it is clear that identifying what’s turning possible contributors away is a very good first step. And what we can do to revert that.

    ## Finally, some suggestions for the project

    ### Decide on a product market fit

    This should have a high priority. Whatever we decide here will dictate how resources will be spent. What features will be built. What areas will have the most attention. IMO, this might be the most consequential decision for the future of the project.

    ### Improve the feature set

    As mentioned previously, basic features of a social network are still missing in BuddyPress. Privacy, social networking, and following features are all missing. In the past, the argument I’ve always heard/read was that those features were better off served by plugins. Whereas users would be more likely to expect them inside the core plugin.

    So I think BuddyPress needs a more complete set of social networking features. And that those features should be more integrated with each other and other parts of the site.

    h3. Improve the project’s marketing

    I think we need to do a better job of marketing what we offer. Not only look and feel but also of presenting information to the user.

    That’s it! Not a lot of suggestions but I’m purposefully not adding technical suggestions to the project because I feel this is secondary. As long as we do not get into a new product market fit, we might not be addressing the real issue of the project.

    =)


    Renato Alves
    Participant

    @espellcaste

    This requestion seems similar to this issue we got here: https://github.com/buddypress/BP-REST/issues/449#issuecomment-1196139043

    I’m able to use the provided function in that documentation article and get the proper response.


    Renato Alves
    Participant

    @espellcaste

    Awesome! Sorry for not seeing that at first. In my tests, I always get an array for bp_get_option( 'bp-active-components' ), so I did not see it as a possible bug at first.

    Glad we sorted this out! =D


    Renato Alves
    Participant

    @espellcaste

    Could you also type cast this as an array? On line 98.

    $active_components = apply_filters( 'bp_active_components', (array) bp_get_option( 'bp-active-components' ) );

    I think this is coming as a string where it should be an array.


    Renato Alves
    Participant

    @espellcaste

    @wcholbi Odd! Could you var_dump the $active_components as suggested below?

    var_dump( $active_components );
    if ( 'optional' !== $type && ! empty( $components['core'] ) ) {
    	$active_components['core'] = '1';
    }

    Renato Alves
    Participant

    @espellcaste

    @wcholbi Thank you for trying that again.

    I’m still unable to replicate this issue but I think I know why that’s happening. Could you apply this patch and test it?

    if ( 'optional' !== $type && ! empty( $components['core'] ) ) {
    	$active_components['core'] = '1';
    }

    Renato Alves
    Participant

    @espellcaste

    @wcholbi Could you share the error you are getting after applying my patch?


    Renato Alves
    Participant

    @espellcaste

    @wcholbi I’m able to replicate the issue and I have a fix for this here: https://github.com/buddypress/BP-REST/pull/450

    Thanks for reporting the bug.


    Renato Alves
    Participant

    @espellcaste

    The activation key is necessary to avoid spam users in your community. It is an intergral part of BuddyPress and I wouldn’t recommend removing it.


    Renato Alves
    Participant

    @espellcaste

    The main reason to use the hook is in case another plugin or yourself try to reinstall the emails. If one does that, that email you showed creating will be deleted and you will have to recreate it by hand again. That doesn’t seem to be desireable.

    Also, creating via the hook, you can use the correct name when sending the email. You say you read it but your last question implies you don’t know how you are doing and seems to be trying a try and catch attempt. Meaning, trying something and seeing if it works.

    I’d recommend doing in the BuddyPress way, the correct way, to avoid problems in the future when upgrading BuddyPress or reinstalling emails.


    Renato Alves
    Participant

    @espellcaste

    Hi! Hard to say only looking from the outsite. To really confirm what happned requires looking at the code and database. So, I guess you won’t get valuable feedback here.

    I’d recommend asking your developer to check the code. See if something changed, a plugin or custom code. Because with the provided information, it is unlikely someone will do more than guess.

    🙂


    Renato Alves
    Participant

    @espellcaste

    Hi Folks!

    I agree it is not that easy to add a new situation or a custom email. That requires custom code and a bit of knowledge of BuddyPress internals. Also that’s not documented anywhere. This is just not an area that a lot of devs look for.

    Anyway, fair to say you can hook into bp_core_install_emails and install your own emails and situations. I recommend you look at the code to know what to do to add your own email and also your custom situation: https://github.com/buddypress/BuddyPress/blob/990a4c7cf65d4e05a9a26a0a97fc9ebe276f5e4e/src/bp-core/admin/bp-core-admin-schema.php#L503

    About the email not being sent. It is important the new template has the proper name. single-bp-email-{custom-name}, if you are creating a custom e-mail, that’s how your new email template should be named for.


    Renato Alves
    Participant

    @espellcaste

    If there is, I’m not aware of it. I’d recommend searching on https://wordpress.org/plugins/ or googling it.


    Renato Alves
    Participant

    @espellcaste

    I’d confirm if your fields validation is front-end or back-end. Also, check the pages that are open to registration and the BP REST API, if any plugin is opening up for signups.


    Renato Alves
    Participant

    @espellcaste

    There is a way, but requires custom code/development. BuddyPress is flexible enough to allow you to do whatever you want.


    Renato Alves
    Participant

    @espellcaste

    Oh, I see! You can use the same hook and create your own email doing what you just wrote.


    Renato Alves
    Participant

    @espellcaste

    I think this is more of a preference than a requimenent. One could think that if the user is already logged in, he already has the necessary permissions to delete it, so why ask the password another time.

    Social medias sites like Facebook and similars, ask that to make it harder for a user to delete their own account.

    So I don’t think this is a BuddyPress core issue. You can certainly add another field requiring the password on your social site before deleting the account.


    Renato Alves
    Participant

    @espellcaste

    This is already the default behavior. Here is the code that fires a email when someone request to add someone as a friend: https://github.com/buddypress/BuddyPress/blob/d44e81fd40e4e9e48fc599836d311cf2752f9f34/src/bp-friends/bp-friends-functions.php#L858

    I’d recommend you to confirm if something is disabling that. Maybe the emails are not set up correctly or a theme or plugin is avoiding that to happen. Could be anything.

    This needs more investigation.


    Renato Alves
    Participant

    @espellcaste

    Hi @meganelford,

    basically, your developer is requesting information so that the app can authenticate with the BuddyPress site. Due to the fact users are authenticated, the app needs permission to authenticate using those keys you mentioned.

    To make that happen you would need to have a token or oAuth plugin setup on your buddypress site. After that, create those API keys and provide to her.

    Here are a few plugins you could try:

    JWT Authentication for WP REST API

    WordPress REST API Authentication

    Application Passwords


    https://github.com/WP-API/jwt-auth

    Just be aware that whatever choice you make, there will be a learning curve.

    Also, I’d recommend checking how the API will affect the intranet nature of your site. For example, if you intranet is private (the front-end of the site), current BuddyPress API is open. Meaning, some information is open to the public (not logged in information, of course).

    Just something to keep in mind. Hope this answer your question, or at least, provides you with next steps (install the plugin and pass the keys information to her).

    🙂


    Renato Alves
    Participant

    @espellcaste

    I’d recommend searching here: https://wordpress.org/plugins/


    Renato Alves
    Participant

    @espellcaste

    Could you elaborate on that? Don’t understand the request.


    Renato Alves
    Participant

    @espellcaste

    Awesome!


    Renato Alves
    Participant

    @espellcaste

    I don’t think there is a corelation. Maybe there is but it might be too specific for your theme.


    Renato Alves
    Participant

    @espellcaste

    There is no filter with this name. I think you mean an action:

    add_action( 'bp_core_activated_user' );


    Renato Alves
    Participant

    @espellcaste

    Even with the BuddyPress CLI, this isn’t feasible. The best option I can think of is you creating a custom command or script to iterate the users and add and accept each other’s friendship requests.

Viewing 25 replies - 1 through 25 (of 152 total)
Skip to toolbar