Dev Chat Summary for May 18, 2016

BuddyPress 2.5.3

BuddyPress 2.6.0

  • Beta 1: May 25, 2016
  • Release Candidate 1 (string freeze): June 8, 2016
  • Release Date: June 15, 2016
  • There are currently 91 tickets slated for this dev cycle. (Closed: 70. Active: 21.)

Trac Tickets

Route /me/*/ to /members//*/ (#6325) @rayisme has patch and has created a new ticket (#7075) for the internationalization patch. Update: @rayisme has committed this feature to trunk.

BuddyPress Embeds for activity, user profiles, groups (#6772) @im4th noted the security concerns about the embedded embeds. @rayisme: “The right way is to dynamically replace the image with the embedded content. However, the WP model makes this hard since we start in an IFRAME to begin with.” @im4th mentioned that he was going to test the new patch. Update: @rayisme and @im4th have uploaded new patches.

Activity post form template improvements (#6680) @dcavins had posted screenshots after testing @rayisme‘s patch on the WP default and some premium themes. @boonebgorges: “It looks like the specific improvements in the ticket do break some things, so let’s not do it right now. But maybe we can revisit for the next release.” Update: Ticket punted to next dev cycle.

Administrator not able to delete user notifications (#7023) @rayisme requested dev feedback. @boonebgorges: “The change to `displayed` rather than `loggedin` seems right. It’s what we do everywhere else. If you need to add a param to all functions to make it work, so be it. Strategy seems fine.” @djpaulgibbs: “to my eyes that looks like it’s an in-progress ticket that I don’t need to pay much attention because I trust the people (Ray and David) working on it 🙂 “

Notifications: Pass the notification ID to the notification callback (#7066) @rayisme has patch but requires patch in (#7067) to resolve the issue. @boonebgorges gave the green light. Update: @rayisme has committed both to trunk.

Improved caching for group membership (#6327) @boonebgorges will look into this. In addition: “I commend @dcavins for pulling that into the milestone. Now I feel obligated to look at it. A quality of a good release lead :+1: ” Update: @boonebgorges has improvements to trunk.

Emails: real unsubscribe functionality (#6932) @djpaulgibbs wants to get this in for 2.6 and will take a look at progress early next week.

Date xprofile field enhancement (#5500) @boonebgorges and @djpaulgibbs discussed the patch and missing feedback from reporter. Update: Ticket punted to next dev cycle.

Add a “data-timestamp” attribute to all templates requiring timestamps (#5757) The discussion between @rayisme, @im4th, @boonebgorges, and @djpaulgibbs touched on the 2 new libraries introduced for this new feature – moment.js and livestamp.js – and who has the time to shepherd this for 2.6.0. Update: @rayisme has uploaded revised patch.

Blogs: Improvements to bp_blogs_record_existing_blogs() (#6270) @rayisme is ready to commit patch in ticket.

Widgets: add support for customizer selective refresh (#7030) Update: @rayisme has committed patch to trunk.

Creation of developer.buddypress.org (#6812) @tw2113 reported that he has uploaded everything he has locally to https://github.com/buddypress/developer.buddypress.org. @tw2113 and @djpaulgibbs discussed the items needed to update the theme for developer.buddypress.org.

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

#5500, #5757, #6270, #6325, #6327, #6680, #6772, #6812, #6932, #7023, #7030, #7066, #7067, #7075, #dev-chat

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

#4126, #5500, #6057, #6325, #6372, #6642, #6680, #6694, #6712, #6750, #6769, #6812, #6827, #6871, #6931, #6940, #6962, #6966, #7013, #7017, #7020, #buddypress

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, April 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

#6325, #6694, #6784, #6841, #6900, #6931, #6941, #6962, #6976, #6989, #buddypress