Custom Front Pages for your users profiles

We’ve heard users profiles were a bit jealous about Groups custom front pages. So in BuddyPress 2.6.0, we’ve decided to give you a way to customize the home page of your members profiles directly from your theme using a specific template: the front.php template.

An example using the WordPress "Biographical Info" field

An example using the WordPress “Biographical Info” field

Simply put this template into a buddypress/members/single sub directory of your theme and “voilà”!

We also included a specific template hierarchy so that users can have different front pages according to their ID, their nicename or their member type! Read this codex page for more infos about it.

If your theme is overriding the buddypress/members/single/home.php template, you’ll need to update it (once 2.6.0 will be released!!) so that it includes the changes we’ve introduced to this template in 2.6.0.

If you are a developer and wish to know if a custom home page is displayed for a user, you can use the new conditional tag bp_is_user_front()

We hope you’ll like this new feature, you can read the full story about it on this ticket 😉

#6769

General Summaries for May 11, 2016

This post covers the BP Template Pack meeting @ 18:00 UTC and Dev Chat @ 19:00 UTC along with the upcoming BP 2.5.3 and BP 2.6.0 releases.

BP Template Pack

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

  • @im4th: created a new ticket for the Activity post form for the new Template Pack currently hosted on Github
  • @hnla: added some preliminary notes in the Template Pack Wiki
  • @im4th:  already using Ajax actions returning JSON replies.
  • @hnla: requested that for this new pack or new templates, “please, please, no mention of backpat as it concerns us not, it’s a dirty word and we don’t suffer it for this project.”
  • @dcavins: we should focus on the Messages screen and the Activity Post form for next week.
  • @im4th: with this new template pack, an important thing will be to check we’re accessibility-ready and include this in the roadmap.
  • @mercime: a new Template Pack Trac Ticket for good fortune when ready.
  • @dcavins proposed a weekly meeting to step up discussions. This was seconded by the other participants.

Next meeting: Wednesday, May 18, same time (18:00 UTC), same #buddypress Slack channel (Slack account is required).

Dev Chat

developer.buddypress.org (#6812) @tw2113 has set up a sample site at https://trexthepirate.com/buddypress/reference/ to get things rolling. @djpaulgibbs: “Once the theme is done and any custom plugins, Boone, John, or I will code review it, and push it out. We’ll then need to talk to meta and figure out how to run the initial import or parsing.” @djpaulgibbs created a new repository in Github at https://github.com/buddypress/developer.buddypress.org and @tw2113 has already uploaded a local copy for review.

A new API to manage single items navigation (#6534) Update: @boonebgorges has committed the awesome new nav API which replaces the old `bp_nav` and `bp_options_nav` system to trunk the day after the chat. Check out his illuminating commit message for particulars. This commit also fixes another trac ticket (#5103 Group slug and user’s subnav parent_slug trouble).

Group Types API (#6784) @boonebgorges got the consensus to ship the new Group Types API without a UI in the front end for the first release.  Update: @dcavins has uploaded the patch to add a metabox in the wp-admin Group edit screen for changing group type per discussion in chat.

BP Users front.php (#6769) @im4th followed up on feedback for his patch. @hnla said that he will be looking at this. Update: @hnla has posted feedback and @im4th has uploaded a new patch.

Emails: Passing an email address to `bp_send_mail()` does not render `{recipient.name}` token (#7044) @rayisme has patch and unit tests. @djpaulgibbs has posted feedback and mentioned during chat that this would probably go into BP 2.5.3.

Emails: Allow a custom `unsubscribe` token to be set directly in `bp_send_email()` (#7045) @rayisme noted that this ticket can be closed in favor of #6932 (Emails: real unsubscribe functionality).

BuddyPress Embeds for activity, user profiles, groups (#6772) @im4th mentioned that there are problems with iframe within iframe, i.e., when one embeds a video in the activity stream then embed this activity in a post.

Upcoming Releases

BuddyPress 2.5.3

  • There are currently 5 tickets slated. (Closed: 2. Active: 3.)
  • Release Date: TBA

BuddyPress 2.6.0

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

#dev-chat

#5103, #6534, #6769, #6772, #6784, #6812, #6932, #7044, #7045, #buddypress

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

Dev Chat Summary for January 6, 2016

The first dev chat of the year focused on the 2.5.0 release scope. There are currently 104 tickets slated for  this dev cycle: 22 closed and 82 active. The following were mentioned during dev chat (major features have asterisks).

API

*BuddyPress Embeds for activity, user profiles, groups (#6772) @rayisme and @im4th work on ensuring that nested embeds show up as well as preventing embeds from breaking layout, among others.

*Create New Invitations API (#6210) @dcavins has written a bunch of tests for this feature in the last two releases. He’s currently working on the actual code changes and it’s going pretty well. Ultimately, he mentioned he’d like nearly all of the  features of Boone’s Invite Anyone plugin to be rolled in.

*A new API to manage single items navigation (#6534) @boonebgorges

*Email API and customisation features (#6592) @djpaulgibbs will be ready for review in a week or so. He has done lots of work on it and has recently posted an extensive technical update in ticket.

*Group Types API (#6784) @boonebgorges

BLOGS

*Comment syncing between activity and post comments for Custom Post Types (#6482) @im4th has patch which ready for  review/testing.

CORE

Use WP page names for BP directory pages headings (#6765) @hnla

Hooks Documentation Continued @tw2113

GROUPS

Add function to send single invitation (#6025) @dcavins is working on this in relation to the main ticket (#6210) Invitations API above.

NOTIFICATIONS

Comment notification NOT notified (#6057) @im4th will refresh the patch next week.

Screen notifications settings page (#6712) @rayisme

TEMPLATE PARTS

*Companion Stylesheet – Twenty Twelve (#6766) @hnla has committed the first pass of the SASS and compiled CSS files.

BP Users front.php (#6769) @hnla

XPROFILES

*xProfile fielddata visibility should be stored in xprofilemeta (#6413) @boonebgorges has the patch written, “just some work to do on making the migration routine less insane.”

*xProfile fields used for signup should be configurable (#6347) @johnjamesjacoby

xProfile field database schema (#6350) @johnjamesjacoby

BUDDYPRESS.ORG

*developer.buddypress.org (#5129) @tw2113 is working on the parser

GENERAL – ADMIN/UI

Accessibility Upgrades Continued @mercime

FOR NEXT WEEK:

  1. REST API
  2. “Social Network” vs. “Community Software” marketing direction

#5129, #6025, #6057, #6347, #6350, #6413, #6482, #6534, #6592, #6712, #6765, #6766, #6769, #6772, #6784, #dev-chat

General Summary as of December 23, 2015

This is a compilation of dev chats held in December 2nd, 9th, and 16th. There was no official dev chat last Dec. 23, we just had some BP Holiday fun.

Minor Releases

BuddyPress 2.4.4

BuddyPress 2.5.0

  • BP Beta 1: February 8, 2016
  • BP RC 1 (string freeze): February 22, 2016
  • BP 2.5.0 Target Release Date: March 2, 2016

Feature scope continued from last November 25:

Email API and customisation features (#6592) @djpaulgibbs reported Things are going well with the new feature.

Comment syncing between activity and post comments for Custom Post Types (#6482) @im4th will try to update patch and write unit tests.

Screen notifications settings page (#6712) @rayisme

Accessibility Improvements Part 2 (has tickets) @mercime

developer.buddypress.org @tw2113 has started work on the parser and fixing errors.

Navigation API tweaks for single items (#6534) @boonebgorges will be working on this for the next 2 weeks.

Create New Invitations API (#6210) @dcavins will update patches. @boonebgorges will be working on this for the next 2 weeks.

BuddyPress Embeds for activity, user profiles, groups (#6772) @rayisme has started working on this. @im4th has given feedback on the ticket.

Companion Stylesheet – Twentytwelve (#6766) @hnla has uploaded the stylesheets to trunk. Feedback welcome.

BP Users front.php (#6769) @hnla

xprofile fielddata visibility should be stored in xprofilemeta (#6413) @boonebgorges

BP JSON REST API @modemloooper. @marmaduka has volunteered to help. @djpaulgibbs and @boonebgorges were in agreement that the project would go through some documentation/vision phases before starting to write code. The BP JSON REST API would be introduced into core when the feature is “complete”, i.e.,  all read-only endpoints or an entire component, etc. This will be built as a plugin first. @djpaulgibbs also suggested that the eventual BP REST API plugin/module/eventual core integration require modern PHP.

#6210, #6482, #6534, #6592, #6712, #6766, #6769, #6772, #dev-chat