BP Dev-Chat Summary (June 12)

BP REST API

A huge work has been accomplished by @espellcaste 💪 so far from the feature as a plugin “BP REST” and we think the 5.0.0 release will be a good time to bring the REST API within BuddyPress core. As explained in #7156 it will introduce 14 BuddyPress endpoints and you’ll soon be able to play with activity updates, groups, members, private messages and extended profile fields using REST requests 🙌

8 other endpoints (eg: blogs, friends) will arrive in 6.0.0.

BP REST Documentation

As @boonebgorges said during the chat, this part is very important for us to help you build great BuddyPress plugins thanks to this new API. We’ve been looking for a nice tool to generate this documentation out of the endpoints schemas and we think we’ve found a good solution to start. We now have to put up a website to host this documentation. I’ll take care of sketching out the next steps of this site and @boonebgorges will be able to help for the domain name.

Let’s start using the API within BuddyPress core!

The best way to help you discover the BP REST API potential is to use it ourselves 😉. We plan to do so by improving how Group members are managed within the Group Manage screen (front-end) and the Group Admin screen (back-end). Below is a video demo to let you discover a bit early how it should look like on the front-end of your community site.

You can follow our progress from the #8045 ticket.

How to include the BP REST API into the BuddyPress plugin package?

We’ve been discussing about it for about 30 mins during the chat and we haven’t decided yet how this will happen. We have 2 options:

  • Carry on maintaining it from GitHub.com and include it during the BuddyPress plugin’s build process (that’s what we’re doing for BP Default & BP CLI)
  • Merge it into BuddyPress Core.

There are “pros” and “cons” for both options. For example, maintaining it from GitHub can be confusing for contributors because it adds a second place to report for this part of BuddyPress as @boonebgorges noted. It’s also problematic regarding the history of how the decisions were made: it would be “tied up in two places“. @espellcaste also expressed his preference, despite the fact working in GitHub is more convenient, about keeping things “in house” (we have less control about the future of GitHub). Finally @boonebgorges also explained we could keep it on GitHub for a couple of releases before bringing it home as “once we go Trac, we cannot go Back“.

Another relative point on this subjet: how plugins should behave if they are both activated?

  • Should the plugin BP REST take over BuddyPress ? Meaning all endpoints can be maintained from the GitHub repository.
  • Should it be BuddyPress? Meaning the BP REST plugin would only be used to develop the 8 remaining endpoints.

We agreed we still have time until the first beta release to decide, but if you have ideas or recommandations : please share them in comments 😊

About the 5.0.0 release schedule

We agreed on a first date : 5.0.0-beta1 will be released around August 15.

As discussed during the chat, it will give us the time to work on the documentation site and decide about the « BP REST API including » strategy.

It should also give us the time to clear the tickets list of the milestone, there are around 10 tickets left and you are very welcome to give us a hand testing or suggesting patches.

Until Beta1 we will have a dev chat every other Wednesday at 19:00 UTC in #BuddyPress. Here is the planning of our next meetings:

If you are going to Berlin to attend to the WCEU 2019: have fun, make good connections and learn great things! @johnjamesjacoby will be there, don’t hesitate to enjoy his conference 👌 and chat with him about BuddyPress 😍

You can also decide to give a hand to BuddyPress during this WordCamp thanks to the contributing area! We’ll be very happy to help from where we are 😁

#5-0

BP Dev-Chat Agenda

Hi everyone !

Let’s meet at 19:00 UTC on next Wednesday (12th of June) in #BuddyPress to talk about the 5.0.0 release. Here are the topics I’d like we discuss about during this meeting.

BP Rest API

To follow up with our last summary : it will be our main focus/feature for this release and we need to decide about:

  • Endpoints coverage.
  • The tool to use to generate the endpoints documentation.
  • BP Core API Usage : see 8045
  • Build process: as the BP Rest API will carry on be maintained from our GitHub repository, we need to update our build process to include needed files in the BuddyPress plugin’s package.

Tickets on the 5.0.0 roadmap

9 tickets are in the queue, let’s decide the ones we’ll fix/close before completing our milestone.

If you need/want to discuss about other topics, don’t hesitate to add them in comments 👍

#5-0

BuddyPress 4.3.0, a security and…

BuddyPress 4.3.0, a security and maintenance release, is now available. https://buddypress.org/2019/04/buddypress-4-3-0-security-and-maintenance-release/

BuddyPress 4.2.0, a security and…

BuddyPress 4.2.0, a security and maintenance release, is now available. https://buddypress.org/2019/02/buddypress-4-2-0-maintenance-and-security-release/

BP REST API chat summary – Jan 28, 2019

See previously: https://bpdevel.wordpress.com/2019/01/23/bp-rest-api-chat-monday-jan-28/

In attendance: boonebgorges, espellcaste, imath, rekmla, tw2113, chetansatasiya Slack archive: https://wordpress.slack.com/archives/C02RQBYUG/p1548687725147600

We chatted briefly about the current state of the API code https://github.com/buddypress/bp-rest. CRUD coverage for BP content types is about 90% complete, with a few pending PRs. Renato and Boone are working toward 100% in the next week or two.

There was general agreement that the BP 5.0 release should focus on the REST API, with a tentative date of Q1 2019 suggested. A few discussion points:

Documentation

Questions about API usage have already come in at a fairly fast pace on the GitHub issue tracker. As such, we aim toward having documentation covering basic usage by the time we ship. For reference, the WP REST API documentation on developer.wordpress.org contains both hand-built documentation and automatically generated docs. See https://developer.wordpress.org/rest-api/ and https://developer.wordpress.org/rest-api/reference/. We’re hopeful that we can leverage some of wordpress.org’s tools for automated generation of documentation, or perhaps a third-party tool like https://github.com/humanmade/Restsplain In the upcoming weeks, we’ll try to collect team wisdom on the current state of buddypress.org and the options available to us.

If it’s not possible to make major mods to our wordpress.org documentation in order to support these automatically-generated docs, we might roll our own outside of wordpress.org, much in the manner of https://wp-api.org prior to the core REST API merge.

Authentication

Authentication is likely to be a point where documentation is especially important, particularly because the majority of BP site users are authenticated. There have also been some questions on the GitHub repo about the consistency of making authenticated requests, the use of nonces, etc. For reference, here’s the core page on API authentication: https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/

BP core API usage

There was general agreement that it’d be wise for BuddyPress itself to use the API in at least a handful of ways for the 5.0 release. In addition to enabling new, AJAX-powered interfaces, the process of building on top of the REST API for BP itself will help the team gain familiarity with the nature of the API, and improve its usability before the public launch.

In some cases, existing AJAX can be converted to use the API. See eg https://buddypress.trac.wordpress.org/ticket/8043#ticket. In other cases, we may consider adding new interface features using the API. See eg https://buddypress.trac.wordpress.org/ticket/8045#ticket. While it’s generally safest to modify existing functionality in the Dashboard – where our interfaces aren’t easily customizable by themes etc – it may be possible to swap out some front-end stuff (say, in Nouveau) without too much breakage. My initial thought was directory AJAX, but then I remembered that some of those existing endpoints return markup rather than JSON-formatted entities. Any ideas are welcome.

Ongoing meetings

In support of the 5.0 push, we’d like to reestablish regular project meetings. The current proposal is to use the old meeting time of Wednesdays at 19:00 UTC, every other week beginning February 13.

#5-0

BP REST API chat, Monday Jan 28

We’ll be having an informal chat in the #buddypress Slack channel at 15:00 UTC on Monday, January 28 to talk about BuddyPress 5.0, and especially next steps for the BP REST API project https://github.com/buddypress/bp-rest. This will likely lead into some broader discussion about BP focuses for 2019. I’ll post an update here afterward for those who are interested but unable to attend.

BuddyPress 5.0.0 will require WordPress…

BuddyPress 5.0.0 will require WordPress 4.7 or greater. See https://buddypress.trac.wordpress.org/ticket/8025, as well as the perennially ripping read, https://codex.buddypress.org/getting-started/wordpress-version-compatibility/.