BuddyPress 10.4.0 Maintenance release

Please upgrade to 10.4.0!

More information about introduced changes here 👇

#10-4-0, #maintenance, #release

August 3 dev-chat Summary & August 17 dev-chat Agenda

10.4.0 Maintenance release

  • @im4th & @dcavins had another look to the fix applied in #8715 and agreed it was the right move to avoid having the page to send group invites viewable by non-members of the group (even if it’s not usable to actually invite people to join the group).
  • This fix is the main reason why @im4th thinks we need to package a maintenance release.
  • Decision was made to release 10.4.0 before next dev-chat (as dev-chat is tomorrow, it’s more likely to happen before the end of the week, sorry for this delay 😞).

11.0.0 tickets needing attention

  • #8643 .webp image support for user profile images & user cover images. @dcavins gave his feedback about it & thanks to it @im4th improved the patch and committed it. In 11.0.0, you’ll be able to use a .webp image to set your profile photo or cover image 🙌 ✅.
  • #7614 Group members count routine needed improvements. @dcavins will give a deeper look to it. @im4th suggested to put in place a specific repair tool to eventually perform a recount for out of sync group members counts. This suggestion led to a longer discussion later during the chat see this part of the summary.
  • Some other tickets were discussed during the chat:
    • #8604 @dcavins & @im4th agreed generating a richer content for mini activities when they are displayed into single items is a bit “too much”. We’ve decided to bring back mini displays for these activities in these areas. In other words, Richer content will only be generated when viewing these mini activities into the Activity Site Wide directory. See this commit for more information about it.
    • #4535 @dcavins volunteered to work on adapting @im4th first patch so that it also fixes the issue about activity duplicates when loading the load more button for the BP Legacy template pack.

Open floor

  • Let’s introduce a mechanism to safely upgrade a big range of data in batch. This was the subject of the long discussion we had first, calling @boonebgorges to the rescue 🦸🏼‍♂️. To go straight to the point, he suggested us to use the same mechanism he included into WordPress Core when he needed to upgrade taxonomies to achieve shared-term-splitting, because “you have to make sure that upgrades of this sort degrade gracefully. You have to leave logic in place for what happens when a site hasn’t run through its upgrade routine“. He shared with us links to the key parts of the WordPress code so that we can get some inspiration from his work 😍.
  • BuddyPress PHP Code Standards: @espellcaste suggested to create a custom BuddyPress PHPCS ruleset that any BP project can use. @im4th agreed it was a good idea and this GH repository has been created to house this ruleset. @espellcaste‘s plan is to progressively improve BP Core’s code so that it comply with this ruleset. It’s a lot of work and if some of you want to give him a hand, you’re very welcome.

Next Dev-Chat

It will happen tomorrow on August 17 at 19:30 UTC in #BuddyPress. Here’s our agenda :

Thanks in advance to the contributors who will join this chat 🙏🤝

#10-4-0, #11-0-0, #agenda, #dev-chat, #summary

PHP tests suite improvements

Following WordPress’s effort about improving PHPUnit compatibility, we’ve just improved our PHP tests suite so that it now uses latest PHPUnit version (9.5.21). We’ve also updated our GitHub action so that it now includes PHP 8.1 tests to our PHP testing matrix. This action will now also run each time a Pull Request is submitted to our GitHub repository.

Next time you’ll check out our development version, don’t forget to run the composer install command and if you want to use latest PHPUnit version without installing it globally, you can run composer run test to launch BuddyPress PHPUnit tests.

For more information about it, please read this ticket #8649. Many thanks to @espellcaste & @rafiahmedd for their contributions to this great improvements 😍.

#11-0-0, #phpunit

BP Dev-Chat Agenda August 3, 2022

Hi!

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

  • 10.4.0 Maintenance release schedule, see tickets list here.
  • 11.0.0 Trac tickets needing some attention :
    • #8643 .webp image support for user profile images & user cover images.
    • #7614 Group members count routine needed improvements.
  • BP Attachments latest progress

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

👋

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

BP Dev-Chat Summary : July 20, 2022

11.0.0 latest updates

  • #8687: improving the way we load deprecated functions. @dcavins & @im4th had a new discussion about the updated patch @im4th suggested. The new logic is still to only load the last 2 versions deprecated functions in case BuddyPress was upgraded. Improvements were made about dealing with the BP_IGNORED_DEPRECATED constant. If set to true: no deprecated functions are loaded, if set to false all are loaded. @dcavins also thinks we’re going into the right direction. The ticket has been fixed since July 26, 2022. Please read this commit message for more information about it.
  • #8679: only load template pack assets (styles and JavaScripts) in site’s BuddyPress specific areas. We’ve finally decided to carry on loading template pack assets everywhere by default in version 11.0.0. But we introduced the needed code to stop doing so and restrict the loading of these assets to BuddyPress pages only. Site owners who wish to enjoy it and help us identify potential issues with BuddyPress plugins still expending assets to be loaded everywhere are encouraged to use the filter we’ve put in place – add_filter( 'bp_enqueue_assets_in_bp_pages_only', '__return_true' ); – and keep us updated so that we can safely switch to restricting assets loading during the 12.0.0 development cycle. Have a look at this commit message to know more about it.
  • #8052: improving how new_blog_post activities content is generated. To go straight to the point: opening the corresponding post should be more intuitive. Links to it were added to the title, featured image and “more link” of the activity content. This “read more” link is generated using the WordPress the_content_more_link filter which means if your theme is using this filter to adapt the “read more” link, these adaptations will also be applied to the activity “read more” link. Have a look at a preview of how it will look soon:

11.0.0 Tickets needing feedbacks

  • #8604 Richer logging activities display according to context.
  • #8643 .webp image support for user profile images & user cover images.
  • #4535 Avoid loading duplicates when clicking on the Load More button.

During the development meeting @dcavins wisely advised to check the number of the WordPress version when the .webp image support were added. After checking, it was in WordPress 5.8. As BuddyPress 11.0.0 will support WordPress back to its 5.7 version, we’ll need to include a version check to the patch.

BP reNouveau and BP Activity Block Editor demo

We’ve used the private audio/video chat feature of slack to run this demo. It worked pretty well! People who attended to it were able to see our latest progress about both features and they look very promising 🤩. About the new template pack, you can follow our progress from this ticket. About the BP Activity Block Editor, @im4th will soon make it testable from a BuddyPress GitHub repository. The achieved worked so far on both features already brought some interesting improvements to our BP REST API (See PRs #447 & #448).

11.0.0 schedule reminder

  • First beta: October 19, 2022.
  • Release: December 14, 2022.

Next Dev-Chat

It will happen on August 03 at 19:30 UTC in #BuddyPress. If you have specific points you want to discuss about, don’t hesitate to share them in comments.

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

BP Dev-Chat Agenda July 20, 2022

Hi!

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

  • 11.0.0 Trac tickets almost ready to be committed:
    • #8687 Change the way we load deprecated functions
    • #8679 only load Template packs assets in BuddyPress pages.
    • #8052 Improve new_blog_post activity type content
  • 11.0.0 Trac tickets needing feedbacks:
    • #8604 Richer logging activities display according to context.
    • #8643 .webp image support for user profile images & user cover images.
    • #4535 Avoid loading duplicates when clicking on the Load More button.
  • BP reNouveau (see #8722) & BP Activity Block Editor first demos!!!

About the last point on our agenda, we’ll try to use the Slack Group DM’s Audio/Video/Screen sharing tool. If you want me to add you to this group chat, don’t hesitate to say hi! at the beginning of our public dev-chat.

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

WordPress required version update

Hi !

Please note that BuddyPress 11.0.0 will require WordPress >= 5.7.

To learn more about this change: https://buddypress.trac.wordpress.org/ticket/8709

To learn more about how we decide to bump our WordPress required version: https://codex.buddypress.org/getting-started/wordpress-version-compatibility/

#11-0-0, #wp-requirements

BP Dev-Chat Summary : July 6, 2022

11.0.0 tickets needing attention

  • #8709: bumping BP 11.0.0 required WP version to 5.7. @im4th added a patch to the ticket and will soon commit it. He requested some new eyes to check nothing was missed.
  • #8687: improving the way we load deprecated functions. @dcavins & @im4th had a longer discussion about it. The new logic is to only load the last 2 versions deprecated functions in case BuddyPress was upgraded. This means brand new installs won’t load deprecated functions. Defining the BP_IGNORED_DEPRECATED constant to true would let new installs load the 2 last versions deprecated functions and defining it to false would load all deprecated functions. @dcavins is amazed by the fact BP > 2.7 installs never had issues although deprecated functions is never loaded in thesee cases. @im4th pointed him to #8702 to illustrate this was actually the opposite happening and said this ticket also needs to be fixed.
  • #8679: only load template pack assets (styles and JavaScripts) in site’s BuddyPress specific areas. @im4th sees potential issues with Legacy widgets about the first patch he added to the ticket. @dcavins suggested to include a constant to still load these everywhere as some BP plugins might still expect this kind of availability. @im4th agreed we need to think more about it. If you have opinions about it, please add comments to the ticket. We’ll try to be the more conservative possible about it.
  • #7614: group members count issues. This ticket was reopened after a bug was raised about the changes we introduced in 10.0.0. @im4th asked @dcavins to have a look at it. He believes we might need a new repare tool in case this count is out of sync.
  • #8693: site membership issue on Multisite configs. @dcavins has a plan about it 💪

Progress on roadmap

During June 22’s dev-chat, we discussed about this roadmap for our next couple of major releases. Here’s how we’re progressing about it.

  • After exploring potential impacts about our will to remove our dependency to jQuery, @im4th thinks the best approach is to build a new template pack to make this happen. It would be like an evolution of BP Nouveau. He already thought about the name of this new template pack: « BP reNouveau » (FYI: nouveau is the French for new and renouveau is the French for renewal). The idea is to keep all Nouveau look and feel (CSS), avoid code/template duplication by using it as a fallback and focus on using modern JavaScript along with the BP REST API instead of Ajax calls. @im4th secretly hopes reNouveau will be part of the 11.0.0 release.
  • Attachments / User generated media: it’s 11.0.0 dev cycle main top feature. It’s being developed from our BP Attachments GitHub repository and will be released as a feature as a plugin. After discussing with @dcavins, @im4th thinks v1 should only focus on the Members component. Groups support needs more time to find the best approach about it. So far @im4th has chosen « the media shared in a group belongs to it » approach but doesn’t feel comfortable about it as media should probably always belong to the member who shared it. Problem is: what happens when a member leaves a group? If you have ideas about it, don’t hesitate to share them adding a comment to this GH issue.

11.0.0 initial schedule reminder

  • First beta: October 19, 2022.
  • Release: December 14, 2022.

Next Dev-Chat

It will happen on July 20 at 19:30 UTC in #BuddyPress. If you have specific points you want to discuss about, don’t hesitate to share them in comments.

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

BP Dev-Chat Agenda July 6, 2022

Hi!

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

  • 11.0.0 Trac tickets review:
    • #8709 required WP version
    • #8687 Change the way we load deprecated functions
    • #8679 only load Template packs assets in BuddyPress pages.
    • #7614 Group members count routine
    • #8693 Site members invitations for Multisite configs
  • BP Attachments progress.

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 Dev-Chat Summary : June 22, 2022

BuddyPress roadmap for the next major releases

Remove progressively our dependency to jQuery.

  • @im4th suggested to modernize BuddyPress JavaScript starting with dropping progressively our dependency to jQuery. @dcavins agreed it was a good time to do so.
  • Some parts won’t be easy, eg: the Profile Admin UI, mentions… But we will work on renewing BP Nouveau template pack’s JavaScript at least.
  • @im4th will soon audit the BP Nouveau Template pack and write a Trac ticket about this audit’s results.

Block based activity post form

  • The work we’ve been doing into the BP Blocks plugin is now broke with latest WordPress version. It’s pretty difficult for us to follow the Block editor evolutions/breaking changes from WP versions to WP versions.
  • Let’s try to use the great work done on the Isolated block editor by Automattic to use it for the activity post form.
  • @im4th has started playing with it and he believes we’ll be able to include our own BP Block API inside of it to add blocks to share media (BP Attachments), mini surveys, etc…

BP Attachements

  • @im4th has made some interesting progress about it (handling the delete action) and he updated the issue where he started to explain how it’s / will be working.
  • Next big step is handling the edit actions which can be pretty challenging (eg: moving a file into another directory, dealing with file revisions)
  • Private media will be supported in v1 of the plugin for users being able to perform a little server configuration task.

BuddyPress.org

Our current theme is great, but it begins to have more and more little issues and let’s be honest it’s getting old! Building a theme can take a lot of time so @im4th suggested again to do 2 tasks at once:

  • Include a new BuddyPress theme into the BuddyPress plugin (a replacement to BP Default?)
  • Use this theme on BuddyPress.org

@dcavins brought a very important point about it: we’ll need to attract some new contributors for that especially if the world if drifting toward full site editing themes. @im4th has started exploring block templates and full site editing themes and would really like this theme to support the feature.

We’ll post on BuddyPress.org about it to try to motivate some contributors to give us a hand (even if the last time we did it for documentation it failed…).

BP Rewrites and bbPress incompatibility

This part has been fixed, a specific compatibility script has been added to the BP Rewrites in its latest release.

11.0.0 initial schedule & priorities for this release

Initial schedule

  • First beta: October 19, 2022.
  • Release: December 14, 2022.

Priorities

As @dcavins noticed, the roadmap we discussed about can takes time to achieve, so we ranked our tasks to know where to focus, and to avoid having 75% finished features around October 19.

  1. BP Attachments feature as a plugin ready for 11.0.0
  2. JavaScript improvements to BP Nouveau (dropping jQuery dependency progressively)
  3. Tickets into the 11.0.0 milestone (only load template pack assets in BuddyPress areas, Members invitations in multisite..).
  4. Block based activity post form plugin as a feature
  5. a new FSE BP Theme we can include in the plugin and use on BuddyPress.org.

Achieving 1, 2 & 3 is our goal for 11.0.0, but if we find time or new contributors we will try to do 4 and 5 as well!

Open floor

@espellcaste was in Porto for the WCEU 2022 and attended a workshop called “Creating communities with WordPress MU”. He shared his notes with us after the dev chat and we reacted about it as one the workshop conclusion was BuddyPress is not a good tool to build communities. Some good points were raised and we’ll use them to improve BuddyPress and convince the workshop author she was wrong 😉.

Next Dev-Chat

It will happen on July 6 at 19:30 UTC in #BuddyPress. If you have specific points you want to discuss about, don’t hesitate to share them in comments.

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