Dev Chat Summary for March 11, 2015

BuddyPress 2.3.0 Schedule

  • Target release date: May 26, 2015
  • Beta1 to be released ~four weeks before release date and RC1 ~ two weeks before
  • There are 73 tickets currently open for this milestone. Patches welcome.

BP 2.3.0 Progress Report

New Notifications Meta (#6275)
@johnjamesjacoby reported that within the last two weeks, he worked on the new notifications meta table with accompanying database and caching routines, new template functions and filters, among others. These have been committed to trunk. Needs unit tests.

Attachments API (#6278)
@im4th has been working with @boonebgorges and @johnjamesjacoby on this new feature and it’s moving along quite rapidly. Feedback is needed on the lastest patch.

Avatar Upload UI (#6290)
@im4th has posted screenshots of the the UI for this enhancement in ticket. The Attachment API needs to be completed first as this feature requires AJAX and other methods to be introduced in the new API. Possible blavatar addition if there’s time.
@johnjamesjacoby noted that get_avatar has a bevy of new filters and functions in WP core now and added, “Eventually we might be able to ditch a bunch of our avatar code as a result. get_avatar_url() & get_avatar_data().”

Invitations API (#6210)
@dcavins commented that he’s making good progress on this new API,” but slowing down to see how the real world works (group invitations) and finding some strange things.” He needs to finish writing test coverage before attempting to use the new API functions for group invitations. @boonebgorges has been giving him advice on unit tests and looking over his proposed changes.

Improve representation of blog posts in the Activity Stream (#6177)
@djpaulgibbs has added screenshots and patches for this enhancement. Feedback is needed on the lastest patch re architecture.

Relationships API (exploration stage)
@djpaulgibbs is also “trying to make more progress on some kind of many-to-many object relation API. It’s proving pretty challenging. My original approach was to try to port as much of post2posts as possible, but it’s increasingly looking like it’s not a great fit without modifications, so I’m still trying to see where to go with it.”

Inline Documentation (#5940)
@tw2113 is currently documenting BP Core Hooks as scheduled.

Correct the values returned by bp_format_time (#2693)
@johnjamesjacoby has committed patches to resolve the issue. He also noted, “We should probably use smarter time elements and let the front-end handle timestamps in a more sane way.”

Fixes for title-tag /wp_title (#6107)
Full steam ahead and plenty of beer to resolve page/site title issues.

Companion Stylesheets for WP Default themes (#6248)
@hnla reported that he was in the process of building and iterating on the stylesheet for the companion theme tasks.

2015 BuddyPress Survey (#5980)
A friendly reminder to take the survey at https://buddypress.org/2015/02/2015-buddypress-survey/

Daylight Savings Time

Our dev chat is scheduled at 20:00 UTC until after March 29th when DST starts in Europe. For those in North America, this means that dev chats will be held one hour later than usual for the next two weeks at 1:00 P.M. Pacific / 4:00 P.M. Eastern until further notice.

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

Dev Chat Summary for March 4, 2015

BuddyPress 2.2.2

Maintenance release is on the roadmap. This version has 8 bug tickets squashed and 2 remaining tickets in queue.

Notification Meta

#6257 @johnjamesjacoby has some more work to do in ticket and would be calling for testers when it’s ready. He said, “As of now, existing notification query pass all tests. All that’s needed are new tests for the meta itself, similar to other existing meta tests. “

Attachments API

#6278 https://buddypress.trac.wordpress.org/ticket/6278 @imath has started building an “attachment” tool (mainly dealing with managing uploads) which the avatar/plugins could use to upload files for the first patch. Interesting discussions about usage for this API such as cover photos, blog avatars, favicons, etc.

BP Stylesheets for WP Default Themes

#6248 https://buddypress.trac.wordpress.org/ticket/6248 @hnla has been making some notes and will be working on the themes bundled with a new WordPress download: Twenty Fifteen, Twenty Fourteen, and Twenty Thirteen themes. Twenty Twelve theme was included later after almost all of the contributors present revealed that Twenty Twelve is still their favorite WP Default Theme. @im4th awarded the BuddyPress Prize for the Best BuddyPress theme to … Twenty Twelve :)

Slack Log: https://wordpress.slack.com/archives/buddypress/p1425499242000291

BP 2.3.0 Dev Cycle – Contributor Priorities

This is a compilation of the planning and discussions held during the past three weeks (02/11/15, 02/18/15, and 02/25/15). Contributors have indicated the areas they are going to work on for the next three months or so of the 2.3.0 dev cycle:

@dcavins

  • New Invitations API where he’ll be building the API/lib first and add the component later as the need arises (#6210) with @johnjamesjacoby
  • Add tests for group invitations and membership request functions (#6209)

@tw2113

  • Complete documentation on BP Core files (#5940)
  • Complete documentation on BP Templates (#5948)
  • Reference: Docs initiative (#5022)
  • Afterwards, he will go over to all existing phpdocs and touch up ones that PHPStorm is reporting as inaccurate params and whatnot.

@im4th

  • New Attachments API (#5429) with @johnjamesjacoby
  • Local avatar management with new attachments API (#6004)
  • Possible new Relationships API with @djpaulgibbs based on https://github.com/paulgibbs/buddypress/tree/posts2posts for the Favorites/Likes features. Meeting at WCLondon to discuss this.

@boonebgorges

  • Member types API level such as member-type-specific xprofile fields (#5192)
  • “Only Me” profile fields are searchable by other users (#6211)
  • Member Types API: remove a user’s member type (#6188). Update: This issue was fixed today.
  • Check in other ongoing work in Trac

@hnla

  • Add companion stylesheets for all WordPress Default themes (#6248)
  • Twenty Fifteen theme BP Companion Stylesheet (#6124)

@rayisme

@mercime

  • 2015 BuddyPress Survey: launched 02/18/2015 through results post in April (#5980)
  • 2015 bbPress Survey: from ~ April 2015 through results in June/July 2015 (bbPress#2767)
  • WP Theme Repo: submit themes which support BuddyPress and bbPress
  • BuddyPress Codex: Add/update articles

@djpaulgibbs

  • Work with @im4th on the new Relationships API
  • Deleted activity items remain favourited (#3794) with @johnjamesjacoby
  • Activity Favorites: alternative management & new features (#5644) with @johnjamesjacoby
  • Improve representation of blog posts in the Activity Stream (#6177) which is virtually ready
  • BP Trac Maintenance and work on ideas for future releases

@johnjamesjacoby

  • New Notifications Meta (#6257)
  • Work with @rayisme on Message cache
  • Work with @im4th on new Attachments API
  • Work with @dcavins on new Invitations API
  • Work with @djpaulgibbs on Favourites/Likes
  • Work on new Administration UI’s for each component. @djpaulgibbs mentioned that he has UI for xProfile in wp-admin.

@slaffik

  • Will continue with his 5% for WordPress via BuddyPress and find ways to contribute in Trac.

You can keep track of the tasks for the 2.3.0 milestone on this page.

Commit Access

  • Commit access has been granted to @hnla for his work on the tickets mentioned above and other tasks to be assigned by the Lead Developers.

BuddyPress.org Issues

  • @slaffik raised an issue about the i18n sites of BuddyPress.org. @henrywright brought up an issue re BuddYPress.org forums. @ubernaut reported on an issue which was previously reported in trac which will be fixed when the WP trac ticket referenced in said ticket is fixed.
  • @johnjamesjacoby mentioned that these issues can be posted in https://meta.trac.wordpress.org/. The themes and plugins are open-sourced and can be patched. He added, “I don’t expect anyone to want to figure that all out (as it’s a bit non-standard at the moment.) It’s a bit unorthodox because BuddyPress.org & bbPress.org share resources amongst several sites & trac which does not run WordPress or PHP.”

New BuddyPress Welcome Screen Designs

  • Per initiative led by @djpaulgibbs in his post last Dec. 19th, @modemlooper presented two screenshots prepared by designers from WebDevStudios two weeks ago (#6224). Most of those present at the dev chat preferred the screenshot of the BP Welcome screen header (light version).
  • @djpaulgibbs encouraged interested parties “to think bigger than what we do on the Welcome screen already, not just make current screen look/work better”.

2015 BuddyPress Survey

  • Please help guide the direction of BuddyPress development in 2015 by taking the Survey at https://buddypress.org/2015/02/2015-buddypress-survey/ Thank you!

#6211

2015 BuddyPress Survey Launched

https://buddypress.org/2015/02/2015-buddypress-survey/

BuddyPress 2.2.1 is here!

Upgrade now https://buddypress.org/2015/02/buddypress-2-2-1/

The $bp global

Way back in the early days of BuddyPress, the $bp global variable was king. Just about everything BuddyPress related was connected to it in some way (other than the template loops themselves.)

This approach is not uncommon. Even WordPress does something similar in wp-settings.php:

$GLOBALS['wp'] = new WP();

The major difference between WordPress and BuddyPress here is that the $wp global has always been a WP() object responsible for setting up the WordPress environment, while our $bp global used to be just a big collection of random attributes.

We’ve been fairly open and relaxed about latching on to the object as a global data store for all of BuddyPress’s runtime variables. Several third-party BuddyPress plugins use it, and our BP_Component interacts with many of its variables directly.

Fast forward to 2012, and $bp is transformed into a real BuddyPress object, complete with methodology and best practices, and ready to be a bit more intelligent than it was in the past. Since then, we’ve slowly removed our dependence on touching the $bp global directly, and instead encapsulated it in a call to buddypress() to retrieve the object into the current scope. You can read more about the overall initiative on Trac Ticket #5138.

This evening, I replaced all of our remaining global touches with one sweeping changeset. In most cases, this should be a completely invisible change that means very little to anyone not working on BuddyPress core. For the small group of us constantly building and maintaining core, this means a few different things:

  • No more defining the $bp global. Use the buddypress() instead.
  • Even though the global is still hanging around for backwards compatibility, touching it directly should be avoided to prevent accidental breakage.
  • We can start to introduce magic getters and setters for commonly referenced or manipulated variables to ensure their evocation and ongoing validity.
  • We can start reliably moving other BuddyPress globals into this object, and architecting what the next generation of extensions to BuddyPress core will look like, and how BuddyPress core will react to them.
  • We can sleep a bit more soundly knowing that the $bp global has an extra layer of protection against being unknowingly overridden by unexpected plugin conflicts or other WordPress environmental oddities. (Though it’s been years since BackPress and BuddyPress were actively loaded together, between BuddyPress, BackPress, and bbPress, the “bp” namespace was very easily polluted.)

Though developer impact should be minimal, this represents a sweeping code change for BuddyPress 2.3 that should not go unrecognized or uncelebrated. This bit of clean-up was years of iteration and testing, and it feels pretty darn good to have it over and done with so we can move on to other more pressing issues.

BuddyPress 2.2.0 Spumoni

BP 2.2 is now available! https://buddypress.org/2015/02/buddypress-2-2-spumoni/

Slack log: https://wordpress.slack.com/archives/buddypress/p1423080058000925
Packaging and reviews started earlier than the meeting and lasted till after the meeting proper.

Testing and feedback welcome :)

Many thanks again to everyone who contributed to BP 2.2:

@andemann, Andrea Tarantini (@dontdream), Boone B Gorges (@boonebgorges), Brandon Allen (@thebrandonallen), Clean-Cole, @colabsadmin, Damon Cook (@colorful tones), @danbp, David Cavins (@dcavins), Fahmi Adib (@fahmiadib), George Mamadashvili (@mamaduka), Greg Rickaby (@gregrickaby), Hugo (@hnla), Jake Spurlock (@whyisjake), Jess Planck (@ev3rywh3re), John James Jacoby (@johnjamesjacoby), Josh (@joshshashaty),@jreeve, @lakrisgubben, Laurens Offereins (@0ffereins), @lenasterg, Mario Peshev (@nofearinc), Mathieu Viet (@im4th), @mercime, Michael Beckwith (@tw2113), @modemlooper, OC2PS (@sooskriszta), Paul Gibbs (@djpaulgibbs), @pro120, @psycleuk, @rayisme, Renato Alves (@espellcaste), Sergio De Falco (@SGr33n), @shpitzyl, Slava UA (@slaFFik), @standardspace, Stephen Edgar (@netweb), @svenl77, @tharsheblows, @thebigA, @thomaslhotta, Tomasz Ostrowski (@tometzky), Unsal Korkmaz (@unsalkorkmaz), @vimes1984, Scott Taylor (@wonderboymusic)