General Summary as of February 6, 2017

Apologies for not posting updates here lately. This is a compilation of all the dev chats for January 4, 11, 18, 25, and February 1 plus relevant activities.

BuddyPress 2.8

BP 2.8 Trac

BP Email: Allow end user to specify which PHPMailer should be used (#7286). @djpaul has committed patch to trunk.

Alphabetical sorting in the group widget (#7313). @dcavins has committed patch to trunk.

Make group search more flexible (#7418). @dcavins has committed patch to trunk.

Use BP_Groups_Group::get() where possible (#7419). @dcavins has committed patch to trunk.

get_group_extras function doesn’t “respects” the user_id variable from groups_get_groups() function (#6431). Ticket punted to Future Release.

BP 2.8 – Prevent loading if PHP < 5.3 (#7277). @boonebgorges has commited patch to trunk.

Add View link for users on BP Signups page (#7261). @slaFFik has committed patch to trunk.

Group Types Default Pagination Broken (#7423). @r-a-y has committed patch to trunk.

When user is not logged , in he/she clicks email link to view new messages gets 404 page when should get login page (#7349). Ticket punted to BP 2.9.

XProfile: use filterable field input name in radio/checkbox field type (#7425). @offereins has committed patch to trunk.

Group and member template functions should check current group/member as well (#3842). Ticket punted to Future Release.

Notice: Trying to get property of non-object (#7329). @r-a-y has committed patch to trunk.

Welcome Screen for 2.8.0 (#7426). Under construction.

Hook for custom email type schema (#7431). @DJPaul has committed patch to trunk.

Update and fix all the NPM things (#7429). Ticket punted to BP 2.9.

XProfile: a group’s first field becomes last after save (#7428). @offereins has committed patch to trunk.

BuddyCamp Miami, March 24, 2017

WordCamp Miami hosts BuddyCamp for the 6th time and this year, expect a REST API workshop along with interesting BuddyPress topics in this single full-day event.

As of Feb. 6, topics for the “BuddyCamp + REST API” track on Friday, March 24th, include:

  • “BuddyPress 101: What You Need To Know” by David Laietta
  • “Taming BuddyPress” by Tanner Moushey
  • “A BuddyPress Case Study” by Tara Claeys
  • “How To Build A WordPress/BuddyPress Mobile App” by Brian Messenlehner
  • “The State of BuddyPress” by John James Jacoby
  • “Working With The WordPress REST API” by Joseph Van
  • …more speakers and surprises to come!

WordCamp Miami 2017 will be held over the course of three days, March 24-26, at Florida International University.

Initial list of speakers for the BuddyCamp + REST API Track on March 24. Top row, L – R: David Laietta, John James Jacoby, Tanner Moushey. Bottom row, L – R: Joseph Van, Brian Messenlehner, Tara Claeys. (Image from WordCamp Miami 2017 site)

Dev Chat Summaries for December 21 & 28, 2016

BP 2.8 Trac Tickets

BP 2.8 – Prevent loading if PHP < 5.3 (#7277) @boonebgorges has patch. Dev feedback requested (esp. @johnjamesjacoby & @djpaulgibbs).

Removal of `create_function` usage for BP 2.8 (#7325) @tw2113 has patches.

Anonymize BP Core Dependency functions file. (#7335) Closed as wontfix.

`groups_promote_member()` shouldn’t attempt to fetch ⁠⁠⁠⁠BP_Core_User⁠⁠⁠⁠ object (#7382) Patch needs unit tests. Assigned to @boonebgorges.

Add a “buddypress” class to body element of wp-admin (#7353) @slaffik has committed fix to trunk.

Component Maintainers

@slaffik will be contacting everyone who volunteered to maintain BP components in Trac.

@dcavins would like notifications from Trac for new tickets under the Group components. He mentioned different workarounds like getting Slack notifications for the Groups component to getting the RSS feed from Trac for the specific component. @johnjamesjacoby: “We’d need to merge into our Trac what’s already in WordPress Trac. That’s probably Dion and/or Nacin.” @netweb noted after the chat that there’s a ticket in Meta Trac to get this underway.

🥂 Wishing Everyone a Happy & Prosperous New Year! 🥂

Slack logs:
Dec. 21 https://wordpress.slack.com/archives/buddypress/p1482350517001398
Dec. 28 https://wordpress.slack.com/archives/buddypress/p1482955219002247

#7277, #7325, #7335, #7353, #7382

Call for Components Maintainers

All the BuddyPress development takes place in Trac. All the tickets, most of the feature discussions and confirmed bugs, are all managed via Trac. For better tickets management, we use milestones, components, keywords and other ways to categorize everything. So far we have 24 components:

Component Tickets Maintainer
Activity 87 @lmoffereins
Administration 17  @slaFFik
Blogs 15
BuddyPress.org Sites 26
Build/Test Tools 8 @netweb
Core 157 @boonebgorges
Emails 17 @djpaulgibbs
Extended Profile 58 @lmoffereins
Forums 6
Friends 9 @henry.wright
Groups 58
I18N 10 @slaFFik
Media 13
Members 32 @espellcaste
Messages 16
Navigation 2
New User Experience 2
Performance 4
REST API 2 @espellcaste
Registration 6
Route Parser 7 @boonebgorges
Settings 4
Templates 55  @hnla
Toolbar & Notifications 22

WordPress (as well as some other OSS) uses an interesting approach where a person or a group of people are responsible for a specific component of a software project. The contributors have a specific interest in their chosen component, and enjoy or see the need to focus most of their contribution time on it.

In the long run, this helps that contributor quickly triage tickets in their preferred component, as they specialize in it and build up a knowledge advantage. The overall project benefits by faster review and prioritisation of new tickets.

I propose to implement BuddyPress component maintainers, with the hope that this will help move development even further and faster.

Some components, like Activity, Extended Profile, and Groups, need special love, as the number of tickets there is 50+. These components will benefit from having multiple component maintainers assigned to them.

Component maintainers don’t need to do anything special – just consider reviewing Trac tickets for your component, when you have a will and time to contribute to BuddyPress. You will be expected to look through all existing tickets, as well as new ones, provide feedback and help the larger project prioritise bug fixes and new features.

If you have any thoughts about this, or want to volunteer to become a component maintainer – please write in comments. And remember, it’s good to have several people per component, so join in even if you see someone’s mentioned your favorite component!

#buddypress

Dev Chat Summary for November 2, 2016

BuddyPress 2.7.2

@johnjamesjacoby packaged and released BuddyPress 2.7.2 on November 4, 2016. This is a maintenance release and a recommended upgrade.

BuddyPress 2.8.0

Schedule

  • January 4, 2017 – Beta 1
  • January 18, 2017 – Release Candidate 1 (string freeze)
  • January 25, 2017 – Target release date

@slaffik, the 2.8 Release Lead whose “developer heart loves things like PHP5.3+ and changed focus in development”, would like to focus on the following:
1. Components with highest tasks number – because people care about them the most
2. Components with lowest tasks number – because they are good candidates to become 0-tasks, which is cool for Trac health
3. Working UI for developer features started development in 2.6 and 2.7
4. Security – He will dive into this topic as he developed a huge interest recently and will do an audit.

His ultimate goal is to decrease the number of tickets (650+) in Trac by 50%. Responding to @boonebgorges‘ question how he planned to meet that goal aside from own labor, @slaffik wrote that he is looking into implementing the concept of BP Component Maintainers which @offereins volunteered to set up a few months ago at Google Docs.

@djpaulgibbs cautioned, “I’m not sure most of the tickets in the Future Release milestone have been looked at in a long time, and I bet most of them are not assigned to the best Component (many probably pre-date the current lists of Components) so maybe we want to review them all first.”

@slaffik also would like to see improvements made on BuddyPress.org and codex.buddypress.org “but first I need to install all that locally and play a bit and see how things are working.”

developer.buddypress.org
@dcavins: “I’d love to see the new documentation site @tw2113 has been working on go public.”
@tw2113: “Regarding the dev site, a lot of me wants to say let’s get it set up and manually run for now, and we can work on automation later on. Perhaps get it logged in only access at developer.buddypress.org and have everyone start doing final QA.”

Caching improvements
@boonebgorges: “I don’t have any particular pet projects in mind for 2.8, but I plan to be around to help with miscellaneous stuff. Maybe more caching improvements.”

Build tooling, Behat, wp-admin area
@djpaulgibbs: I’m planning to help iterate on the build tooling. And continue to work on a test suite around Behat, which I’ve been doing for the last 3 months, but I don’t know if it’ll get ready enough in time for 2.8 consideration. Also the wp-admin area / welcome screens, @mercime and I have discussed them a bunch in a past. There’s so much we could do there. Maybe that’s something we could look at.”

BuddyPress Types UI
@boonebgorges: @dcavins started work on admin UI for group/member type creation. I’ve started to dig into it myself, and that could be a good kickoff for improved wp-admin stuff.
@dcavins: The first-draft code so far is publicly available at https://github.com/dcavins/bp-types-ui. Once @boonebgorges has worked it over, I imagine it will move to its original repo at https://github.com/buddypress/bp-types-ui.

Accessibility
@mercime: On my end, work on improving accessibility continues. Btw, one survey participant thanked us for a11y improvements. @boonebgorges: The a11y improvements are huge – aside from being the right thing to do, they also make it easier to sell BP with confidence to organizations that are legally required to meet certain a11y standards.
@mercime: There’s lots more to do, but it can be done. The most challenging area would be the xProfile draggable fields in wp-admin, I will do that last.

BP REST-API
@boonebgorges: “I have been working with @bronsonquick to work up a kickoff for the project. It’s been slow going because of scheduling issues between the two of us. I would like to do a public kickoff in the next few weeks, even if I have to prep the documents myself. We have some ideas for a proposed outline and work plan, which we want to bring to the community for feedback.
“Phasing in support over several releases. Prioritizing certain components and prioritizing read vs read-write with an eye toward selecting a couple of projects as good first implementations (which will guide the endpoint strategy). Anyway, I’ll work on getting that initial document ready, and then I’ll work with @slaffik to schedule a meeting where we can talk about the path forward. The purpose of preparing a document is just so we have a starting point for conversation – all the decisions will be made in the open.”

BP Follow, Component Loading
@rayisme: “For 2.8, I’m keen on #7218 for the time being. There was a ticket talking about folding BP Follow into Core, which I’ve been meaning to reply to (and will), but there are a couple of technical ideas in BP Follow that conflicts with other tickets.”

2016 BuddyPress Survey for Site Builders and Developers

The survey is will be open till November 30, 2016. Some updates from those who have responded so far:

  • Six survey participants have already expressed interest in sharing how they are using BuddyPress.
  • All respondents are using PHP versions 5.3 and above.
  • One respondent appreciated accessibility improvements.

@johnjamesjacoby noted, “I like the idea of putting the survey front & center on BuddyPress.org, the same way WordPress.org does.” @mercime will prepare patch for the survey banner.

Your feedback is most welcome! https://buddypress.org/2016/11/2016-buddypress-survey-site-builders-developers/

Slack log: https://wordpress.slack.com/archives/buddypress/p1478113373000026

#7218, #dev-chat

2016 BuddyPress Survey for Site Builders and Theme/Plugin Developers

Earlier this year, Project leads @johnjamesjacoby, @boonebgorges, and @djpaulgibbs presented a number of strategic priorities which included defining the primary intended audience for BuddyPress: Site Builders and WordPress Developers, an explicit recognition of what BuddyPress has become, and how people use it.

Help us start the year right in 2017. Your feedback is important to help us improve BuddyPress by ensuring that we’re still building what you want to use and help us determine if any course corrections are necessary.

This survey will run from November 1 – 30 December 15, 2016. There are 36 questions and could take around 15 – 20 minutes to complete.

Thank you for your participation !

=> Take the 2016 BuddyPress Survey now.

Build/Test tooling

It’s always fun figuring out improvements for our build and test tooling, to make life easier for regular contributors. Does anyone have any ideas for things we can do to improve this in BP #2.8 ? I’ve given this a bit of thought. We could:

  • Grunt: remove dependency on Ruby by removing grunt-scss-lint#7028 (in progress)
  • Move bbPress 1 out of buddypress.svn.wordpress.org, and manually add it in when we commit the release build to plugins.svn.wordpress.org. We already do this for the bp-default theme. ?
  • Iterate on the NPM package versions and shrinkwrapping and related requirements, and make it work 100% reliable on @boonebgorges computers. 🙂
  • Look into performance improvements using Yarn, which acts as a wrapper/CDN for NPM. ?
  • Add Git commit hooks.
    • All committers work in Git, and commit to BuddyPress via git-svn. It isn’t an option to switch to committing in Git directly as the moment. We should think about what things we could/should pre-commit hook.

Super interested to hear any feedback or other ideas or wishlists around tooling! Share in comments below!

Dev Chat Summary for September 14, 2016

BuddyPress 2.7

  • Beta 1 – September 21
  • There are currently 110 tickets in queue (76 closed, 34 open)

Trac Tickets

Prevent BP from being updated when minimum requirements are not met (#7196) @boonebgorges: “If we’re going to drop PHP 5.2 support for 2.8, then something should happen for 2.7 to provide warnings. I’m bumping this so I remember to look at it in the next few days. if anyone has thoughts or wants to have it instead, let me know on the ticket.”

Display and filter by member type on Dashboard > Users (#6060) @dcavins has patch. @boonebgorges: “This is a cool enhancement, and it’d be great to get it in, especially since it appears to be close to being ready.”  @dcavins: “Yes, I’ll push this through along with the related group types ticket (#7175).”

Groups query overhaul (#5451) @boonebgorges will be posting about backward compatibility issues related to the group query refactoring.

Use WP 4.3 site icon feature to set a blog’s “profile photo” (#6544) @rayisme has patch which mirrors the site icon URL to blogmeta instead of making a direct copy of the image.

Update BP_buttons class to accept new arg param for $element_type (#7226) @rayisme has patch and requested feedback on the new, proposed class `BP_Core_HTML_Element`.

Improve group management members screen (#7105) @dcavins will be working on the changes this week.

Friends: Add caching to BP_Friends_Friendship class (#6978) @dcavins has patch. @boonebgorges: “It would be helpful to demonstrate the need (or lack thereof) by writing tests that count `$wpdb->num_queries` before and after removal. Maybe go ahead with the proposed changes first, and then worry about removing the redundant cache afterward when it’ll be simpler to write tests for.”

Slack log: https://wordpress.slack.com/archives/buddypress/p1473879643000745

#5451, #6060, #6544, #6978, #7105, #7175, #7196, #7226, #dev-chat