cuny-academic-commons / commons-in-a-box

Commons In A Box - A suite of community and collaboration tools for WordPress, designed especially for academic communities
http://commonsinabox.org
72 stars 14 forks source link

BuddyPress 12.0 compat #458

Open boonebgorges opened 12 months ago

boonebgorges commented 12 months ago

See https://github.com/boonebgorges/buddypress-group-email-subscription/issues/242, https://github.com/boonebgorges/buddypress-docs/issues/727, https://github.com/boonebgorges/invite-anyone/issues/176 for discussion and prior art.

Note that we might be able to get away with not having a < 12.0 compatibility layer, because the BP version number is controlled by CBOX.

r-a-y commented 12 months ago

For bbPress, see https://bbpress.trac.wordpress.org/ticket/3576 .

Might we have to consider adding the BP Classic plugin?

boonebgorges commented 12 months ago

Good point. We'll probably have to include BP Classic at least for the plugins we don't control.

I still think we should work in our own codebase toward phasing out legacy URL concatenation in favor of BP 12.0, because it will give admins a better experience with slugs, etc.

boonebgorges commented 11 months ago

Given that we are going to be releasing in early January, just a few weeks after the release of BP 12.0, I think we should hold off on bumping our BP version past the 11.x series. We'll take a bit more time to update our internals to use BP 12.0's native functions, and also give BP a chance to shake out any issues after the 12.0 release.

boonebgorges commented 4 months ago

I've started working on deprecated function calls, but it's very slow going. I have to change URL concatenation in many, many places, and some of these swap-outs are more complex and thus more error-prone than others. Given the state of testing for 1.6.0, I'm going to stop work on this for the current release. I'll pick it back up for the subsequent release.

boonebgorges commented 1 week ago

I've completed a pass at this work.

For the time being, I'm going to leave bp-classic in place. For one thing, it seems to do more than just handling items related to URL backward compatibility. I don't understand those things well enough to tell whether they can be disabled. For another, it's likely that some third-party plugins will need bp-classic to work properly. Let's go with these fixes for 1.6.x and then investigate for 1.7.0 whether it's possible to drop bp-classic altogether.

boonebgorges commented 1 week ago

In terms of testing, this has really touched all parts of the system, so a regular walkthrough of normal activities on the BP side of things will give you a sense of whether anything has broken. My initial tests show that we're OK, which suggests that any weirdness will be in the less-frequented parts of the system.