BuddyPress 2.2.3 – Security Release

Please upgrade now. https://buddypress.org/2015/04/buddypress-2-2-3-security-release/

Dev Chat Summary for April 15, 2015

BuddyPress 2.2.2.1

Avatars, an extensible UI

  • (#6290) … and the feature’s committed to core! Thank you @im4th :)
  • In addition to the improved profile photo uploader, a new camera feature using the device’s webcam video stream to take a snapshot of one’s profile photo has been added as an option for members using Firefox, Chrome, and Opera browsers. Browsers like iOS Safari, Opera Mini, and Internet Explorer which do not support getUserMedia can still be used to upload profile photo using the improved uploader.
  • More testing and feedback welcome.

Improve bp_core_check_avatar_type() and introduce a function to get the allowed avatar types

  • (#6336) In relation to the new Avatars UI, @im4th added checks for the allowed avatar and mime types. This has been committed to core.

XProfile fields used for signup should be configurable

  • (#6347) @johnjamesjacoby continues the major overhaul of the XProfile component and has gotten addicted to unit tests, Boone’s boon.

BP Core Hooks Documentation

  • (#5940) @tw2113 has completed the inline documentation for /bp-core files. What’s next: /bp-template/bp-legacy files.

BP Companion Stylesheet for Twenty Fifteen Theme

  • (#6291) https://buddypress.trac.wordpress.org/ticket/6291 @hnla has committed the CSS and SCSS files to core. Testing and feedback welcome.

Slack log: https://wordpress.slack.com/archives/buddypress/p1429124553002195
(You need a Slack account to view the logs.)

A good way to shape the future of BuddyPress Attachments is to take care of Avatars

As you never miss the great dev-chat summaries @mercime is posting with love, you already know the core team has been working on a new BuddyPress Attachments API for the 2.3 release.

You should know 2.3 will bring a new class, BP_Attachment, developers will be able to extend to manage user uploads. In core we are using it to take care of avatar uploads. We will soon write a codex page about it, but if you’re eager to play with it, you can already observe what we’re doing in the BP_Attachment_Avatar class (see #6278).

You should also know, we’ve been working on a richer user interface to upload / crop / set a profile photo for a user or a group. It landed in trunk yesterday, we’re very excited to have it in our next release and we hope you are too :) (see #6290)

The Upload view of the Avatar UI

The Upload view of the Avatar UI

Members will be able to use their computer’s webcam to set their profile photo if they are using a browser supporting getUserMedia.

Camera view of the Avatar UI

Camera view of the Avatar UI

It will be possible to edit a member’s avatar from his extended profile in WordPress administration.

Crop view in wp-admin/extended profile

Crop view in wp-admin/extended profile

A few notes:

  • It’s not removing the legacy screens, it’s actually using them as a fallback if javascript is disabled.
  • Although we’re convinced it’s a great improvement, some of you might feel better with the legacy interface. If so you will be able to disable the new UI by using this filter add_filter( 'bp_avatar_is_front_edit', '__return_false' ) in your bp-custom.php file for instance.
  • For the first introduction of this feature, we wish to “keep some control” over the Backbone templates. These templates will be organized in an “_attachments” folder. The underscore prefix means : “we advise you to avoid overriding this folder’s templates from your theme”.
  • About theme compatibility: the “avatar” templates of the template pack we ship with the plugin (bp-legacy) will use a new template tag to display the interface. If you are overriding these templates from your theme and if by the time 2.3 will be released you forgot to update them, we will try to load the interface using one of these template hooks :
template hook template file
do_action( 'bp_after_profile_avatar_upload_content' ); buddypress/members/single/profile/change-avatar.php
do_action( 'bp_after_group_admin_content' ); buddypress/groups/single/admin.php
do_action( 'bp_after_group_avatar_creation_step' ); buddypress/groups/create.php

BuddyPress contributing really is possible…

BuddyPress contributing really is possible for anyone.

Ever since last fall, I have followed in Drew Jaynes’ (and others’) footsteps in that I took up the initiative to document BuddyPress action and filter hooks the way he helped lead the task for WordPress core.

Not long after that moment, my employer WebDevStudios implemented its own “5 for the Future” initiative for the benefit of its employees, allowing them to spend a little bit of their work week contributing back to the WordPress community. It didn’t matter what role we had in WebDevStudios, we were allowed to contribute back to what helps make our daily job possible.

I decided to continue my efforts with the hooks documentation each week. At the time of this post, I am almost done with all of the components. However, that is not the purpose of this post here. Instead, I wanted to highlight the fact that with part of my time, I helped three different coworkers make their own contributions to BuddyPress Core. For some of them, it was their first contribution ever.

Each of these co-workers is the Project Manager of one of the internal teams at WebDevStudios, and their daily dealings are never code. I talked to each and they were willing to give it a try. All three were assured that I would help them each step of the way. Each took on a whole BuddyPress core file that did not have a large total amount of hooks, but had enough to feel like it really counted (ANY contribution counts). While I helped with details, they did all of the typing and submitting the changes to me.

Jaimie was tasked with bp-core-widgets.php Changeset 9542, Melissa was tasked with class-bp-suggestions Changeset 9731, and Cristina was tasked with bp-core-update.php Changeset 9745.

I am extremely proud of each of them, and appreciate them taking 15-30 minutes of their 5 for the Future time to remotely “sit” with me and work on helping make BuddyPress Core better and more informative for its users and developers.

It goes to show that anyone has the ability to contribute, even if you need a bit of help at the start. I hope that some time in the future, any of them “tap my shoulder” in company chat and ask “Michael, how can I help contribute more to BuddyPress, last time was fun!”

Dev Chat Summary for April 8, 2015

Avatars, an Extensible UI

  • (#6290) @im4th has been moving fast and furious with updated patches for this new feature. Patches 6290.08 and 6290.09 fixed some issues with Internet Explorer which he has gotten quite fond of :) Thanks to @hnla for testing with their favorite browser.
  • Update: Within the last 48 hours, @im4th uploaded two new patches 6290.10 and 6290.11 to address other issues. At this stage he’s ready to commit to trunk.
  • Testing and feedback welcome.

BP Companion Stylesheet for Twenty Fifteen Theme

  • (#6291) @hnla has uploaded new patches with CSS and SASS stylesheets.
  • Testing and feedback welcome.

Improving XProfiles Component

Directories Filtered by Member Roles

  • (#6286) @boonebgorges is ready to commit the first pass for this new feature. The patch introduces the new bp_register_member_type action action, where plugins should register member types.
  • Update: The feature has been committed to core.
  • Testing and feedback welcome.

Group Membership Cache

  • (#6327) Behind the scenes for the past week and a half, @boonebgorges has been working on the maximal caching of group memberships on a per-user basis. Patches have been uploaded including unit tests.

Message Caching

  • (#6221) @rayisme has uploaded a patch which introduced new methods for message caching and included unit tests. The patch handles the majority of uncached message DB queries. * @boonebgorges has been working on this ticket as well and posted some directions on cache keys and groups.

BP 2.2 (and 2.2.1) feed is no longer protected by Wishlist Member

  • (#6230) @rayisme has uploaded a patch which proposed to use page ID zero on BP single pages only. There are other approaches mentioned in ticket which have repercussions as well. Sticky situation, this.
  • Dev feedback requested.

2015 BuddyPress Survey

  • (#5980)The survey ended Wednesday afternoon PST. Results will be posted at BuddyPress.org. Many thanks to everyone who participated in the survey.

Custom Post Type Support for Activities

  • (#6306) @im4th has uploaded patches plus unit tests to address the issues including comments for post types. He’s requested for dev feedback (special mention to @rayisme :D ) .

Relationships API

  • @djpaulgibbs mentioned that he has made progress with exploring the idea of many-to-many relationships, but will move it later from the 2.3.0 milestone to 2.4.0 since he doesn’t think this could be finished in time.

Paul’s Addenda

Belated Thanks to BP Volunteers at WCLDN Contributor Day
@djpaulgibbs gave special mentions to @pollyplummer and marion for improving the BuddyPress.org/about/ pages two weekends ago. e.g. https://buddypress.org/about/activity/

BuddyPress.org Site Assets Included in meta.svn.wordpress.org VVV
@djpaulgibbs reported that with a little help from his friend @netweb, it’s now possible to set up the buddypress.org themes/plugins locally in a VVV install: https://github.com/iandunn/wordpress-meta-environment/pull/10. He’s waiting for Ian Dunn to merge the pull request but you can try with the branch right now and it all just works.
It’s now much easier for anyone who knows how to set up VVV to contribute towards improving bundled theme/s and plugins for BuddyPress.org, codex.buddypress.org, es.buddypress.org, and codex.bbpress.org. Just create a ticket and upload patch(es) at https://meta.trac.wordpress.org.

Slack log: https://wordpress.slack.com/archives/buddypress/p1428519711001398
(You need a Slack account to view the logs.)

BuddyPress 2.2.2 – Security & Maintenance Release

Please update your installations now. https://buddypress.org/2015/04/buddypress-2-2-2-security-maintenance-release/

Dev Chat Summary for April 1, 2015

2015 BuddyPress Survey Ends Next Week

  • (#5980) Help guide the direction of BuddyPress plugin development in 2015. There are only a few more days left for you to take the Survey which will be closing this coming Wednesday, April 8th, at 23:00 UTC. Countdown.
    2015 BuddyPress Survey

Avatars, an extensible UI

  • (#6290) @imath had added a patch to bring Avatar UI in wp-admin/Extended profile and move the templates in bp-legacy.
  • Discussions included clarifying what was the best approach to improve the architecture of this UI per @imath’s latest post in ticket: location of administration panels, backbone template location in bp-legacy or in bp-core. Decisions re localization of the javascript template, naming of template elements, among others, are pending.
  • To top it off, @im4th is already working on using the Avatar UI to upload Logo/Avatar for multisite installations.
    Multisite Logo/Avatar upload
  • Update: Based on the feedback from WCLDN contributor day and Dev Chat last Wednesday, @im4th has a new post in ticket moving forward with the Avatar UI.
  • Feedback welcome.

BP Core Hooks Documentation

  • (#5940) @tw2113 has almost completed the inline documentation of bp-core/ files.

Directories filtered by Member Roles

  • (#6826) @boonebgorges has added a patch and unit tests for this new feature which introduces a new ‘bp_register_member_types’ hook, added changes in bp_core_set_uri_globals(), and a new ‘has_directory’ syntax for Member Types.
  • Feedback welcome.

Star Private Messages

  • (#6331) @rayisme introduced a new feature he mentioned as one of his priorities in this dev cycle and which he has created as a plugin first. This feature has been greenlighted for inclusion in core for BP 2.3.0.
  • Feedback welcome.
    Star Private Messages

Companion Stylesheets for WP Default Themes

  • (#6291) @hnla has posted the latest patch for a BP stylesheet to address theme compatibility issues with the Twenty Fifteen Theme.
  • (#6338) He has also posted a patch for the BP stylesheet for the Twenty Fourteen theme. Before testing this stylesheet, apply the patch from Twenty Fifteen above which also adds the necessary patch in bp-legacy/buddypress-functions.php to enqueue the BP companion stylesheet/s. Update 2014-04-04: @rayisme‘s patch to enqueue BP companion stylesheets to respective WP Default themes has been committed to core https://buddypress.trac.wordpress.org/changeset/9694
  • Feedback and testing welcome.

Slack log https://wordpress.slack.com/archives/buddypress/p1427914764000734
(You need a Slack account to view the logs.)