Skip to:
Content

Opened 4 years ago

Last modified 6 hours ago

#5351 reopened enhancement

bp-forums retirement

Reported by: johnjamesjacoby Owned by: johnjamesjacoby
Milestone: 3.0 Priority: normal
Severity: normal Version:
Component: Forums Keywords:
Cc:

Description

bbPress 2.x now completely handles BuddyPress integration on it's own. Around 95% of our 2014 survey respondents (that use forums) use bbPress 2.x. It's time to consider what retiring the bp-forums component looks like.

BP Forums is several years stagnant, and has been almost completely hidden from the UI for the past 12 straight months.

The biggest win for removing bp-forums completely is finally getting rid of the Subversion externals. They are tedious to setup and maintain for each repository. bbPress also has a Subversion external to BackPress, which also has a Subversion external to the po/mo library. Chopping all of this out of BuddyPress completely will be quite liberating.

A few ideas:

Leave the code in BuddyPress forever

We've been fortunate so far and haven't needed to be as strictly committed to backwards compatibility as WordPress has. But, it won't always be that way, and we're quickly approaching our users having the expectation of stability first.

If we go this route, we just hide the UI and pretend like the code doesn't exist anymore. I don't really like this idea, as it doesn't solve our Subversion external problem.

Move BP Forums into the Backwards Compat Plugin

Back from the dead: http://wordpress.org/plugins/buddypress-backwards-compatibility/developers/

This plugin was always intended to act as a shim for components that eventually get retired, so it's a logical choice. One problem with this approach is we'll need to update that plugin somewhat, to make it work at all with our new component selection UI, and also resurrects our old Wire and Status components, which I personally sometimes miss; leaving them under the rug means I forget how cool they were. :)

Move BP Forums into a new 2.0 shim plugin

This lets us shed any other extra weight we think would make sense to remove from BuddyPress proper, mainly any deprecated functions files from several versions ago.

Change History (23)

#1 @johnjamesjacoby
4 years ago

  • Owner set to johnjamesjacoby
  • Status changed from new to assigned

#2 @sooskriszta
4 years ago

(I know this is Trac, not forums, but still..) Yay!

#3 @DJPaul
4 years ago

Another idea: create a file with every bbPress function stubbed that's only loaded when the bbpress_init hook fires. Avoids fatal errors, lets us remove the bbPress external.

#4 @boonebgorges
4 years ago

This lets us shed any other extra weight we think would make sense to remove from BuddyPress proper, mainly any deprecated functions files from several versions ago.

I don't think there's any pressing need to do this sort of general "clean up".

As for bp-forums, my personal vote is to leave it as is. Many sites are still using it. We already totally hide the UI for any site that is not already using it. The only annoyances are the Subversion issues (which are minor, and only affect the small handful of people who handle BP releases) and the increased size of the BP zip download. The latter point is not insignificant, but IMHO is not worth sinking tons of time into solving.

If we must do something, I feel really strongly that we do it in a way that causes as little disruption as possible for the (many, many) existing sites using bp-forums. I think this means more than just documentation of the change. Something like, say, moving bp-forums + bbPress to a stub plugin, and then attempting to install it automatically when a site using bp-forums upgrades to BP 2.0. This kind of thing would handle the majority of cases gracefully.

Last edited 4 years ago by boonebgorges (previous) (diff)

This ticket was mentioned in IRC in #buddypress-dev by jjj. View the logs.


4 years ago

#6 @snark
4 years ago

If I understand correctly what is being discussed, it would be the potential end to BP Forums (& Groups too?), replaced by bbPress Forums, like you have the option to do know with Site Wide formums. Is that correct? If so, I am all for it and don't mind making the switch, but here is what I'd like to see:

1) Be able to keep the old BP Forums in a "read-only" mode. Since my BuddyPress site (http://www.wordlab.com) has thousands of Forum entries, I would love to keep all that for future reference and SEO content, just move it perhaps to an "old forum" directory.
2) Is it possible to give BuddyPress the functionality to turn off the addition of new topics and replies to all Forum posts, but still leave the posts up for read-only reference?
3) Our users have long been confused by Groups vs. Forums and the Activity Stream vs. Forums, so I'd actually prefer to move to a simplified, single bbPress sitewide forum, but again, I just don't want to lose all that content.

Thanks,
Jay

#7 @johnjamesjacoby
4 years ago

Not exactly correct.

Our goal is to motivate site admins to install the latest version of the bbPress plugin and migrate old BP Forums content using bbPress's built in migration tool. The bbPress plugin offers 1 to 1 functionality with BP Forums, and adds even more functionality and features not present in the old version of bbPress.

To more directly answer your questions:

  1. No read-only mode. Data would be completely converted over.
  2. In bbPress 2.x, forums can be closed to new topics, and topics and closed to new replies, essentially duplicating the read-only experience you're looking for.
  3. You are not alone; this is a common pain point, likely due to how equal all components are by default in BuddyPress. Members aren't directed towards the posting method with the greatest return value, so they float around not knowing what to do or why, only hoping to get a response from one of several different divisions of the site. My advice here, like you mentioned, is to turn off the functionality that you feel is non-essential to your community, and not turn it back on until it's large enough to require that division.

#8 @r-a-y
4 years ago

  • Milestone changed from 2.0 to 2.1

As discussed in last week's dev chat, bumping this to 2.1.

#9 @DJPaul
4 years ago

  • Keywords dev-feedback added
  • Type changed from defect (bug) to enhancement

I want to mark this ticket as resolved now that we're only adding bbPress 1 to BuddyPress release packages, but want a second opinion first. I this what we have is a good solution for now, and if in the future we have the appetite or desire to remove bbPress 1 from those release packages, we can revisit.

#10 @boonebgorges
4 years ago

DJPaul - I'm happy with that. Removing the bp-forums directory from the codebase is a nice thought from an aesthetic point of view, but it raises many problems. I think the current state of things is good enough for the foreseeable future.

#11 @DJPaul
4 years ago

  • Keywords dev-feedback removed
  • Resolution set to fixed
  • Status changed from assigned to closed

#12 @boonebgorges
6 days ago

  • Milestone changed from 2.1 to 3.0
  • Resolution fixed deleted
  • Status changed from closed to reopened

bbPress 1.x does not run on WP 4.7+. The general consensus (see Slack chat about to be linked here) is that 3.0 is a reasonable time to pull out our compat layer, with some documentation/publicity explaining how existing sites can remain on bbPress legacy (namely, staying on BP 2.9.x and WP 4.6.x).

This ticket was mentioned in Slack in #buddypress by boone. View the logs.


6 days ago

#15 @djpaul
4 days ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In 11763:

Retire Legacy Forums.

"Legacy Forums" is what we now call the bundled version of bbPress 1 that has shipped with BuddyPress for over nine years. The Legacy Forums codebase/features are many years stagnant, and it has been almost completely hidden from the UI for the past five years.

Legacy Forums were replaced by bbPress 2, which is its own plugin, and we've been promoting its integration with BuddyPress for a long time. Most significantly, bbPress 1 only runs on WordPress versions older than 4.7, because of a BackPress conflict (which is nested inside bbPress 1) with WordPress 4.7's WP_Taxonomy class.

If your site is still using Legacy Forums, you will need to migrate to bbPress 2 to run BuddyPress 3.0. See https://bpdevel.wordpress.com/2017/12/07/legacy-forums-support-will-be/ for more information.

Fixes #5351
See #7502

#16 @r-a-y
4 days ago

  • Resolution fixed deleted
  • Status changed from closed to reopened

I think we should bring back some of the conditional functions like bp_is_group_forum() and bp_get_group_forum_permalink() or deprecate them.

Removing them outright will cause fatal errors for those using those functions in plugins.

Also in the changes to:

  • bp-templates/bp-legacy/buddypress/groups/create.php
  • bp-templates/bp-legacy/buddypress/groups/single/admin/group-settings.php

The "Enable forum" option is always visible now. This doesn't sound right to me if somebody does not have the bbPress plugin installed.

#17 @DJPaul
4 days ago

Regarding "Enable forum" comment: I don't believe that's true, because those blocks are wrapped inside pre-existing bp_is_active( 'forums' ) checks. BuddyPress no longer has a "forums" component, but bbPress does register one called "forums", so it should only show up when bbPress is active.

#18 @r-a-y
4 days ago

Sorry, you're right! I was looking at the changeset without looking at the actual files! :)

#19 @DJPaul
4 days ago

I think we should bring back some of the conditional functions

I thought about this a bit. They would have to return false, or whatever the "no" equivalent is. The ones currently in trunk aren't in use by the bbPress plugin, and I see little value in having any to-be-reinstated functions accidentally work with bbPress (if indeed any did before).

Last edited 4 days ago by DJPaul (previous) (diff)

#20 @r-a-y
4 days ago

I'm fine with returning false on those conditional functions. Another one to add back bp_is_group_forums_active():
https://github.com/search?utf8=%E2%9C%93&q=bp_is_group_forums_active+NOT+akismet&type=Code

But, a return function like bp_get_group_forum_permalink() doesn't rely on checking if the legacy forums or the bbPress plugin is active or not. We also updated that function quite recently in v2.5, so it's probably still being used.

#21 @r-a-y
7 hours ago

We need to either reinstate bp_group_new_topic_button() or make sure bbPress will add a "New Topic" button in v2.6.

I personally think we need to bring it back for bp-default (and deriviatives) that will be slow to update.

As of trunk, the following warning shows up on all group pages:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'bp_group_new_topic_button' not found or invalid function name

Reference:
https://buddypress.trac.wordpress.org/browser/trunk/src/bp-templates/bp-legacy/buddypress-functions.php?marks=109#L109

Last edited 7 hours ago by r-a-y (previous) (diff)

#22 @boonebgorges
6 hours ago

Did bp_group_new_topic_button() do anything for bbPress 2.x? (It doesn't look like it, but just to be sure.)

I agree we should reinstate it, though it can probably just noop for BP 3.0, since it wouldn't do anything without the full forums component.

#23 @r-a-y
6 hours ago

Ahh, you're right. bbPress has nothing to do with the button.

It was something that we did a fix for in the CBOX Theme:
https://github.com/cuny-academic-commons/cbox-theme/commit/c4db6e27649c6e4c2995f965b1371c3dc88491eb

Returning false is fine.

Last edited 6 hours ago by r-a-y (previous) (diff)
Note: See TracTickets for help on using tickets.