Changes to Template Files for BuddyPress 2.7

Several improvements to BuddyPress template files are introduced when we release BuddyPress 2.7.0 on October 19 (there will be a Release Candidate 2 on October 12). These include upgrades for accessibility, markup, and template refactoring.

Please remember to test/update your plugins, themes, and sites before the stable release. This is also a friendly reminder that BuddyPress 2.7 will require at least WordPress 4.2.

Following are the changesets for respective files to guide you in your updates. At the bottom of this post, there are links to other views of the file revisions for this dev cycle.

This post will be updated as needed.

Changesets

Reference point: buddypress/bp-templates/bp-legacy/

The following give you an overview of the revisions to individual files. Please note that changesets with accompanying trac ticket numbers, e.g. (See #5757), require that you upgrade installations to at least BP 2.7 RC1 or trunk in order to test the new features.

Activity

buddypress/activity/single/home.php
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/activity/comment.php
* Add data-livestamp attribute. (Changeset) (See #5757)

buddypress/activity/index.php
* a11y: Add navigation landmarks. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset 1, Changeset 2)

Blogs

buddypress/blogs/create.php
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/blogs/index.php
* Refactor search form for the Sites Directory screen. (Changeset) (See #6844)
* a11y: Add navigation landmarks. (Changeset)
* a11y: Add heading for screen reader users. (Changeset)

bp-blogs/bp-blogs-template.php *** Do not change core file. Noted here for possible styling adjustments.
* a11y: Group radio buttons within a fieldset on the Site > Create screen for multisite installations. (Changeset)

Legacy Forums

buddypress/forums/index.php
* Refactor search form for the Forums Directory Screen. (Changeset) (See #6844)
* a11y: Add navigation landmark. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset)

Groups

buddypress/groups/single/admin/group-settings.php – New file after splitting up groups/single/admin.php in (#7079)
* Show available group types. (Changeset) (See #7210)

buddypress/groups/single/admin/manage-members.php – New file after splitting up groups/single/admin.php in (#7079)
* Change structure, content, and message of member list plus add pagination controls. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset 1, Changeset 2)

buddypress/groups/single/forum/edit.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/groups/single/forum/topic.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/groups/single/activity.php
* a11y: Clarify navigation landmark. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/groups/single/admin.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/groups/single/admin.php in BP 2.6, now in buddypress/groups/single/admin/manage-members.php for BP 2.7 in (#7079).
* a11y: Bump headings from h4 to h3 for the Groups > Manage > Members screen. (Changeset)

buddypress/groups/single/admin.php in BP 2.6, now in buddypress/groups/single/admin/group-settings.php for BP 2.7 in (#7079)
* a11y: Group two sets of radio buttons within fieldsets for the Groups > Manage > Settings screen. (Changeset)

buddypress/groups/single/cover-image-header.php
* a11y: Bump headings for Group Admins and Mods from h4 to h2 for the header template used if group cover image is enabled. (Changeset)
* Show group type in group header under cover image if enabled. (Changeset) (See #7210)
* Add data-livestamp attribute. (Changeset) (See #5757)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/groups/single/forum.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/groups/single/group-header.php
* a11y: Bump headings for Group Admins and Mods from h4 to h2 for the header template file used if group cover images are disabled. (Changeset)
* Show group type in group header if enabled. (Changesets: 1, 2, 3) (See #7210)
* Add data-livestamp attribute. (Changeset) (See #5757)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/groups/single/home.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/groups/single/invites-loop.php
* a11y: Bump heading from h4 to h3 for the Group > Send Invites screen. (Changeset)

buddypress/groups/single/members.php
* Add data-livestamp attribute. (Changeset) (See #5757)

buddypress/groups/single/request-membership.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/groups/single/send-invites.php
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/groups/create.php
* a11y: Group two sets of radio buttons within fieldsets for the Groups > Create – Step 2. (Changeset)
* Show a list of group types for selection during group creation. (Changeset) (See #7210)
* a11y: Remove navigation landmark. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset)
* a11y: Add headings for screen reader users. (Changeset)

buddypress/groups/groups-loop.php
* New template tag to show group directory message. (Changeset) (See #7210)
* Add data-livestamp attribute. (Changeset) (See #5757)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/groups/index.php
* Refactor search form for the Groups Directory Screen. (Changeset) (See #6844)
* a11y: Clarify navigation landmarks. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset)
* a11y: Add heading for screen reader users. (Changeset)

Members

buddypress/members/single/friends/requests.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/groups/invites.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/messages/compose.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/messages/messages-loop.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/messages/single.php
* a11y: Bump heading from h3 to h2 for the single message screen. (Changeset)

buddypress/members/single/notifications/read.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/notifications/unread.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/profile/change-avatar.php
* a11y: Bump heading from h4 to h2 for the Profile > Change Avatar screen. (Changeset)

buddypress/members/single/profile/change-cover-image.php
* a11y: Bump heading from h4 to h2 for the Profile > Change Cover Image screen. (Changeset)
* Add data-livestamp attribute. (Changeset)

buddypress/members/single/profile/edit.php
* a11y: Bump heading from h4 to h2 for the Profile > Edit screen. (Changeset)
* Add navigation role for profile field group links. (Changeset)

buddypress/members/single/profile/profile-loop.php
* a11y: Bump heading from h4 to h2 for Profile > View screen. (Changeset)

buddypress/members/single/settings/general.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/settings/notifications.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/settings/profile.php
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/activity.php
* a11y: Clarify navigation landmarks. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/members/single/blogs.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/single/cover-image-header.php
* a11y: Alert screen reader users about new messages. (Changeset)
* Add data-livestamp attribute. (Changeset) (See #5757)

buddypress/members/single/forums.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/single/friends.php
* a11y: Clarify navigation landmark. (Changeset)
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/groups.php
* a11y: Clarify navigation landmark. (Changeset)
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/home.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/single/member-header.php
* Add data-livestamp attribute. (Changeset) (See #5757)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/members/single/messages.php
* a11y: Clarify navigation landmark. (Changeset)
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/single/notifications.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/single/plugins.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/single/profile.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/single/settings.php
* a11y: Clarify navigation landmark. (Changeset)

buddypress/members/activate.php
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/members/index.php
* Refactor search directory in the Members Directory Screen. (Changeset) (See #6844)
* a11y: Clarify navigation landmark. (Changeset)
* a11y: Add heading for screen reader users. (Changeset)

buddypress/members/members-loop.php
* Add data-livestamp attribute. (Changeset) (See #5757)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress/members/register.php
* a11y: Bump headings for sections from h4 to h2 of Registration page. (Changeset)
* a11y: Group radio buttons with a fieldset for multisite installations. (Changeset)
* a11y: Alert screen reader users about new messages. (Changeset)

buddypress-functions.php

buddypress/buddypress-functions.php
* Add search form for Groups > Manage Members screen. (Changeset) (See #6385)
* Renders the group ID hidden input on group admin screens. (Changeset) (See #7079)
* Use new groups_get_group() syntax throughout BP. (Changeset) (See #5451)
* Group join/leave buttons should have group-button class after AJAX request.(Changeset) (See #7229)

CSS

buddypress/css/*
* a11y: Update contrast ratios to meet WCAG 2 AA standards
~ twentysixteen – (.css) (-rtl.css) (.scss)
~ twentyfifteen – (.css) (-rtl.css) (.scss)
~ twentyfourteen – (.css) (-rtl.css) (.scss)
~ twentythirteen – (.css) (-rtl.css) (.scss)
~ twentytwelve – (.css) (-rtl.css) (.scss)
~ buddypress – (.css) (.css) (-rtl.css) (-rtl.css)

JavaScript

buddypress/js/buddypress.js
* Don’t allow a Favorite click when AJAX request is in progress. (Changeset)
* Fix AJAX search after directory form template refactoring. (Changeset)

Additional References

BP Codex – Template Changes for BP 2.7

BP Trac – Complete changeset for bp-legacy/buddypress since BP 2.6.2
(Updated 10/19/2016)

#5451, #6385, #6844, #7079, #7210, #7229

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 25, 2016

Trac Tickets

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

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

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

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

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

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

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

BuddyPress 2.7

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

#dev-chat

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

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