We’ve started the meeting talking about the latest discussions that happened since we’ve shared our concern about the active installs statistic negative trend into our September 7 dev-chat’s summary. There is some interesting conversations into this WP Tavern post and into these Slack threads here & here. On this subject, we’ve done what we wrote: we’ve published a post explaining the situation and also called for feedbacks and contributions to reverse this trend! We often say it, but it doesn’t hurt to always repeat it: BuddyPress is free & open source software, everyone is welcome to help the project various fields of improvements (documentation, beta testing, support and of course code!)
Our progress about 11.0.0 (next BuddyPress major release)
#8734: a basic “private community” feature, instead of using a new option to switch between a public and a private community, we could use the BuddyPress WP Pages post status.
#4184: being able to exclude a list of users from the activity stream is an interesting first step to help us building a “muting/blocking” member activity feature.
Both tickets are in need of a first patch, don’t hesitate to jump in!
BP Attachments / Activity block editor update
The BP Attachments’ feature as a plugin is now adding a front-end users Media Library (screenshot on the left) as well as Media blocks (screenshot on the right) to use into the Post/Widgets Block Editor as well as the Activity Block Editor 👇.
The Activity Block Editor feature as a plugin now includes a new Activity Admin area (to replace the current one) and users can now edit posted activities.
11.0.0 schedule reminder
First beta: October 19, 2022 🚨 that’s in two weeks!
Release: December 14, 2022.
Open floor (how to reverse the trend?)
Here are the various topics we’ve been talking about to start replying to what BuddyPress needs the most to reverse its usage trend.
A “health community check” or a Diagnostic/Audit tool to improve security and help users fight against spam accounts, rude behaviors… Quoting @johnjamesjacoby: “A rudimentary and obvious set of global anti-spam settings that are used by every active component, too. Throttling requests. Keywords. Profile fields values. PMs. Group data. Status updates. And an admin-area inbox to funnel all of the failed attempts into, with some kind of crappy confidence score, might not be perfect, but an OK thing to as a new component that could be unplugged or replaced if something better comes along, AI etc…“
A new & gorgeous BuddyPress theme block-based (👈 @im4th‘s preference) or not, @vibethemes shared a lot of interests about it and raised some concerns with BuddyPress’ registration area, current design, the lack of customizability, Block template based theme compatibility and… the bp-core-catch-uri.php file which houses our legacy URL parser. @im4th and all the team share the same concerns about this last one, it’s the reason why the BP Rewrites plugin was published on the WordPress Plugin directory (to get more users testing it with their plugins to avoid potential missed back compatibility issues before merging it into BP Core)… @vibethemes even prepared a very interesting presentation. We talked about various stuffs related to theme design (CSS framework/library, webpack etc..). The BuddyPress Core team is totally in favor of building that new great looking theme and will help @vibethemes, @dunhakdis and any other contributors to make this come true asap.
It will happen tomorrow on October 5 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, the agenda will be published shortly.
@im4th has started working on templating to display single media on the front-end.
He also made it possible to share media using the Activity Block Editor when the BP Attachements plugin is active. This means block developers could soon enjoy a new playground to express themselves.
The BP Attachments Admin UI now includes an “Edit Item” view. See the screenshot below.
@im4th shared he was hesitant about #8052. Now the blog post title is directly included into the corresponding activity type’s content, we don’t need to use a blog meta to retrieve it inside the activity action string anymore.
@dcavins suggested to request a feedback from @rayisme who worked on this part and should be the best of us to know whether it’s safe or not to make this move in 11.0.0.
11.0.0 schedule reminder
First beta: October 19, 2022.
Release: December 14, 2022.
@im4th started discussing about the drop on the active installations stat we observed on the BuddyPress WP.org plugin’s page as it went down from 200k to 100k 😱. Thanks to @johnjamesjacoby we were able to get more precise numbers about this decrease and it turns out we’re around 190/195k active installs. But the trend since year 2017 is concerning as it’s 📉 not to mention the fact there are less and less contributors to the project 😭. We’ve discussed about the possible reasons for these bad results:
lack of cool front-end things added to the plugin recently,
hesitancy to install a big plugin like BuddyPress for a single feature,
lack of privacy tools, of a media component,
growth of the use of things like Teams and Slack,
BuddyBoss’s commercial aggressivity (eg: Google Adwords) or their slick-looking theme attractivity,
After some more discussions with @espellcaste we came to the conclusion we need more data from users. A new survey was suggested as well as asking the WordPress Marketing Team for help. We finally thought about posting into our support forum this simple question “what is the most important feature that BuddyPress is missing?“. We decided to test this last idea as soon as we have a text to explain why we are questionning ourselves about it. If you believe you have answers to share with us, don’t hesitate to comment this post 🙏.
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.
@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.
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.
#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.
#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 WordPressthe_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).
#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.
#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.
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.
@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…
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?)
@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
First beta: October 19, 2022.
Release: December 14, 2022.
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.
BP Attachments feature as a plugin ready for 11.0.0
Block based activity post form plugin as a feature
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!
@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 😉.
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.
Features for BuddyPress next major release (11.0.0)
@im4th shared a GitHub link to an issue summarizing what is/will be inside the BP Attachments feature informing the delete action was still missing. Since this chat, he included this action to the React based UI. As you can see in the above screenshot, one of the goal is to be able to create folders to organize user generated media.
As we lost ourselves into endless conversations about using PHPCS, @im4th said he would like to see a first patch added to #7228. He thinks this patch should include a GitHub action so that GitHub PR submitted to our repository could be checked against the PHPCS rules we choose to observe.
First thoughts about BuddyPress next major release (11.0.0)
@dcavins & @im4th started this topic trying to reply to the question « what is the most awaited BuddyPress feature? » Both came to the conclusion it was about Media. A component to improve the way BuddyPress handles user media is a huge challenge, but we think it’s a good time to start making decisive progress about it.
@im4th also needs to tidy a bit the GitHub repository so that @dcavins and the rest of the team can catch up about progress made so far and so that we’ll be able to share some tasks.
@dcavins suggested we focus on Media during the 11.0.0 development cycle and include the issues we’ve already added to the 11.0.0 milestone such as bringing Multisite support to Site Invitations.
We’ve decided to put documentation meetings on hold for now. Here’s what @im4th said about it « Updating doc is a huge challenge, but we need some more motivation like new people helping us. I think not getting help about it is a bit frustrating ». The staging site is still available and we can carry on improving things from there when we can find some time to.
#8693 we first talked about the behavior of the site invitations feature when BuddyPress is completely using the signups table (Multisite and custom WordPress config). We’ll need to add this feature support to these configs during the 11.0 development cycle.
As WordPress 6.0 is just around the corner, we will package a new maintenance release (10.3.0) asap to fix 7 bugs.
#8688 will bring a more optimized way to count group members.
Improvements to the BP Nouveau Template pack and to the Private Messages component.
A MySQL notice error which was logged when multiple notifications were batch marked as read #8676
We finally decided to punt #8687 to 11.0.0 to improve the way we load deprecated code. The plan is to only load the code that was deprecated 2 versions ahead the current one.