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

Dev Chat Summary for September 7, 2016

BuddyPress 2.7

Trac Tickets

Groups query overhaul (#5451) @boonebgorges has patch to boost performance and object caching for the Groups component. He noted, “There will be some backward compatibility breaks for anyone using `bp_groups_get_(paged|total)_groups_sql` filters and has listed some plugins in ticket. Dev feedback requested –  especially @djpaulgibbs and @rayisme ( @dcavins has already voiced his support 🙂  )” @rayisme has posted support as well. Update: This is now in trunk.

Hierarchical groups (#3961) @dcavins is ready to commit the patch which has a cache invalidation scheme. @boonebgorges said patch looks good and mentioned testing the patch with thousands of groups. @dcavins is prepared to test with a group generator via WP-CLI.

Friends: Add caching to BP_Friends_Friendship class (#6978) @dcavins has refreshed patch which caches friendship objects separately from a users’ friendships.

Change bp_sort_by_key() to allow key preservation (#7238) @dcavins has patch, “If anyone has reservations about changing the underlying function call, please add a note on the ticket.”

Add action hook(s) outside the group admin form (#7249) @dcavins has patch. @boonebgorges, “seems fine to me.” @tw2113 “is fine to me too, it has its docs.” 😀 Update: This has been committed to trunk

No group members search in groupname/admin/manage-members/ (#6385) @dcavins has patch. Dev feedback needed.

Improve group management members screen (#7105) @dcavins has patch. @boonebgorges has posted comment in ticket. Update: This has been committed to trunk

Update BP_buttons class to accept new arg param for $element_type (#7226) @r-a-y requested feedback for current patch.

Group type frontend integration (#7210) @rayisme noted in ticket that he was going to commit patch soon. This has @boonebgorges‘ ♥ stamp.

Only load component action and screen code when we’re on the component’s page (#7218) @rayisme has patch. Dev feedback requested for relocating functions.

Screen notifications settings page (#6712) @rayisme has patches for a separate screen notifications panel as well as for a new merged notifications (email and screen) panel. @dcavins likes the “idea of a central place to manage communication.” @boonebgorges “I haven’t tested the patch, but I definitely like the idea of a central place for managing this stuff. I’ll check it out. What to do with 3rd-party settings doesn’t seem like a dealbreaker either way.”

Use WP page names for BP directory pages headings (#6765) @hnla requested dev feedback. @boonebgorges will look into this.

Display and filter by member type on Dashboard > Users (#6060) @dcavins has updated patch. Dev feedback requested – “a lookover would be great because this should easily apply to the groups wp-admin table with slight modification.” @boonebgorges will try to take a look.

Creation of developer.buddypress.org (#6812) @tw2113 has set up test site at https://trexthepirate.com/buddypress/

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

#3961, #5451, #6060, #6385, #6712, #6765, #6812, #6978, #7105, #7210, #7218, #7226, #7238, #7249, #dev-chat

Dev Chat Summary for August 31, 2016

BuddyPress 2.7

Trac Tickets

BP-legacy: split group single admin.php in separate template files (#7079) @hnla has committed this to trunk. If you have copied over `groups/single/admin.php` and made some changes, there won’t be any changes to your theme. You might want to consider, however, “updating your file/s to the newer modular markup to enjoy improvements”, @dcavins said.

Improve `$args` included in ⁠⁠⁠⁠`bp_current_user_can`⁠⁠⁠⁠ and ⁠⁠⁠⁠`bp_user_can`⁠⁠⁠⁠ filters (#7192) @dcavins requested feedback from @rayisme who gave the nod. Update: @dcavins has committed patch to trunk.

Select All link missing in BuddyPress Menu Selection (#5260) @tw2113 has committed patch to trunk.

Extract & relocate core markup functions: Theme compat include functionality & search forms file (#6844) @boonebgorges has committed this to trunk.

Use WP page names for BP directory pages headings (#6765) @hnla, @imath, @boonebgorges, and @dcavins have contributed patches for this ticket and @rayisme has shared a code snippet. @hnla requested dev feedback.

strtotime() is evil don’t use it (#5781) @rayisme has committed patches for this ticket. He requests feedback on the `5781.mysql2date.patch`. “All of our `⁠⁠⁠⁠strtotime()⁠⁠⁠⁠` calls assume that GMT is the default timezone.  If the server’s timezone is anything but GMT, then our time rendering is wrong. Almost all of BP’s timestamps are in GMT.” Dev feedback requested.

Screen notifications settings page (#6712) @rayisme has patch. Dev feedback welcome.

Date xprofile field enhancement (#5500) @boonebgorges has updated patch. This ticket “is mostly done – just working out a couple of UI and acccessibilty issues near the end.”

BP Types UI

@boonebgorges and @dcavins will be developing the new dashboard UI for creating Member Types and Group Types as a plugin first. @boonebgorges has created the new repo at https://github.com/buddypress/bp-types-ui

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

#5260, #5500, #5781, #6712, #6765, #6844, #7079, #7192, #dev-chat

Dev Chat Summary for August 25, 2016

Trac Tickets

Date xprofile field enhancement (#5500) @boonebgorges has patch and sought feedback for:
a) modeling settings data on ⁠⁠⁠⁠BP_XProfile_Field⁠⁠⁠⁠ and ⁠⁠⁠⁠_Type⁠⁠⁠⁠ — @djpaulgibbs “It would be nice to pass the data to it to handle, if possible, rather than have to touch a global.”
b) what do we think of interface for date ranges? — @djpaulgibbs “The UI is nice”. @rayisme “I’m trying to figure out the use case for relative ranges”. @mercime reported a bug.

Extract & relocate core markup functions: Theme compat include functionality & search forms file (#6844) Feedback sought. @boonebgorges has assigned it to himself for review.

Select All link missing in BuddyPress Menu Selection (#5260) Testing needed for this to be committed.

Implement user capabilities for Activity component (#7176) @djpaulgibbs “I’m hopeful someone can come in and drop a knowledge bomb” (roles and capabilities). @boonebgorges has added this ticket to his review list 🙂 @rayisme informed us that he created WP trac ticket “that would probably make dynamic caps easier to implement – https://core.trac.wordpress.org/ticket/32316.”

Fatal error – Call to undefined function wp_generate_password() in bp-core\bp-core-options.php on line 77 (#7227) @rayisme has patch. Dev feedback needed.

@mentions break instagram oembeds if same username exists on site as instagram (#7084) @websupporter has dug deep into the Instagram issue and posted results of his research. Feedback requested.

Group type frontend integration (#7210) @rayisme has a second patch which includes some new parameters to bp_groups_register_group_type() and which will allow theme devs or site admins to show group types in front end. @boonebgorges “Just browsing the patch, but looks great at a glance. I like the params as a way of controlling the behavior.”

BuddyPress 2.7

  • September 21 – Beta 1
  • October 5 – Release Candidate 1 (string freeze)
  • October 12 – Target Release date
  • There are currently 91 tickets in queue (47 closed, 44 open).

#dev-chat

#5260, #5500, #6844, #7084, #7176, #7210, #7227