General Summaries for April 13 – 20, 2016

This post covers the following meetings:
1. New Template Pack, April 13,
2. Dev Chat, April 13,
3. BuddyPress Work Party, April 14, and
4. Dev Chat, April 20.

New Template Pack

We held the first meeting to discuss the new template pack an hour before our regular Dev Chat as scheduled. Members of the core team shared expectations and observations about the new BuddyPress template pack based on what @im4th has accomplished so far in his next-template-pack plugin. The plugin already has an option for end users in the back end to either use bp-legacy templates or use the new template pack and it uses handlebars templating but like email tokens, you can only work with what you have in the JSON payload.

 The initial discovery phase touched on the following items:

  • modularized template pack with some theme goodies sprinkled in
  • put all the new features in next-template-pack including improved UI, compatible with latest BP/WP versions, and all the accessibility baked in.
  • modern JS and CSS, works really nicely with the idea of the CSS snippets library, too … making the whole experience more flexible and easily customizable
  • general agreement that the new template packs don’t have to be beholden to bp-legacy backward compatibility
  • core files  still have to honor the parent theme styles
  • modular CSS – BP  pattern library
  • make a list of the kinds of things we need to output, so we can work to unify styles as much as possible, see http://alistapart.com/blog/post/getting-started-with-pattern-libraries
  • planning documents: Google Docs, bpdevel, Trac tickets
  • identifying core markup to use/move
  • move next-template-pack to BuddyPress github account
  • manifesto with project scope and implementation plan
  • Shoot for the moon. “I’d say let’s not be circumspect (with anything). Let’s go for it, then throttle back what we have to,” per @dcavins

Next meeting: Wednesday, April 27,  same time (18:00 UTC), same #buddypress channel in Slack.
Update: See additional notes in the April 20 Dev Chat at the bottom of this post for the Template Pack meeting next week.

Dev Chat

BuddyPress 2.5.3

  • There are three tickets in queue with improvements to BP Email.
  • Release date: TBA

Email Subject special characters display problem with initiator.name token (#6966). This is the only ticket left open for this minor release. @dcavins, @djpaulgibbs, and @rayisme discussed about the feasibility of adding emoji support in BP Emails. Need to check which email providers and mobile clients show emojis. @rayisme has volunteered to work on this ticket.

BuddyPress 2.6.0

  • There are 115 tickets currently slated for this cycle (32 closed. 83 open)
  • Beta 1: May 25, 2016
  • Release Candidate 1 (string freeze): June 8, 2016
  • Target Release Date: June 15, 2016

Route `/me/*/` to `/members//*/` (#6325) @rayisme has patch for the redirection.

Minimum WP version bump for BP 2.6 (#7013) @dcavins reminded all re @boonebgorgespost: BP 2.6.0 will require WP 4.1 or higher.

filter for $after_member_slug in bp-core-catchuri.php (#6694) Has patches by @dcavins, @boonebgorges, and @rayisme. Needs testing/feedback.

Use “Mystery Group” avatar when group avatar not available (#6372) Has patches by @abweb and @boonebgorges. Feedback welcome.

Activity post form template improvements (#6680) Has patches by @rayisme and @mercime. @dcavins has posted before and after-patch screenshots of the Twenty-* themes and premium themes to address some backpat concerns. Comments on the ticket are welcome.

Re backward compatibility from @boonebgorges: “I think we should try to differentiate between different kinds of (potential) backward compat breaks for templates. some are minor, while others are debilitating. some will simply be a case of a custom template not receiving new features, while others will break markup so that stuff like JS no longer works.” Weigh potential gains from the break “on a case-by-case basis . If we were never willing to break compatibility, we’d never fix any bugs:)

Accessibility: Update Heading Structure in Template Files (#6871)  @mercime asked for the consensus of the team.  @boonebgorges, “My position is that if we can demonstrate that the styling changes are minimal in the Twenty themes, it’s fair evidence that it’s a change with fairly low negative impact. This also assumes that the a11y benefits are meaningful, which I’m relying on your judgment for.” @djpaulgibbs noted, “BuddyBoss and a UK agency have both told me that the heading changes that have gone into 2.6 will require them to update all their sites/themes. I am not trying to be against improvements. But it’s a fine line.  I am just saying if we are committing to making such significant changes to the main markup, we need to communicate that NOW and way better than we ever have before. Because honestly we’ve always changed stuff and broken it. It has had little to no documentation, generally. As Boone said, we need to look at the impact of each change on its own basis.”

BP Template Versioning (#6642) @djpaulgibbs and @hnla discussed  @im4th‘s work in documenting template changes in the file header in ticket as well as versioning of the template files like Woo does.

Add BP top level menu and Admin Page to Improve User Experience (#6827) @mercime will upload new patch.

Creation of developer.buddypress.org (#6812) @tw2113 would like to get this going sometime soon, “Essentially we need to get a final destination set up, run a parser scan on the latest stable version, and then comb the website for inconsistencies and things needing changed also work on any sort of triggers/automation to update the source there and re-parse.”

BuddyPress Work Party

Route `/me/*/ to /members//*/` (#6325) @rayisme has uploaded new patch. Dev feedback needed.

Comment notification NOT notified (#6057) @im4th has uploaded new patch. Dev feedback needed.

Cover Image location is incorrect for blogs other than the primary blog (#6931) @im4th has uploaded new patch. Dev feedback needed.

Extending Messages notification should be improved (#6750) @rayisme committed patch to trunk.

Profile Cover not working when we define a custom BP_XPROFILE_SLUG (#6962) @rayisme committed patch to trunk.

fatal error: bp_blogs_record_existing_blogs (#6940) @rayisme has closed the ticket in favor of #6370 below.

Blogs: Improvements to bp_blogs_record_existing_blogs() (#6370) Has new patch by @rayisme. @johnjamesjacoby has given feedback in ticket.

Add aria attributes for dashicons in Components screen (#7017) @mercime has committed patch to trunk.

Dev Chat – April 20

Notifications for activity stream comments and replies (#6057) @im4th has patch plus screenshots uploaded and would like to get this new feature in for 2.6. @boonebgorges has posted feedback in ticket. Feedback in Slack was very positive with some suggestions on inline documentation. Looks like this will be fixed soon.

BP Users front.php (#6769) @im4th has uploaded screenshots and the first patch for this new feature. @hnla and @dcavins have mentioned testing and providing feedback soon.

bp_notifications_get_notifications_for_user() bug (#7020) @rayisme has patch.  Testing and feedback welcome.

Route `/me/*/ to /members//*/` (#6325) @boonebgorges has posted feedback for @rayisme‘s patch.

filter for $after_member_slug in bp-core-catchuri.php (#6694) Fix has been committed to trunk by @boonebgorges during dev chat.

BP Template Versioning (#6642) @dcavins: “Need to settle on the format/requirements for the template versioning, we could tag all of the templates, before we come up with our super jam for how to help site owners realize their templates are no longer up to the current high standards.” @boonebgorges “The minimum that needs to be decided for the process to start is what header format we’re going to use. Questions about how we inform users, how we assemble changelogs, etc – these can wait. On the other hand, Inline changelog + summary changelog with each version may be enough.”

Allow admin to select fields to display in user “excerpts” on Groups’ user list page (#4126) @boonebgorges mentioned the UX considerations in the ticket proposed by @oc2ps require admin-level tools (which we don’t currently have) for site owners to modify the way that BP content looks on the front end. Comments/thoughts about whether it’s the kind of thing we want to do are welcome.

@booneborges noted that “if we’re going to introduce something like this into BP, it would have to be an actual interface where you could customize things and it would extend to interfaces other than member directories, in the long run. I think the answer for this ticket is that it’s not a route we can comfortably go down given our current approach to templates.”

Date xprofile field enhancement (#5500) @boonebgorges mentioned that this ticket has a new patch which “has some promise, but will need extensive rewriting to fit with BP/WP standards (not just coding standards, but architecture). I will try to take some time in the next couple weeks to pore over it, but if anyone has time in the meantime, feel free.”

Screen notifications settings page (#6712) Has patches. @rayisme requested for dev feedback.

Additional notes for next week’s Template Pack Meeting

  •  @johnjamesjacoby: “I’d like to propose that in whatever new template pack is built, that no `do_action()` calls exist in template parts, and if we find ourselves wanting them, we architect a better solution inside of the API.”
  • Use “magic hooks” from @johnjamesjacoby, “anywhere we need `before/after` actions in templates, is a place where a new template part should exist, and `bp_get_template_part()` should fire its own `before/after` actions before & after every part is successfully pulled in.”
  • On the other hand, @boonebgorges noted, “Here’s another take on this. If you are a WordPress developer, you know that if you see a `do_action()`, you can make something appear there by calling `add_action()`. If we introduce micro-APIs for every little thing, it obfuscates what is currently a fairly simple process.” @im4th added, “without overriding the full template. That’s the good part of the `do_action` i agree.”

#dev-chat

Dev Chat Summary for April 6, 2016

BuddyPress Work Party Recap

@dcavins reported that several tickets were fixed and closed during the party.

  • Fixed. Make sure inviter_id !== 0 before inviting a user to a group (#6941)
  • Fixed. Avoid using HTML tags in translation strings (bp-settings/bp-settings-template.php) (#6900)
  • Fixed. Request: Allow Gravatar’s “d” param to be filtered (#6989)

@djpaulgibbs and @boonebgorges also identified other tickets that are close or ready to be committed, if anyone wants to get in on the fun:

  • Profile Cover not working when we define a custom BP_XPROFILE_SLUG (#6962). Has patch.
  • Cover Image location is incorrect for blogs other than the primary blog (#6931). Has patch.
  • bp_core_print_generation_time() should echo only in WP_DEBUG mode (#6976). Has patch.

Trac Tickets

filter for $after_member_slug in bp-core-catchuri.php (#6694). Has patches from @dcavins, @boonebgorges, and @rayisme.

Group Types API (#6784). Has patch from @mamaduka. @boonebgorges would like to see the patch for the proposed Group Type UI before proceeding with the review.

Activity post form template improvements (#6680). Has patch. “The main template changes in the activity form ticket is markup changes for the placeholder and some new hooks. The rest are CSS/JS related,” @rayisme mentioned. @djpaulgibbs noted that the enhancement would break backward compatibility with themes. On another note, even if this new enhancement was used in a new bp-template-pack, this would (potentially–we’re not certain, yet–see “homework” below) break backpat with some BP plugins.

Discussion then ensued about what constitutes “breaking backpat issues” – HTML/style enhancements or JS/break functionality of BP plugins or both – which prevent or halts adding new enhancements to BuddyPress. @dcavins then said, “The activity stream/post box was mentioned in the BP survey results last year, and some of the alternatives were pretty impressive. I don’t want BP to fall far behind on key UI/UX bits.”

Homework (for whoever’s interested): Try the patch in #6680 [with BP plugins and themes -Ed.] so we can revisit next week with surety in our hearts about the way forward.

Route /me/*/ to /members//*/ (#6325). Has patch by @dcavins. @djpaulgibbs noted that a decision should be made on where the redirection should be done. @boonebgorges has since commented in ticket to handle redirect in a callback function via new action/filter hook.

Framework for bulk data handling after updates (#6841) @boonebgorges: “I’m most concerned about upgrade flow, and how it affects the technical infrastructure. From my experience, people are afraid to click upgrade DB buttons. You can blame WC for that :)” From @imath: “A lot of users are not backing up their DB before a plugin upgrade, i think we should inform them to do it and then let them click on a button to launch the routine.”

“Since it sounds like we want to require user action here, I think we should just start with an existing UI – doesn’t matter which one (bbPress, imath’s, whatever) and use it as a framework for talking about database locking, batch processing, etc. Migrations probably need to have a UI if only to report any errors. If we ever want to migrate activity favorites (or anything else) to generic relationships, that’s another use case. Anyway, I think we should start with an existing AJAX-based UI because they already exist, and we should solve some of the other problems first,” per @boonebgorges.

Behat for BuddyPress. @djpaulgibbs reported, “There is no documentation. This is annoying. That is all.” @boonebgorges linked to an article about Codeception, a possible alternative.

Style Modules @hnla requests more feedback on the proposal here at bpdevel to get a consensus.

Special BP Template Pack Meeting

What: Template pack by @im4th
When: Wednesday, August 13 @ 18:00 UTC
Where: #buddypress channel in Slack
Who: All interested parties are welcome to join @dcavins, @im4th, @hnla, and @mercime

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

#dev-chat

Dev Chat Summary for March 30, 2016

BuddyPress 2.5.2

@dcavins,  release lead for BP 2.6.0, packaged and released BuddyPress 2.5.2 on Thursday, March 31. This fixes some email issues reported in trac and forums.

BuddyPress 2.6.0 Schedule

  • Beta 1: May 25, 2016
  • Release Candidate 1 (string freeze): June 8, 2016
  • Target Release Date: June 15, 2016
  • There are 95 tickets slated for 2.6.0 to date. Forty-seven of 79 tickets still open have patches.

Weekly Meeting Time

Join us every Wednesday at 19:00 UTC at the #buddypress channel on Slack. @djpaulgibbs encouraged anyone who wants “to participate in these meetings but can’t always make it can leave comments in Slack beforehand” or in posts here at bpdevel.

For newcomers, here’s how to get a WordPress/Slack account.

BuddyPress Work Parties née Bug Fixin’

A friendly reminder from @dcavins re invitation to a party on Slack or Trac  to fix ’em bugs this coming Tuesday, April 5 and Thursday, April 14.:)

2.6.0 Scoping/Wishlist

BP REST-API. @dcavins followed up on the status of this project, i.e., whether we can work on this or should this hold until WP API gets sorted. @djpaulgibbs noted that “WP API ​is​ sorted. You/we can work on it now.”

BP Style Modules – A Proposal. @dcavins asked for more information about the proposal. @hnla: “Style modules is an additional enhancement for templates, more for engaging the community and providing a means to add small code blocks, similar in the way frameworks offer them sometimes.” @boonebgorges and @hnla later exchanged a series of enlightening comments about some of the details of @hnla‘s proposal.

A new API to manage single items navigation (#6534) @boonebgorges passes baton to @im4th to save this ticket from oblivion. @im4th brought up the issue of an upgrade routine to implement this feature which requires Framework for bulk data handling after updates (#6841).

Incrementor-based caching for ID queries (#6643) @boonebgorges is looking to implement this for at least one component during 2.6.

Accessibility tickets. @mercime will be working on the ones already in trac and will be adding some more later.

Explore Behat to add a functional testing capability to the project. @djpaulgibbs‘ dream is look into adding a functional testing capability to the project. “I don’t know if this is something that we’ll want, but I need to build it before I can convince everyone.”

New bp-template pack @djpaulgibbs is trying to come up with a plan to answer the never-ending questions around if/when BuddyPress will ever get a new one. “I’ve started with asking about eight of you some questions around that. It’s going to be a lot of work to come up with some kind of plan. I got essay-length replies from everyone and each reply is vastly different. Everyone has a very different opinion. I think some goal-setting needs to occur before we are able to write new templates with 100% buy-in from everyone, but it’s still early days and I reserve the right to change that opinion.”

Group Types API (#6784) @boonebgorges mentioned that it would be good to make headway on this ticket. Ping @mamaduka

2016 BuddyPress Survey (#6792) @mercime will conduct this year’s survey after the April 15 tax day.

Activity link moderation doesn’t output useful error message to end users (#6719) @rayisme has made some headway on better error messages in the activity stream. “Question is should we be holding off on this for an activity_status DB column.” @boonebgorges noted that  the “main issue would be documenting that select * from $bp->activity->table_name queries will have to be adjusted accordingly.”

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

#dev-chat

Dev Chat Summary for March 23, 2016

BuddyPress 2.5.2

Four tickets have been slated to date for this milestone. Possible release date: March 28, 2016.

Release Leads for BuddyPress 2.6.0 and 2.7.0

@djpaulgibbs, @boonebgorges, and @johnjamesjacoby have been talking about what they could “adopt from WordPress core’s development processes and see how they work out for BuddyPress.” Starting 2.6, we’re going to have release leads as described in this RL announcement in WP Core by Andrew Nacin.

@boonebgorges noted, “The RL gets a sense at the beginning of the dev cycle what he/she would like to accomplish, as well as what others want and are willing to contribute. Within those parameters, there is likely lots of room for the RL to make decisions about what the focus should be.”

David Cavins David Cavins will lead BuddyPress 2.6. @dcavins (twitter) has been a member of the BuddyPress Core Team since January 2015. David is a huge fan of the groups component and the collaborative possibilities it offers a community. He also builds acoustic guitars in his adopted hometown of Columbia, Missouri.

Mercime Next at bat for BuddyPress 2.7, @mercime has been a member of the BuddyPress Core Team since April 2014. Mercime (twitter) enjoys building sites with an eye on accessibility as well as contributing to open-source projects like BuddyPress, bbPress, and WordPress via trac, codex, forums, theme reviews, and surveys.

BuddyPress 2.6

@dcavins will be setting the release schedule this Wednesday during our dev chat. One of the things he’d love to see are optimizations, like extending “our use of caching to group memberships, for instance.” (#6327). He’d love to get everyone’s feedback on ways to make BP run more lightly, “so please be thinking about your favorite component.”

BuddyPress 2.7

@mercime will share the focus and scope at a later time. In the meantime, @bowe suggested, “a release cycle focused on the community aspects. Bring some lesser known but awesome BP stuff to the forefront and implement some long standing UI/UX improvements and rethinking of what BuddyPress should be in 2016 and onwards.”:)

It takes a strong volunteer community to improve the BuddyPress project for each release. Your contributions are most welcome and appreciated!

Open Floor

1. Theme Review

@djpaulgibbs reiterated @karmatosed‘s invitation to join the WP Theme Review Team and review BuddyPress-specific themes currently in queue.

Hey amazing BuddyPressers :wave: – I come bringing good news. We have 4 themes waiting for theme review for BuddyPress which is unusually high. Unfortunately I also bring bad news and we don’t have enough reviewers anymore to do this without it taking ages for the poor themers. I know you’re all super busy, but if any of you with theme experience want to give us a hand it would be brill!

For those interested, please read how to conduct a theme review. @bowe mentioned that he will be reviewing a theme this weekend.

2. BuddyPress.org Theme and Plugin Pages

@bowe is currently working on the outline of the proposed new theme/plugin pages to replace the ones @djpaulgibbs deleted the other week. Let someone know at the #buddypress slack channel when you’ve got something ready Bowe.

3. Audit of Components in BuddyPress Trac

@offereins inquired about other development process ideas which the Lead Developers found useful besides having release leads, like having component maintainers and whether BuddyPress would benefit from the concept. @boonebgorges and @johnjamesjacoby noted the pros and con. @djpaulgibbs opined that BP trac components would probably need some review to see that they’d fit into this kind of model (BP Components e.g. groups would be way too big). @boonebgorges stated, “That would be a good first task for someone interested in making it happen.”
Result: @offereins has accepted the task of auditing components listed in BP trac:)

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

#dev-chat

Dev Chat Summary for March 16, 2016

Last week’s meeting focused on reviewing trac tickets slated for BP 2.6.0 which already had patches uploaded.

Activity link moderation doesn’t output useful error message to end users (#6719@rayisme requested feedback on custom error handling for the activity stream using WP_Error. “Would love it if @hnla could test the patch in 6719 and see if that addresses the points in #6822

Suspension of BP comment moderation functionality (#6822) @rayisme wrote about removing the activity moderation feature entirely.

Simplify CSS targeting of radio and checkbox label fields (#6678) @dcavins thanked all for the feedback in trac to change markup to use fieldsets/legends for some profile fields in the front end.
Action: Patch changing the markup has been committed to trunk during the meeting.

Avoid using HTML tags in translation strings (#6898 through #6911) @djpaulgibbs had some concerns about whether the proposed changes would make the strings harder to translate and asked @boonebgorges for his opinion on the tickets.
Update: Boone has committed most of the patches to trunk.

Accessibility: Bump headings in template files (#6875 through #6882) @djpaulgibbs, @hnla, @rayisme, and @mercime had a long discussion about the merits and challenges of updating template files to meet accessibility guidelines. There were concerns that changing them (headings) might cause angst to developers needing to make the changes to established themes and regular users will be posting in our forums. There was a proposal to roll the accessibility updates in a new bp-template pack. @rayisme added, “Let’s roll with the accessibility changes and be ultra-aggressive with the heading styling so bp-legacy CSS rules take precedence.”  @mercime commented that committing the updates early in the 2.6 dev cycle will allow ~ 3 months for developers to update themes.  Accessible BP templates are the way to go forward. @djpaulgibbs: “We need to do these. We also need to get the companion stylesheets updated for these changes (if/as necessary). Let’s post on bpdevel once the changes are in. We can contact the major BP theme builders in advance. ”
Action: First batch of new heading updates have been committed to trunk after the meeting.

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

#dev-chat

At next week’s dev chat…

At next week’s dev chat (16th March), we can plan the dates of the 2.6 dev cycle. But before we rush headlong into 2.6 or have a kick-off discussion, let’s spend this next dev chat looking at the 29 tickets in the 2.6 milestone that have a patch attached.

Best case, we can commit those, worse case, we can identify what work each patch needs and update the contributor.

#dev-chat

Core Dev Chat Summary for February 3, 2016

Trac Tickets

Autoload BP classes (#6853) @boonebgorges noted the performance benefits in chat and in ticket. Update: “Rough benchmarks are showing a pretty consistent memory savings of between 1.5 and 2MB, on a local dev installation that has about a zillion plugins running … And with some further rearrangement in the future (so that components are loaded in a sleeker way) we could get that number down even further.”

All classes should be in their own files (#6870) @boonebgorges indicated that “it’s possible that full autoload (#6853) will reduce BP’s memory footprint by 10 or 20%” with the moves for all components. Update: This has been committed to core.

Comment syncing between activity and post comments for Custom Post Types (#6482) @im4th mentioned that the feature was not completed yet. Update: This feature has been committed to core.

Screen notifications settings page (#6712) @rayisme will be working to get this in for 2.5.0. Update: Refreshed patch has been uploaded.

BP_Attachment::get_image_data() unit test is failing due to upstream change (#6868) @im4th has created ticket in WP Core because BP unit tests for `BP_Attachment::get_image_data()` were failing due to changes upstream. Update: The fix has been committed to core.

Use WP page names for BP directory pages headings (#6765) @hnla requested dev feedback.

Accessibility: Provide sufficient color contrast in stylesheets to meet WCAG 2.0 AA standards (#6838) @mercime Update: This enhancement has been committed to core.

Suspension of BP comment moderation functionality (#6822)  @hnla and @boonebgorges discussed the pros and cons of removing BP comment moderation.

BuddyPress 2.5.0

  • Beta 1 is scheduled for today, February 8.
  • There are now 86 tickets slated for this cycle. (Closed: 73. Active: 13.)
  • From @boonebgorges: We’ll need to assemble a beta post by Monday. Traditionally, this has been a bullet-point list of big features, along with pointers to anything that needs special attention from users/developers testing the beta. I have outlined some of the new features already, but if people think of other things, they should speak up.

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

#dev-chat