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 Summaries as of August 17, 2016

This is a compilation of our dev chats for Aug. 3, Aug. 10, and Aug. 17. Thanks for your patience 🙂

BuddyPress 2.6.2

@dcavins packaged and released BuddyPress 2.6.2 last August 4, 2016. This was a maintenance release.

BuddyPress 2.7

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

Trac Tickets

  • Hierarchical groups (#3961) @dcavins had a patch which added the parent_id column to the groups database and support for querying by parent_id via groups_get_group() and @rayisme has uploaded a new patch which includes cache invalidation, among others. Dev feedback requested.
  • Group type frontend integration (#7210) @rayisme has patch which includes new UI. Dev feedback requested.
  • Display and filter by member type on Dashboard > Users (#6060) @slaFFik has patch. Dev feedback requested.
  • xprofile field support for WordPress Profile Fields (#7162) @djpaulgibbs: “We’ve not touched the xprofile sync code in years. So if anyone has any ideas about this … and what a new implementation should work like, please comment on the ticket.” He might work on this for BP 2.8.
  • Only load component action and screen code when we’re on the component’s page (#7218) @rayisme has patch for the activity component.
  • Select All link missing in BuddyPress Menu Selection (#5260) @tw2113 has patch and ready to commit. Review and testing requested.
  • BP-legacy: split group single admin.php in separate template files (#7079) Patches by @offereins, @hnla, and @rayisme. Dev feedback requested.
  • Date xprofile field enhancement (#5500) @boonebgorges has patch which includes new UI. Dev feedback welcome.
    Related: @djpaulgibbs has been talking to Miguel from the https://wordpress.org/plugins/buddypress-xprofile-custom-fields-type/ plugin about porting some of that plugin’s field types into core. Tickets will be created when ready.
  • Implement user capabilities for Activity component (#7176) @djapulgibbs has patch. Needs feedback from anyone who knows roles/caps API well.
  • Screen notifications settings page (#6712) @rayisme is working on this ticket. Related to Central place to manage all notifications and delivery preferences (#7168). Needs wireframes. @mercime has volunteered.
  • Extract & relocate core markup functions: Theme compat include functionality & search forms file (#6844) @hnla has patch. Dev feedback requested. @boonebgorges has agreed to review patch.
  • Member/Group Type management in wp-admin @boonebgorges: “If my schedule loosens up in the next few weeks, I will make a first go at a first patch “
  • Accessibility Tickets. @mercime – Goal is to make our front-end templates and at least  85% of BP admin screens accessible-ready by 2.7 launch. There are some style issues for the headings at this time, but will resolve them before deadline.

Notes

  • @djpaulgibbs: “I’m always available for code review and playing the devil’s advocate in feature discussions.
    I would also like to remind regular contributors they are very welcome to leave feedback on tickets in Awaiting Review and Under Consideration milestones on Trac. There’s a backlog, and we really need to do better here. So if anyone wants a change from forum support or development or translation, check out Trac.”

#3961, #5260, #5500, #6060, #6712, #6844, #7079, #7162, #7168, #7176, #7210, #7218, #dev-chat

BP 2.7 Kickoff Meeting – July 13, 2016

Project Schedule

  • July 13, 2016 – Kickoff – scoping/wishlist
  • September 21, 2016 – Beta 1
  • October 5, 2016 – Release Candidate 1 (string freeze)
  • October 12, 2016 – Target release date for BuddyPress 2.7

Release Lead for BuddyPress 2.8

Slava Abakumov Slava Abakumov (twitter) has been translating BuddyPress to Russian since October 2008 (long before the very first beta) and has submitted many BuddyPress plugins to the WordPress repository. He is a doting father, developer, and project manager, who also enjoys road-cycling and roller-skating. His motto is “Be good, have fun, create things”.

Congratulations @slaffik! 🙂

BuddyPress Leads in the Windy City

Watch out Chicago! @johnjamesjacoby, @boonebgorges, and @djpaulgibbs will be spending some time together at an undisclosed location in the city this Monday, July 18. 🙂

Images of BuddyPress leads - John, Boone, and Paul.

bbPress 2.5.10

bbPress 2.5.10 was packaged and released by @johnjamesjacoby Wednesday, July 13. This was a security release so please upgrade if you haven’t already.

Navigation API in Codex

@boonebgorges has posted a new article about the new Navigation API. Check out all the examples to help you with customizations.

BP 2.7 Scoping/Wishlist

BLOGS

CORE

  • Accessibility fixes for BP Admin screens and templates @mercime
  • Widget for logged-in user Notifications used in wp-toolbar (#7183)

DOCUMENTATION

GROUPS

MEMBERS

REST API@boonebgorges and @rayisme

TEMPLATES

  • Extract & relocate core markup functions @hnla

TOOLBAR AND NOTIFICATIONS

Though not mentioned during dev chat, following are a few of many interesting tickets which you might like to contribute to or kibitz about:

  • Merge BuddyPress Followers into BuddyPress Core (#7133)
  • UI to pick Template Packs (#7157)
  • Admin UI options for all template features (#7160)
  • Add #hashtag auto-suggest (#7165)

Slack log: https://wordpress.slack.com/archives/buddypress/p1468436417003180
(Slack account is required)

#3961, #6026, #6677, #6712, #6812, #7133, #7157, #7160, #7165, #7179, #7180, #7181, #7182, #7183, #dev-chat

General Summaries for April 27 – May 4, 2016

This post covers the following meetings:
1. BP Template Pack on April 27 @ 18:00 UTC,
2. Dev Chat Summary on April 27 @ 19:00 UTC, and
3. Dev Chat Summary on May 4 @ 19:00 UTC.

BP Template Pack Meeting

Participants: @dcavins, @hnla, @im4th, and @mercime

  • @im4th: will open a new task about the activity post form to summarize what he has in mind so that we can discuss it.
  • @mercime: Google spreadsheets with screenshots of pages with current UI and how we would address each one of the component pages … then attach images of screens addressed in the next-template-pack for comparison
  • @hnla: has a draft of basic outline on bpdevel (not for publication at this time).
  • Use the Github repo Wiki pages for documentation
  • Review some wireframes made by @karmatosed in 2012 which already have feedback from the community as shown in BP Trac, bpdevel, and Github. We have to decide whether any of those can still be used or whether it would be better to make new wireframes.
  • Process: Discovery -> Design -> Development -> Launch.

Next meeting: Wednesday, May 11, same time (18:00 UTC), same #buddypress channel in Slack.

Dev Chat, April 27

A new API to manage single items navigation (#6534) @im4th has patch. Dev feedback requested. “The patch is replacing nav arrays with a new class. and make sure the nav is attached to an item ID. The user id for the displayed user nav or the group ID for the current group. Group nav and displayed user nav are separated – meaning there are no more slug collisions.” @boonebgorges and @im4th had a long discussion on the implementation in this Slack log. @im4th and @rayisme have uploaded patches after the meeting.

BP Users front.php (#6769) Kudos to @im4th from @rayisme and @boonebgorges for the mystery group avatar. @dcavins and @hnla said that they will test the patch and post feedback.

Dev Chat, May 4

A new API to manage single items navigation (#6534) @boonebgorges will be checking out the progress and at “how much we need to support old ways of reaching into the `bp_nav` and `bp_options_nav` globals and spending some time formalizing the various compatibility breaks with unit tests” Update: @boonebgorges has uploaded a new patch with unit tests.

BP Users front.php (#6769) @im4th has patch. Positive feedback during dev chat, testing welcome.

Audit all DB fetch methods to return integers where appropriate (#6977) @rayisme has patch. Work on this is about 90% done.

bp_send_email function not working with numeric string for $to argument (#7042) Will leave decision of ticket status to @djpaulgibbs.

BuddyPress Embeds for activity, user profiles, groups (#6772) @rayisme requested feedback on the display of the embeds in the template as well as the embeds template. Update: @mercime has posted feedback and @im4th has uploaded revised patch.

Screen notifications settings page (#6712) @rayisme: “I need to refresh #6712. @djpaulgibbs‘ feedback in the ticket was quite helpful for future iterations. I’m not sure if this can make 2.6 or not.”

Use WP page names for BP directory pages headings (#6765) Discussion between @hnla, @johnjamesjacoby, @im4th, and @boonebgorges resulted in the decision that this enhancement would require an migration for existing installations when they upgrade while new installations will get the shorter page names.

BuddyPress Style Modules: @hnla has provided the example one so it’s clear how they work and are formatted etc. at https://github.com/hnla/style-modules/tree/master/members-list-module. Update: A new Style Modules repo has been added to the BuddyPress account at https://github.com/buddypress/style-modules

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

#6534, #6765, #6769, #6772, #6977, #7042, #buddypress, #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

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

#6482, #6712, #6765, #6822, #6838, #6868, #6870, #dev-chat