New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discussion: What is ClassicPress' philosophy regarding breaking changes/enhancements? #192
Comments
Speaking personally (and unofficially) I think it's inevitable that breaking changes will be introduced as we forge forward with implementing the needs and desires of our target audience (businesses) - the general consensus is that v2 of ClassicPress is when we'll start to see breaking changes and I hope by the time we get to that point we'll have reached critical mass and are at a point where it's beneficial for plugin and theme developers to be ClassicPress compatible. I don't have all the answers on how we'll reach this point, but my personal viewpoint is that if we keep doing what we're doing (working hard as a community to solve problems) we'll overcome any roadblocks that come our way. |
Will be better to have in wp-config only settings and not code (and I am not sure if that change will break wp-cli). |
Not sure I agree with that, at least not in its entirety. There are a lot of scenarios where the configuration for my projects change based on different logic in Also, what I am proposing is a trivial change that would require (almost?) no discussion as to how to implement, and could provide immediately benefits, and then later we could architect the "perfect" solution. IOW, don't let the perfect be the enemy of the good. I will add this idea as a proposal as soon as aI get the chance.
Ironically, one of my reasons for wanting this is to empower tools like WP CLI to more easily load configurations and not have to just through so many hoops. But even if it breaks WP CLI's current implementation it would be trivial to add |
Hi @mikeschinkel! First of all, ClassicPress is following the semver versioning scheme. You're probably aware, but this means that in the So what does the There are a couple of exceptions though. To get some idea of how we can handle breaking changes, let's look at the breaking changes we've already introduced when moving from WordPress to ClassicPress
We've implemented checks in the migration plugin to block the migration if these conditions are not met. Here's an example of such a check failing: Applying this same concept to ClassicPress v2.0.0 where we may have some breaking changes, ideally we'd add an automated check for each breaking change, and put it in the upgrade path so that the upgrade is only permitted if we think the site will continue to work on the new version. Now, back to this specific change.
For this specific change, I'm not sure, but I think this is an exercise we'll need to do for each potentially breaking change. What that looks like will of course depend on the breaking change and whether it's possible to check for breakage on a given site. I also think we should look for other ways to achieve the same goal that are not breaking changes. For example:
I think this would achieve the same goal of "allowing other PHP tools to load Another benefit of looking harder for non-breaking ways to achieve goals like this is that we can make changes like that prior to our v1 final release. Hope that helps, happy to discuss more if you have any questions. |
Yep, that makes sense to me. Thanks! |
@nylen Agreed on the point about 1.x.x adhering (mostly) to WP 4.9.x. For my part, I'd love to see ClassicPress 2+ break/improve as much as possible around QOL for operations concerns. WordPress is something of a nightmare to maintain right now. The It'd be interesting to see ClassicPress become a 12 Factor App. That is definitely a breaking change from WordPress. |
@BenOvermyer this sounds like a good candidate for petitions.classicpress.net along with some of the "why" and some of the specifics of what needs to change. |
Some more discussion on the forums: https://forums.classicpress.net/t/longevity-for-cp/180/17 Now that we have the forums, I think we can close this issue and retire the For reference, here is the subforum for discussion related to core development: https://forums.classicpress.net/c/core-development |
A lot of the things I would personally like to see improved in WordPress work turn into a breaking change.
A very simple one, for example, would be to remove the call to require
wp-settings.php
fromwp-config.php
and instead call it at the end ofwp-load.php
thus allowing other PHP tools to load/wp-config.php
, but this would be a breaking change.So in specific to this (type of) idea, and in general for other ideas, what is the philosophy of ClassicPress in terms of it alignment or convergence with WordPress over time?
The text was updated successfully, but these errors were encountered: