Real-world testing of BuddyPress WP-CLI commands

A few years ago, I started a wp-cli-buddypress project. I occasionally added commands that were useful to me personally, but didn’t pretend to have anything close to complete coverage. A few months ago, Renato Alves (@espellcaste) contacted me to see whether he could help flesh out some of the missing commands. We moved the repo to the official BuddyPress GitHub account https://github.com/buddypress/wp-cli-buddypress, opened a BP ticket to track the potential integration of the commands into BP itself https://buddypress.trac.wordpress.org/ticket/7604, and got to work.

Since that time, Renato and I have done extensive work to bring basic CLI commands to all the main components of BuddyPress. Specifically, we have CRUD commands for all major content types, as well as a few helpful utility methods. The list of supported commands is too long to list here – you can explore by typing <code>wp bp</code> and digging down through the tree – but here’s a very brief summary:

  • activity – CRUD commands, comment management, favorite management, spam/unspam
  • core – Component activation and deactivation
  • group – CRUD commands, member listing and management, invitation management
  • member – bulk generation
  • signup – CRUD commands, activation, resending
  • tool – commands for running any BP repair tool
  • xprofile – CRUD commands for groups, fields, and user data

While there’s more to build – and refinements to be made – we’re at a point where we need real-world testing and feedback. If you are a BP developer, or administer BP-powered sites, and if you use WP-CLI, please install wp-cli-buddypress today and start using it.

There are numerous ways to install a wp-cli package, but because this one is in development, we encourage you to get a repo checkout. Something like:

$ git clone https://github.com/buddypress/wp-cli-buddypress ~/.wp-cli/commands

and then add the path to wp-cli-buddypress/wp-cli-bp.php to the commands subsection of your wp-cli config file https://make.wordpress.org/cli/handbook/config/#config-files.

Questions to consider while using the commands:

  • Are the commands named in a way that makes sense? Note that in some cases, commands have aliases (eg wp bp group create and wp bp group add).
  • Think about argument patterns across the commands, and whether they are consistent and make sense. Some commands take certain positional arguments (wp bp group get my-group) while others require named arguments (wp bp xprofile data get --user-id=5 --field-id=10)
  • What major features are missing?

For specific issues, you’re encouraged to open a GitHub ticket: https://github.com/buddypress/wp-cli-buddypress/issues. For high-level discussions, you can open a GitHub ticket, leave a comment here, or drop into the #buddypress channel on wordpress.org Slack.

And for the truly intrepid: Contributions are encouraged! We’ve worked hard to ensure 100% Behat test coverage, which makes writing new commands fun.

#wp-cli

BuddyPress 3.0 will require WordPress…

BuddyPress 3.0 will require WordPress 4.5 or greater. See https://buddypress.trac.wordpress.org/ticket/7618 and https://codex.buddypress.org/getting-started/wordpress-version-compatibility/.

BuddyPress 2.9.2 security and maintenance release

BP 2.9.2 is now available: https://buddypress.org/2017/11/buddypress-2-9-2-security-and-maintenance-release/

BudyPress 2.9.0 ‘La Lombarda’

We’re  happy to announce the launch & availability of it’s latest release 2.9 ‘La Lombarda’ available for download or updatable from your WordPress install plugin directory.

As always this release has been a huge team effort from both the core contributors and many new contributors with first time patches and we thank everyone for their time and effort put in to bring this release home.

I personally thank everyone for the support I’ve had as a first time release lead, an interesting experience. special thanks must go to @mercime for acting as release deputy, keeping the devchats abridged and posted on bpdevel and for the help on the first beta packaging run at an ungodly hour of the morning 🙂

A full changelog can be viewed here – Codex Changelog 2.9.0

Please report any issues to our Trac home

Happy updating!

hnla.

#2-9-0, #new-release

BuddyPress 2.9.0-RC1

Today sees BP 2.9.0 move to the final testing phase Release Candidate 1.

This is the last chance to test out this release and report back any issues found before final release in approximately two weeks time.

Any issues found can be reported to our trac ticket home , or raised on the support forum.

For a full list of commits see 2.9 tickets A full changelog will be available when we release the final version.

You can download the plugin to test from the WP repo BP 2.9.0-RC1 or grab a copy from our SVN repo.

A reminder to all theme developers that there are changes to template markup that could effect layouts and ask that they check their themes carefully, the changes are listed below along with changelog links; again any issues or problems please report as soon as possible to the BP trac or slack channel.

Template changes

In this release there are a number of improvements to templates that add a level of improved a11y performance and markup changes for better semantics & Standards.

Theme authors may want to pay particular attention to changes to profile field visibility links and the profile field descriptions where significant markup changes are made that effect positioning of these elements – changesets for these are r11617 & r11618

Nouveau – new template pack

If you’re looking for Nouveau as we mentioned in the beta2 announcement we have delayed the release of this new template pack to ensure it receives as much code checking & refinement as possible and we’ll be looking to probably package this as it’s own release shortly after 2.9 is released.

We thank you in advance for all testing and reports and it need not be mentioned but please don’t run Beta or RC releases in a production environment only on test installs.

Regards,
The BuddyPress team.

Dev Chat Summaries as of July 5, 2017

BP 2.9 Schedule

  • Release Candidate 1 – July 12, 2017 (String Freeze)
  • Target release date – July 26, 2017
  • 58 tickets in queue (2 open. 56 closed)
  • BuddyPress Canonical Redirects and Trailing Slashes (#7555)
  • Welcome Screen for BP 2.9.0 (#7563)

bp-nouveau

Note: Per hnla’s BP 2.9 beta 2 announcement, bp-nouveau inclusion to core was moved to BP 3.0

Commits included tackling various tickets & help from dcavins, slaFFix, mercime, r-a-y, and DJPaul:

  • Issues with Ajax star actions in messages were corrected by dcavins.
  • Some markup errors & text strings corrected by slaFFix.
  • Tooltip implementation by mercime started its round of commits updating elements removing, title attr & replacing with data attr & strings along with ARIA attr where applicable.
  • Classes for vert nav layouts were refined & made a little more distinct between dir & single screens with a generic class for common properties.
  • Refined & corrected issues with markup for single screens filters/search bar to ensure correct markup and template driven.
  • Provided additional styling classes to allow inputs in addition to buttons can be styled as text links & changed cancel/resets actions to visual text styling.
  • Merged PR from R-a-y for loading Customizer conditionally.
  • Merged dcavins’ sitewide notices branch.
  • We’ve begun looking at the integration of Nouveau to core. DJPaul added a re-factoring of the plugin loader along with updates to bp core to effect the switcher. If you’re using the plugin version you might need to revisit the settings screen and re-select Nouveau as TP to use.
  • In addition, hnla has created a new MS install of WP/BP trunk copying the actual bp-nouveau folder from the plugin to the bp-templates dir in core, with a temp register template pack array added to core. He has successfully run Nouveau under BP as opposed to as a plugin. This was a nice proof of concept check that didn’t show any massive issues.

BuddyPress Team at WordCamp Europe 2017

BuddyPress team in Paris, 2017

From left to right: Laurens Offereins (Offereins), Slava Abakumov (slaffik), Boone B Gorges (boonebgorges), Mathieu Viet (imath), and Henry Wright (henry.wright). BuddyPress team members pose in front of “Pietro”, the BP 2.4.0 release pizza place. (Photo courtesy of Mathieu Viet)

Slack logs:
June 21: https://wordpress.slack.com/archives/C02RQBYUG/p1498072419097887
June 28: https://wordpress.slack.com/messages/C02RQBYUG/p1498676590270915
July 5: https://wordpress.slack.com/archives/C02RQBYUG/p1499281475578336

BuddyPress 2.9 Beta 2

Today sees BP 2.9 move to Beta 2 ( Beta 1 skipped for technical reasons ) testing phase and we would request all plugin authors, theme developers and other interested parties test out this release and feedback any issues found to our ticket trac home .

You can download the plugin to test from the WP repo BP 2.9.0-beta2 or grab a copy from our SVN repo.

Amongst other improvements and fixes to look out for are:

  • Fixing display of older activity comments.
  • Correction of message when removing friends that are not friends.
  • Group invites – omit sending to previously invited members.
  • Profile image upload fix for IE Edge breaksIOS fix.
  • Correct issue with hidden group & CSS specificity.
  • URL compatibility for LightSpeed.
  • Fix inability resizing of member avatar for cyrillic character filenames.

For a full list of commits see 2.9 tickets

Template changes

In this release there are a number of improvements to templates that add a level of improved a11y performance and markup changes for better semantics & Standards.

Theme authors may want to pay particular attention to changes to profile field visibility links and the profile field descriptions where significant markup changes are made that effect positioning of these elements – changesets for these are r11617 & r11618

Nouveau – new template pack

While we were definitely aiming for release of this feature for 2.9, the necessary final fixes and feature enhancements along with the necessary code reviews were going to prove very tight to get finished in time and would have likely meant a degree of rushing. We have decided that as this is such a major new feature, the first new theme in many years and that expectations will be high for it that we should not rush to put out a product that might be even slightly sub optimal.

However fear not we are very concerned that the project is focussed on through the last stages of 2.9 and has primary focus during the next release cycle to ensure an early completion.

It is further proposed that we’ll actually release Nouveau in a much shorter release cycle as 3.0, this way we can get an early release and not have the project just sitting in trunk until the end of the year.