BP Dev-Chat summary: May 15, 2023

12.0.0 development cycle updates

#4954: The main parts of the BP Rewrites merge has been accomplished and this 10 years old ticket is now fixed 👴 🏁. Huge thanks to all contributors who helped making this happen. Of course, improvements can still be brought to our new BP Rewrites API, but these will be discussed/worked on from new tickets. Our next steps is to finish the job on moving our Deprecated Legacy URL parser inside the BP Classic backward compatibility plugin.

About #8869: the moving process of Legacy widgets to the BP Classic plugin was still in progress at the time of our meeting, it’s now accomplished 🏁.

#8734 @dcavins has started to plan ahead to make the implementation of the visibility feature as flexible/extensible as possible.

Schedule

  • 12.0.0-beta1 : July 30,
  • 12.0.0 : October 30.

Feedback posts series

@im4th & @dcavins talked about the third post of this series: @dcavins did the review process and it’s now available on BuddyPress.org.

Open floor

We finally talked about the ActivityPub protocol and ways to implement it since @im4th was contacted about it by a WordPress news Podcast. As a French guy, @im4th feels very impressed by the idea of discussing in English so he asked @dcavins to the rescue. After a few minutes of discussion, they both agreed it was a bit early to share BuddyPress vision about the Fediverse. The fall period should be a better timing to do so. @im4th did this reply to the Podcast host.

Next Dev-Chat

It will happen on May 29 at 21:00 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#12-0-0, #dev-chat, #summary

BP Dev-Chat summary: May 1st, 2023

12.0.0 development cycle updates

#4954: @im4th thinks the BP Rewrites merge process is almost mainly accomplished. The ultimate Pull Request he was working on before the meeting has been added to our GitHub repository (so that it runs all GH Actions). It will soon be committed on Trunk. @dcavins & @im4th shared some positive thoughts about what this change will mean for Users using BuddyPress in any language “Pretty amazing. Just imagine having /members in your own language (…) Well, you’ll even get /members/edit/group/1 in your own language, every BP URLs 🫡”

About #8457: we’ve migrated to @wordpress/scripts (which uses Webpack) and every BP Blocks now supports the version 2 of the WP Block API.

#8734 is on @dcavins to do list and he will start working on our new visibility feature pretty soon.

Schedule

  • 12.0.0-beta1 : July 30,
  • 12.0.0 : October 30.

Next minor release 11.2.0

@im4th & @dcavins agreed to publish this release just before next dev-chat (~ 1 week from now). You can discover the minor bugs that will be fixed from this report.

Open floor

We finally talked about the feedback wrap-up posts series: as @im4th wanted to publish the second post on Thursday @dcavins said he would review it before.

Next Dev-Chat

It will happen on May 15 at 21:00 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

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

BP Dev-Chat summary: April 17, 2023

12.0.0 development cycle updates

Considering the remaining tasks to accomplish to end the BP Rewrites merge process, we’ve decided to update the release schedule so that we have enough time to document the changes and help third party plugin authors to update their work to fully enjoy our new Rewrites API.

Updated schedule

  • 12.0.0-beta1 : July 30,
  • 12.0.0 : October 30.

BP 12 is replacing the transmission in the car

@dcavins

#4954: we still have two major code tasks to work on: implementing parse_request() methods for Directory components and make our Ajax code use the WP Rewrite API. Once done we’ll need to move our legacy URL parser into the BP Classic backcompat plugin. Then, we’ll need to explain how this major change will modify the way to extend BuddyPress into our Developer documentation site. Here are the first questions we’ll reply to:

  • How to fully enjoy the BP Rewrites API?
  • How a plugin can preserve backward compatibility with older versions of BuddyPress while enjoying this API?

@dcavins will start exploring the Rewrites API, working on a new visibility feature to allow administrators make their community private.

About #8457: we’ll migrate to @wordpress/scripts (which uses Webpack) and we’ll update every BP Blocks to support the version 2 of the WP Block API.

BuddyPress will be represented at the Contributor day organized by the WP french community in Paris

If you do not have a chance to attend IRL to this contributor day, no worries: you can virtually join us to get involved into BuddyPress contribution going into our Slack channel on April 20, 2023 from 08:15 UTC to 15:30 UTC. It’s today!!

Next Dev-Chat

It will happen on May 1 at 21:00 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#12-0-0, #dev-chat, #summary

BP Dev-Chat summary: March 27, 2023

BP Attachments Add-on release & first feedbacks

It was released on 15th BuddyPress birthday (March 25). It got two 5 ⭐️ reviews so far, one of them is saying it’s a « game changer ». It’s making @im4th very happy considering the hard work the team already invested into this add-on. @dcavins plans to use it on some of the sites he manages to get feedbacks from more users. Inside the plugin’s support forum, requests were made about supporting the BP Legacy template pack & the Groups component.

12.0.0 development cycle updates

About #4954: @im4th accelerated on the BP Rewrites merge process as he realized there were more work than expected. Most of the BP URLs are now built using the BP Rewrites API, but quite an amount of functions needed to be deprecated/moved inside the BP Classic backcompat plugin. These deprecations will help us inform users they need to use this plugin to be sure to carry-on enjoying the third party plugin features that are not ready yet for the BP Rewrites API.

As the BP REST API & the BP Attachments Add-on will need to be improved to be ready for Rewrites, working on this will help us to advise third party plugin developers about the best way to stay compatible with pre 12.0 BP versions as well as next BP versions.

About #8457: @im4th decided to stop waiting for ParcelJS v2 to support global variables. The development team weirdly put this v1 feature out of v2 ones and there were no progress about bringing back this support for at least 2 years! The plan is to migrate to @wordpress/scripts which uses Webpack. You can follow our progress about it from this BP Blocks PR.

About #7018: @im4th quickly added some #[AllowDynamicProperties] to be compatible with PHP 8.2, but he thinks a better fix would be to properly declare all properties to our Classes. @dcavins agrees.

12.0.0 schedule

  • 12.0.0-beta1 : April 15,
  • 12.0.0 : May 31.

NB: we’ll need to update this initial schedule due to the BP Rewrites remaining work to achieve.

2022 feedbacks & 2023 roadmap

@im4th would really like to publish the wrap up post about the feedbacks we got last year. He thinks it’s important to say: « hey we read you, and here’s what we plan to do about it ». This post is waiting for review since February 27 and as it contains some suggestions about important changes he wishes we all agree about it or edit the parts we have different opinions on. @dcavins thinks this post is too long and suggests to split it as he’s afraid that the exciting stuff at the end is after too much text (which people mostly don’t read.).

Let’s try to decide about this during our next dev-chat.

Next Dev-Chat

It will happen on April 17 at 21:00 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#12-0-0, #dev-chat, #summary

BP Dev-Chat Agenda March 13, 2023

Hi!

Our next development meeting will happen on March 13 at 21:00 UTC (Monday) in #BuddyPress. Here’s our agenda:

  • 12.0.0:
    • accomplished progresses about BP Rewrites merge + needed BP REST API adjustments
    • #8457 migrating to WordPress scripts (Webpack)
    • #8820 PHP 8.2 compatibility & properly declaring PHP class properties (#7018)
  • BP Attachments: time to work on a post to explain Add-on main features.
  • 2022 feedbacks wrap-up & 2023 roadmap post.

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

⚙️🔭

#12-0-0, #dev-chat, #summary

BP Dev-Chat summary: February 27, 2023

12.0.0: BP Rewrites merge progress

#4954 3 changes were committed so far. The third one introduced an important function that will be used to build all BuddyPress links bp_rewrites_get_url(). We now need to replace all existing links so that they use this function.

We also talked about moving the BP Default theme into the BP Classic back compatibily plugin we’ll package for plugins not yet ready for BP Rewrites.

12.0.0 schedule

  • 12.0.0-beta1 : April 15,
  • 12.0.0 : May 31.

BP Attachments

@im4th fixed all issues and improvements @dcavins identified during his beta-tests. We decided to request a repository to the WordPress.org plugins directory on early March.

@dcavins will run some more testing of the Add-on and share new feedbacks about it. Here’s a preview of a Media attached to an activity into the BuddyX theme.

BP Attachments 1.0.0 schedule

  • 1.0.0-beta: right now!
  • WP.org plugin submission: early March.
  • 1.0.0 release: March 25.

Next Dev-Chat

It will happen on March 13 at 21:00 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#12-0-0, #dev-chat, #summary

BP Dev-Chat summary: February 13, 2023

11.1.0 maintenance release

We mainly discussed about this ticket #8821. In short, if a string containing placeholders has not been updated by a translator of the Polyglots team, it can result in a fatal error when using the sprintf() function. @dcavins and I think it’s a WordPress issue, but WordPress core team don’t, see #55776. As it was too heavy to address this issue in a maintenance release, we’ve decided to use a workaround for 11.1.0 trying to alert translation contributors they need to remove one of the placeholders for specific strings using gettext comments. We’ll try to find a nicer way to avoid these kind of fatals during the 12.0 development cycle, see #8836.

11.1.0 was released on February 16. Many thanks to contributors who shared their time with us to make it happen.

12.0.0: required documentation effort about migrating to using the WP Rewrite API.

@im4th believes most of the work will consist in documenting the changes about the way to extend BuddyPress. A place of choice for this documentation is the developer.buddypress.org site.

@dcavins thinks so too and started talking about the Code Reference part of this website. We haven’t progressed much into this area & @im4th thinks we do need to use composer on the server to benefit from the WP Parser tool. Tests he made about WP export/import tool wasn’t conclusive due to missing relationships between post types. It doesn’t mean we’re giving up, it simply needs some available time.

@im4th’s idea is to create first chapters of a BP Plugin Handbook as it’s very easy to do so on the current developer documentation site. We’ll try this way once most of the BP Rewrites API will have been merged into Core.

About this subject, progress can be followed from this ticket #4954. @im4th will make small steps using pull requests. Once the function to build links using BP Rewrites is available in Core, @dcavins will be able to give him a hand on reviewing all existing BP links so that they are built using this new function.

@dcavins will take in charge #8794 💪

12.0.0 schedule

  • 12.0.0-beta1 : April 15,
  • 12.0.0 : May 31.

BP Attachments: beta and first stable version schedule

@dcavins tested the plugin and found some issues. The biggest one was with regular WordPress themes. As @im4th only tested it with Block themes he hadn’t figured it out so far.

@dcavins & @im4th then discussed about how site owners need to set the private uploads directory. @im4th is convinced the best way to do it is to put it one level upper the site’s directory: a bit like what you can do to secure your wp-config.php file. Doing so requires a bit more work to make sure the directory is writable for the server’s user, but this feedback from a betatester is very interesting as it seems not too difficult to understand thanks to the admin notices in place.

As @dcavins noted, we’ll need to document the private uploads directory creation process.

BP Attachments 1.0.0 schedule

  • 1.0.0-beta: right now!
  • WP.org plugin submission: early March.
  • 1.0.0 release: March 25.

Next Dev-Chat

It will happen on February 27 at 21:00 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, #12-0-0, #dev-chat, #summary

BP Dev-Chat summary: January 30, 2023

12.0.0: function signatures for hook callbacks

@espellcaste and I thought it was important to talk about the pull request he suggested about changing action callbacks returned value (from boolean to no returned value) See #GH55. During the discussion we had with @dcavins, we came to this conclusion as the change is a possible breaking one & targeted callbacks are in a bp-component-functions.php file we are not discouraging third party plugin authors from using them, these functions shouldn’t have their signature changed. Instead we should use hooks the right way inside a bp-component-hooks.php file.

12.0.0: first schedule & feature/fix ideas

We’ve decided the main focus of this release will be to merge BP Rewrites into Core (see #4954) and create a new plugin to provide backward compatibility users will be able to use in case one of their third party plugin is not compatible with BuddyPress Rewrites. We’ll also raise WordPress required version to above 5.8 and move legacy widgets into this plugin. We agreed a nice name for this plugin would be BP Classic!

Here’s 12.0.0 initial schedule

  • 12.0.0-beta1 : April 15,
  • 12.0.0 : May 31.

The BP Attachments Add-on is ready for beta testing!

@im4th plans to package a first beta version to submit it to the WordPress.org Plugin directory. @dcavins will use the next 2 weeks to test it as @im4th ask him to do so to feel more secure about it. To see the list of available features, you can have a look at the add-on’s GH readme.

Next Dev-Chat

It will happen on February 13 at 21:00 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#12-0-0, #dev-chat, #summary

BP Dev-Chat summary: January 4, 2023

Last 11.0.0 final release tasks

Before releasing 11.0.0 on January 5, we had another look to #8783. This is still a mysterious issue we haven’t manage to reproduce yet (Displaying The Opt-outs Administration page is not generating an error for us on multisite). We also decided @im4th would package the release & draft the announcement post & @dcavins would take care of the release changelog.

Focus on the BP Messages component

Specific needs about this component BP REST API endpoint were brought to @espellcaste‘s attention (see #8696). It made him think about this component more broadly. So far BP Messages is fetching all messages belonging to a thread and he thinks we can improve this behavior and performance using pagination. He shared the roadmap we all agreed on about it:

  • Remove the default behavior of loading all messages;
  • Set reasonable default for page and per_page ;
  • Update the BP Theme to support pagination (currently, it loads all messages);
  • Cache with bp_core_get_incremented_cache – The same approach used in the Activity component;
  • Apply the same suggestions to the recipients’ query.

How do you see BuddyPress at the end of 2023?

That’s the question we took a few minutes to try to reply to.

  • @espellcaste‘s priority is mostly dev-focused: a developer reference site, BP GraphQL Extension, PHPCS/PHPDoc Improvements, VSCode BP Extension,
  • @dcavins would like to see a simple “private site” option land in BP, he believes another big possibility is to make core BP template pieces “insertable” using the WP Site Editor.
  • @im4th‘s predictions are: “To me, at the end of 2023, BuddyPress Activities will use the Blocks API, the Post Form will be a block based one and we’ll have a brand new Block Templates based theme”.

We’ve also discussed about:

  • the opportunity to move the Site Wide Notices feature outside of the BP Messages one,
  • splitting optional components into plugins,
  • community media,
  • the ActivityPub protocol to make BuddyPress a bridge between WordPress sites.
  • the need to organize all the feedbacks we got from last year to take wise decisions.

Open floor

@espellcaste has a conflict of meeting, so he won’t be able to attend future meetings. @im4th & @dcavins are flexible about the meeting day and time (as long as it’s after 19:30 UTC for @im4th), let’s find asap a new day to “biweekly” meet!

Next Dev-Chat

It will happen on January 18 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, #the-future

BP Dev-Chat summary: december 7, 2022

11.0.0: we’ll package another beta!

That’s the important decision we made during our meeting a few minutes ago. We prefer to delay 11.0.0 final release to early next year.

Why?

In 11.0.0 we’re making an important change about the way BuddyPress is loading deprecated code. Everything is fine with it when you use one of the BP bundled template packs (BP Nouveau or BP Legacy). Using a template pack to dynamically inject BuddyPress content into one of the templates of your active WordPress theme’s (most likely the page.php one) is the plugin’s default behavior since version 1.7. But we forgot there was still some BP Default old classic theme fans around 😱.

Since version 1.9, The BP Default theme is “hidden behind a filter” for new BuddyPress installs. In other words, you need to add some custom code to bring it back. That’s why we haven’t thought about it so far. Fortunately we were alerted into our Slack channel about issues when this theme was still used and active on the WordPress site (this can be the case if you regularly updated BuddyPress since version <= 1.8).

We’ve been working on it and we think we’ve fixed BP Default issues. Releasing a third beta version instead of directly making the release candidate available seems a wise move. Thanks in advance for your understanding.

11.0.0 updated schedule

  • Beta3: December 8, 2022
  • RC: December 1st, December 15, 2022
  • Release: January 5, 2023.

Next Dev-Chat

It will happen on December 21 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