Dev Chat Summaries for April 5 & 12, 2017

bp-nouveau template pack

@hnla reported on the bug and a11y fixes made on bp-nouveau to date. He has added a temporary Gruntfile.js, primarily for compiling and linting Sass files, as well as other project-specific configuration files. @mercime will be posting solutions in codepen for removing placeholders from form controls.

Many thanks to @boonebgorges for delving deeply into bp-nouveau and his post introducing the new template pack.

BP REST API

@rayisme has started work on the /members endpoint for the BP REST API locally. He raised a question at the Github repo re Members – GET – List Users Schema. @modemlooper has responded in ticket.

@rayisme noted, “We’ll definitely have the /members endpoint ready by the time BP 2.9 is done, but probably will not be merged into core. The BP REST API will stay as a plugin for at least the next few release cycles until things have been fleshed out, similar to how the WP REST API was a plugin for awhile.”

Trac Tickets

Allow bp_get_group_permalink() to produce HTML links (#7485) @dcavins has committed fix to trunk.

Update bp_group_description_excerpt() to accept a $length param (#7493) @hnla has patch. @dcavins has responded to keep the group as the first parameter.

Required xprofile fields are not validated (#7483) @hnla has confirmed issue reported in ticket. Needs patch.

groups_send_invites() should allow us to omit sending to users that have already received an invite (#7397) @rayisme will be refreshing the patch for BP 2.9.

Include BP Edit Group Slug into the core (#6014) @dcavins refreshed the patch including unit tests. New patch adds support for changing group slug via wp-admin. Dev feedback requested.

Take advantage of BP_Groups_Group magic methods in groups component setup (#7494) @dcavins has patch. Dev feedback requested.

Use JOIN rather than Subquery on user search (#7442) @brandonliles has patch. Dev feedback requested.

Harmful bp_activity indexes (#7500) @johnjamesjacoby in discussion with @brandonliles.

Deprecate the BuddyPress functions for bbPress 1.x forums (#6851) @johnjamesjacoby introduced a motion to “remove bp-forums pretty much completely, or relegate it to its own compatibility plugin like we did Wire and Status.”
@boonebgorges concurred with the compat plugin route and noted, “I’d like to stage it over maybe two releases, with large warnings in the interim release if you are running legacy forums. Maybe even block upgrade to the removing-version if we detect you are running it (like we did with the 5.3 requirement). How many of them will upgrade to BP 3.0 or 3.1, that’s another question. But it’s easy enough for us to create barriers to white screens, so we should do so.” @johnjamesjacoby: “Making this release ideal for the warning. I think the 3.0.0 release is a nice round number to cut the old legacy forum cord, too.” @boonebgorges: “So admin notices + upgrade-blocks for 2.9, and maybe some logic in 3.0 that prevents loading the full plugin if the compat plugin is not found. Someone will need to wrangle all of the necessary steps, including preparing and releasing the compat plugin.”
@johnjamesjacoby has volunteered for the tasks, “the pleasure of the pain will all be mine.”

Create administration sections for every component that’s currently lacking an interface

@johnjamesjacoby: Friends, Messages, and Notifications basically. “Preferably, I’d like to also stagger the work on those, so the expectation isn’t to have a 100% fully covered and integrated interface that covers all users and use-cases. Similar to Groups Admin (how you can’t create a new group from within wp-admin). I really also want a live-chat style Messages UI while you’re in wp-admin”
@boonebgorges: “Big +1 to more admin coverage, though we should think carefully about whether each of these BP components needs its own top-level item. (Friends may be properly a property of Users, rather than its own thing, or whatever).”
@johnjamesjacoby: “Right now, all of BuddyPress makes theme-side websites better, and that’s awesome, and it should, and always will. But once you enter wp-admin, BuddyPress doesn’t actually help WordPress itself be a better piece of software for managing users, community content, etc. We don’t need to talk about all of the detail-work right now, but I wanted to drop that vision in here now, so everyone has an idea of what I’m thinking, and we can maybe try to hit that vision hard in 3.0 and beyond. Hopefully 2.9 and Nouveau and everything else will keep the traditional BuddyPress installation type satisfied for a few years, enough time to work on REST API, wp-admin integration, maybe some GraphQL if we like that, etc.”

BP Theme Compatibility

A basic visualization of the BuddyPress Theme Compat is now available for bp-templates/bp-legacy. Use Ctl/Cmd +/- to zoom in/out, scroll up/down or click + drag right/left to navigate. Visualizations for bbPress Theme Compat and the upcoming bp-nouveau template pack are also in the works.

Slack logs:
https://wordpress.slack.com/archives/C02RQBYUG/p1491418861341587
https://wordpress.slack.com/archives/C02RQBYUG/p1492023677928317
(Slack account is required)

#dev-chat

Dev Chat Summary for March 29, 2017

BuddyPress 2.9

  • There are currently 35 tickets in queue (8 closed, 27 open).
  • June 7, 2017 – Beta 1

bp-nouveau

@hnla gave a project status update. He will also be “tending to ongoing styling /layout concerns plus adding to the project cards. In terms of primary work the core focus needs to be on the Switcher element in core as outlined in #7157 – UI to pick Template Packs.”

Trac Tickets

Improve message after successful group invitation acceptance (#7486) @dcavins has patch. Will hold committing till after #7485 is resolved.

Allow `bp_get_group_permalink()` to produce HTML links (#7485) @dcavins has patch.

Multisite Relevant emails Display for editing on single site (#7480) c/o @johnjamesjacoby

PHP Fatal error: Uncaught Error: Call to a member function `get_do_autolink()` on null (#7337) needs patch.

`BP_Groups_Group::group_exists()` should be cached (#7447) @dcavins has committed fix to trunk.

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

Include BP Edit Group Slug into the core (#6014) @dcavins has updated patch. Feedback requested.

Messages: member page messages are queried for the loggedin user (#7096) @dcavins has updated patch. Feedback requested.

Slack log: https://wordpress.slack.com/archives/C02RQBYUG/p1490813828429272

BP 2.9 Kick-Off Meeting – March 22, 2017

BP 2.9 Scoping/Wishlist

bp-nouveau Template Pack

@hnla, 2.9 Release Lead, will focus on getting bp-nouveau ready for integration into core this dev cycle. He noted, “bp-nouveau represents a clean break from those older templates, clean markup, new styles new file structure with include files and function files managing components and affords us the opportunity to build a better BP than ever before.”

@hnla encouraged all core devs to have a local install running the plugin version and to reconvene at next meeting for a renewed focus & to air any concerns. He has added the following guides to the project for all who want to contribute:

  • Milestones: https://github.com/buddypress/next-template-packs/milestones
  • Project cards: https://github.com/buddypress/next-template-packs/projects

The major steps to get this project for inclusion are pretty much covered by the milestones but broadly fall into:
1. Core integration: adding the switching mechanism to core admin settings, working out the logic for default selection & some means of registering packs in use.
2. Testing the process for stylesheet building and testing the core files merged to trunk along with possible gruntfile adjustments required.
3. Testing of components by device( mobile/ desktop & browser versions) and testing.
4. Testing Accessibility.

@boonebgorges: “I share Hugo’s belief that the time has come to move beyond bp-legacy, and I think that a new set of templates is critical for the future of the project. I’m going to be working with Hugo over the next few weeks to develop some materials that’ll introduce the rest of the team to the workings of bp-nouveau, as well as more details on a plan for moving toward merge, with the idea of soliciting as much energy and contribution from the broader team as possible.” He will help to get bp-nouveau in for 2.9.

@mercime noted that per her initial a11y audit of bp-nouveau (last year), there were items which needed to be fixed in core first. Edit – Most items have been fixed, there are only a few remaining a11y issues which will affect template pack left in core.

@modemlooper likes the Template Pack UI in admin which he thinks will open up lots of customization … spawning child themes of bp-nouveau.

@dcavins volunteered to help with bp-nouveau. @hnla mentioned his concerns with group creation wanted it more a one step process that we could then paginate if we wanted to but accessing certain meta is hard such as group ID at some points where you need it. @dcavins: “I also have some feelings about group creation. (Like change it to one step then redirect to the new group to setup.)”

@boonebgorges will be working on a summary document about bp-nouveau’s status plus user-facing and developer-oriented features over the next week or so.

BP REST API

@rayisme would like to see where we’re currently at and what we can accomplish in this dev cycle. @boonebgorges responded, “it needs someone to take the lead – there was some initial work done on the Members endpoint but it needs to be seen through.”

BuddyPress.org Redesign

@hnla brought up the redesign site/mockups by @modemlooper and @karmatosed and wanted to know the best way to get the redesign implemented.

@rayisme: “There are elements I like about both. modemlooper’s orange header + iconfont section and karmatosed’s “Are you a user / developer” section. At first, I didn’t like the orange header, but I like that it’s a little in-your-face.”

@modemlooper‘s design was à la https://jetpack.com/ and said, “the design reboot started because I thought the homepage lacked alot of marketing points.” @karmatosed thought that doing original design is good. She’s happy to noodle some more.

@johnjamesjacoby: “Naturally, I have opinions, but mostly I really want all of y’all to feel like these themes are yours to create/enjoy also. It seems like everyone is still in the “I wonder what this or that might look or feel like” which is totally fine. No rush, no agenda, and if something naturally suddenly clicks into the place, we should head that direction.”

Dev Chat Schedule

This is a friendly reminder that starting Wednesday, March 29, dev chat at the #buddypress channel on Slack.com will be at 19:00 UTC through the end of Daylight Savings Time for both U.S. and Europe.

Slack log: https://wordpress.slack.com/archives/C02RQBYUG/p1490212929620791
(Slack account is required)

#bp-nouveau, #dev-chat

Dev Chat Summary for December 14, 2016

BuddyPress 2.7.4

  • Release Date: TBA
  • There are currently 2 tickets in queue (1 open, 1 closed).
  • Can ‘change’ visibility on registration form even for fields marked “Enforce field visibility” (#7391) Ticket has been reopened to address coding standards.
  • Notice: Trying to get property of non-object (#7329) Has patch. Requested dev feedback from @rayisme
  • @djpaulgibbs: We are incompatible with PHP 7.1 as things stand – and I think we may have to rely on a fix in WordPress 4.7.x as well – so that’s the sort of thing that will likely go out once it’s ready.

BuddyPress 2.8 Tickets

Some more enhancement for translators (#5784) @slaffik recommended to close the ticket.

PHP Fatal error: Uncaught Error: Call to a member function get_do_autolink() on null (#7337) @slaffik has patch. @djpaulgibbs noted that patch should extend beyond preventing fatal errors to making the function usable outside the template loop.

Uninstall button and routine (#2755) This ticket would have to be put on hold until decisions are made on routines and details required to export/copy then delete/drop BP DB tables and other options.

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

#2755, #5784, #7329, #7337, #7391, #dev-chat

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

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