As the topic remains active, I’ve decided to do a rerun of my testing parcours for WooCommerce, but with ClassicPress 2.2 as base (using latest nightly build).
One of the goals is to identify from which point on things are broken, and if its possible to reinstate these by moving them from older versions to newer versions of WC.
Testing Environment
ClassicPress 2.2 nightly (2024-11-14)
ACF Pro 6.3.11
Disable Gutenberg 3.2.2 - to test if broken or semi-broken parts of plugins get working again when enabled OR disabled, ie. if its a react-component / JS-related issue
Contact Form 7 5.8.7 - modified version, also the last one that still works properly with CP 2.x
WP Super Cache 1.10
WP Compatiblity for ClassicPress 1.0 (my own plugin that adds several functions missing from CP, eg. admin_notices which were introduced in WP 6.4)
WP Rollback 1.7.3 - for easier switching between plugin versions
Browser specs
Testing with the following browsers (Linux x86_64, MX Linux 21.3 + Liquorix latest stable kernel):
Firefox latest stable
Vivaldi latest stable
Pale Moon latest stable
Chrome latest stable
w3m latest stable - text / terminal browser - primarly to detect JS issues
WC 3.9.5:
only fully working version of WC so far
last version without WC Admin / Notification nag
WC 4.9.5:
Its mostly usable, but several pages are broken (no content): WooCommerce > Home, WooCommerce > Customer, my guess is these require React components
Product editor has a weird “jumping” bug, ie. the product attributes widget auto-closes when selecting a different product type from the select field; everything else works flawlessly, including creating variable products based on product attributes
Settings seem all to work, but there are some minor layout issues for “newer” WooCommerce CI parts (sometimes, fonts are too large, same goes for button sizes, “promotional” images scaled too wide, etc.)
Working my way down to WC 4.0.x using WP Rollback:
WC 4.7.4:
same issues as in 4.9.5, but the product editor isnt having any “jumping” widget issues
all Analytics pages in the Admin area are broken
Marketing > Overview is broken, but Marketing > Coupons works
WC 4.6.5:
weird widget jumping bug / focus issue returns
rest is identical to 4.9.5
WC 4.5.5:
WooCommerce > Home (which is called “Dashboard” now) and WooCommerce > Customers are not completely broken anymore, they at least display the navigation now; still no content
Analytics pages all redirect to WooCommerce > Home (aka “Dashboard”)
non-working pages now all redirect to WooCommerce > Dashboard
rest is identical to 4.5.5
WC 4.3.6:
in 4.3 (and probably before), Coupons is part of the WooCommerce menu
aside of that, the behaviour / issues are identical to 4.4.4
WC 4.2.5:
identical to 4.3.6
WC 4.1.4:
dito
WC 4.0.4:
product editor starts to show notifications in the product data / attributes widget again
rest is identical to 4.1.4
Note for WC 4.x: Disabled or enabled “Disable Gutenberg” plugin didnt result in any differences. So its probably missing react components that lead to broken pages etc.
minor changes in the notices styling in the product editor
rest: no changes
WC 8.5.3:
Plugin complains about outdated installation, demands WP 6.3
modification test: lowering the version number to 6.2 in both Readme.txt and woocommerce.php (plugin base file) - is successful
warning about “The WooCommerce Legacy REST API will be removed soon” - “The WooCommerce Legacy REST API, currently enabled in this site, will be removed in WooCommerce 9.0. A separate WooCommerce extension will be available to keep it enabled.”
button colors are now native WP blue again
WooCommerce > Extensions is now broken as well (empty page but the admin bar / navigation)
rest is identical compared to 8.0.4
WC 9.0.1:
Plugin now expects WP 6.4
modification test (same as with 8.5.3) - fails with a broken site
WC now requires the block API (server-side) to be present
WC 9.4.1: (latest)
not testable, as WC 9.0.1 is already breaking the site
Conclusion: Up till at least v8.5.3, the plugin is still usable without Gutenborg, albeit parts are broken in the Admin area.
Interesting part from the WC changelog: The WP 6.4 requirement supposedly is already in place since 8.3 - why then, I wonder, is it not being displayed in 8.5? Also, 8.5.3 clearly still works with “WP 6.2” (of which CP 2.2 is forked from).
Next steps include to determine which older parts of WC can be “forward ported” (if there is such a term) to the latest, still working WC version.
Based on this work, I’d restart working on my own fork, Re:Commerce, to eventually either merge it with ClassicCommerce or keep it as the only active ClassicPress-oriented WooCommerce fork.
@fwolf I admire the determination and attempt here to get WC compatibility.
I build and maintain a few WooCommerce sites. And I can tell you WC is turning into a bloated headache. I think it is only a matter of time before it moves fully into the block editor integration. So I think, trying to make ClassicPress compatible with WC, is probably not the route to go. (personal opinion - not saying I’m right or wrong).
I would LOVE to see a fully compatible eCommerce plugin with ClassicPress. Why not focus what limited resources there are, on trying to make Classic Commerce basically functional and updated. So its workable with the recent releases of ClassicPress. The base is already there. In other words, so its maintained.
Extra functionality such as subscriptions, payment gateways and whatever, can come later (even with developers here in the CP community). But getting the core Classic Commerce maintained, would seem a more viable route, than WC compatibility.
I would also point out the legal aspects of forking WC. Given Woo is now an Automattic company, and how recent events have unfolded. Tread carefully as the General Public License may have limited protection.
I’d say thats way too late, as I already have forked WP in the past, before forking it together with some other folks (apparently, that thing is now called ClassicPress). Also, ClassicCommerce already exists as a fork, and backporting things wont change that.
Alas, I’ve never been known to be able to “treat carefully”, autistic being that I am