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

Dev Chat Summaries for July 20 & 27, 2016

BuddyPress 2.6.2

  • Release date: TBA
  • There are currently 7 tickets in queue (3 closed. 4 open).
  • 404 errors when using HHVM on BP 2.6.1.1 (#7197) @rayisme has patch.
  • BP no longer filters wp_mail_from_name when using wp_mail() (#7024) @djpaulgibbs has patch. Might close this ticket.
  • @mentions break instagram oembeds if same username exists on site as instagram (#7084) needs patch.
  • Unit tests failing on PHP 7.0.9 (#7204) needs patch.

BP 2.7 Trac Tickets

Implement user capabilities for Activity component (#7176) @djpaulgibbs has patch. Feedback requested.

Groups: Draft, Locked or Suspended status (#6677) @dcavins has patch. Feedback requested.

Single items for the Blogs component (#6026) @im4th has patches. Feedback requested.

Hierarchical groups (#3961) @dcavins has patch. Feedback requested.

Components: BuddyPress.org Sites There are a number of tickets in Trac which need to be double-checked if the issues are still valid. If it is and you want to patch it up:
go svn co http://meta.svn.wordpress.org/sites/trunk/buddypress.org/,
create the patch, and upload the patch to the appropriate BP trac ticket.

Slack logs:
July 20: https://wordpress.slack.com/archives/buddypress/p1469041213000135
July 27: https://wordpress.slack.com/archives/buddypress/p1469646028000542

#3961, #6026, #6677, #7024, #7084, #7176, #7197, #7204, #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

The state of the BP Nouveau Template Pack

On april 13 we had our first “Template Pack” chat. After 4 months of weekly meetings (on thursdays at 19:00 UTC), we thought it was time to share with you what we’ve accomplished so far.

3 years ago, the very first BuddyPress Template Pack – BP Legacy – was introduced in Totonno (1.7). It was a major improvement. Thanks to the BP Theme Compatibility, BuddyPress can use the template parts included in this Pack and inject them into the wide majority of WordPress themes. Site owners or theme designers can override these template parts to customize the appearance of community sites. And, for sure, they are doing it!

BP Legacy will remain the most compatible Template Pack BuddyPress ever made!

But after 3 years, we are feeling like it’s time we try to improve the user experience and optimize markup, Javascript, CSS, Ajax, etc.. And very quickly we all agreed that this couldn’t be done in BP Legacy without taking the risk to have an impact on all the possible overrides site owners or theme designers did and are still doing. History showed that unfortunately some of them are not necessarly taking the time to synchronise their customizations with the adjustments we sometimes have to do to our template parts… 😦 .

Moving forward with BP “Nouveau”.

In french “Nouveau” means “new”. If you’re thinking i’m the one who had the idea to call a new Template Pack this way, you’re wrong 🙂 @rayisme is the one! But i must admit i love this name!

In BP Nouveau, we’ve decided to follow these guidelines:

  • Modularity in CSS, Javascript and PHP.
  • Think forward instead of being afraid of breaking backward compatibility.
  • Build modern UIs by always taking advantage of the latest improvements WordPress or BuddyPress core are introducing.
  • Ease of customizations for site owners and at the same time advanced techniques for theme or plugin developers.

About this last point, the first drastic decision we’ve made was to remove all do_action hooks from template parts! Some of you might be surprised as these kinds of hook are ways to extend or customize. It appears that after 47 commits it actually gave birth to very interesting improvements:

  1. We first introduced new APIs such as the BP_Buttons_Group class. As you know BuddyPress uses a lot of buttons and in Legacy there are a lot of these hooks to let people add their own buttons. Thanks to this new API plugin/theme developers can choose the exact position where to output their buttons!
  2. Two new template hierarchies appeared (one for each single item object BuddyPress is using). For instance, it’s now possible to have a different activity stream layout for any member/member type or any group/group type.
  3. Template parts have been optimized. The huge groups/single/admin.php has been split so that we can now share some template parts between the Group’s create screens and the Group’s edit screen. The xProfile visibility is now a specific template part that is used by the xProfile edit screen and the signup screen. The WP Profile template we fallback on when xProfiles is not active stopped using old yim/aim/jabber fields in favor of a new loop using the wp_get_user_contact_methods() function so that potentially any new contact methods can be added. Finally The registration template has been completely revamped.
  4. New template tags have been created such as the one to generate standardized template notices and user feedbacks which can also contain “dismiss” buttons.

A BP Template Pack customizer panel.

Site owners will be able to customize their community and preview their changes thanks to the WordPress Customizer.  For instance, they can choose to use our default front pages for groups or members and they can choose between 4 layouts for the Members, Groups and Sites directory loops. Take a minute to discover this last feature in the following video.

They will also be able to reorder the Groups and Members primary navigations according to their preferences!

Improved UIs

First the notifications screens is now using Ajax and we’ve added a search functionality and the possibility to filter notifications by component actions. Of course we’ve kept the sort by date ordered DESC or ASC but it’s now located into the Date Received column header a bit like it’s the case in WordPress administration tables.

notifications

Then i invite you to watch this 3 minutes video to discover our new Group Invites and our new Private Messages UIs.

Finally we’ve started to work on a new extendable Activity Post form 🙂

Modularity

BP Nouveau is only loading what the BuddyPress setups it’s activated on needs. For instance if the Groups component is not active all the corresponding Javascript and PHP code won’t be loaded. SCSS files are now organized into modules.

Getting involved.

You want to help? You are very welcome. To ease our work we’ve packaged the template pack into a plugin we’ve named “next-template-packs”. It adds a new tab into the BuddyPress settings so that it’s easy to switch between BP Legacy and BP Nouveau. In a way it’s a possible interesting start for this core ticket (#7157). You’ll need the latest WordPress version and the latest BuddyPress version (trunk). Here’s the url of our github repository, we would be very pleased to receive some pull requests 😉

Let’s build together the most customizable Template Pack BuddyPress ever made!

#template-pack

#id

Dev Chat Summary for June 15, 2016

BuddyPress RC 1

@dcavins packaged and released BuddyPress 2.6.0 RC 1 (string freeze) last Wednesday, June 15, 2016.
* Developers: Please test your BP plugins and themes with our new features this dev cycle 🙂
* Translators: We need translators for BuddyPress. If you’re interested in contributing, @danbp has written a topic about how you can get involved.

BuddyPress 2.6.0

RC 1 Release Preparation

We discussed two tickets remaining in trac: moving stylesheet of activity embed to to bp-legacy’s /css/ folder (#7123 fixed.) and the Welcome Screen for 2.6 (#7108 fixed).
* Thanks to @im4th for preparing the video demonstrating BP’s new Activity Embed feature on our Welcome Screen.
* Thanks to @djpaulgibbs and @jerrysarcastic for facilitating the transfer of the video to WordPress.tv.
* And thanks @dcavins, @rayisme, and @hnla for improving the text of the Welcome Screen.

New Codex articles for BP 2.6

Thanks to @rayisme for publishing the following articles:
* Activity Embeds
* Group Types API

Improving Management of Trac Tickets

@djpaulgibbs will be implementing some changes to Trac over this weekend per his post here at bpdevel. @dcavins reminded all to comment on @offerein’s suggestions about BP trac ticket categories and focuses.

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

#7108, #7123, #dev-chat