BP Dev Chat Summary: October 30, 2019

Actions

The BuddyPress Blocks poll

@im4th shared the final result of the poll. There was 161 votes and top results are mostly corresponding to existing widgets. Here are the “top expected blocks” :

  1. A block to share a post or a page via the Activity Stream (17 votes)
  2. A block to list the recently published posts from across your network (Exists as a widget) (13 votes)
  3. A block to display Sitewide Notices posted by the site administrator (Exists as a widget) (12 votes)

@johnjamesjacoby confirmed Widgets were obvious converts and @boonebgorges suggested to work on the block highlighting a single Group (10 votes) as a starting point. Highlighting a single group is not something we make possible yet and he confirmed it’s something people want. We’ve decided to:

  • Start working on this block for 6.0.0 from a specific GitHub repository: BP Blocks
  • Merge the « JavaScript built » blocks into BuddyPress Core to avoid adding too much node modules to it.
  • Publish the full results and the decision above on BuddyPress.org

Moreover, we’re very happy to announce @karmatosed (Tammie Lister) will give us a hand about designing BuddyPress Blocks 😍 🙌

5.1.0

Before releasing this maintenance version to fix these issues, @im4th will package a 5.1.0-beta release so that we can test the BP Beta Tester plugin with a “real world” example. Once the results of this test are satisfying, we’ll publish the plugin on the WordPress.org directory.

BP REST API

@espellcaste shared the latest news about it. We’ve been talking about adding a controller to manage the Blogs avatar. Renato is wondering why we are falling back to the Blog’s Administrator’s avatar if the site does not include a Site icon. @dcavins thinks it only makes sense when displayed blogs are really “weblogs”. @im4th will soon create an issue on the GH repository of the BP REST API to explain why this fallback choice was made.

NB: To work on the Blogs avatars, we first need to have this ticket (#8150) fixed (in particular for the get_item() controller’s method).

@espellcaste also talked about the historical dependency of users local avatars to the xProfile component. So far, it’s not possible to upload/delete a local avatar using the Member’s Avatar controller if the xProfile is inactive. As a result, the BP REST API documentation has been updated and 5.1.0 will move this controller’s loading into the xProfile component’s class. @im4th as he “promised” during the dev-chat has been working on trying to make the local avatar and the cover image Members features for 6.0.0. There’s already a first patch available for testing/review on this ticket (#8156).

@espellcaste finally talked about the decisions he made about developing a BP GraphQL API using the WP-GraphQL plugin: he’ll focus more on specific components rather than adding support to several components.

Tickets needing feedbacks

As there were only 5 minutes left, @im4th briefly announced the work he has been doing about moving the BP Devel site (this site) to a new Make.BuddyPress.org site (see #5525). This ticket contains screenshots and the needed plugins and themes to make it possible. Please have a look at this 🙏

@dcavins also reminded everyone he was expecting more feedbacks about his ticket dealing with “Network Invitations and Membership Requests” (see #8139). Thanks in advance for looking at it 👀

2 other tickets are needing feedbacks: please have a look at them before our next dev-chat:

  • #8148 A new direction regarding optional components management (using the WordPress.org Plugins API).
  • #8153 BuddyPress survey for 2019.

Next dev-chat

It will happen on November 13 at 18:00 UTC in #BuddyPress.

PS: if you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!

#5-0-0, #6-0-0

BP Dev Chat Summary: October 16, 2019

The Dev Chat started 20 minutes late: we’re not completely used to the new meeting time (NB: 18:00 UTC every other wednesday)

“Think”

The BuddyPress Blocks poll

@im4th posted the poll on this site and into a topic of the BuddyPress forums on October 10. After 6 days, the community participation is very week. It’s difficult to figure out what are people expectations. Here are the “top blocks” :

  • A block to share a post or a page via the Activity Stream (14 votes)
  • A block to list the recently published posts from across your network (Exists as a widget) (13 votes)
  • A block to dynamicaly list the recently active, popular, newest, or alphabetical groups (Exists as a widget) (11 votes)
  • A block to display Sitewide Notices posted by the site administrator (Exists as a widget) (11 votes)

The least we can say is there doesn’t seem to be a great enthousiasm for BuddyPress Blocks… As JJJ said maybe “the concept of BuddyPress blocks is not an easy one”.

How can we improve the way users get help?

This is a subject we couldn’t talk about during previous dev chat. There are a lot of topics posted on forums, and a lot are remaining without replies. @johnjamesjacoby thinks and I guess he’s right:

I believe, in general, the more activity there is from BuddyPress maintainers on the site, the more that others are likely to engage with us and each other.

So the first thing we can do is to try to contribute ourselves to forum replies as much as we can. Then here are the other ideas we had :

  • A styling refresh of the homepage and forums area.
  • Add some self care content. Eg: the replies to common issues users may encounter when starting with BuddyPress.
  • Moving the “bpdevel site” (this site) to a new make.BuddyPress.org site might help to bring some new contributors to forums. (@im4th announced he will soon share the work he has been doing about this project).

Let’s organize a BuddySesh!

To follow up the nice discussion @im4th had with David Bisset (@dimensionmedia) we’ve been briefly talking about this possible way of gathering BuddyPress contributors from all around the world for a day of conferences / chats. We’ll come back on the subject with David once the WordCamp US is behind us as he’s pretty busy contributing to its Programming team.

“Do”

BuddyPress Beta Tester plugin (& 5.1.0 minor release)

The GitHub repository for the BuddyPress Beta Tester plugin has been published. According to @im4th‘s tests, it’s working fine. To test it with a real Beta Version, @im4th suggested to soon package a 5.1.0-beta. We’ll need to publish it on the WordPress.org official directory once we feel it’s ready.

BP REST API

@espellcaste made great progress about the remaining endpoints of the BP REST API. There are now 3 more endpoints available for testing using the BP REST API Plugin :

BuddyPress Survey for 2019

@im4th suggested to carry on doing the survey @mercime used to do every year for a while now. The last one was done at the end of 2017 for 2018.

Next dev-chat

It will happen on October 30 at 18:00 UTC in #BuddyPress. Friendly reminder that we moved our dev-chat time to one hour earlier, 🙏 don’t miss it!

PS: if you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!

#5-0-0, #6-0-0

BP Dev Chat Summary: October 2, 2019

5.0.0 development cycle report

BuddyPress 5.0.0 was released on September 30, 2 days before this dev-chat happened.

First feedbacks

@boonebgorges was the first to share his feedback about this release. He congratulated the “5.0 team” for their amazing contributions.

@im4th sent new props to all 5.0 contributors and informed about the first results of the release in terms of downloads. The spike was reached on October 1st with 23562 downloads (~1K less than the one we had for 4.4.0). At the time of the dev-chat, no support topics were posted about issues relative to the 5.0.0 upgrade.

We unfortunately had an issue with po/mo language packs generation. Thankfully, the Meta Team fixed it very quickly and we updated our release process to make sure it won’t happen again.

What have we done well?

For @espellcaste we kept our development meetings (dev-chat) consistent (every two weeks). He also think publishing development notes during the development cycle and before the release was a good practice.

@im4th thinks having the BP REST API documentation ready before the release was a great team achievement. Developing the BP REST API from GitHub was also a great way to save some time (especially when rebasing!)

What can we improve?

We all noticed testing involvement was very low during 5.0.0 beta tests. We’ve tried to understand the reasons behind this fact:

  • lack of interest?
  • lack of time?
  • lack of visibility of our communication?
  • total confidence in our work?

It’s important we try to reach and get the involvement of early adopters, advanced users, plugin and theme developers during BuddyPress major release beta tests.

@im4th then asked if the frequency and the schedule time of meetings were suitable for all. The “every other Wednesday” seems to be fine with everyone but moving the schedule time to one hour earlier seems better.

What’s next in BuddyPress?

6.0.0 priorities

The first priority is to complete the BP REST API with the remaining endpoints (#7156).

About the Gutenberg project and to follow up with a previous conversation we had about it. We need to have a better idea about BuddyPress users needs on the BuddyPress Blocks (#8048) topic: that’s why we’ll share a poll with them. @dcavins thinks the obvious first step is to have a block version of our existing widgets: we all agreed. About the poll, as @boonebgorges pointed out we might have a very limited participation to it, so we will have to analyze the results very carefully. He also pointed out the poll was to consider as one input like any other. @im4th will work on a text about it in order to be able to explain and share the poll on this blog and on one BuddyPress forums topic.

@im4th thinks that more than blocks BuddyPress users are expecting a “BuddyPress maintained” component to manage User Media (#8022). He plans to revamp the BP Attachments plugin he started a while ago to try to have something ready for 6.0.0.

@im4th is also planning to work on migrating the way BuddyPress builds URL to use the WP Rewrites API (#4954). He thinks that as it’s a breaking change, we need to build it so that it can be “tested & deactivated” for a while.

@dcavins will take benefit of the new BP Invitations API to work on Network invitations and membership requests (#8139). He renew his wish to get our feedbacks about the road he plans to take.

After the dev-chat @im4th & @johnjamesjacoby also talked about including the BerlinDB features into BuddyPress.

How can we have more betatesters?

@im4th shared his ideas about this potential improvement we all agreed on during our 5.0.0 cycle development report:

  • A beta tester plugin just like the WordPress one, but for BuddyPress.
  • Migrate this blog into the BuddyPress.org network (#5525) and extend it to include a handbook about contributing to BuddyPress.

How can we improve the way users get help?

Unfortunately we ran short of time and decided to talk about this point during our next dev-chat.

Next dev-chat

It will happen on October 16 at 18:00 UTC in #BuddyPress. We moved our dev-chat time to one hour earlier, don’t miss it!

PS: if you have ideas or questions, feel free (and we are strongly encouraging you) to comment this summary to share them!

#5-0-0, #6-0-0

BP Dev Chat Summary, September 18

5.0.0’s schedule

🎯 5.0.0 release: ~ September 30.

About 5.0.0 RC1

The release candidate was packaged on September 17. A few hours late comparing to the schedule: @im4th explained this was due to last minute fixes he had to do about failing unit tests for WordPress trunk (5.3 dev cycle).

So far no feedbacks were published about this release candidate in BP Trac or in BP Support Forums.

BP Rest API Documentation site

A first version of it is now available on developer.buddypress.org. There is still work to achieve to improve the responsiveness of the theme and the way it integrates itself into the BuddyPress.org network.

@boonebgorges and @im4th agreed it was ok to launch it in this state. @im4th will soon post about it on BuddyPress.org so that BuddyPress developers are informed about the BP REST API handbook availability.

5.0.0 remaining tasks

@boonebgorges will work on extracting the release props next week. As the BP REST API has been maintained on GitHub so far, we’ll need to incorpore manually these contributor names. He & im4th will also review the “Recent Rockstars” list.

@im4th will take care of drafting the first version of the announcement post and writing the release page on the Codex.

About the 🍕 name of the 5.0.0.. It’s a surprise !

Next dev-chat

It will happen on October 2 at 19:00 UTC in #BuddyPress slack channel 2 days after the 5.0.0 release. We will talk about its first feedbacks and about our first ideas for the next(s) development cycle(s).

#5-0-0

BP Dev Chat Summary, September 4

5.0.0’s schedule

  1. Second beta release: September 10.
  2. First release candidate: ~ September 16.
  3. 5.0.0 release: ~ September 30.

Issues & Feedbacks about the first beta release

Some i18n issues appeared into the BP REST API code and have since been fixed by @espellcaste. @im4th will improve the bp.apiRequest JavaScript function before beta2 (#8131).

IAmTheWebb reported that he hasn’t noticed any regression issues but also informed us he hasn’t found the time to test the new features yet. The lack of ticket report is a bit worrying as it makes us wonder if the beta1 has actually been tested by BuddyPress plugin or theme developers 🤔.

@boonebgorges explained it wasn’t easy to test the BP REST API as it required building clients. Having the BP REST API documentation site available would probably help.

The BP REST API documentation site

@johnjamesjacoby & @netweb have been working on the developer.wordpress.org needed set-up to host the BP REST API documentation site. Although we are very confident they will soon fix #4601-meta, we decided to wait until September 20 before applying our backup plan.

In case we can’t make it on developer.wordpress.org @im4th will buy a specific domain name for the staging site we used to write the documentation and we’ll make this site widely available.

BuddyPress plugin & theme developers will be able to consult The BP REST API documentation before the 5.0.0 release 💯.

Hello BuddyPress modal

BuddyPress 3.0.0 introduced this modal to replace the Welcome Screen. We use it to inform about the new features introduced in the new major releases of BuddyPress.

@im4th shared a patch on #8132 to make this modal more inline with the WordPress Administration styles. @johnjamesjacoby shared his thoughts about it on the ticket and agreed during dev-chat that matching core’s modal would be best.

@im4th is 🇫🇷 so there are probably some english mistakes in the text parts of the patch. BuddyPress contributors : don’t hesitate to find and fix them 🙏

5.0.0-beta2

We decided to package a second beta next week to remind our contributors we need their help to test our contributions. Let’s not wait for the stable release to find bugs we could have avoided during the beta period!

Next dev-chat

It will happen on September 18th at 19:00 UTC in #BuddyPress slack channel, just before the release candidate.

PS: @dcavins couldn’t attend to the dev-chat but recently shared in our Slack channel he will soon publish an overview about the changes introduced by the BP Invitations API 👌.

#5-0-0

BP Dev Chat Summary, August 21

5.0.0’s schedule

Here are three important dates about our next major version:

  1. First beta release: August 28.
  2. First release candidate: ~ September 16.
  3. 5.0.0 release: ~ September 30.

BP Invitations API

@dcavins has committed this new API to manage Invitations/Membership Requests across components. The first BP Component to enjoy it is naturally the Groups one. Many thanks and huge congratulations for the accomplished work 👏🤝. See #6210 for more details about it.

BP REST API

Code improvements

  • He also adapted the Group Invites and the Group Membership Requests endpoints so that they are now using the BP Invitations API.
  • The create_item() method of the Group Membership controller is now taking in charge the action to let members join a public group.
  • WP_REST_Server::DELETABLE methods are now all returning an object with two keys. The first one informs about the success of the DELETE request and the second one contains the previous BP object as it existed before its deletion.

Documentation

The content is almost ready! Documenting the Group Invites and the Group Membership Requests endpoints (the last ones) will be achieved before the beta release.

Making it available from BuddyPress.org is in very good hands @johnjamesjacoby will work on it asap to try to have it ready around beta release so that it should be easier for contributors to play with the BP REST API during our Beta/RC release steps.

How the BP REST API will be included into BuddyPress Core for this beta release?

To keep working from our BP REST GitHub repository to fix potential bugs / improvements, we will include it during our build process a bit like what happens today with BP CLI: see this comment on #7156 for more details.

This means:

  • the BP REST API plugin, if active, will take over BuddyPress, making it easier to carry on maintaining it from GitHub during the Beta/RC time.
  • If contributors are using trunk to beta test, they’ll need to npm install & grunt build to get the BP REST API into this build.

5.0.0 milestone’s remaining tickets

  • #8046 & 8093 have been moved to next release.
  • #8103 (BP Legacy Companion Stylesheet for Twenty Nineteen) is kept during the beta/RC to leave a last opportunity to include it before final release if it gets some contributions/testing.
  • #8123 will be committed asap & before beta release.

Beta Release tasks

  • @im4th will take in charge the beta release packaging
  • @dcavins will try to post on this blog to introduce the BP Invitations API
  • We still need to write the announcement post for BuddyPress.org. A draft for it is available on BuddyPress.org (the title is BuddyPress 5.0.0-beta1), don’t hesitate to add the information you think are important to mention. I’ll polish the writing part 🖼 📝

Next dev-chat

It will happen on September 4th at 19:00 UTC in #BuddyPress slack channel. Of course is something goes wrong with right after the beta release, we’ll always be able to meet next week.

#5-0-0

BP Dev Chat Summary: August 7, 2019

5.0.0’s schedule

At the end of our discussions, considering the work we still have to achieve to feel satisfied about ourselves, we’ve decided to postpone the first beta release to the last week of August. Our new targeted date for 5.0.0-beta 1 is August 28. Thanks for everyone’s comprehension 🙏

BP REST API focus

NB: we didn’t have enough time to decide about “how to include the BP REST API into BuddyPress Core“. We will do it during our next dev chat. In the meantime, you’re welcome to contribute to #7156.

Documentation

We’re making great progress on this topic. More than 50% of our endpoints are now documented. @im4th shared the link of the testing site we use waiting for #4601 to be fixed (@im4th and @espellcaste are 🤞).

Writing this documentation is also very helpful to improve the API code: 10 pull requests were generated and merged so far.

@im4th is 💯 confident all the endpoints introduced into version 5.0.0 of BuddyPress will be documented before its public release.

Code improvements

In addition to these PRs @dcavins has been working hard on adapting the Group Invites and the Group Request Membership endpoints to the new BP Invitations API. @espellcaste & @im4th ‘s reviews of his patches led to 2 important conversations during the dev chat.

What endpoint should handle the action “a user joins a group”?

While @boonebgorges intuitively expects a POST request to the Group Membership endpoint to succeed if the group is public, I was wondering if “joining a public group” could be interpreted as “requesting an already accepted membership request” and as such use the Group Request Membership endpoint instead. @dcavins informed the second option would generate a consistency issue as the response object wouldn’t fit with “joining a public group“. We decided to use the first option (See PR209).

How should we build the response object to the WP_REST_Server::DELETABLE methods?

So far we were returning the object as it existed before its deletion for all endpoints excepting for the Members endpoint. The Members controller is actually extending the WordPress Users one : so we decided to follow WordPress way of building the response object in this case. See PR210.

BP Invitations API

See #6210 for more details about the API. @im4th & @dcavins are confident about committing the changes into BuddyPress Core to make the API available to everyone for 5.0.0 🙌. A Back compatibility mechanism is in place and our testing did great. The soonest the patch will be converted, the best it will be to finish the needed adaptations of the BP REST API (See PR206). @dcavins will work asap 💪 on the committing task, making sure to split the patch into small & consistent chunks.

5.0.0 milestone’s tickets

As we were already playing overtimes for 30 minutes for this dev chat, we will decide about whether to move the remaining tickets to a next/future release or not during our next dev chat.

If you have CSS skills, you are very welcome to contribute on #8103. If you’re not familiar with working with Trac patches, we’ve put together this Twenty Nineteen child theme to make things easier for you.

Next dev-chat

It will happen on August 21th at 19:00 UTC in #BuddyPress slack channel. As @im4th said at the end of this dev-chat:

Let’s meet again in 2 weeks with everything ready for a beta release the week after 💪 🙌

#5-0-0