BP Dev-Chat Summary : August 17, 2022

11.0.0 updates

  • #7228: using PHP Code Standards linter, @espellcaste plans to commit the code he worked on from this PR soon.
  • He also requested feedbacks about this BP REST API issue, @im4th brought his!
  • @im4th reminded the team about latest improvements about our PHPUnit tests suite.
  • #8722: @im4th started working on the Activity templates and JavaScript for the BP reNouveau template pack. He’ll need to find a « no-jQuery » way to deal with live date and time updates as well as activity heartbeat refresh. He also decided this new template pack will have a dependency to the BP Attachments plugin to deal with profile and cover image features.
  • The BP Attachments plugin now includes blocks for the Post Block Editor as well as the coming Activity Block Editor.
  • #8693: site membership issue on Multisite configs. @dcavins is confident it will be pretty straightforward to fix.
  • @dcavins will deal with #8713 to bring type meta to types registered using code.

11.0.0 schedule reminder

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

Next Dev-Chat

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

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 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

BP Dev-Chat Summary : December 1st, 2021.

10.0.0 Progress

#8582 Add site membership requests

@im4th tested the patch @dcavins updated lately and found some issues when BuddyPress is network activated on a WordPress Multisite configuration. In such a configuration, the site membership request feature is only available when the WordPress registration setting is “Logged in users may register new sites” (1) or “Registration is disabled” (2).

  1. In the first case (1), the request membership form includes a checkbox to request a site at the same time, and once the form is submitted the user receives an email to activate their account instead of the awaiting moderation email.
  2. In the second case (2), once the request membership form is submitted, an empty registration page is displayed and the site membership request is not created.

@dcavins is working on fixes about these two issues to have the feature ready for the BuddyPress 10.0.0-beta1 release.

#8451 Extending no content activities with images and call of actions

Great progress were made about this feature:

  • The BP Attachments API will include a new method to add file revisions. This is needed by the feature to keep an history of the uploaded profile photos so that generated activities always display the profile photo that was set when the activity was published.
  • The BP Template hierarchy will be improved so that it’s possible to override the layout of the activity content based on its activity type.
  • @im4th will try to add the needed adaptations to the Avatar Backbone views so that they includes a new tab to recycle or delete previously uploaded profile photos from history.
  • @vapvarun will work on the generated activity layouts to differentiate them according to the (no-content) activity types.

Other tickets/GitHub PR needing attention

Updated 10.0.0 schedule

We’ve updated the 10.0.0 schedule for the last time 😅. @dcavins alerted us about the comments on the Tavern’s post about our initial released date which was December 24, 2021. To avoid causing some stress to site administrators (and to the team ☺) during the christmas period, we’ve decided to postpone the release date to January 5, 2022. We also took this opportunity to give us one last week to add the final touches to the first 10.0.0 beta release.

  • 10.0.0-beta1: December 10, 2021 👈
  • 10.0.0 stable: January 5, 2022 🎯

Next Dev-Chat

It will happen next week on December 8 at 19:30 UTC in #BuddyPress.

#10-0-0, #dev-chat, #summary

BP Dev-Chat Summary : November 3, 2021.

10.0.0 Progress

#8451 Extending no content activities with images and call to actions

Preview of a no content activity
Preview of a richer “no content” activity about a group who has just changed its Group profile photo.

@vapvarun will soon share a patch about it on the ticket’s page. He decided to take the base64 encoded road to store previous profile photo/cover image inside an Activity meta.

@im4th & @dcavins suggested to include a way to avoid such activity types to be generated too often when a user changes these images multiple times in a short amount of time.

Writing the above lines, I believe the last activity should overwrite the previous ones. A 1 hour delay was suggested during the dev-chat.

#8582 Add site membership requests

@dcavins updated the patch attached to the ticket to remove all references to data stored inside the Users table. He also added a way to preview all signup/membership request information using a modal window.

A modal window to preview signup/membership request information

The modal window choice was debated with @im4th & @johnjamesjacoby. First concern is a11y: we need to check keyboard navigation to make sure everything’s fine with it. Second concern is the clumsiness of it into the WP Administration (old JS libraries, Ajax, etc..). @dcavins thought about an alternative way to reach the same result (be able to preview information) using a dynamic row like what’s included into the « inline edit » feature of the WP List Table class. @im4th believes it’s a nice idea and could be even more interesting if information could be edited from there. We might need to customize the feature for our need which can be too long for the remaining time we have until first 10.0.0 beta. @dcavins will give the modal window another thoughts before deciding whether to keep it or not.

Please help us progress about the site membership requests feature testing the last patch attached to this ticket: #8582.

#8588 use the “site-health” look & feel for BP Admin tabs

Preview of the 10.0.0 BP Settings Admin screens
Next BP Admin Settings/Tools screens look & feel!

@im4th asked for some feedbacks about it. @dcavins thinks it should be committed. @espellcaste thinks this is the kind of change regular BP users will enjoy. @im4th also shared a preview of the new BP Rewrites admin screen using these revamped Admin tabs. This improvement has since been committed, a developer note will soon be published to explain the changes introduced about adding custom tabs in 10.0.0.

Other interesting updates

10.0.0 schedule

  • 10.0.0-beta 1: ~ november 20, 2021,
  • 10.0.0 stable: ~ december 24, 2021 🎄

Next Dev-Chat

It will happen on November 17 at 19:30 UTC in #BuddyPress. We’ll be 3 days away from first beta release 😅. If you have specific points you want to discuss about during this next meeting, please share them into the comments area of this post.

#10-0-0, #dev-chat, #summary

BP Dev-Chat Summary : October 6, 2021 & BP Dev-Chat Agenda : October 20, 2021.

10.0.0 Progress

  • Many thanks to the contributors who commented our last dev chat summary about whether or not we should raise the BuddyPress required WordPress version to 5.4. During this dev-chat, we’ve taken in account your feedbacks, kept on discussing a bit about the subject, and we’ve decided 10.0.0 will require WordPress 5.4. Yesterday @im4th suggested a first patch about it and we’ll keep you informed when it will be converted into trunk. Don’t hesitate to contribute to it from this ticket #8571. We’ve also decided to include WP 5.4 to the GH action that runs PHPUnit tests after each commit to our development version. So far, we were only testing the latest WordPress stable version and the development one, fearing about exceeding our GH Actions quotas 😱.
  • @vapvarun is progressing on Legacy Widgets for community stats (before doing the Widget Block jump!) and impressed us with rich content activities for « poor » activities like « a member changed their profile photo ». He opened a ticket about it: see #8451. We believe these could be a nice enhancement to the activity streams.
  • @espellcaste is working on patches to improve our inline documentation 💪 : see #8553.
  • @im4th has been working on the BP Attachments feature as a plugin lately and hopes he’ll be able to have a first beta ready before the end of BuddyPress 10.0.0 development cycle.
  • @dcavins made progress about the Site Membership request feature and a first patch is available on this ticket: #8582. Feedbacks are very welcome.
  • We’ve also discussed about refreshing our BP Admin tabbed screens to use the look & feel of the Site-Health & Privacy settings screens. A first patch is waiting for your feedbacks there: #8588.

10.0.0 schedule

  • 10.0.0-beta 1: ~ november 20, 2021,
  • 10.0.0 stable: ~ december 24, 2021 🎄

Open floor

@im4th asked the team to keep an eye on TwentyTwentyTwo new WordPress default theme and to the progress of the full site editing feature in WordPress 5.9-alpha/Gutenberg plugin. He reminded us about potential difficulties to have BuddyPress behaving the best way with Themes using this Full Site Editing feature. See #8474.

October 20 Dev-Chat Agenda

It will happen today, in a few hours in #BuddyPress. We’ll share our progress about the 10.0.0 release.

We hope to chat with you soon!

#10-0-0, #agenda, #dev-chat, #sim-mary

BP Dev Chat Summary : september 1st, 2021

10.0.0 Progress

  • Shortly before the dev chat started @dcavins shared his progress about the Site Membership Requests feature: he did preparative work needed for the feature by improving the BP Signup Class and fixed 2 tickets (#8540, #7938).
  • Thanks to a discussion between @vapvarun & @im4th about 2 BP plugins @vapvarun will soon make available on the WP plugins directory (about global BP Search and using the big G reCaptcha service to secure some parts of BuddyPress), @im4th will explore the possibility to add 2 new BP Blocks: 1 to perform global search, the other to display a member’s community statistics.
  • To help @sbrajesh organize the BP Relationships API, @johnjamesjacoby created the corresponding repository on BuddyPress’s GH.
  • @espellcaste asked for a dev review about his approach on adding pagination to message threads (#8508) and thanked @im4th for the one he provided about #7614.
  • @espellcaste also introduced some very interesting functions to get a Group object, making it possible to use template functions outside of the Groups loop. You should have a look to this commit.

10.0.0 first schedule

  • 10.0.0-beta 1: ~ november 20, 2021,
  • 10.0.0 stable: ~ december 24, 2021 🎄

BP Rewrites feature as a plugin

Although @im4th only said he was making good progress about the feature during the dev chat, let’s warmly thank the first contributors who joined the adventure of using the WP Rewrite API to replace our legacy URL parser: @shanebp @boonebgorges & @rayisme 🥰.

@im4th strongly encourages all BP Plugin/theme developers to give a test to this feature as a plugin to contribute to the next way BuddyPress will parse URLs.

Next Dev-Chat

It will happen on September 15 at 19:30 UTC and of course in #BuddyPress. If you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!

#10-0-0, #dev-chat, #summary

BP Dev-Chat Summary: June 30/July 7, 2021

June 30 improvised dev-chat

Following the discussion we had during June 23 meeting about the frequently requested Follow feature, and a very interesting discussion between @sbrajesh, @espellcastewe and @johnjamesjacoby, we decided to improvise a new Dev Chat about a possible larger scope about it. We shared our views about building a wider vision for “relationship types” in BuddyPress. A new API that would firstly be used for the Follow feature, but could also be used for potential other needs: user likes, improved user favorites, blocking users, what may come to our mind in the future!

@sbrajesh will lead this new project using the “feature as a plugin” model like WordPress does from a BuddyPress GitHub repository. If you’re interested in contributing to this project, please “raise your hand” commenting this summary.

July 7 regular dev-chat

@im4th starts with an apology: unlike what was scheduled (July 8), we were not able to release the 9.0.0 first beta so far. Sorry about it.

9.0.0 🎯

We’ve migrated 90% of Widgets as Block Widgets from the GitHub repository we use to build BuddyPress blocks. We also improved some BP REST API endpoints and we’re on our way to include a new endpoint to deal with Sitewide Notices. BP Block Widgets have been built on 2 principles: use the BP REST API every time it’s possible and use Modern JavaScript on front-end and the Widget/Post Block Editor’s APIs (mainly built on top of React.JS) on back-end.

@dcavins has made great progress about the Sitewide Notices Block Widget (👉 the last one to reach 100%) and about the corresponding REST API Endpoints. @espellcaste gave great advices about the BP REST API to speed up the process.

We also talked about directly packaging a Release Candidate without doing a Beta release. As the 9.0.0 development cycle is focused on migrating Widgets as Blocks, we have a very limited risk of messing with other parts of BuddyPress. @im4th said he’ll work on merging the BP Blocks code into BuddyPress core and will try to find the time to quickly build a Beta Release and some time after the Release Candidate (he hates when he doesn’t do what he has written he would do).

We finally talked about the great work @vapvarun has done building a test drive to host the BuddyPress code reference. The goal is to make it available asap and before the end of the year here. The main difficulty is to generate the documentation using the WP CLI parser command directly from the server (10 minutes). @im4th wondered if this could be achieved using the WP import/export tool (the documentation plugin is using custom post types). This is an approach we’ll try to test to avoid possible downtimes of the BuddyPress.org network.

9.0.0 schedule

  • Beta: July ? 🤔
  • RC: July 12 to 14.
  • Final: July 16 to 19.

Next Dev-Chat

It will happen on July 21 at 19:30 UTC and of course in #BuddyPress. If you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!

Additional note about meetings during 9.0.0 development cycle

As we are running a short development cycle, @im4th will be available every Wednesday at 19:30 UTC in #BuddyPress for an hour or more time if needed. Don’t hesitate to ping him (@imath) for help or inputs about contributing to this version of BuddyPress.

#9-0-0, #dev-chat, #relationship-api, #summary

BP Dev-Chat Summary: june 23, 2021

9.0.0 🎯

During yesterday’s development meeting we’ve discussed about @im4th‘s proposal to run the 9.0.0 development cycle very shortly targeting a release date before WordPress 5.8 final release is made available to the planet (~ July 20, 2021)!

@im4th was a bit worried about being too much directive and/or too ambitious, so he specified it was ok to disagree with this proposal. We quickly agreed, but here are some opinions we shared about this idea:

  • “Sounds great.” @sbrajesh
  • “I’m OK with your short cycle just for blocks to support the WP release” @dcavins
  • “I like the idea of very targeted releases” @dcavins
  • “the short release cycle is fine. The reason is good and makes total sense to me” @espellcaste

So we are going to try to do it!

9.0.0 Focus

Blocks!

As WordPress 5.8 is introducing the Widgets Block Editor, we are going to start migrating our legacy widgets. We actually already started the process from the GitHub plugin we use to develop BuddyPress Blocks. The first step is building a block for every BP Widgets and making it possible to transform existing BP Widgets to their corresponding BP Block. BP Widgets won’t disappear in 9.0.0 yet (no worries), but they’ll get a well deserved retirement progressively 😁. You can expect (at least) 10 new BuddyPress Blocks to be introduced in BuddyPress core.

A new follow component (if it’s ready for 9.0.0 release date)

@sbrajesh volunteered to satisfy a frequent request about this feature and he’s very welcome to contribute and lead this effort to make it happen! We talked about the “Followers” plugin @rayisme built which can be a source of inspiration. We’ll organize it from another specific GitHub repository. After the dev-chat, we had a complementary discussion about it, you can have a look at it for more information about early directions about the feature.

And of course, we’ll fix issues related to our latest major release (8.0.0) that may be found.

9.0.0 schedule

  • Beta: July 8.
  • RC: July 12.
  • Final: July 16.

8.0.0 issue “monitoring”

During the dev-chat, we also discussed about the feedbacks we got from the support forums about 8.0.0. We shared our surprise that plugins that appear to rely on BP aren’t tested in the beta window. This is something we need to carry on trying to improve. Working on documentation could be a way. On this topic, @vapvarun informed us he would prepare a list about which documentation resources need updates & then update them one by one 😍. Many thanks to him: it’s a very important work that will benefit to us all.

Next Dev-Chat

It will happen on July 7 at 19:30 UTC and of course in #BuddyPress. If you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!

Additional note about meetings during 9.0.0 development cycle

As we are running a short development cycle, @im4th will be available every Wednesday at 19:30 UTC in #BuddyPress for an hour or more time if needed. Don’t hesitate to ping him (@imath) for help or inputs about contributing to this version of BuddyPress.

#9-0-0, #dev-chat, #summary