BP Dev-Chat Agenda December 21, 2022

Hi!

Our next development meeting will happen on December 21 at 19:30 UTC (tomorrow) and of course in #BuddyPress. Here’s our agenda:

Open floor!

For this last development meeting of the year, let’s chat about anything that comes to our mind! 🎄🎅 🎁

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

👋

#agenda, #askusanything, #dev-chat, #fun

Here’s 11.0.0-beta3

Thanks in advance for beta testing this pre-release version. If you’re using the BP Default theme, we’d be even more thankful if you could give us some of your time to make sure everything is fine for you with this third beta release.

#11-0-0, #beta, #release

BP Dev-Chat Agenda December 7, 2022

Hi!

Our next development meeting will happen on December 7 at 19:30 UTC (today) and of course in #BuddyPress. Here’s our agenda:

  • 11.0.0 Release Candidate, we’re late & we still need to write the Hello Screen change log 😱
  • BP Default & deprecated code (blocker)

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

👋

#11-0-0, #agenda, #dev-chat

BP 11: bp_has_profile() Now Accepts an Array of Profile Group IDs

In the upcoming BuddyPress 11.0 release, we’ve added some developer frosting 🧁 to make working with profile groups more straightforward. The template function bp_has_profile() and its underlying function BP_XProfile_Group::get() now accept a single profile group ID or an array of profile group IDs, making it easier to loop through your members’ profile data.

For example, the following code:

<?php
$profile_args = array(
    'user_id'          => 1,
    'profile_group_id' => array( 1, 2 ),
);

if ( bp_has_profile( $profile_args ) ) :
    while ( bp_profile_groups() ) : bp_the_profile_group();
        if ( bp_profile_group_has_fields() ) : ?>
            <h2><?php bp_the_profile_group_name(); ?></h2>

            <table class="profile-fields">

                <?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>

                    <?php if ( bp_field_has_data() ) : ?>

                        <tr<?php bp_field_css_class(); ?>>

                            <td class="label"><?php bp_the_profile_field_name(); ?></td>

                            <td class="data"><?php bp_the_profile_field_value(); ?></td>

                        </tr>

                    <?php endif; ?>

                <?php endwhile; ?>

            </table>

        <?php
        endif;
    endwhile;
endif;

produces the following output:

Without having to add an extra profile group loop! You can test this new functionality out in the most recent BuddyPress v11 release beta.

BP Dev-Chat Agenda November 23, 2022

Hi!

Our next development meeting will happen on November 23 at 19:30 UTC (today) and of course in #BuddyPress. Here’s our agenda:

  • News about latest commits to trunk
  • 11.0.0-beta2 and RC schedule

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

👋

#11-0-0, #agenda, #dev-chat

The way BuddyPress loads deprecated code will change in version 11.0.0

During a development cycle, we can deprecate functions the plugin is not using anymore. In this case we are moving this deprecated code into a specific file named according to the BuddyPress version when it was deprecated. For example, the bp_insert_site_hook() function was deprecated during the 10.0.0 development cycle and was moved into the /bp-core/deprecated/10.0.php file.

Before 11.0.0, deprecated code was never loaded when BuddyPress was first installed or if the BP_IGNORE_DEPRECATED constant was set to true. Deprecated code was only loaded if this constant wasn’t set to true and if BuddyPress has been regularly upgraded since version 2.7. This means if you first installed version 8.0.0 of BuddyPress, deprecated code was never loaded. This was wrong considering BuddyPress Plugin and Theme authors who were not able to be informed by setting their WP_DEBUG constant to true that a function was deprecated (and eventually replaced by another one) and no more available.

Starting in 11.0.0, we’re improving our deprecated code loading strategy

First we are keeping these 2 behaviors from previous versions:

  • Deprecated code is never loaded when you first install BuddyPress.
  • Deprecated code is not loaded when you define the BP_IGNORE_DEPRECATED constant to true.

Second we’re introducing a new constant to force all deprecated code to be loaded: BP_LOAD_DEPRECATED. Defining this constant to true can help you to identify deprecated functions one of your plugins or you active theme is still using although it shouldn’t.

Third, when BuddyPress has been upgraded, we are loading the code that was deprecated during the 2 previous versions.

To read more about the story of this change, you can have a look at this ticket #8687.

At the time I’m writing these lines, we’ve started the 11.0.0 beta testing period. As this change is pretty important, we strongly advise BuddyPress Plugin and Theme authors to test BuddyPress 11.0.0 pre-versions.

#11-0-0, #developer-documentation

BP Dev-Chat summary : November 9, 2022

Unfortunately @vibethemes wasn’t able to join the meeting to share with us his progress about the BP Standalone Theme he’s been working on. We adapted our agenda to talk about 11.0.0-beta1 and 11.0.0 changes needing docs.

11.0.0-beta1 first feedbacks

  • An issue was raised into our Support forum topic. We believe this issue is specific to the active WordPress theme as we’re not able to reproduce with one of the WordPress default bundled themes.
  • Within the same forum topic, another minor layout improvement was discussed and later fixed in #8761.

11.0.0 changes needing docs

@dcavins & @im4th selected the tickets they will post documentation about in this site.

  • @dcavins will deal with #4184 (Activity loop arguments change) & #4075 (xProfile groups loop arguments change)
  • @im4th will work on #8679 (restrict BP Assets loading to community areas) & #8687 (Deprecated code loading).
  • About this last ticket @johnjamesjacoby suggested to rename the constant to load all deprecated code to BP_LOAD_DEPRECATED. We all agreed it was the right way of naming it. The change has been committed to Trunk version.
  • Finally the change about the .webp image format support will be documented by the first of us to have finished documented their tickets.

11.0.0 schedule reminder

  • RC: December 1st, 2022.
  • Release: December 14, 2022.

Open floor

During this part of the chat, we took the time to help @dcavins to fix PHPUnit testing suite, if like him you had the right idea to use the one we include into the development version of the plugin based on Docker, you can read this discussion to help you restart from scratch!

@johnjamesjacoby shared his intent to improve BuddyPress.org typography especially into the site’s Forum.

Next Dev-Chat

It will happen this week on November 23 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#11-0-0, #dev-chat, #summary

Here’s 11.0.0 first beta!

Hi!

We need your help, please contribute to BuddyPress 11.0.0 beta testing starting with this first beta release. Thanks in advance 😍

#11-0-0, #beta, #release

BuddyPress 10.6.0 is released

For details about it and the reason why it arrived so quickly after the 10.5.0 maintenance release, please visit:

Happy Halloween 🎃

#10-6-0, #maintenance, #release

BuddyPress 10.5.0 Maintenance Release

Let’s get ready for WordPress 6.1, here’s BuddyPress 10.5.0 🍕. Please upgrade 🙏.

👋

#10-5-0, #maintenance, #release