No Core Changes - A different perspective
Posted: Thu Jul 02, 2026 6:37 pm
For the longest time, it has been promoting that one can customize Phoenix with no core changes, so that updates won't overwrite the customization. May I suggest that, while this is true, it may not be the best selling feature for Phoenix. In fact, it may be more like a "solution looking for a problem".
When a shop is up and running, the store owner's focus is on running the business. So, unless there is a good reason to 'update' the shop, he won't. If it ain't broke, don't fix it. This is why there are people still running osC v2.2x and 2.3x. Patch it when something breaks, and get on with business.
Updating a shop is not a trivial process, and one that most store owners won't do very often. How often do most shops get a software update? I'd venture to guess ... years between updates.
And when a store is several year old (as we have already speculated that most are), the prospect of stepping up, release by release, to 'bring it up to date' is daunting. Is it not better to just install the latest version, import the old data, and re-style it?
So, since sites aren't updated frequently, the 'no core changes' framework for updating an existing site is no longer really a selling point, is it?
And, what did it take to get to the 'no core changes' framework? You have all of the additional (same but different) 'override' files. There is an entire (and growing) library of /versions/ files. All of this additional complexity to solve a problem that really doesn't exist. I thought the idea was to keep the core as lean and clean as possible.
On top of all of this, even if I put a change (styling, or adding an add-on) into an override file, who's to say that a Phoenix update won't change the underlying database structure, and the override file no longer works? Or how two different add-ons may try to install competing override files (a different problem, unrelated to the override file issue)?
So, what do I suggest?
1) First, drop the idea that 'no core changes' is important for future updates.
2) Instead, focus more on the 'secret sauce' that makes Phoenix so powerful ... Hooks!
There have been a number of recent threads in the forum that highlight the power of hooks, and rightly so. Hooks can vastly expand the versatility, functionality, and the 'look and feel' of a shop.
But, once again, the emphasis has been placed on 'no core changes'. Instead, may I suggest something much more important to your 'average' shop owner ... "No programming necessary"!
A shop owner doesn't have to know programming (or hire a programmer). Simply upload the hooked files, configure in Admin (if needed), and they are done! No need to touch a single line of code.
Speaking of which, once we drop the idea that 'no core changes' is important for future update, we can change the idea to: 'no core changes IF YOU DON'T WANT TO'. If a shop owner IS comfortable with 'minor' file editing, let them. Don't hammer the idea that they HAVE to deal with override files when a simple one or two line edit to a 'core file' is faster and easier. It won't be overwritten by an update that's not going to happen for several years.
(yes, I know. Open source, the shop owner can do what they want, yadda yadda yadda)
Anyway ... just another perspective ...
What does everyone else think?
When a shop is up and running, the store owner's focus is on running the business. So, unless there is a good reason to 'update' the shop, he won't. If it ain't broke, don't fix it. This is why there are people still running osC v2.2x and 2.3x. Patch it when something breaks, and get on with business.
Updating a shop is not a trivial process, and one that most store owners won't do very often. How often do most shops get a software update? I'd venture to guess ... years between updates.
And when a store is several year old (as we have already speculated that most are), the prospect of stepping up, release by release, to 'bring it up to date' is daunting. Is it not better to just install the latest version, import the old data, and re-style it?
So, since sites aren't updated frequently, the 'no core changes' framework for updating an existing site is no longer really a selling point, is it?
And, what did it take to get to the 'no core changes' framework? You have all of the additional (same but different) 'override' files. There is an entire (and growing) library of /versions/ files. All of this additional complexity to solve a problem that really doesn't exist. I thought the idea was to keep the core as lean and clean as possible.
On top of all of this, even if I put a change (styling, or adding an add-on) into an override file, who's to say that a Phoenix update won't change the underlying database structure, and the override file no longer works? Or how two different add-ons may try to install competing override files (a different problem, unrelated to the override file issue)?
So, what do I suggest?
1) First, drop the idea that 'no core changes' is important for future updates.
2) Instead, focus more on the 'secret sauce' that makes Phoenix so powerful ... Hooks!
There have been a number of recent threads in the forum that highlight the power of hooks, and rightly so. Hooks can vastly expand the versatility, functionality, and the 'look and feel' of a shop.
But, once again, the emphasis has been placed on 'no core changes'. Instead, may I suggest something much more important to your 'average' shop owner ... "No programming necessary"!
A shop owner doesn't have to know programming (or hire a programmer). Simply upload the hooked files, configure in Admin (if needed), and they are done! No need to touch a single line of code.
Speaking of which, once we drop the idea that 'no core changes' is important for future update, we can change the idea to: 'no core changes IF YOU DON'T WANT TO'. If a shop owner IS comfortable with 'minor' file editing, let them. Don't hammer the idea that they HAVE to deal with override files when a simple one or two line edit to a 'core file' is faster and easier. It won't be overwritten by an update that's not going to happen for several years.
(yes, I know. Open source, the shop owner can do what they want, yadda yadda yadda)
Anyway ... just another perspective ...
What does everyone else think?